Documentation ¶
Overview ¶
Package aws contains API Schema definitions for AWS clusters. +k8s:deepcopy-gen=package
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AssumeRole ¶
type AssumeRole struct { RoleARN string `json:"roleARN"` // ExternalID is random string generated by platform so that assume role // is protected from confused deputy problem. // more info: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html // +optional ExternalID string `json:"externalID,omitempty"` }
AssumeRole stores information for the IAM role that needs to be assumed using an existing AWS session.
func (*AssumeRole) DeepCopy ¶
func (in *AssumeRole) DeepCopy() *AssumeRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssumeRole.
func (*AssumeRole) DeepCopyInto ¶
func (in *AssumeRole) DeepCopyInto(out *AssumeRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EC2Metadata ¶
type EC2Metadata struct { // Authentication determines whether or not the host requires the use of authentication when interacting with the metadata service. // When using authentication, this enforces v2 interaction method (IMDSv2) with the metadata service. // When omitted, this means the user has no opinion and the value is left to the platform to choose a good // default, which is subject to change over time. The current default is optional. // At this point this field represents `HttpTokens` parameter from `InstanceMetadataOptionsRequest` structure in AWS EC2 API // https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceMetadataOptionsRequest.html // +optional Authentication string `json:"authentication,omitempty"` }
EC2Metadata defines the metadata service interaction options for an ec2 instance. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html
func (*EC2Metadata) DeepCopy ¶
func (in *EC2Metadata) DeepCopy() *EC2Metadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EC2Metadata.
func (*EC2Metadata) DeepCopyInto ¶
func (in *EC2Metadata) DeepCopyInto(out *EC2Metadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EC2RootVolume ¶
type EC2RootVolume struct { // IOPS defines the iops for the storage. // +optional IOPS int `json:"iops,omitempty"` // Size defines the size of the storage. Size int `json:"size"` // Type defines the type of the storage. Type string `json:"type"` // The KMS key that will be used to encrypt the EBS volume. // If no key is provided the default KMS key for the account will be used. // https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetEbsDefaultKmsKeyId.html // +optional KMSKeyARN string `json:"kmsKeyARN,omitempty"` }
EC2RootVolume defines the storage for an ec2 instance.
func (*EC2RootVolume) DeepCopy ¶
func (in *EC2RootVolume) DeepCopy() *EC2RootVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EC2RootVolume.
func (*EC2RootVolume) DeepCopyInto ¶
func (in *EC2RootVolume) DeepCopyInto(out *EC2RootVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachinePoolPlatform ¶
type MachinePoolPlatform struct { // Zones is list of availability zones that can be used. Zones []string `json:"zones,omitempty"` // Subnets is the list of IDs of subnets to which to attach the machines. // There must be exactly one subnet for each availability zone used. // These subnets may be public or private. // As a special case, for consistency with install-config, you may specify exactly one // private and one public subnet for each availability zone. In this case, the public // subnets will be filtered out and only the private subnets will be used. // If empty/omitted, we will look for subnets in each availability zone tagged with // Name=<clusterID>-private-<az> (legacy terraform) or <clusterID>-subnet-private-<az> // (CAPA). Subnets []string `json:"subnets,omitempty"` // InstanceType defines the ec2 instance type. // eg. m4-large InstanceType string `json:"type"` // EC2RootVolume defines the storage for ec2 instance. EC2RootVolume `json:"rootVolume"` // SpotMarketOptions allows users to configure instances to be run using AWS Spot instances. // +optional SpotMarketOptions *SpotMarketOptions `json:"spotMarketOptions,omitempty"` // EC2MetadataOptions defines metadata service interaction options for EC2 instances in the machine pool. // +optional EC2Metadata *EC2Metadata `json:"metadataService,omitempty"` // AdditionalSecurityGroupIDs contains IDs of additional security groups for machines, where each ID // is presented in the format sg-xxxx. // // +optional AdditionalSecurityGroupIDs []string `json:"additionalSecurityGroupIDs,omitempty"` // UserTags contains the user defined tags to be supplied for the ec2 instance. // Note that these will be merged with ClusterDeployment.Spec.Platform.AWS.UserTags, with // this field taking precedence when keys collide. // +optional UserTags map[string]string `json:"userTags,omitempty"` }
MachinePoolPlatform stores the configuration for a machine pool installed on AWS.
func (*MachinePoolPlatform) DeepCopy ¶
func (in *MachinePoolPlatform) DeepCopy() *MachinePoolPlatform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolPlatform.
func (*MachinePoolPlatform) DeepCopyInto ¶
func (in *MachinePoolPlatform) DeepCopyInto(out *MachinePoolPlatform)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metadata ¶
type Metadata struct { // HostedZoneRole is the role to assume when performing operations // on a hosted zone owned by another account. HostedZoneRole *string `json:"hostedZoneRole,omitempty"` }
Metadata contains AWS metadata (e.g. for uninstalling the cluster).
func (*Metadata) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (*Metadata) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Platform ¶
type Platform struct { // CredentialsSecretRef refers to a secret that contains the AWS account access // credentials. // +optional CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef,omitempty"` // CredentialsAssumeRole refers to the IAM role that must be assumed to obtain // AWS account access for the cluster operations. // +optional CredentialsAssumeRole *AssumeRole `json:"credentialsAssumeRole,omitempty"` // Region specifies the AWS region where the cluster will be created. Region string `json:"region"` // UserTags specifies additional tags for AWS resources created for the cluster. // +optional UserTags map[string]string `json:"userTags,omitempty"` // PrivateLink allows uses to enable access to the cluster's API server using AWS // PrivateLink. AWS PrivateLink includes a pair of VPC Endpoint Service and VPC // Endpoint accross AWS accounts and allows clients to connect to services using AWS's // internal networking instead of the Internet. PrivateLink *PrivateLinkAccess `json:"privateLink,omitempty"` }
Platform stores all the global configuration that all machinesets use.
func (*Platform) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Platform.
func (*Platform) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlatformStatus ¶
type PlatformStatus struct {
PrivateLink *PrivateLinkAccessStatus `json:"privateLink,omitempty"`
}
PlatformStatus contains the observed state on AWS platform.
func (*PlatformStatus) DeepCopy ¶
func (in *PlatformStatus) DeepCopy() *PlatformStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformStatus.
func (*PlatformStatus) DeepCopyInto ¶
func (in *PlatformStatus) DeepCopyInto(out *PlatformStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrivateLinkAccess ¶
type PrivateLinkAccess struct { Enabled bool `json:"enabled"` // AdditionalAllowedPrincipals is a list of additional allowed principal ARNs to be configured // for the Private Link cluster's VPC Endpoint Service. // ARNs provided as AdditionalAllowedPrincipals will be configured for the cluster's VPC Endpoint // Service in addition to the IAM entity used by Hive. // +optional AdditionalAllowedPrincipals *[]string `json:"additionalAllowedPrincipals,omitempty"` }
PrivateLinkAccess configures access to the cluster API using AWS PrivateLink
func (*PrivateLinkAccess) DeepCopy ¶
func (in *PrivateLinkAccess) DeepCopy() *PrivateLinkAccess
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateLinkAccess.
func (*PrivateLinkAccess) DeepCopyInto ¶
func (in *PrivateLinkAccess) DeepCopyInto(out *PrivateLinkAccess)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrivateLinkAccessStatus ¶
type PrivateLinkAccessStatus struct { // +optional VPCEndpointService VPCEndpointService `json:"vpcEndpointService,omitempty"` // +optional VPCEndpointID string `json:"vpcEndpointID,omitempty"` // +optional HostedZoneID string `json:"hostedZoneID,omitempty"` }
PrivateLinkAccessStatus contains the observed state for PrivateLinkAccess resources.
func (*PrivateLinkAccessStatus) DeepCopy ¶
func (in *PrivateLinkAccessStatus) DeepCopy() *PrivateLinkAccessStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateLinkAccessStatus.
func (*PrivateLinkAccessStatus) DeepCopyInto ¶
func (in *PrivateLinkAccessStatus) DeepCopyInto(out *PrivateLinkAccessStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SpotMarketOptions ¶
type SpotMarketOptions struct { // The maximum price the user is willing to pay for their instances // Default: On-Demand price // +optional MaxPrice *string `json:"maxPrice,omitempty"` }
SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.
func (*SpotMarketOptions) DeepCopy ¶
func (in *SpotMarketOptions) DeepCopy() *SpotMarketOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotMarketOptions.
func (*SpotMarketOptions) DeepCopyInto ¶
func (in *SpotMarketOptions) DeepCopyInto(out *SpotMarketOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCEndpointService ¶
type VPCEndpointService struct { Name string `json:"name,omitempty"` ID string `json:"id,omitempty"` // DefaultAllowedPrincipal is the ARN of the IAM entity used by Hive as configured for the Private // Link cluster's VPC Endpoint Service. // +optional DefaultAllowedPrincipal *string `json:"defaultAllowedPrincipal,omitempty"` // AdditionalAllowedPrincipals is a list of additional allowed principal ARNs that have been configured // for the Private Link cluster's VPC Endpoint Service. This list in Status is used to determine if a sync // of Allowed Principals is needed outside of the regular reconcile period of 2hrs. // +optional AdditionalAllowedPrincipals *[]string `json:"additionalAllowedPrincipals,omitempty"` }
func (*VPCEndpointService) DeepCopy ¶
func (in *VPCEndpointService) DeepCopy() *VPCEndpointService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCEndpointService.
func (*VPCEndpointService) DeepCopyInto ¶
func (in *VPCEndpointService) DeepCopyInto(out *VPCEndpointService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.