v1alpha1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2019 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the cluster v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/awslabs/aws-eks-cluster-controller/pkg/apis/cluster +k8s:defaulter-gen=TypeMeta +groupName=cluster.eks.amazonaws.com

Package v1alpha1 contains API Schema definitions for the cluster v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/awslabs/aws-eks-cluster-controller/pkg/apis/cluster +k8s:defaulter-gen=TypeMeta +groupName=cluster.eks.amazonaws.com

Index

Constants

View Source
const DefaultVersion string = "1.12"

DefaultVersion is the version that is used if none is supplied

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "cluster.eks.amazonaws.com", Version: "v1alpha1"}

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

	// AddToScheme is required by pkg/client/...
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var DefaultNetwork = Network{
	VpcCidr: "192.168.0.0/16",
	SubnetCidrs: []string{
		"192.168.64.0/18",
		"192.168.128.0/18",
		"192.168.192.0/18",
	},
}

DefaultNetwork consists default subnet CIDRs for EKS cluster

View Source
var SupportedRegions = []string{
	"us-west-2",
	"us-east-1",
	"us-east-2",
	"eu-central-1",
	"eu-north-1",
	"eu-west-1",
	"eu-west-2",
	"eu-west-3",
	"ap-northeast-1",
	"ap-northeast-2",
	"ap-south-1",
	"ap-southeast-1",
	"ap-southeast-2",
}

Supported is the current list of supported eks regions 2019-01-15 (https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)

View Source
var SupportedVersions = []string{
	"1.11",
	"1.12",
	"1.13",
	"1.14",
}

SupportedVersions is the list of current supported verisons of EKS (AC 2019-01-15) (https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html)

Functions

func IsSupportedRegion added in v0.2.0

func IsSupportedRegion(region *string) bool

IsSupportedRegion reports if the region passed is supported by EKS

func Resource

func Resource(resource string) schema.GroupResource

Resource is required by pkg/client/listers/...

Types

type ControlPlane

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

	Spec   ControlPlaneSpec   `json:"spec,omitempty"`
	Status ControlPlaneStatus `json:"status,omitempty"`
}

ControlPlane is the Schema for the controlplanes API +k8s:openapi-gen=true

func (*ControlPlane) DeepCopy

func (in *ControlPlane) DeepCopy() *ControlPlane

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

func (*ControlPlane) DeepCopyInto

func (in *ControlPlane) DeepCopyInto(out *ControlPlane)

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

func (*ControlPlane) DeepCopyObject

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

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

func (*ControlPlane) GetNetwork added in v0.2.0

func (cp *ControlPlane) GetNetwork() (Network, error)

GetNetwork returns validated Network information specified in Spec

func (*ControlPlane) GetVersion added in v0.2.0

func (cp *ControlPlane) GetVersion() string

GetVersion returns the Version of the EKS cluster

type ControlPlaneList

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

ControlPlaneList contains a list of ControlPlane

func (*ControlPlaneList) DeepCopy

func (in *ControlPlaneList) DeepCopy() *ControlPlaneList

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

func (*ControlPlaneList) DeepCopyInto

func (in *ControlPlaneList) DeepCopyInto(out *ControlPlaneList)

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

func (*ControlPlaneList) DeepCopyObject

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

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

type ControlPlaneSpec

type ControlPlaneSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	ClusterName string `json:"clusterName"`
	// +optional
	Version *string `json:"version,omitempty"`
	// +optional
	Network *Network `json:"network,omitempty"`
}

ControlPlaneSpec defines the desired state of ControlPlane

func (*ControlPlaneSpec) DeepCopy

func (in *ControlPlaneSpec) DeepCopy() *ControlPlaneSpec

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

func (*ControlPlaneSpec) DeepCopyInto

func (in *ControlPlaneSpec) DeepCopyInto(out *ControlPlaneSpec)

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

type ControlPlaneStatus

type ControlPlaneStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	CertificateAuthorityData string `json:"certificateAuthorityData"`
	Endpoint                 string `json:"endpoint"`
	Status                   string `json:"status"`
}

ControlPlaneStatus defines the observed state of ControlPlane

func (*ControlPlaneStatus) DeepCopy

func (in *ControlPlaneStatus) DeepCopy() *ControlPlaneStatus

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

func (*ControlPlaneStatus) DeepCopyInto

func (in *ControlPlaneStatus) DeepCopyInto(out *ControlPlaneStatus)

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

type EKS

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

	Spec   EKSSpec   `json:"spec,omitempty"`
	Status EKSStatus `json:"status,omitempty"`
}

EKS is the Schema for the eks API +k8s:openapi-gen=true

func (*EKS) DeepCopy

func (in *EKS) DeepCopy() *EKS

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

func (*EKS) DeepCopyInto

func (in *EKS) DeepCopyInto(out *EKS)

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

func (*EKS) DeepCopyObject

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

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

func (EKS) GetAWSAuthData

func (e EKS) GetAWSAuthData() string

func (EKS) GetControlPlaneStackName

func (e EKS) GetControlPlaneStackName() string

func (EKS) GetControlPlanes

func (e EKS) GetControlPlanes(c client.Client) (*ControlPlane, error)

func (EKS) GetNodegroupNames

func (e EKS) GetNodegroupNames() []string

type EKSList

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

EKSList contains a list of EKS

func (*EKSList) DeepCopy

func (in *EKSList) DeepCopy() *EKSList

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

func (*EKSList) DeepCopyInto

func (in *EKSList) DeepCopyInto(out *EKSList)

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

func (*EKSList) DeepCopyObject

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

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

type EKSSpec

type EKSSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	AccountID            string           `json:"accountId"`
	CrossAccountRoleName string           `json:"crossAccountRoleName"`
	Region               string           `json:"region"`
	ControlPlane         ControlPlaneSpec `json:"controlPlane"`
	NodeGroups           []NodeGroupSpec  `json:"nodeGroups"`
}

EKSSpec defines the desired state of EKS

func (*EKSSpec) DeepCopy

func (in *EKSSpec) DeepCopy() *EKSSpec

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

func (*EKSSpec) DeepCopyInto

func (in *EKSSpec) DeepCopyInto(out *EKSSpec)

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

func (EKSSpec) GetCrossAccountSession

func (e EKSSpec) GetCrossAccountSession(rootSession *session.Session) (*session.Session, error)

type EKSStatus

type EKSStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Status       string         `json:"status"`
	ControlPlane *ControlPlane  `json:"controlPlane,omitempty"`
	NodeGroups   *NodeGroupList `json:"nodeGroups,omitempty"`
}

EKSStatus defines the observed state of EKS

func (*EKSStatus) DeepCopy

func (in *EKSStatus) DeepCopy() *EKSStatus

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

func (*EKSStatus) DeepCopyInto

func (in *EKSStatus) DeepCopyInto(out *EKSStatus)

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

type Instance added in v0.2.0

type Instance struct {
	// Default value is t2.medium
	// +kubebuilder:validation:Enum=t2.small,t2.medium,t2.large,t2.xlarge,t2.2xlarge,m3.medium,m3.large,m3.xlarge,m3.2xlarge,m4.large,m4.xlarge,m4.2xlarge,m4.4xlarge,m4.10xlarge,m5.large,m5.xlarge,m5.2xlarge,m5.4xlarge,m5.12xlarge,m5.24xlarge,c4.large,c4.xlarge,c4.2xlarge,c4.4xlarge,c4.8xlarge,c5.large,c5.xlarge,c5.2xlarge,c5.4xlarge,c5.9xlarge,c5.18xlarge,i3.large,i3.xlarge,i3.2xlarge,i3.4xlarge,i3.8xlarge,i3.16xlarge,r3.xlarge,r3.2xlarge,r3.4xlarge,r3.8xlarge,r4.large,r4.xlarge,r4.2xlarge,r4.4xlarge,r4.8xlarge,r4.16xlarge,x1.16xlarge,x1.32xlarge,p2.xlarge,p2.8xlarge,p2.16xlarge,p3.2xlarge,p3.8xlarge,p3.16xlarge
	// +optional
	InstanceType *string `json:"instanceType,omitempty"`
	// Default Value is 3
	// +kubebuilder:validation:Maximum=10
	// +kubebuilder:validation:Minimum=1
	// +optional
	MaxInstanceCount *int `json:"maxInstanceCount,omitempty"`
	// Default Value is 20
	// +kubebuilder:validation:Maximum=16384
	// +kubebuilder:validation:Minimum=1
	// +optional
	EBSVolumeSize *int `json:"ebsVolumeSize,omitempty"`
}

Instance defines the instance details of the nodegroup

func (*Instance) DeepCopy added in v0.2.0

func (in *Instance) DeepCopy() *Instance

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

func (*Instance) DeepCopyInto added in v0.2.0

func (in *Instance) DeepCopyInto(out *Instance)

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

type Network added in v0.2.0

type Network struct {
	VpcCidr string `json:"vpcCidr"`
	// +kubebuilder:validation:MaxItems=3
	// +kubebuilder:validation:MinItems=3
	SubnetCidrs []string `json:"subnetCidrs"`
}

Network encapsulates VPC, Subnet1, Subnet2, and Subnet3 CIDRs for EKS cluster

func (*Network) DeepCopy added in v0.2.0

func (in *Network) DeepCopy() *Network

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

func (*Network) DeepCopyInto added in v0.2.0

func (in *Network) DeepCopyInto(out *Network)

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

type NodeGroup

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

	Spec   NodeGroupSpec   `json:"spec,omitempty"`
	Status NodeGroupStatus `json:"status,omitempty"`
}

NodeGroup is the Schema for the nodegroups API +k8s:openapi-gen=true

func (*NodeGroup) DeepCopy

func (in *NodeGroup) DeepCopy() *NodeGroup

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

func (*NodeGroup) DeepCopyInto

func (in *NodeGroup) DeepCopyInto(out *NodeGroup)

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

func (*NodeGroup) DeepCopyObject

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

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

func (*NodeGroup) GetVersion added in v0.2.0

func (ng *NodeGroup) GetVersion() string

type NodeGroupList

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

NodeGroupList contains a list of NodeGroup

func (*NodeGroupList) DeepCopy

func (in *NodeGroupList) DeepCopy() *NodeGroupList

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

func (*NodeGroupList) DeepCopyInto

func (in *NodeGroupList) DeepCopyInto(out *NodeGroupList)

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

func (*NodeGroupList) DeepCopyObject

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

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

type NodeGroupSpec

type NodeGroupSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Name string `json:"name"`
	// +optional
	Version *string `json:"version,omitempty"`
	// +optional
	IAMPolicies []Policy `json:"iamPolicies,omitempty"`
	// +optional
	Instance *Instance `json:"instance,omitempty"`
}

NodeGroupSpec defines the desired state of NodeGroup

func (*NodeGroupSpec) DeepCopy

func (in *NodeGroupSpec) DeepCopy() *NodeGroupSpec

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

func (*NodeGroupSpec) DeepCopyInto

func (in *NodeGroupSpec) DeepCopyInto(out *NodeGroupSpec)

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

type NodeGroupStatus

type NodeGroupStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Status string `json:"status"`
}

NodeGroupStatus defines the observed state of NodeGroup

func (*NodeGroupStatus) DeepCopy

func (in *NodeGroupStatus) DeepCopy() *NodeGroupStatus

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

func (*NodeGroupStatus) DeepCopyInto

func (in *NodeGroupStatus) DeepCopyInto(out *NodeGroupStatus)

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

type Policy added in v0.2.0

type Policy struct {
	PolicyName     string         `json:"policyName"`
	PolicyDocument PolicyDocument `json:"policyDocument"`
}

Policy represents an IAM Policy

func (*Policy) DeepCopy added in v0.2.0

func (in *Policy) DeepCopy() *Policy

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

func (*Policy) DeepCopyInto added in v0.2.0

func (in *Policy) DeepCopyInto(out *Policy)

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

type PolicyDocument added in v0.2.0

type PolicyDocument struct {
	Version   string      `json:"version"`
	Statement []Statement `json:"statement"`
}

PolicyDocument represents an IAM PolicyDocument

func (*PolicyDocument) DeepCopy added in v0.2.0

func (in *PolicyDocument) DeepCopy() *PolicyDocument

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

func (*PolicyDocument) DeepCopyInto added in v0.2.0

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

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

type Statement added in v0.2.0

type Statement struct {
	Effect   string   `json:"effect"`
	Action   []string `json:"action"`
	Resource []string `json:"resource"`
}

Statement represents an IAM PolicyDocument Statement

func (*Statement) DeepCopy added in v0.2.0

func (in *Statement) DeepCopy() *Statement

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

func (*Statement) DeepCopyInto added in v0.2.0

func (in *Statement) DeepCopyInto(out *Statement)

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