v1alpha1

package
v0.0.0-...-4da6f2b Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the avo v1alpha1 API group +kubebuilder:object:generate=true +groupName=avo.openshift.io

Index

Constants

View Source
const (
	AWSVpcEndpointCondition      = "AWSVpcEndpointReady"
	AWSSecurityGroupCondition    = "AWSSecurityGroupReady"
	AWSRoute53RecordCondition    = "AWSRoute53RecordReady"
	ExternalNameServiceCondition = "ExternalNameServiceReady"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "avo.openshift.io", 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

Types

type AAOAccountAcceptanceCriteria

type AAOAccountAcceptanceCriteria struct {
	Namespace string `json:"namespace"`
}

func (*AAOAccountAcceptanceCriteria) DeepCopy

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

func (*AAOAccountAcceptanceCriteria) DeepCopyInto

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

type AcceptanceCriteria

type AcceptanceCriteria struct {
	// AwsAccountOperatorAccount will accept VPC Endpoint Connections that were requested from an AWS
	// account that matches AWS accounts defined in account.aws.managed.openshift.io custom resources
	AwsAccountOperatorAccount *AAOAccountAcceptanceCriteria `json:"awsAccountOperatorAccount,omitempty"`

	// AlwaysAccept will instruct the controller to accept any VPC Endpoint Connections
	AlwaysAccept bool `json:"alwaysAccept,omitempty"`
}

func (*AcceptanceCriteria) DeepCopy

func (in *AcceptanceCriteria) DeepCopy() *AcceptanceCriteria

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

func (*AcceptanceCriteria) DeepCopyInto

func (in *AcceptanceCriteria) DeepCopyInto(out *AcceptanceCriteria)

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

type AvoConfig

type AvoConfig struct {
	metav1.TypeMeta `json:",inline"`

	// ControllerManagerConfigurationSpec returns the configurations for controllers
	cfg.ControllerManagerConfigurationSpec `json:",inline"`

	// EnableVpcEndpointController is a feature flag to determine whether the VpcEndpoint controller runs.
	// Defaults to true
	EnableVpcEndpointController *bool `json:"enableVpcEndpointController,omitempty"`

	// EnableVpcEndpointAcceptanceController is a feature flag to determine whether the VpcEndpointAcceptance controller runs
	// Defaults to false
	EnableVpcEndpointAcceptanceController *bool `json:"enableVpcEndpointAcceptanceController,omitempty"`

	// EnableVpcEndpointTemplateController is a feature flag to determine whether the VpcEndpointTemplate controller runs
	// Defaults to false
	EnableVpcEndpointTemplateController *bool `json:"enableVpcEndpointTemplateController,omitempty"`
}

AvoConfig is the Schema for the avoconfigs API

func (*AvoConfig) DeepCopy

func (in *AvoConfig) DeepCopy() *AvoConfig

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

func (*AvoConfig) DeepCopyInto

func (in *AvoConfig) DeepCopyInto(out *AvoConfig)

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

func (*AvoConfig) DeepCopyObject

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

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

type AvoConfigList

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

AvoConfigList contains a list of AvoConfig

func (*AvoConfigList) DeepCopy

func (in *AvoConfigList) DeepCopy() *AvoConfigList

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

func (*AvoConfigList) DeepCopyInto

func (in *AvoConfigList) DeepCopyInto(out *AvoConfigList)

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

func (*AvoConfigList) DeepCopyObject

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

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

type ExternalNameServiceSpec

type ExternalNameServiceSpec struct {
	// Name of the ExternalName service to create in the same namespace as the VPCE CR
	Name string `json:"name"`
}

func (*ExternalNameServiceSpec) DeepCopy

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

func (*ExternalNameServiceSpec) DeepCopyInto

func (in *ExternalNameServiceSpec) DeepCopyInto(out *ExternalNameServiceSpec)

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

type SecurityGroup

type SecurityGroup struct {
	// IngressRules is a list of security group ingress rules.
	// They will be allowed for the master and worker security groups.
	// +optional
	IngressRules []SecurityGroupRule `json:"ingressRules,omitempty"`

	// EgressRules is a list of security group egress rules
	// They will be allowed for the master and worker security groups.
	// +optional
	EgressRules []SecurityGroupRule `json:"egressRules,omitempty"`
}

func (*SecurityGroup) DeepCopy

func (in *SecurityGroup) DeepCopy() *SecurityGroup

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

func (*SecurityGroup) DeepCopyInto

func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)

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

type SecurityGroupRule

type SecurityGroupRule struct {
	// FromPort and ToPort are the start and end of the port range to allow.
	// To allow a single port, set both to the same value.
	FromPort int32 `json:"fromPort,omitempty"`

	// FromPort and ToPort are the start and end of the port range to allow
	// To allow a single port, set both to the same value.
	ToPort int32 `json:"toPort,omitempty"`

	// Protocol is the IP protocol, tcp | udp | icmp | all
	Protocol string `json:"protocol,omitempty"`
}

SecurityGroupRule is based on required inputs for aws authorize-security-group-ingress/egress

func (*SecurityGroupRule) DeepCopy

func (in *SecurityGroupRule) DeepCopy() *SecurityGroupRule

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

func (*SecurityGroupRule) DeepCopyInto

func (in *SecurityGroupRule) DeepCopyInto(out *SecurityGroupRule)

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

type VpcEndpoint

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

	Spec   VpcEndpointSpec   `json:"spec,omitempty"`
	Status VpcEndpointStatus `json:"status,omitempty"`
}

