Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the awsprovider v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsprovider +k8s:defaulter-gen=TypeMeta +groupName=awsprovider.k8s.io
Package v1alpha1 contains API Schema definitions for the awsprovider v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsprovider +k8s:defaulter-gen=TypeMeta +groupName=awsprovider.k8s.io
Index ¶
- Variables
- func EncodeClusterSpec(spec *AWSClusterProviderSpec) (*runtime.RawExtension, error)
- func EncodeClusterStatus(status *AWSClusterProviderStatus) (*runtime.RawExtension, error)
- func EncodeMachineSpec(spec *AWSMachineProviderSpec) (*runtime.RawExtension, error)
- func EncodeMachineStatus(status *AWSMachineProviderStatus) (*runtime.RawExtension, error)
- type AWSClusterProviderSpec
- type AWSClusterProviderStatus
- type AWSMachineProviderCondition
- type AWSMachineProviderConditionType
- type AWSMachineProviderSpec
- type AWSMachineProviderStatus
- type AWSResourceReference
- type ClassicELB
- type ClassicELBAttributes
- type ClassicELBHealthCheck
- type ClassicELBListener
- type ClassicELBProtocol
- type ClassicELBScheme
- type Filter
- type IngressRule
- type IngressRules
- type Instance
- type InstanceState
- type KeyPair
- type Network
- type NetworkSpec
- type RouteTable
- type SecurityGroup
- type SecurityGroupProtocol
- type SecurityGroupRole
- type SubnetSpec
- type Subnets
- type VPCSpec
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "awsprovider.k8s.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
var ( // ClassicELBSchemeInternetFacing defines an internet-facing, publicly // accessible AWS Classic ELB scheme ClassicELBSchemeInternetFacing = ClassicELBScheme("Internet-facing") // ClassicELBSchemeInternal defines an internal-only facing // load balancer internal to an ELB. ClassicELBSchemeInternal = ClassicELBScheme("internal") )
var ( // ClassicELBProtocolTCP defines the ELB API string representing the TCP protocol ClassicELBProtocolTCP = ClassicELBProtocol("TCP") // ClassicELBProtocolSSL defines the ELB API string representing the TLS protocol ClassicELBProtocolSSL = ClassicELBProtocol("SSL") // ClassicELBProtocolHTTP defines the ELB API string representing the HTTP protocol at L7 ClassicELBProtocolHTTP = ClassicELBProtocol("HTTP") // ClassicELBProtocolHTTPS defines the ELB API string representing the HTTP protocol at L7 ClassicELBProtocolHTTPS = ClassicELBProtocol("HTTPS") )
var ( // SecurityGroupBastion defines an SSH bastion role SecurityGroupBastion = SecurityGroupRole("bastion") // SecurityGroupNode defines a Kubernetes workload node role SecurityGroupNode = SecurityGroupRole("node") // SecurityGroupControlPlane defines a Kubernetes control plane node role SecurityGroupControlPlane = SecurityGroupRole("controlplane") )
var ( // SecurityGroupProtocolAll is a wildcard for all IP protocols SecurityGroupProtocolAll = SecurityGroupProtocol("-1") // SecurityGroupProtocolTCP represents the TCP protocol in ingress rules SecurityGroupProtocolTCP = SecurityGroupProtocol("tcp") // SecurityGroupProtocolUDP represents the UDP protocol in ingress rules SecurityGroupProtocolUDP = SecurityGroupProtocol("udp") // SecurityGroupProtocolICMP represents the ICMP protocol in ingress rules SecurityGroupProtocolICMP = SecurityGroupProtocol("icmp") )
var ( // InstanceStatePending is the string representing an instance in a pending state InstanceStatePending = InstanceState("pending") // InstanceStateRunning is the string representing an instance in a pending state InstanceStateRunning = InstanceState("running") // InstanceStateShuttingDown is the string representing an instance shutting down InstanceStateShuttingDown = InstanceState("shutting-down") // InstanceStateTerminated is the string representing an instance that has been terminated InstanceStateTerminated = InstanceState("terminated") // InstanceStateStopping is the string representing an instance // that is in the process of being stopped and can be restarted InstanceStateStopping = InstanceState("stopping") // InstanceStateStopped is the string representing an instance // that has been stopped and can be restarted InstanceStateStopped = InstanceState("stopped") )
Functions ¶
func EncodeClusterSpec ¶
func EncodeClusterSpec(spec *AWSClusterProviderSpec) (*runtime.RawExtension, error)
EncodeClusterSpec marshals the cluster provider spec.
func EncodeClusterStatus ¶
func EncodeClusterStatus(status *AWSClusterProviderStatus) (*runtime.RawExtension, error)
EncodeClusterStatus marshals the cluster status.
func EncodeMachineSpec ¶
func EncodeMachineSpec(spec *AWSMachineProviderSpec) (*runtime.RawExtension, error)
EncodeMachineSpec marshals the machine provider spec.
func EncodeMachineStatus ¶
func EncodeMachineStatus(status *AWSMachineProviderStatus) (*runtime.RawExtension, error)
EncodeMachineStatus marshals the machine status
Types ¶
type AWSClusterProviderSpec ¶
type AWSClusterProviderSpec struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // NetworkSpec encapsulates all things related to AWS network. NetworkSpec NetworkSpec `json:"networkSpec,omitempty"` // The AWS Region the cluster lives in. Region string `json:"region,omitempty"` // SSHKeyName is the name of the ssh key to attach to the bastion host. SSHKeyName string `json:"sshKeyName,omitempty"` // CAKeyPair is the key pair for ca certs. CAKeyPair KeyPair `json:"caKeyPair,omitempty"` //EtcdCAKeyPair is the key pair for etcd. EtcdCAKeyPair KeyPair `json:"etcdCAKeyPair,omitempty"` // FrontProxyCAKeyPair is the key pair for FrontProxyKeyPair. FrontProxyCAKeyPair KeyPair `json:"frontProxyCAKeyPair,omitempty"` // SAKeyPair is the service account key pair. SAKeyPair KeyPair `json:"saKeyPair,omitempty"` }
AWSClusterProviderSpec is the providerConfig for AWS in the cluster object +k8s:openapi-gen=true
func ClusterConfigFromProviderSpec ¶
func ClusterConfigFromProviderSpec(providerConfig clusterv1.ProviderSpec) (*AWSClusterProviderSpec, error)
ClusterConfigFromProviderSpec unmarshals a provider config into an AWS Cluster type
func (*AWSClusterProviderSpec) DeepCopy ¶
func (in *AWSClusterProviderSpec) DeepCopy() *AWSClusterProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSClusterProviderSpec.
func (*AWSClusterProviderSpec) DeepCopyInto ¶
func (in *AWSClusterProviderSpec) DeepCopyInto(out *AWSClusterProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSClusterProviderSpec) DeepCopyObject ¶
func (in *AWSClusterProviderSpec) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AWSClusterProviderStatus ¶
type AWSClusterProviderStatus struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Network Network `json:"network,omitempty"` Bastion Instance `json:"bastion,omitempty"` }
AWSClusterProviderStatus contains the status fields relevant to AWS in the cluster object. +k8s:openapi-gen=true
func ClusterStatusFromProviderStatus ¶
func ClusterStatusFromProviderStatus(extension *runtime.RawExtension) (*AWSClusterProviderStatus, error)
ClusterStatusFromProviderStatus unmarshals a raw extension into an AWS Cluster type
func (*AWSClusterProviderStatus) DeepCopy ¶
func (in *AWSClusterProviderStatus) DeepCopy() *AWSClusterProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSClusterProviderStatus.
func (*AWSClusterProviderStatus) DeepCopyInto ¶
func (in *AWSClusterProviderStatus) DeepCopyInto(out *AWSClusterProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSClusterProviderStatus) DeepCopyObject ¶
func (in *AWSClusterProviderStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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"` // LastTransitionTime is the last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime"` // Reason is a unique, one-word, CamelCase reason for the condition's last transition. // +optional Reason string `json:"reason"` // Message is a human-readable message indicating details about last transition. // +optional Message string `json:"message"` }
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 ( // MachineCreated indicates whether the machine has been created or not. If not, // it should include a reason and message for the failure. MachineCreated AWSMachineProviderConditionType = "MachineCreated" )
Valid conditions for an AWS machine instance
type AWSMachineProviderSpec ¶
type AWSMachineProviderSpec 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,omitempty"` // InstanceType is the type of instance to create. Example: m4.xlarge InstanceType string `json:"instanceType,omitempty"` // AdditionalTags is the set of tags to add 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. // +optional AdditionalTags map[string]string `json:"additionalTags,omitempty"` // IAMInstanceProfile is a name of an IAM instance profile to assign to the instance // +optional IAMInstanceProfile string `json:"iamInstanceProfile,omitempty"` // PublicIP specifies whether the instance should get a public IP. // Precedence for this setting is as follows: // 1. This field if set // 2. Cluster/flavor setting // 3. Subnet default // +optional PublicIP *bool `json:"publicIP,omitempty"` // AdditionalSecurityGroups is an array of references to security groups that should be applied to the // instance. These security groups would be set in addition to any security groups defined // at the cluster level or in the actuator. // +optional AdditionalSecurityGroups []AWSResourceReference `json:"additionalSecurityGroups,omitempty"` // Subnet is a reference to the subnet to use for this instance. If not specified, // the cluster subnet will be used. // +optional Subnet *AWSResourceReference `json:"subnet,omitempty"` // KeyName is the name of the SSH key to install on the instance. // +optional KeyName string `json:"keyName,omitempty"` }
AWSMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an AWS instance. It is used by the AWS machine actuator to create a single machine instance, using the RunInstances call (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) Required parameters such as region that are not specified by this configuration, will be defaulted by the actuator. +k8s:openapi-gen=true
func MachineConfigFromProviderSpec ¶
func MachineConfigFromProviderSpec(providerConfig clusterv1.ProviderSpec) (*AWSMachineProviderSpec, error)
MachineConfigFromProviderSpec unmarshals a provider config into an AWS machine type
func (*AWSMachineProviderSpec) DeepCopy ¶
func (in *AWSMachineProviderSpec) DeepCopy() *AWSMachineProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSMachineProviderSpec.
func (*AWSMachineProviderSpec) DeepCopyInto ¶
func (in *AWSMachineProviderSpec) DeepCopyInto(out *AWSMachineProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AWSMachineProviderSpec) DeepCopyObject ¶
func (in *AWSMachineProviderSpec) 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"` metav1.ObjectMeta `json:"metadata,omitempty"` // 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 // +optional Conditions []AWSMachineProviderCondition `json:"conditions,omitempty"` }
AWSMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field. It containsk AWS-specific status information. +k8s:openapi-gen=true
func MachineStatusFromProviderStatus ¶
func MachineStatusFromProviderStatus(extension *runtime.RawExtension) (*AWSMachineProviderStatus, error)
MachineStatusFromProviderStatus unmarshals a raw extension into an AWS machine type
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 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 key/value pairs used to identify a resource // They are applied according to the rules defined by the AWS API: // https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html // +optional 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 ClassicELB ¶
type ClassicELB struct { // The name of the load balancer. It must be unique within the set of load balancers // defined in the region. It also serves as identifier. Name string `json:"name,omitempty"` // DNSName is the dns name of the load balancer. DNSName string `json:"dnsName,omitempty"` // Scheme is the load balancer scheme, either internet-facing or private. Scheme ClassicELBScheme `json:"scheme,omitempty"` // SubnetIDs is an array of subnets in the VPC attached to the load balancer. SubnetIDs []string `json:"subnetIds,omitempty"` // SecurityGroupIDs is an array of security groups assigned to the load balancer. SecurityGroupIDs []string `json:"securityGroupIds,omitempty"` // Listeners is an array of classic elb listeners associated with the load balancer. There must be at least one. Listeners []*ClassicELBListener `json:"listeners,omitempty"` // HealthCheck is the classic elb health check associated with the load balancer. HealthCheck *ClassicELBHealthCheck `json:"healthChecks,omitempty"` // Attributes defines extra attributes associated with the load balancer. Attributes ClassicELBAttributes `json:"attributes,omitempty"` // Tags is a map of tags associated with the load balancer. Tags map[string]string `json:"tags,omitempty"` }
ClassicELB defines an AWS classic load balancer.
func (*ClassicELB) DeepCopy ¶
func (in *ClassicELB) DeepCopy() *ClassicELB
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassicELB.
func (*ClassicELB) DeepCopyInto ¶
func (in *ClassicELB) DeepCopyInto(out *ClassicELB)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClassicELBAttributes ¶
type ClassicELBAttributes struct { // IdleTimeout is time that the connection is allowed to be idle (no data // has been sent over the connection) before it is closed by the load balancer. IdleTimeout time.Duration `json:"idleTimeout,omitempty"` }
ClassicELBAttributes defines extra attributes associated with a classic load balancer.
func (*ClassicELBAttributes) DeepCopy ¶
func (in *ClassicELBAttributes) DeepCopy() *ClassicELBAttributes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassicELBAttributes.
func (*ClassicELBAttributes) DeepCopyInto ¶
func (in *ClassicELBAttributes) DeepCopyInto(out *ClassicELBAttributes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClassicELBHealthCheck ¶
type ClassicELBHealthCheck struct { Target string `json:"target"` Interval time.Duration `json:"interval"` Timeout time.Duration `json:"timeout"` HealthyThreshold int64 `json:"healthyThreshold"` UnhealthyThreshold int64 `json:"unhealthyThreshold"` }
ClassicELBHealthCheck defines an AWS classic load balancer health check.
func (*ClassicELBHealthCheck) DeepCopy ¶
func (in *ClassicELBHealthCheck) DeepCopy() *ClassicELBHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassicELBHealthCheck.
func (*ClassicELBHealthCheck) DeepCopyInto ¶
func (in *ClassicELBHealthCheck) DeepCopyInto(out *ClassicELBHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClassicELBListener ¶
type ClassicELBListener struct { Protocol ClassicELBProtocol `json:"protocol"` Port int64 `json:"port"` InstanceProtocol ClassicELBProtocol `json:"instanceProtocol"` InstancePort int64 `json:"instancePort"` }
ClassicELBListener defines an AWS classic load balancer listener.
func (*ClassicELBListener) DeepCopy ¶
func (in *ClassicELBListener) DeepCopy() *ClassicELBListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassicELBListener.
func (*ClassicELBListener) DeepCopyInto ¶
func (in *ClassicELBListener) DeepCopyInto(out *ClassicELBListener)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClassicELBProtocol ¶
type ClassicELBProtocol string
ClassicELBProtocol defines listener protocols for a classic load balancer.
type ClassicELBScheme ¶
type ClassicELBScheme string
ClassicELBScheme defines the scheme of a classic load balancer.
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"` }
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 IngressRule ¶
type IngressRule struct { Description string `json:"description"` Protocol SecurityGroupProtocol `json:"protocol"` FromPort int64 `json:"fromPort"` ToPort int64 `json:"toPort"` // List of CIDR blocks to allow access from. Cannot be specified with SourceSecurityGroupID. CidrBlocks []string `json:"cidrBlocks"` // The security group id to allow access from. Cannot be specified with CidrBlocks. SourceSecurityGroupIDs []string `json:"sourceSecurityGroupIds"` }
IngressRule defines an AWS ingress rule for security groups.
func (*IngressRule) DeepCopy ¶
func (in *IngressRule) DeepCopy() *IngressRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRule.
func (*IngressRule) DeepCopyInto ¶
func (in *IngressRule) DeepCopyInto(out *IngressRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressRule) Equals ¶
func (i *IngressRule) Equals(o *IngressRule) bool
Equals returns true if two IngressRule are equal
func (*IngressRule) String ¶
func (i *IngressRule) String() string
String returns a string representation of the ingress rule.
type IngressRules ¶
type IngressRules []*IngressRule
IngressRules is a slice of AWS ingress rules for security groups.
func (IngressRules) DeepCopy ¶
func (in IngressRules) DeepCopy() IngressRules
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRules.
func (IngressRules) DeepCopyInto ¶
func (in IngressRules) DeepCopyInto(out *IngressRules)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (IngressRules) Difference ¶
func (i IngressRules) Difference(o IngressRules) (out IngressRules)
Difference returns the difference between this slice and the other slice.
type Instance ¶
type Instance struct { ID string `json:"id"` // The current state of the instance. State InstanceState `json:"instanceState,omitempty"` // The instance type. Type string `json:"type,omitempty"` // The ID of the subnet of the instance. SubnetID string `json:"subnetId,omitempty"` // The ID of the AMI used to launch the instance. ImageID string `json:"imageId,omitempty"` // The name of the SSH key pair. KeyName *string `json:"keyName,omitempty"` // SecurityGroupIDs are one or more security group IDs this instance belongs to. SecurityGroupIDs []string `json:"securityGroupIds,omitempty"` // UserData is the raw data script passed to the instance which is run upon bootstrap. // This field must not be base64 encoded and should only be used when running a new instance. UserData *string `json:"userData,omitempty"` // The name of the IAM instance profile associated with the instance, if applicable. IAMProfile string `json:"iamProfile,omitempty"` // The private IPv4 address assigned to the instance. PrivateIP *string `json:"privateIp,omitempty"` // The public IPv4 address assigned to the instance, if applicable. PublicIP *string `json:"publicIp,omitempty"` // Specifies whether enhanced networking with ENA is enabled. ENASupport *bool `json:"enaSupport,omitempty"` // Indicates whether the instance is optimized for Amazon EBS I/O. EBSOptimized *bool `json:"ebsOptimized,omitempty"` // The tags associated with the instance. Tags map[string]string `json:"tags,omitempty"` }
Instance describes an AWS instance.
func (*Instance) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.
func (*Instance) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceState ¶
type InstanceState string
InstanceState describes the state of an AWS instance.
type KeyPair ¶
type KeyPair struct { // base64 encoded cert and key Cert []byte `json:"cert"` Key []byte `json:"key"` }
KeyPair is how operators can supply custom keypairs for kubeadm to use.
func (*KeyPair) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyPair.
func (*KeyPair) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeyPair) HasCertAndKey ¶
HasCertAndKey returns whether a keypair contains cert and key of non-zero length.
type Network ¶
type Network struct { // SecurityGroups is a map from the role/kind of the security group to its unique name, if any. SecurityGroups map[SecurityGroupRole]*SecurityGroup `json:"securityGroups,omitempty"` // APIServerELB is the Kubernetes api server classic load balancer. APIServerELB ClassicELB `json:"apiServerElb,omitempty"` }
Network encapsulates AWS networking resources.
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkSpec ¶
type NetworkSpec struct { // VPC configuration. // +optional VPC VPCSpec `json:"vpc,omitempty"` // Subnets configuration. // +optional Subnets Subnets `json:"subnets,omitempty"` }
NetworkSpec encapsulates all things related to AWS network.
func (*NetworkSpec) DeepCopy ¶
func (in *NetworkSpec) DeepCopy() *NetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.
func (*NetworkSpec) DeepCopyInto ¶
func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteTable ¶
type RouteTable struct {
ID string `json:"id"`
}
RouteTable defines an AWS routing table.
func (*RouteTable) DeepCopy ¶
func (in *RouteTable) DeepCopy() *RouteTable
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTable.
func (*RouteTable) DeepCopyInto ¶
func (in *RouteTable) DeepCopyInto(out *RouteTable)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityGroup ¶
type SecurityGroup struct { // ID is a unique identifier. ID string `json:"id"` // Name is the security group name. Name string `json:"name"` // IngressRules is the inbound rules associated with the security group. IngressRules IngressRules `json:"ingressRule"` // Tags is a map of tags associated with the security group. Tags map[string]string `json:"tags,omitempty"` }
SecurityGroup defines an AWS security group.
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.
func (*SecurityGroup) String ¶
func (s *SecurityGroup) String() string
String returns a string representation of the security group.
type SecurityGroupProtocol ¶
type SecurityGroupProtocol string
SecurityGroupProtocol defines the protocol type for a security group rule.
type SecurityGroupRole ¶
type SecurityGroupRole string
SecurityGroupRole defines the unique role of a security group.
type SubnetSpec ¶
type SubnetSpec struct { // ID defines a unique identifier to reference this resource. ID string `json:"id,omitempty"` // CidrBlock is the CIDR block to be used when the provider creates a managed VPC. CidrBlock string `json:"cidrBlock,omitempty"` // AvailabilityZone defines the availability zone to use for this subnet in the cluster's region. AvailabilityZone string `json:"availabilityZone,omitempty"` // IsPublic defines the subnet as a public subnet. Refer to the AWS documentation for further information. // +optional IsPublic bool `json:"isPublic,omitempty"` // RouteTableID is the routing table id associated with the subnet. // +optional RouteTableID *string `json:"routeTableId"` // NatGatewayID is the NAT gateway id associated with the subnet. // Ignored if the subnet is public. // +optional NatGatewayID *string `json:"natGatewayId"` // Tags is a collection of tags describing the resource. Tags tags.Map `json:"tags,omitempty"` }
SubnetSpec configures an AWS Subnet.
func (*SubnetSpec) DeepCopy ¶
func (in *SubnetSpec) DeepCopy() *SubnetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSpec.
func (*SubnetSpec) DeepCopyInto ¶
func (in *SubnetSpec) DeepCopyInto(out *SubnetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubnetSpec) String ¶
func (s *SubnetSpec) String() string
String returns a string representation of the subnet.
type Subnets ¶
type Subnets []*SubnetSpec
Subnets is a slice of Subnet.
func (Subnets) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnets.
func (Subnets) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Subnets) FilterPrivate ¶
FilterPrivate returns a slice containing all subnets marked as private.
func (Subnets) FilterPublic ¶
FilterPublic returns a slice containing all subnets marked as public.
func (Subnets) ToMap ¶
func (s Subnets) ToMap() map[string]*SubnetSpec
ToMap returns a map from id to subnet.
type VPCSpec ¶
type VPCSpec struct { // ID is the vpc-id of the VPC this provider should use to create resources. ID string `json:"id,omitempty"` // CidrBlock is the CIDR block to be used when the provider creates a managed VPC. // Defaults to 10.0.0.0/16. CidrBlock string `json:"cidrBlock,omitempty"` // InternetGatewayID is the id of the internet gateway associated with the VPC. // +optional InternetGatewayID *string `json:"internetGatewayId,omitempty"` // Tags is a collection of tags describing the resource. Tags tags.Map `json:"tags,omitempty"` }
VPCSpec configures an AWS VPC.
func (*VPCSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCSpec.
func (*VPCSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VPCSpec) IsProvided ¶
IsProvided returns true if the VPC is unmanaged.