v1alpha1

package
v0.0.25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the validation v1alpha1 API group +kubebuilder:object:generate=true +groupName=validation.spectrocloud.labs

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "validation.spectrocloud.labs", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AwsAuth

type AwsAuth struct {
	// If true, the AwsValidator will use the AWS SDK's default credential chain to authenticate.
	// Set to true if using node instance IAM role or IAM roles for Service Accounts.
	Implicit bool `json:"implicit" yaml:"implicit"`
	// Name of a Secret in the same namespace as the AwsValidator that contains AWS credentials.
	// The secret data's keys and values are expected to align with valid AWS environment variable credentials,
	// per the options defined in https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/#environment-variables.
	SecretName string `json:"secretName,omitempty" yaml:"secretName,omitempty"`
	// STS authentication properties (optional)
	StsAuth *AwsSTSAuth `json:"stsAuth,omitempty" yaml:"stsAuth,omitempty"`
}

func (*AwsAuth) DeepCopy

func (in *AwsAuth) DeepCopy() *AwsAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsAuth.

func (*AwsAuth) DeepCopyInto

func (in *AwsAuth) DeepCopyInto(out *AwsAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AwsSTSAuth added in v0.0.9

type AwsSTSAuth struct {
	// The Amazon Resource Name (ARN) of the role to assume.
	RoleArn string `json:"roleArn" yaml:"roleArn"`
	// An identifier for the assumed role session.
	RoleSessionName string `json:"roleSessionName" yaml:"roleSessionName"`
	// The duration, in seconds, of the role session.
	// +kubebuilder:default=3600
	// +kubebuilder:validation:Minimum=900
	// +kubebuilder:validation:Maximum=43200
	DurationSeconds int `json:"durationSeconds" yaml:"durationSeconds"`
	// A unique identifier that might be required when you assume a role in another account.
	ExternalId string `json:"externalId,omitempty" yaml:"externalId,omitempty"`
}

func (*AwsSTSAuth) DeepCopy added in v0.0.9

func (in *AwsSTSAuth) DeepCopy() *AwsSTSAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsSTSAuth.

func (*AwsSTSAuth) DeepCopyInto added in v0.0.9

func (in *AwsSTSAuth) DeepCopyInto(out *AwsSTSAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AwsValidator

type AwsValidator struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AwsValidatorSpec   `json:"spec,omitempty"`
	Status AwsValidatorStatus `json:"status,omitempty"`
}

AwsValidator is the Schema for the awsvalidators API

func (*AwsValidator) DeepCopy

func (in *AwsValidator) DeepCopy() *AwsValidator

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsValidator.

func (*AwsValidator) DeepCopyInto

func (in *AwsValidator) DeepCopyInto(out *AwsValidator)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AwsValidator) DeepCopyObject

func (in *AwsValidator) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AwsValidatorList

type AwsValidatorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AwsValidator `json:"items"`
}

AwsValidatorList contains a list of AwsValidator

func (*AwsValidatorList) DeepCopy

func (in *AwsValidatorList) DeepCopy() *AwsValidatorList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsValidatorList.

func (*AwsValidatorList) DeepCopyInto

func (in *AwsValidatorList) DeepCopyInto(out *AwsValidatorList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AwsValidatorList) DeepCopyObject

func (in *AwsValidatorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AwsValidatorSpec

type AwsValidatorSpec struct {
	Auth          AwsAuth `json:"auth,omitempty" yaml:"auth,omitempty"`
	DefaultRegion string  `json:"defaultRegion" yaml:"defaultRegion"`
	// +kubebuilder:validation:MaxItems=5
	// +kubebuilder:validation:XValidation:message="IamRoleRules must have unique IamRoleNames",rule="self.all(e, size(self.filter(x, x.iamRoleName == e.iamRoleName)) == 1)"
	IamRoleRules []IamRoleRule `json:"iamRoleRules,omitempty" yaml:"iamRoleRules,omitempty"`
	// +kubebuilder:validation:MaxItems=5
	// +kubebuilder:validation:XValidation:message="IamUserRules must have unique IamUserNames",rule="self.all(e, size(self.filter(x, x.iamUserName == e.iamUserName)) == 1)"
	IamUserRules []IamUserRule `json:"iamUserRules,omitempty" yaml:"iamUserRules,omitempty"`
	// +kubebuilder:validation:MaxItems=5
	// +kubebuilder:validation:XValidation:message="IamGroupRules must have unique IamGroupNames",rule="self.all(e, size(self.filter(x, x.iamGroupName == e.iamGroupName)) == 1)"
	IamGroupRules []IamGroupRule `json:"iamGroupRules,omitempty" yaml:"iamGroupRules,omitempty"`
	// +kubebuilder:validation:MaxItems=5
	// +kubebuilder:validation:XValidation:message="IamPolicyRules must have unique ARNs",rule="self.all(e, size(self.filter(x, x.iamPolicyArn == e.iamPolicyArn)) == 1)"
	IamPolicyRules []IamPolicyRule `json:"iamPolicyRules,omitempty" yaml:"iamPolicyRules,omitempty"`
	// +kubebuilder:validation:MaxItems=5
	// +kubebuilder:validation:XValidation:message="ServiceQuotaRules must have unique names",rule="self.all(e, size(self.filter(x, x.name == e.name)) == 1)"
	ServiceQuotaRules []ServiceQuotaRule `json:"serviceQuotaRules,omitempty" yaml:"serviceQuotaRules,omitempty"`
	// +kubebuilder:validation:MaxItems=5
	// +kubebuilder:validation:XValidation:message="TagRules must have unique names",rule="self.all(e, size(self.filter(x, x.name == e.name)) == 1)"
	TagRules []TagRule `json:"tagRules,omitempty" yaml:"tagRules,omitempty"`
}

AwsValidatorSpec defines the desired state of AwsValidator

func (*AwsValidatorSpec) DeepCopy

func (in *AwsValidatorSpec) DeepCopy() *AwsValidatorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsValidatorSpec.

func (*AwsValidatorSpec) DeepCopyInto

func (in *AwsValidatorSpec) DeepCopyInto(out *AwsValidatorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (AwsValidatorSpec) ResultCount added in v0.0.11

func (s AwsValidatorSpec) ResultCount() int

type AwsValidatorStatus

type AwsValidatorStatus struct{}

AwsValidatorStatus defines the observed state of AwsValidator

func (*AwsValidatorStatus) DeepCopy

func (in *AwsValidatorStatus) DeepCopy() *AwsValidatorStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsValidatorStatus.

func (*AwsValidatorStatus) DeepCopyInto

func (in *AwsValidatorStatus) DeepCopyInto(out *AwsValidatorStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Condition

type Condition struct {
	Type   string   `json:"type" yaml:"type"`
	Key    string   `json:"key" yaml:"key"`
	Values []string `json:"values" yaml:"values"`
}

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Condition) String

func (c *Condition) String() string

type IamGroupRule

type IamGroupRule struct {
	IamGroupName string           `json:"iamGroupName" yaml:"iamGroupName"`
	Policies     []PolicyDocument `json:"iamPolicies" yaml:"iamPolicies"`
}

func (*IamGroupRule) DeepCopy

func (in *IamGroupRule) DeepCopy() *IamGroupRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IamGroupRule.

func (*IamGroupRule) DeepCopyInto

func (in *IamGroupRule) DeepCopyInto(out *IamGroupRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (IamGroupRule) IAMPolicies

func (r IamGroupRule) IAMPolicies() []PolicyDocument

func (IamGroupRule) Name

func (r IamGroupRule) Name() string

type IamPolicyRule

type IamPolicyRule struct {
	IamPolicyARN string           `json:"iamPolicyArn" yaml:"iamPolicyArn"`
	Policies     []PolicyDocument `json:"iamPolicies" yaml:"iamPolicies"`
}

func (*IamPolicyRule) DeepCopy

func (in *IamPolicyRule) DeepCopy() *IamPolicyRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IamPolicyRule.

func (*IamPolicyRule) DeepCopyInto

func (in *IamPolicyRule) DeepCopyInto(out *IamPolicyRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (IamPolicyRule) IAMPolicies

func (r IamPolicyRule) IAMPolicies() []PolicyDocument

func (IamPolicyRule) Name

func (r IamPolicyRule) Name() string

type IamRoleRule

type IamRoleRule struct {
	IamRoleName string           `json:"iamRoleName" yaml:"iamRoleName"`
	Policies    []PolicyDocument `json:"iamPolicies" yaml:"iamPolicies"`
}

func (*IamRoleRule) DeepCopy

func (in *IamRoleRule) DeepCopy() *IamRoleRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IamRoleRule.

func (*IamRoleRule) DeepCopyInto

func (in *IamRoleRule) DeepCopyInto(out *IamRoleRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (IamRoleRule) IAMPolicies

func (r IamRoleRule) IAMPolicies() []PolicyDocument

func (IamRoleRule) Name

func (r IamRoleRule) Name() string

type IamUserRule

type IamUserRule struct {
	IamUserName string           `json:"iamUserName" yaml:"iamUserName"`
	Policies    []PolicyDocument `json:"iamPolicies" yaml:"iamPolicies"`
}

func (*IamUserRule) DeepCopy

func (in *IamUserRule) DeepCopy() *IamUserRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IamUserRule.

func (*IamUserRule) DeepCopyInto

func (in *IamUserRule) DeepCopyInto(out *IamUserRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (IamUserRule) IAMPolicies

func (r IamUserRule) IAMPolicies() []PolicyDocument

func (IamUserRule) Name

func (r IamUserRule) Name() string

type PolicyDocument

type PolicyDocument struct {
	Name       string           `json:"name" yaml:"name"`
	Version    string           `json:"version" yaml:"version"`
	Statements []StatementEntry `json:"statements" yaml:"statements"`
}

func (*PolicyDocument) DeepCopy

func (in *PolicyDocument) DeepCopy() *PolicyDocument

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyDocument.

func (*PolicyDocument) DeepCopyInto

func (in *PolicyDocument) DeepCopyInto(out *PolicyDocument)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceQuota

type ServiceQuota struct {
	Name   string `json:"name" yaml:"name"`
	Buffer int    `json:"buffer" yaml:"buffer"`
}

func (*ServiceQuota) DeepCopy

func (in *ServiceQuota) DeepCopy() *ServiceQuota

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceQuota.

func (*ServiceQuota) DeepCopyInto

func (in *ServiceQuota) DeepCopyInto(out *ServiceQuota)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceQuotaRule

type ServiceQuotaRule struct {
	Name          string         `json:"name" yaml:"name"`
	Region        string         `json:"region" yaml:"region"`
	ServiceCode   string         `json:"serviceCode" yaml:"serviceCode"`
	ServiceQuotas []ServiceQuota `json:"serviceQuotas" yaml:"serviceQuotas"`
}

func (*ServiceQuotaRule) DeepCopy

func (in *ServiceQuotaRule) DeepCopy() *ServiceQuotaRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceQuotaRule.

func (*ServiceQuotaRule) DeepCopyInto

func (in *ServiceQuotaRule) DeepCopyInto(out *ServiceQuotaRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatementEntry

type StatementEntry struct {
	Condition *Condition `json:"condition,omitempty" yaml:"condition,omitempty"`
	Effect    string     `json:"effect" yaml:"effect"`
	Actions   []string   `json:"actions" yaml:"actions"`
	Resources []string   `json:"resources" yaml:"resources"`
}

func (*StatementEntry) DeepCopy

func (in *StatementEntry) DeepCopy() *StatementEntry

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatementEntry.

func (*StatementEntry) DeepCopyInto

func (in *StatementEntry) DeepCopyInto(out *StatementEntry)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TagRule

type TagRule struct {
	Name          string   `json:"name" yaml:"name"`
	Key           string   `json:"key" yaml:"key"`
	ExpectedValue string   `json:"expectedValue" yaml:"expectedValue"`
	Region        string   `json:"region" yaml:"region"`
	ResourceType  string   `json:"resourceType" yaml:"resourceType"`
	ARNs          []string `json:"arns" yaml:"arns"`
}

func (*TagRule) DeepCopy

func (in *TagRule) DeepCopy() *TagRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagRule.

func (*TagRule) DeepCopyInto

func (in *TagRule) DeepCopyInto(out *TagRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL