Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the awsproviderconfig v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig +k8s:defaulter-gen=TypeMeta +groupName=awsproviderconfig.k8s.io
Package v1alpha1 contains API Schema definitions for the awsproviderconfig v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig +k8s:defaulter-gen=TypeMeta +groupName=awsproviderconfig.k8s.io
Index ¶
- Constants
- Variables
- func NewScheme() (*runtime.Scheme, error)
- type AWSLoadBalancerType
- type AWSMachineProviderCondition
- type AWSMachineProviderConditionType
- type AWSMachineProviderConfig
- type AWSMachineProviderConfigList
- type AWSMachineProviderStatus
- type AWSProviderConfigCodec
- func (codec *AWSProviderConfigCodec) DecodeProviderSpec(providerSpec *clusterv1.ProviderSpec, out runtime.Object) error
- func (codec *AWSProviderConfigCodec) DecodeProviderStatus(providerStatus *runtime.RawExtension, out runtime.Object) error
- func (codec *AWSProviderConfigCodec) EncodeProviderSpec(in runtime.Object) (*clusterv1.ProviderSpec, error)
- func (codec *AWSProviderConfigCodec) EncodeProviderStatus(in runtime.Object) (*runtime.RawExtension, error)
- type AWSResourceReference
- type BlockDeviceMappingSpec
- type EBSBlockDeviceSpec
- type Filter
- type LoadBalancerReference
- type Placement
- type TagSpecification
Constants ¶
const ( // ClusterIDLabel is the label that a machineset must have to identify the // cluster to which it belongs. ClusterIDLabel = "sigs.k8s.io/cluster-api-cluster" MachineRoleLabel = "sigs.k8s.io/cluster-api-machine-role" MachineTypeLabel = "sigs.k8s.io/cluster-api-machine-type" )
Annotation constants
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "awsproviderconfig.k8s.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
Functions ¶
Types ¶
type AWSLoadBalancerType ¶
type AWSLoadBalancerType string
AWSLoadBalancerType is the type of LoadBalancer to use when registering an instance with load balancers specified in LoadBalancerNames
const ( ClassicLoadBalancerType AWSLoadBalancerType = "classic" // AWS classic ELB NetworkLoadBalancerType AWSLoadBalancerType = "network" // AWS Network Load Balancer (NLB) )
Possible values for AWSLoadBalancerType. Add to this list as other types of load balancer are supported by the actuator.
type AWSMachineProviderCondition ¶
type AWSMachineProviderCondition struct { // Type is the type of the condition. Type AWSMachineProviderConditionType `json:"type"` // Status is the status of the condition. Status corev1.ConditionStatus `json:"status"` // LastProbeTime is the last time we probed the condition. // +optional LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"` // LastTransitionTime is the last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // Reason is a unique, one-word, CamelCase reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // Message is a human-readable message indicating details about last transition. // +optional Message string `json:"message,omitempty"` }
AWSMachineProviderCondition is a condition in a AWSMachineProviderStatus
func (*AWSMachineProviderCondition) DeepCopy ¶
func (in *AWSMachineProviderCondition) DeepCopy() *AWSMachineProviderCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSMachineProviderCondition.
func (*AWSMachineProviderCondition) DeepCopyInto ¶
func (in *AWSMachineProviderCondition) DeepCopyInto(out *AWSMachineProviderCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSMachineProviderConditionType ¶
type AWSMachineProviderConditionType string
AWSMachineProviderConditionType is a valid value for AWSMachineProviderCondition.Type
const ( // MachineCreation indicates whether the machine has been created or not. If not, // it should include a reason and message for the failure. MachineCreation AWSMachineProviderConditionType = "MachineCreation" )
Valid conditions for an AWS machine instance
type AWSMachineProviderConfig ¶
type AWSMachineProviderConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // AMI is the reference to the AMI from which to create the machine instance. AMI AWSResourceReference `json:"ami"` // InstanceType is the type of instance to create. Example: m4.xlarge InstanceType string `json:"instanceType"` // Tags is the set of tags to add to apply to an instance, in addition to the ones // added by default by the actuator. These tags are additive. The actuator will ensure // these tags are present, but will not remove any other tags that may exist on the // instance. Tags []TagSpecification `json:"tags,omitempty"` // IAMInstanceProfile is a reference to an IAM role to assign to the instance IAMInstanceProfile *AWSResourceReference `json:"iamInstanceProfile,omitempty"` // UserDataSecret contains a local reference to a secret that contains the // UserData to apply to the instance UserDataSecret *corev1.LocalObjectReference `json:"userDataSecret,omitempty"` // CredentialsSecret is a reference to the secret with AWS credentials. Otherwise, defaults to permissions // provided by attached IAM role where the actuator is running. CredentialsSecret *corev1.LocalObjectReference `json:"credentialsSecret,omitempty"` // KeyName is the name of the KeyPair to use for SSH KeyName *string `json:"keyName,omitempty"` // DeviceIndex is the index of the device on the instance for the network interface attachment. // Defaults to 0. DeviceIndex int64 `json:"deviceIndex"` // PublicIP specifies whether the instance should get a public IP. If not present, // it should use the default of its subnet. PublicIP *bool `json:"publicIp"` // SecurityGroups is an array of references to security groups that should be applied to the // instance. SecurityGroups []AWSResourceReference `json:"securityGroups,omitempty"` // Subnet is a reference to the subnet to use for this instance Subnet AWSResourceReference `json:"subnet"` // Placement specifies where to create the instance in AWS Placement Placement `json:"placement"` // LoadBalancers is the set of load balancers to which the new instance // should be added once it is created. LoadBalancers []LoadBalancerReference `json:"loadBalancers,omitempty"` // BlockDevices is the set of block device mapping associated to this instance // https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html BlockDevices []BlockDeviceMappingSpec `json:"blockDevices,omitempty"` }
AWSMachineProviderConfig is the Schema for the awsmachineproviderconfigs API +k8s:openapi-gen=true
func (*AWSMachineProviderConfig) DeepCopy ¶
func (in *AWSMachineProviderConfig) DeepCopy() *AWSMachineProviderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSMachineProviderConfig.
func (*AWSMachineProviderConfig) DeepCopyInto ¶
func (in *AWSMachineProviderConfig) DeepCopyInto(out *AWSMachineProviderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSMachineProviderConfig) DeepCopyObject ¶
func (in *AWSMachineProviderConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AWSMachineProviderConfigList ¶
type AWSMachineProviderConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AWSMachineProviderConfig `json:"items"` }
AWSMachineProviderConfigList contains a list of AWSMachineProviderConfig
func (*AWSMachineProviderConfigList) DeepCopy ¶
func (in *AWSMachineProviderConfigList) DeepCopy() *AWSMachineProviderConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSMachineProviderConfigList.
func (*AWSMachineProviderConfigList) DeepCopyInto ¶
func (in *AWSMachineProviderConfigList) DeepCopyInto(out *AWSMachineProviderConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSMachineProviderConfigList) DeepCopyObject ¶
func (in *AWSMachineProviderConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AWSMachineProviderStatus ¶
type AWSMachineProviderStatus struct { metav1.TypeMeta `json:",inline"` // InstanceID is the instance ID of the machine created in AWS // +optional InstanceID *string `json:"instanceId,omitempty"` // InstanceState is the state of the AWS instance for this machine // +optional InstanceState *string `json:"instanceState,omitempty"` // Conditions is a set of conditions associated with the Machine to indicate // errors or other status Conditions []AWSMachineProviderCondition `json:"conditions,omitempty"` }
AWSMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field. It contains AWS-specific status information. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*AWSMachineProviderStatus) DeepCopy ¶
func (in *AWSMachineProviderStatus) DeepCopy() *AWSMachineProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSMachineProviderStatus.
func (*AWSMachineProviderStatus) DeepCopyInto ¶
func (in *AWSMachineProviderStatus) DeepCopyInto(out *AWSMachineProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSMachineProviderStatus) DeepCopyObject ¶
func (in *AWSMachineProviderStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AWSProviderConfigCodec ¶
type AWSProviderConfigCodec struct {
// contains filtered or unexported fields
}
AWSProviderConfigCodec is a runtime codec for the provider configuration +k8s:deepcopy-gen=false
func NewCodec ¶
func NewCodec() (*AWSProviderConfigCodec, error)
NewCodec creates a serializer/deserializer for the provider configuration
func (*AWSProviderConfigCodec) DecodeProviderSpec ¶
func (codec *AWSProviderConfigCodec) DecodeProviderSpec(providerSpec *clusterv1.ProviderSpec, out runtime.Object) error
DecodeProviderSpec deserialises an object from the provider config
func (*AWSProviderConfigCodec) DecodeProviderStatus ¶
func (codec *AWSProviderConfigCodec) DecodeProviderStatus(providerStatus *runtime.RawExtension, out runtime.Object) error
DecodeProviderStatus deserialises the provider status
func (*AWSProviderConfigCodec) EncodeProviderSpec ¶
func (codec *AWSProviderConfigCodec) EncodeProviderSpec(in runtime.Object) (*clusterv1.ProviderSpec, error)
EncodeProviderSpec serialises an object to the provider config
func (*AWSProviderConfigCodec) EncodeProviderStatus ¶
func (codec *AWSProviderConfigCodec) EncodeProviderStatus(in runtime.Object) (*runtime.RawExtension, error)
EncodeProviderStatus serialises the provider status
type AWSResourceReference ¶
type AWSResourceReference struct { // ID of resource // +optional ID *string `json:"id,omitempty"` // ARN of resource // +optional ARN *string `json:"arn,omitempty"` // Filters is a set of filters used to identify a resource Filters []Filter `json:"filters,omitempty"` }
AWSResourceReference is a reference to a specific AWS resource by ID, ARN, or filters. Only one of ID, ARN or Filters may be specified. Specifying more than one will result in a validation error.
func (*AWSResourceReference) DeepCopy ¶
func (in *AWSResourceReference) DeepCopy() *AWSResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSResourceReference.
func (*AWSResourceReference) DeepCopyInto ¶
func (in *AWSResourceReference) DeepCopyInto(out *AWSResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlockDeviceMappingSpec ¶
type BlockDeviceMappingSpec struct { // The device name exposed to the machine (for example, /dev/sdh or xvdh). DeviceName *string `json:"deviceName,omitempty"` // Parameters used to automatically set up EBS volumes when the machine is // launched. EBS *EBSBlockDeviceSpec `json:"ebs,omitempty"` // Suppresses the specified device included in the block device mapping of the // AMI. NoDevice *string `json:"noDevice,omitempty"` // The virtual device name (ephemeralN). Machine store volumes are numbered // starting from 0. An machine type with 2 available machine store volumes // can specify mappings for ephemeral0 and ephemeral1.The number of available // machine store volumes depends on the machine type. After you connect to // the machine, you must mount the volume. // // Constraints: For M3 machines, you must specify machine store volumes in // the block device mapping for the machine. When you launch an M3 machine, // we ignore any machine store volumes specified in the block device mapping // for the AMI. VirtualName *string `json:"virtualName,omitempty"` }
BlockDeviceMappingSpec describes a block device mapping
func (*BlockDeviceMappingSpec) DeepCopy ¶
func (in *BlockDeviceMappingSpec) DeepCopy() *BlockDeviceMappingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDeviceMappingSpec.
func (*BlockDeviceMappingSpec) DeepCopyInto ¶
func (in *BlockDeviceMappingSpec) DeepCopyInto(out *BlockDeviceMappingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EBSBlockDeviceSpec ¶
type EBSBlockDeviceSpec struct { // Indicates whether the EBS volume is deleted on machine termination. DeleteOnTermination *bool `json:"deleteOnTermination,omitempty"` // Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes // may only be attached to machines that support Amazon EBS encryption. Encrypted *bool `json:"encrypted,omitempty"` // The number of I/O operations per second (IOPS) that the volume supports. // For io1, this represents the number of IOPS that are provisioned for the // volume. For gp2, this represents the baseline performance of the volume and // the rate at which the volume accumulates I/O credits for bursting. For more // information about General Purpose SSD baseline performance, I/O credits, // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for // gp2 volumes. // // Condition: This parameter is required for requests to create io1 volumes; // it is not used in requests to create gp2, st1, sc1, or standard volumes. Iops *int64 `json:"iops,omitempty"` // The size of the volume, in GiB. // // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify // a snapshot, the volume size must be equal to or larger than the snapshot // size. // // Default: If you're creating the volume from a snapshot and don't specify // a volume size, the default is the snapshot size. VolumeSize *int64 `json:"volumeSize,omitempty"` // The volume type: gp2, io1, st1, sc1, or standard. // Default: standard VolumeType *string `json:"volumeType,omitempty"` }
EBSBlockDeviceSpec describes a block device for an EBS volume. https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsBlockDevice
func (*EBSBlockDeviceSpec) DeepCopy ¶
func (in *EBSBlockDeviceSpec) DeepCopy() *EBSBlockDeviceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSBlockDeviceSpec.
func (*EBSBlockDeviceSpec) DeepCopyInto ¶
func (in *EBSBlockDeviceSpec) DeepCopyInto(out *EBSBlockDeviceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Filter ¶
type Filter struct { // Name of the filter. Filter names are case-sensitive. Name string `json:"name"` // Values includes one or more filter values. Filter values are case-sensitive. Values []string `json:"values,omitempty"` }
Filter is a filter used to identify an AWS resource
func (*Filter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filter.
func (*Filter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerReference ¶
type LoadBalancerReference struct { Name string `json:"name"` Type AWSLoadBalancerType `json:"type"` }
LoadBalancerReference is a reference to a load balancer on AWS.
func (*LoadBalancerReference) DeepCopy ¶
func (in *LoadBalancerReference) DeepCopy() *LoadBalancerReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerReference.
func (*LoadBalancerReference) DeepCopyInto ¶
func (in *LoadBalancerReference) DeepCopyInto(out *LoadBalancerReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Placement ¶
type Placement struct { // Region is the region to use to create the instance Region string `json:"region,omitempty"` // AvailabilityZone is the availability zone of the instance AvailabilityZone string `json:"availabilityZone,omitempty"` }
Placement indicates where to create the instance in AWS
func (*Placement) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Placement.
func (*Placement) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TagSpecification ¶
type TagSpecification struct { // Name of the tag Name string `json:"name"` // Value of the tag Value string `json:"value"` }
TagSpecification is the name/value pair for a tag
func (*TagSpecification) DeepCopy ¶
func (in *TagSpecification) DeepCopy() *TagSpecification
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagSpecification.
func (*TagSpecification) DeepCopyInto ¶
func (in *TagSpecification) DeepCopyInto(out *TagSpecification)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.