v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2019 License: Apache-2.0 Imports: 12 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
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}
)
View Source
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")
)
View Source
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")
)
View Source
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")
)
View Source
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")
)
View Source
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

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

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

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

func (*AWSMachineProviderCondition) DeepCopyInto

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

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

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

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

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

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

func (in *Filter) DeepCopy() *Filter

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

func (*Filter) DeepCopyInto

func (in *Filter) DeepCopyInto(out *Filter)

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

func (in *Instance) DeepCopy() *Instance

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

func (*Instance) DeepCopyInto

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

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

func (in *KeyPair) DeepCopy() *KeyPair

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

func (*KeyPair) DeepCopyInto

func (in *KeyPair) DeepCopyInto(out *KeyPair)

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

func (*KeyPair) HasCertAndKey

func (kp *KeyPair) HasCertAndKey() bool

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

func (in *Network) DeepCopy() *Network

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

func (*Network) DeepCopyInto

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

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

func (in Subnets) DeepCopy() Subnets

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

func (Subnets) DeepCopyInto

func (in Subnets) DeepCopyInto(out *Subnets)

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

func (Subnets) FilterPrivate

func (s Subnets) FilterPrivate() (res Subnets)

FilterPrivate returns a slice containing all subnets marked as private.

func (Subnets) FilterPublic

func (s Subnets) FilterPublic() (res Subnets)

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

func (in *VPCSpec) DeepCopy() *VPCSpec

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

func (*VPCSpec) DeepCopyInto

func (in *VPCSpec) DeepCopyInto(out *VPCSpec)

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

func (*VPCSpec) IsProvided

func (v *VPCSpec) IsProvided() bool

IsProvided returns true if the VPC is unmanaged.

func (*VPCSpec) String

func (v *VPCSpec) String() string

String returns a string representation of the VPC.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL