aws

package module
v0.0.0-...-0a089c3 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// PurposeNodes is a constant describing that the respective resource is used for nodes.
	PurposeNodes string = "nodes"
	// PurposePublic is a constant describing that the respective resource is used for public load balancers.
	PurposePublic string = "public"
	// PurposeInternal is a constant describing that the respective resource is used for internal load balancers.
	PurposeInternal string = "internal"
)
View Source
const GroupName = "aws.provider.extensions.gardener.cloud"

GroupName is the group name use in this package

Variables

View Source
var (
	// SchemeBuilder used to register the Shoot resource.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a pointer to SchemeBuilder.AddToScheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type CloudControllerManagerConfig

type CloudControllerManagerConfig struct {
	// FeatureGates contains information about enabled feature gates.
	FeatureGates map[string]bool
}

CloudControllerManagerConfig contains configuration settings for the cloud-controller-manager.

func (*CloudControllerManagerConfig) DeepCopy

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

func (*CloudControllerManagerConfig) DeepCopyInto

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

type CloudProfileConfig

type CloudProfileConfig struct {
	metav1.TypeMeta
	// MachineImages is the list of machine images that are understood by the controller. It maps
	// logical names and versions to provider-specific identifiers.
	MachineImages []MachineImages
}

CloudProfileConfig contains provider-specific configuration that is embedded into Gardener's `CloudProfile` resource.

func (*CloudProfileConfig) DeepCopy

func (in *CloudProfileConfig) DeepCopy() *CloudProfileConfig

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

func (*CloudProfileConfig) DeepCopyInto

func (in *CloudProfileConfig) DeepCopyInto(out *CloudProfileConfig)

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

func (*CloudProfileConfig) DeepCopyObject

func (in *CloudProfileConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControlPlaneConfig

type ControlPlaneConfig struct {
	metav1.TypeMeta

	// CloudControllerManager contains configuration settings for the cloud-controller-manager.
	CloudControllerManager *CloudControllerManagerConfig

	// Storage contains configuration for storage in the cluster.
	Storage *Storage
}

ControlPlaneConfig contains configuration settings for the control plane.

func (*ControlPlaneConfig) DeepCopy

func (in *ControlPlaneConfig) DeepCopy() *ControlPlaneConfig

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

func (*ControlPlaneConfig) DeepCopyInto

func (in *ControlPlaneConfig) DeepCopyInto(out *ControlPlaneConfig)

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

func (*ControlPlaneConfig) DeepCopyObject

func (in *ControlPlaneConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DataVolume

type DataVolume struct {
	// Name is the name of the data volume this configuration applies to.
	Name string
	// Volume contains configuration for the volume.
	Volume
	// SnapshotID is the ID of the snapshot.
	SnapshotID *string
}

DataVolume contains configuration for data volumes attached to VMs.

func (*DataVolume) DeepCopy

func (in *DataVolume) DeepCopy() *DataVolume

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

func (*DataVolume) DeepCopyInto

func (in *DataVolume) DeepCopyInto(out *DataVolume)

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

type EC2

type EC2 struct {
	// KeyName is the name of the SSH key.
	KeyName string
}

EC2 contains information about the AWS EC2 resources.

func (*EC2) DeepCopy

func (in *EC2) DeepCopy() *EC2

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

func (*EC2) DeepCopyInto

func (in *EC2) DeepCopyInto(out *EC2)

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

type IAM

type IAM struct {
	// InstanceProfiles is a list of AWS IAM instance profiles.
	InstanceProfiles []InstanceProfile
	// Roles is a list of AWS IAM roles.
	Roles []Role
}

IAM contains information about the AWS IAM resources.

func (*IAM) DeepCopy

func (in *IAM) DeepCopy() *IAM

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

func (*IAM) DeepCopyInto

func (in *IAM) DeepCopyInto(out *IAM)

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

type IAMInstanceProfile

type IAMInstanceProfile struct {
	// Name is the name of the instance profile.
	Name *string
	// ARN is the ARN of the instance profile.
	ARN *string
}

IAMInstanceProfile contains configuration for the IAM instance profile that should be used for the VMs of this worker pool. Either 'Name" or 'ARN' must be specified.

func (*IAMInstanceProfile) DeepCopy

func (in *IAMInstanceProfile) DeepCopy() *IAMInstanceProfile

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

func (*IAMInstanceProfile) DeepCopyInto

func (in *IAMInstanceProfile) DeepCopyInto(out *IAMInstanceProfile)

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

type IgnoreTags

type IgnoreTags struct {
	// Keys is a list of individual tag keys, that should be ignored during infrastructure reconciliation.
	Keys []string
	// KeyPrefixes is a list of tag key prefixes, that should be ignored during infrastructure reconciliation.
	KeyPrefixes []string
}

IgnoreTags holds information about ignored resource tags.

func (*IgnoreTags) DeepCopy

func (in *IgnoreTags) DeepCopy() *IgnoreTags

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

func (*IgnoreTags) DeepCopyInto

func (in *IgnoreTags) DeepCopyInto(out *IgnoreTags)

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

type InfrastructureConfig

type InfrastructureConfig struct {
	metav1.TypeMeta

	// EnableECRAccess specifies whether the IAM role policy for the worker nodes shall contain
	// permissions to access the ECR.
	// default: true
	EnableECRAccess *bool

	// Networks is the AWS specific network configuration (VPC, subnets, etc.)
	Networks Networks

	// IgnoreTags allows to configure which resource tags on resources managed by Gardener should be ignored during
	// infrastructure reconciliation. By default, all tags that are added outside of Gardener's / terraform's
	// reconciliation will be removed during the next reconciliation. This field allows users and automation to add
	// custom tags on resources created and managed by Gardener without loosing them on the next reconciliation.
	// See https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/resource-tagging#ignoring-changes-in-all-resources
	// for details of the underlying terraform implementation.
	IgnoreTags *IgnoreTags
}

InfrastructureConfig infrastructure configuration resource

func (*InfrastructureConfig) DeepCopy

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

func (*InfrastructureConfig) DeepCopyInto

func (in *InfrastructureConfig) DeepCopyInto(out *InfrastructureConfig)

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

func (*InfrastructureConfig) DeepCopyObject

func (in *InfrastructureConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InfrastructureStatus

type InfrastructureStatus struct {
	metav1.TypeMeta

	// EC2 contains information about the created AWS EC2 resources.
	EC2 EC2
	// IAM contains information about the created AWS IAM resources.
	IAM IAM
	// VPC contains information about the created AWS VPC and some related resources.
	VPC VPCStatus
}

InfrastructureStatus contains information about created infrastructure resources.

func (*InfrastructureStatus) DeepCopy

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

func (*InfrastructureStatus) DeepCopyInto

func (in *InfrastructureStatus) DeepCopyInto(out *InfrastructureStatus)

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

func (*InfrastructureStatus) DeepCopyObject

func (in *InfrastructureStatus) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InstanceProfile

type InstanceProfile struct {
	// Purpose is a logical description of the instance profile.
	Purpose string
	// Name is the name for this instance profile.
	Name string
}

InstanceProfile is an AWS IAM instance profile.

func (*InstanceProfile) DeepCopy

func (in *InstanceProfile) DeepCopy() *InstanceProfile

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

func (*InstanceProfile) DeepCopyInto

func (in *InstanceProfile) DeepCopyInto(out *InstanceProfile)

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

type MachineImage

type MachineImage struct {
	// Name is the logical name of the machine image.
	Name string
	// Version is the logical version of the machine image.
	Version string
	// AMI is the AMI for the machine image.
	AMI string
}

MachineImage is a mapping from logical names and versions to provider-specific machine image data.

func (*MachineImage) DeepCopy

func (in *MachineImage) DeepCopy() *MachineImage

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

func (*MachineImage) DeepCopyInto

func (in *MachineImage) DeepCopyInto(out *MachineImage)

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

type MachineImageVersion

type MachineImageVersion struct {
	// Version is the version of the image.
	Version string
	// Regions is a mapping to the correct AMI for the machine image in the supported regions.
	Regions []RegionAMIMapping
}

MachineImageVersion contains a version and a provider-specific identifier.

func (*MachineImageVersion) DeepCopy

func (in *MachineImageVersion) DeepCopy() *MachineImageVersion

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

func (*MachineImageVersion) DeepCopyInto

func (in *MachineImageVersion) DeepCopyInto(out *MachineImageVersion)

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

type MachineImages

type MachineImages struct {
	// Name is the logical name of the machine image.
	Name string
	// Versions contains versions and a provider-specific identifier.
	Versions []MachineImageVersion
}

MachineImages is a mapping from logical names and versions to provider-specific identifiers.

func (*MachineImages) DeepCopy

func (in *MachineImages) DeepCopy() *MachineImages

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

func (*MachineImages) DeepCopyInto

func (in *MachineImages) DeepCopyInto(out *MachineImages)

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

type Networks

type Networks struct {
	// VPC indicates whether to use an existing VPC or create a new one.
	VPC VPC
	// Zones belonging to the same region
	Zones []Zone
}

Networks holds information about the Kubernetes and infrastructure networks.

func (*Networks) DeepCopy

func (in *Networks) DeepCopy() *Networks

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

func (*Networks) DeepCopyInto

func (in *Networks) DeepCopyInto(out *Networks)

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

type RegionAMIMapping

type RegionAMIMapping struct {
	// Name is the name of the region.
	Name string
	// AMI is the AMI for the machine image.
	AMI string
}

RegionAMIMapping is a mapping to the correct AMI for the machine image in the given region.

func (*RegionAMIMapping) DeepCopy

func (in *RegionAMIMapping) DeepCopy() *RegionAMIMapping

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

func (*RegionAMIMapping) DeepCopyInto

func (in *RegionAMIMapping) DeepCopyInto(out *RegionAMIMapping)

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

type Role

type Role struct {
	// Purpose is a logical description of the role.
	Purpose string
	// ARN is the AWS Resource Name for this role.
	ARN string
}

Role is an AWS IAM role.

func (*Role) DeepCopy

func (in *Role) DeepCopy() *Role

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

func (*Role) DeepCopyInto

func (in *Role) DeepCopyInto(out *Role)

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

type SecurityGroup

type SecurityGroup struct {
	// Purpose is a logical description of the security group.
	Purpose string
	// ID is the subnet id.
	ID string
}

SecurityGroup is an AWS security group related to a VPC.

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.

type Storage

type Storage struct {
	// ManagedDefaultClass controls if the 'default' StorageClass and 'default' VolumeSnapshotClass
	// would be marked as default. Set to false to manually set the default to another class not
	// managed by Gardener.
	// Defaults to true.
	ManagedDefaultClass *bool
}

Storage contains configuration for storage in the cluster.

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

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

type Subnet

type Subnet struct {
	// Purpose is a logical description of the subnet.
	Purpose string
	// ID is the subnet id.
	ID string
	// Zone is the availability zone into which the subnet has been created.
	Zone string
}

Subnet is an AWS subnet related to a VPC.

func (*Subnet) DeepCopy

func (in *Subnet) DeepCopy() *Subnet

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

func (*Subnet) DeepCopyInto

func (in *Subnet) DeepCopyInto(out *Subnet)

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

type VPC

type VPC struct {
	// ID is the VPC id.
	ID *string
	// CIDR is the VPC CIDR.
	CIDR *string
	// GatewayEndpoints service names to configure as gateway endpoints in the VPC.
	GatewayEndpoints []string
}

VPC contains information about the AWS VPC and some related resources.

func (*VPC) DeepCopy

func (in *VPC) DeepCopy() *VPC

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

func (*VPC) DeepCopyInto

func (in *VPC) DeepCopyInto(out *VPC)

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

type VPCStatus

type VPCStatus struct {
	// ID is the VPC id.
	ID string
	// Subnets is a list of subnets that have been created.
	Subnets []Subnet
	// SecurityGroups is a list of security groups that have been created.
	SecurityGroups []SecurityGroup
}

VPCStatus contains information about a generated VPC or resources inside an existing VPC.

func (*VPCStatus) DeepCopy

func (in *VPCStatus) DeepCopy() *VPCStatus

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

func (*VPCStatus) DeepCopyInto

func (in *VPCStatus) DeepCopyInto(out *VPCStatus)

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

type Volume

type Volume struct {
	// IOPS is the number of I/O operations per second (IOPS) that the volume supports.
	// For io1 volume type, this represents the number of IOPS that are provisioned for the
	// volume. For gp2 volume type, this represents the baseline performance of the volume and
	// the rate at which the volume accumulates I/O credits for bursting. For more
	// information about General Purpose SSD baseline performance, I/O credits,
	// and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
	// in the Amazon Elastic Compute Cloud User Guide.
	//
	// Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
	// gp2 volumes.
	//
	// Condition: This parameter is required for requests to create io1 volumes;
	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
	IOPS *int64
}

Volume contains configuration for the root disks attached to VMs.

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

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

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

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

type VolumeType

type VolumeType string

VolumeType is a constant for volume types.

const (
	// VolumeTypeIO1 is a constant for the io1 volume type.
	VolumeTypeIO1 VolumeType = "io1"
	// VolumeTypeGP2 is a constant for the gp2 volume type.
	VolumeTypeGP2 VolumeType = "gp2"
)

type WorkerConfig

type WorkerConfig struct {
	metav1.TypeMeta
	// NodeTemplate contains resource information of the machine which is used by Cluster Autoscaler to generate nodeTemplate during scaling a nodeGroup from zero.
	NodeTemplate *extensionsv1alpha1.NodeTemplate
	// Volume contains configuration for the root disks attached to VMs.
	Volume *Volume
	// DataVolumes contains configuration for the additional disks attached to VMs.
	DataVolumes []DataVolume
	// IAMInstanceProfile contains configuration for the IAM instance profile that should be used for the VMs of this
	// worker pool.
	IAMInstanceProfile *IAMInstanceProfile
}

WorkerConfig contains configuration settings for the worker nodes.

func (*WorkerConfig) DeepCopy

func (in *WorkerConfig) DeepCopy() *WorkerConfig

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

func (*WorkerConfig) DeepCopyInto

func (in *WorkerConfig) DeepCopyInto(out *WorkerConfig)

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

func (*WorkerConfig) DeepCopyObject

func (in *WorkerConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type WorkerStatus

type WorkerStatus struct {
	metav1.TypeMeta

	// MachineImages is a list of machine images that have been used in this worker. Usually, the extension controller
	// gets the mapping from name/version to the provider-specific machine image data in its componentconfig. However, if
	// a version that is still in use gets removed from this componentconfig it cannot reconcile anymore existing `Worker`
	// resources that are still using this version. Hence, it stores the used versions in the provider status to ensure
	// reconciliation is possible.
	MachineImages []MachineImage
}

WorkerStatus contains information about created worker resources.

func (*WorkerStatus) DeepCopy

func (in *WorkerStatus) DeepCopy() *WorkerStatus

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

func (*WorkerStatus) DeepCopyInto

func (in *WorkerStatus) DeepCopyInto(out *WorkerStatus)

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

func (*WorkerStatus) DeepCopyObject

func (in *WorkerStatus) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type Zone

type Zone struct {
	// Name is the name for this zone.
	Name string
	// Internal is the private subnet range to create (used for internal load balancers).
	Internal string
	// Public is the public subnet range to create (used for bastion and load balancers).
	Public string
	// Workers is the workers subnet range to create (used for the VMs).
	Workers string
	// ElasticIPAllocationID contains the allocation ID of an Elastic IP that will be attached to the NAT gateway in
	// this zone (e.g., `eipalloc-123456`). If it's not provided then a new Elastic IP will be automatically created
	// and attached.
	// Important: If this field is changed then the already attached Elastic IP will be disassociated from the NAT gateway
	// (and potentially removed if it was created by this extension). Also, the NAT gateway will be deleted. This will
	// disrupt egress traffic for a while.
	ElasticIPAllocationID *string
}

Zone describes the properties of a zone.

func (*Zone) DeepCopy

func (in *Zone) DeepCopy() *Zone

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

func (*Zone) DeepCopyInto

func (in *Zone) DeepCopyInto(out *Zone)

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

Jump to

Keyboard shortcuts

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