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.