VpcEndpoint is the Schema for the vpcendpoints API

func (*VpcEndpoint) DeepCopy

func (in *VpcEndpoint) DeepCopy() *VpcEndpoint

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

func (*VpcEndpoint) DeepCopyInto

func (in *VpcEndpoint) DeepCopyInto(out *VpcEndpoint)

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

func (*VpcEndpoint) DeepCopyObject

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

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

type VpcEndpointAcceptance

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

	Spec   VpcEndpointAcceptanceSpec   `json:"spec,omitempty"`
	Status VpcEndpointAcceptanceStatus `json:"status,omitempty"`
}

VpcEndpointAcceptance is the Schema for the vpcendpointacceptances API

func (*VpcEndpointAcceptance) DeepCopy

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

func (*VpcEndpointAcceptance) DeepCopyInto

func (in *VpcEndpointAcceptance) DeepCopyInto(out *VpcEndpointAcceptance)

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

func (*VpcEndpointAcceptance) DeepCopyObject

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

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

type VpcEndpointAcceptanceList

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

VpcEndpointAcceptanceList contains a list of VpcEndpointAcceptance

func (*VpcEndpointAcceptanceList) DeepCopy

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

func (*VpcEndpointAcceptanceList) DeepCopyInto

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

func (*VpcEndpointAcceptanceList) DeepCopyObject

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

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

type VpcEndpointAcceptanceSpec

type VpcEndpointAcceptanceSpec struct {
	// Id is the AWS ID of the VPC Endpoint Service for this controller to poll
	Id string `json:"id"`

	// AssumeRoleArn is the ARN of an AWS IAM role in the same account as the specified VPC Endpoint Service.
	// This is necessary if the IAM entity available to the controller is not in the same AWS account as the
	// VPC Endpoint Service.
	AssumeRoleArn string `json:"assumeRoleArn,omitempty"`

	// Region is the AWS region that contains the specified VPC Endpoint Service
	Region string `json:"region"`

	// AcceptanceCriteria
	AcceptanceCriteria AcceptanceCriteria `json:"acceptanceCriteria"`
}

VpcEndpointAcceptanceSpec defines the desired state of VpcEndpointAcceptance

func (*VpcEndpointAcceptanceSpec) DeepCopy

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

func (*VpcEndpointAcceptanceSpec) DeepCopyInto

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

type VpcEndpointAcceptanceStatus

type VpcEndpointAcceptanceStatus struct {
}

VpcEndpointAcceptanceStatus defines the observed state of VpcEndpointAcceptance

func (*VpcEndpointAcceptanceStatus) DeepCopy

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

func (*VpcEndpointAcceptanceStatus) DeepCopyInto

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

type VpcEndpointList

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

VpcEndpointList contains a list of VpcEndpoint

func (*VpcEndpointList) DeepCopy

func (in *VpcEndpointList) DeepCopy() *VpcEndpointList

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

func (*VpcEndpointList) DeepCopyInto

func (in *VpcEndpointList) DeepCopyInto(out *VpcEndpointList)

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

func (*VpcEndpointList) DeepCopyObject

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

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

type VpcEndpointSpec

type VpcEndpointSpec struct {

	// ServiceName is the name of the VPC Endpoint Service to connect to
	ServiceName string `json:"serviceName"`

	// SecurityGroup contains the configuration of the security group attached to the VPC Endpoint
	SecurityGroup SecurityGroup `json:"securityGroup"`

	// +kubebuilder:validation:Pattern=[a-z0-9]([-a-z0-9]*[a-z0-9])?
	// SubdomainName is the name of the Route53 Hosted Zone CNAME rule to create in the cluster's
	// Private Route53 Hosted Zone
	SubdomainName string `json:"subdomainName"`

	// ExternalNameService configures the name and namespace of the created Kubernetes ExternalName Service
	ExternalNameService ExternalNameServiceSpec `json:"externalNameService"`

	// AddtlHostedZoneName is an optional FQDN to support supplemental VPCE routing via Route53 Private Hosted Zone
	// +optional
	AddtlHostedZoneName string `json:"addtlHostedZoneName,omitempty"`
}

VpcEndpointSpec defines the desired state of VpcEndpoint

func (*VpcEndpointSpec) DeepCopy

func (in *VpcEndpointSpec) DeepCopy() *VpcEndpointSpec

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

func (*VpcEndpointSpec) DeepCopyInto

func (in *VpcEndpointSpec) DeepCopyInto(out *VpcEndpointSpec)

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

type VpcEndpointStatus

type VpcEndpointStatus struct {
	// Status of the VPC Endpoint
	Status string `json:"status,omitempty"`

	// The AWS ID of the managed security group
	// +optional
	SecurityGroupId string `json:"securityGroupId,omitempty"`

	// The AWS ID of the managed VPC Endpoint
	// +optional
	VPCEndpointId string `json:"vpcEndpointId,omitempty"`

	// The status conditions of the AWS and K8s resources managed by this controller
	// +optional
	Conditions []metav1.Condition `json:"conditions"`
}

VpcEndpointStatus defines the observed state of VpcEndpoint

func (*VpcEndpointStatus) DeepCopy

func (in *VpcEndpointStatus) DeepCopy() *VpcEndpointStatus

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

func (*VpcEndpointStatus) DeepCopyInto

func (in *VpcEndpointStatus) DeepCopyInto(out *VpcEndpointStatus)

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