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
- Variables
- func IsSupportedRegion(region *string) bool
- func Resource(resource string) schema.GroupResource
- type ControlPlane
- type ControlPlaneList
- type ControlPlaneSpec
- type ControlPlaneStatus
- type EKS
- func (in *EKS) DeepCopy() *EKS
- func (in *EKS) DeepCopyInto(out *EKS)
- func (in *EKS) DeepCopyObject() runtime.Object
- func (e EKS) GetAWSAuthData() string
- func (e EKS) GetControlPlaneStackName() string
- func (e EKS) GetControlPlanes(c client.Client) (*ControlPlane, error)
- func (e EKS) GetNodegroupNames() []string
- type EKSList
- type EKSSpec
- type EKSStatus
- type Instance
- type Network
- type NodeGroup
- type NodeGroupList
- type NodeGroupSpec
- type NodeGroupStatus
- type Policy
- type PolicyDocument
- type Statement
Constants ¶
const DefaultVersion string = "1.12"
DefaultVersion is the version that is used if none is supplied
Variables ¶
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 )
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
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/)
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
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKS.
func (*EKS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EKS) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (EKS) GetAWSAuthData ¶
func (EKS) GetControlPlaneStackName ¶
func (EKS) GetControlPlanes ¶
func (e EKS) GetControlPlanes(c client.Client) (*ControlPlane, error)
func (EKS) GetNodegroupNames ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSList.
func (*EKSList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EKSList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSSpec.
func (*EKSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSStatus.
func (*EKSStatus) DeepCopyInto ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.
func (*Instance) DeepCopyInto ¶ added in v0.2.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶ added in v0.2.0
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroup.
func (*NodeGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeGroup) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NodeGroup) GetVersion ¶ added in v0.2.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.
func (*Policy) DeepCopyInto ¶ added in v0.2.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Statement.
func (*Statement) DeepCopyInto ¶ added in v0.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.