v1beta3

package
v1.15.0-rc.0 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=autoscaling.aws.upbound.io +versionName=v1beta3

Index

Constants

View Source
const (
	CRDGroup   = "autoscaling.aws.upbound.io"
	CRDVersion = "v1beta3"
)

Package type metadata.

Variables

View Source
var (
	AutoscalingGroup_Kind             = "AutoscalingGroup"
	AutoscalingGroup_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: AutoscalingGroup_Kind}.String()
	AutoscalingGroup_KindAPIVersion   = AutoscalingGroup_Kind + "." + CRDGroupVersion.String()
	AutoscalingGroup_GroupVersionKind = CRDGroupVersion.WithKind(AutoscalingGroup_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AcceleratorCountInitParameters

type AcceleratorCountInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorCountInitParameters) DeepCopy

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

func (*AcceleratorCountInitParameters) DeepCopyInto

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

type AcceleratorCountObservation

type AcceleratorCountObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorCountObservation) DeepCopy

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

func (*AcceleratorCountObservation) DeepCopyInto

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

type AcceleratorCountParameters

type AcceleratorCountParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorCountParameters) DeepCopy

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

func (*AcceleratorCountParameters) DeepCopyInto

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

type AcceleratorTotalMemoryMibInitParameters

type AcceleratorTotalMemoryMibInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorTotalMemoryMibInitParameters) DeepCopy

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

func (*AcceleratorTotalMemoryMibInitParameters) DeepCopyInto

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

type AcceleratorTotalMemoryMibObservation

type AcceleratorTotalMemoryMibObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorTotalMemoryMibObservation) DeepCopy

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

func (*AcceleratorTotalMemoryMibObservation) DeepCopyInto

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

type AcceleratorTotalMemoryMibParameters

type AcceleratorTotalMemoryMibParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*AcceleratorTotalMemoryMibParameters) DeepCopy

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

func (*AcceleratorTotalMemoryMibParameters) DeepCopyInto

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

type AlarmSpecificationInitParameters

type AlarmSpecificationInitParameters struct {

	// List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed.
	Alarms []*string `json:"alarms,omitempty" tf:"alarms,omitempty"`
}

func (*AlarmSpecificationInitParameters) DeepCopy

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

func (*AlarmSpecificationInitParameters) DeepCopyInto

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

type AlarmSpecificationObservation

type AlarmSpecificationObservation struct {

	// List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed.
	Alarms []*string `json:"alarms,omitempty" tf:"alarms,omitempty"`
}

func (*AlarmSpecificationObservation) DeepCopy

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

func (*AlarmSpecificationObservation) DeepCopyInto

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

type AlarmSpecificationParameters

type AlarmSpecificationParameters struct {

	// List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed.
	// +kubebuilder:validation:Optional
	Alarms []*string `json:"alarms,omitempty" tf:"alarms,omitempty"`
}

func (*AlarmSpecificationParameters) DeepCopy

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

func (*AlarmSpecificationParameters) DeepCopyInto

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

type AutoscalingGroup

type AutoscalingGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.maxSize) || (has(self.initProvider) && has(self.initProvider.maxSize))",message="spec.forProvider.maxSize is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.minSize) || (has(self.initProvider) && has(self.initProvider.minSize))",message="spec.forProvider.minSize is a required parameter"
	Spec   AutoscalingGroupSpec   `json:"spec"`
	Status AutoscalingGroupStatus `json:"status,omitempty"`
}

AutoscalingGroup is the Schema for the AutoscalingGroups API. Provides an Auto Scaling Group resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*AutoscalingGroup) DeepCopy

func (in *AutoscalingGroup) DeepCopy() *AutoscalingGroup

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

func (*AutoscalingGroup) DeepCopyInto

func (in *AutoscalingGroup) DeepCopyInto(out *AutoscalingGroup)

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

func (*AutoscalingGroup) DeepCopyObject

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

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

func (*AutoscalingGroup) GetCondition

func (mg *AutoscalingGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this AutoscalingGroup.

func (*AutoscalingGroup) GetConnectionDetailsMapping

func (tr *AutoscalingGroup) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this AutoscalingGroup

func (*AutoscalingGroup) GetDeletionPolicy

func (mg *AutoscalingGroup) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this AutoscalingGroup.

func (*AutoscalingGroup) GetID

func (tr *AutoscalingGroup) GetID() string

GetID returns ID of underlying Terraform resource of this AutoscalingGroup

func (*AutoscalingGroup) GetInitParameters

func (tr *AutoscalingGroup) GetInitParameters() (map[string]any, error)

GetInitParameters of this AutoscalingGroup

func (*AutoscalingGroup) GetManagementPolicies

func (mg *AutoscalingGroup) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this AutoscalingGroup.

func (*AutoscalingGroup) GetMergedParameters

func (tr *AutoscalingGroup) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this AutoscalingGroup

func (*AutoscalingGroup) GetObservation

func (tr *AutoscalingGroup) GetObservation() (map[string]any, error)

GetObservation of this AutoscalingGroup

func (*AutoscalingGroup) GetParameters

func (tr *AutoscalingGroup) GetParameters() (map[string]any, error)

GetParameters of this AutoscalingGroup

func (*AutoscalingGroup) GetProviderConfigReference

func (mg *AutoscalingGroup) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this AutoscalingGroup.

func (*AutoscalingGroup) GetPublishConnectionDetailsTo

func (mg *AutoscalingGroup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this AutoscalingGroup.

func (*AutoscalingGroup) GetTerraformResourceType

func (mg *AutoscalingGroup) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this AutoscalingGroup

func (*AutoscalingGroup) GetTerraformSchemaVersion

func (tr *AutoscalingGroup) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*AutoscalingGroup) GetWriteConnectionSecretToReference

func (mg *AutoscalingGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this AutoscalingGroup.

func (*AutoscalingGroup) Hub

func (tr *AutoscalingGroup) Hub()

Hub marks this type as a conversion hub.

func (*AutoscalingGroup) LateInitialize

func (tr *AutoscalingGroup) LateInitialize(attrs []byte) (bool, error)

LateInitialize this AutoscalingGroup using its observed tfState. returns True if there are any spec changes for the resource.

func (*AutoscalingGroup) ResolveReferences

func (mg *AutoscalingGroup) ResolveReferences(
	ctx context.Context, c client.Reader) error

func (*AutoscalingGroup) SetConditions

func (mg *AutoscalingGroup) SetConditions(c ...xpv1.Condition)

SetConditions of this AutoscalingGroup.

func (*AutoscalingGroup) SetDeletionPolicy

func (mg *AutoscalingGroup) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this AutoscalingGroup.

func (*AutoscalingGroup) SetManagementPolicies

func (mg *AutoscalingGroup) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this AutoscalingGroup.

func (*AutoscalingGroup) SetObservation

func (tr *AutoscalingGroup) SetObservation(obs map[string]any) error

SetObservation for this AutoscalingGroup

func (*AutoscalingGroup) SetParameters

func (tr *AutoscalingGroup) SetParameters(params map[string]any) error

SetParameters for this AutoscalingGroup

func (*AutoscalingGroup) SetProviderConfigReference

func (mg *AutoscalingGroup) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this AutoscalingGroup.

func (*AutoscalingGroup) SetPublishConnectionDetailsTo

func (mg *AutoscalingGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this AutoscalingGroup.

func (*AutoscalingGroup) SetWriteConnectionSecretToReference

func (mg *AutoscalingGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this AutoscalingGroup.

type AutoscalingGroupInitParameters

type AutoscalingGroupInitParameters struct {

	// A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the vpc_zone_identifier attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts with vpc_zone_identifier.
	// +listType=set
	AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"`

	// Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
	CapacityRebalance *bool `json:"capacityRebalance,omitempty" tf:"capacity_rebalance,omitempty"`

	// Reserved.
	Context *string `json:"context,omitempty" tf:"context,omitempty"`

	// Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
	DefaultCooldown *float64 `json:"defaultCooldown,omitempty" tf:"default_cooldown,omitempty"`

	// Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
	DefaultInstanceWarmup *float64 `json:"defaultInstanceWarmup,omitempty" tf:"default_instance_warmup,omitempty"`

	// Number of Amazon EC2 instances that
	// should be running in the group. (See also Waiting for
	// Capacity below.)
	DesiredCapacity *float64 `json:"desiredCapacity,omitempty" tf:"desired_capacity,omitempty"`

	// The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values: "units", "vcpu", "memory-mib".
	DesiredCapacityType *string `json:"desiredCapacityType,omitempty" tf:"desired_capacity_type,omitempty"`

	// List of metrics to collect. The allowed values are defined by the underlying AWS API.
	// +listType=set
	EnabledMetrics []*string `json:"enabledMetrics,omitempty" tf:"enabled_metrics,omitempty"`

	// Allows deleting the Auto Scaling Group without waiting
	// for all instances in the pool to terminate. You can force an Auto Scaling Group to delete
	// even if it's in the process of scaling a resource. This bypasses that
	// behavior and potentially leaves resources dangling.
	ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"`

	// Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
	ForceDeleteWarmPool *bool `json:"forceDeleteWarmPool,omitempty" tf:"force_delete_warm_pool,omitempty"`

	// Time (in seconds) after instance comes into service before checking health.
	HealthCheckGracePeriod *float64 `json:"healthCheckGracePeriod,omitempty" tf:"health_check_grace_period,omitempty"`

	// "EC2" or "ELB". Controls how health checking is done.
	HealthCheckType *string `json:"healthCheckType,omitempty" tf:"health_check_type,omitempty"`

	// Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false -- failed scaling activities cause errors to be returned.
	IgnoreFailedScalingActivities *bool `json:"ignoreFailedScalingActivities,omitempty" tf:"ignore_failed_scaling_activities,omitempty"`

	// One or more
	// Lifecycle Hooks
	// to attach to the Auto Scaling Group before instances are launched. The
	// syntax is exactly the same as the separate
	// aws_autoscaling_lifecycle_hook
	// resource, without the autoscaling_group_name attribute. Please note that this will only work when creating
	// a new Auto Scaling Group. For all other use-cases, please use aws_autoscaling_lifecycle_hook resource.
	InitialLifecycleHook []InitialLifecycleHookInitParameters `json:"initialLifecycleHook,omitempty" tf:"initial_lifecycle_hook,omitempty"`

	// If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
	InstanceMaintenancePolicy *InstanceMaintenancePolicyInitParameters `json:"instanceMaintenancePolicy,omitempty" tf:"instance_maintenance_policy,omitempty"`

	// If this block is configured, start an
	// Instance Refresh
	// when this Auto Scaling Group is updated. Defined below.
	InstanceRefresh *InstanceRefreshInitParameters `json:"instanceRefresh,omitempty" tf:"instance_refresh,omitempty"`

	// Name of the launch configuration to use.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/autoscaling/v1beta2.LaunchConfiguration
	LaunchConfiguration *string `json:"launchConfiguration,omitempty" tf:"launch_configuration,omitempty"`

	// Reference to a LaunchConfiguration in autoscaling to populate launchConfiguration.
	// +kubebuilder:validation:Optional
	LaunchConfigurationRef *v1.Reference `json:"launchConfigurationRef,omitempty" tf:"-"`

	// Selector for a LaunchConfiguration in autoscaling to populate launchConfiguration.
	// +kubebuilder:validation:Optional
	LaunchConfigurationSelector *v1.Selector `json:"launchConfigurationSelector,omitempty" tf:"-"`

	// Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
	LaunchTemplate *LaunchTemplateInitParameters `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"`

	// Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
	MaxInstanceLifetime *float64 `json:"maxInstanceLifetime,omitempty" tf:"max_instance_lifetime,omitempty"`

	// Maximum size of the Auto Scaling Group.
	MaxSize *float64 `json:"maxSize,omitempty" tf:"max_size,omitempty"`

	// Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is 1Minute.
	MetricsGranularity *string `json:"metricsGranularity,omitempty" tf:"metrics_granularity,omitempty"`

	// Updates will not wait on ELB instance number changes.
	// (See also Waiting for Capacity below.)
	MinELBCapacity *float64 `json:"minElbCapacity,omitempty" tf:"min_elb_capacity,omitempty"`

	// Minimum size of the Auto Scaling Group.
	// (See also Waiting for Capacity below.)
	MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"`

	// Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
	MixedInstancesPolicy *MixedInstancesPolicyInitParameters `json:"mixedInstancesPolicy,omitempty" tf:"mixed_instances_policy,omitempty"`

	// Name of the placement group into which you'll launch your instances, if any.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.PlacementGroup
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	// Reference to a PlacementGroup in ec2 to populate placementGroup.
	// +kubebuilder:validation:Optional
	PlacementGroupRef *v1.Reference `json:"placementGroupRef,omitempty" tf:"-"`

	// Selector for a PlacementGroup in ec2 to populate placementGroup.
	// +kubebuilder:validation:Optional
	PlacementGroupSelector *v1.Selector `json:"placementGroupSelector,omitempty" tf:"-"`

	// Whether newly launched instances
	// are automatically protected from termination by Amazon EC2 Auto Scaling when
	// scaling in. For more information about preventing instances from terminating
	// on scale in, see Using instance scale-in protection
	// in the Amazon EC2 Auto Scaling User Guide.
	ProtectFromScaleIn *bool `json:"protectFromScaleIn,omitempty" tf:"protect_from_scale_in,omitempty"`

	// ARN of the service-linked role that the ASG will use to call other AWS services
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor()
	ServiceLinkedRoleArn *string `json:"serviceLinkedRoleArn,omitempty" tf:"service_linked_role_arn,omitempty"`

	// Reference to a Role in iam to populate serviceLinkedRoleArn.
	// +kubebuilder:validation:Optional
	ServiceLinkedRoleArnRef *v1.Reference `json:"serviceLinkedRoleArnRef,omitempty" tf:"-"`

	// Selector for a Role in iam to populate serviceLinkedRoleArn.
	// +kubebuilder:validation:Optional
	ServiceLinkedRoleArnSelector *v1.Selector `json:"serviceLinkedRoleArnSelector,omitempty" tf:"-"`

	// List of processes to suspend for the Auto Scaling Group. The allowed values are Launch, Terminate, HealthCheck, ReplaceUnhealthy, AZRebalance, AlarmNotification, ScheduledActions, AddToLoadBalancer, InstanceRefresh.
	// Note that if you suspend either the Launch or Terminate process types, it can prevent your Auto Scaling Group from functioning properly.
	// +listType=set
	SuspendedProcesses []*string `json:"suspendedProcesses,omitempty" tf:"suspended_processes,omitempty"`

	// Configuration block(s) containing resource tags. See Tag below for more details.
	Tag []TagInitParameters `json:"tag,omitempty" tf:"tag,omitempty"`

	// List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
	TerminationPolicies []*string `json:"terminationPolicies,omitempty" tf:"termination_policies,omitempty"`

	// Attaches one or more traffic sources to the specified Auto Scaling group.
	TrafficSource []TrafficSourceInitParameters `json:"trafficSource,omitempty" tf:"traffic_source,omitempty"`

	// List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	// +listType=set
	VPCZoneIdentifier []*string `json:"vpcZoneIdentifier,omitempty" tf:"vpc_zone_identifier,omitempty"`

	// References to Subnet in ec2 to populate vpcZoneIdentifier.
	// +kubebuilder:validation:Optional
	VPCZoneIdentifierRefs []v1.Reference `json:"vpcZoneIdentifierRefs,omitempty" tf:"-"`

	// Selector for a list of Subnet in ec2 to populate vpcZoneIdentifier.
	// +kubebuilder:validation:Optional
	VPCZoneIdentifierSelector *v1.Selector `json:"vpcZoneIdentifierSelector,omitempty" tf:"-"`

	// (See also Waiting
	// for Capacity below.
	WaitForCapacityTimeout *string `json:"waitForCapacityTimeout,omitempty" tf:"wait_for_capacity_timeout,omitempty"`

	// (Takes
	// precedence over min_elb_capacity behavior.)
	// (See also Waiting for Capacity below.)
	WaitForELBCapacity *float64 `json:"waitForElbCapacity,omitempty" tf:"wait_for_elb_capacity,omitempty"`

	// If this block is configured, add a Warm Pool
	// to the specified Auto Scaling group. Defined below
	WarmPool *WarmPoolInitParameters `json:"warmPool,omitempty" tf:"warm_pool,omitempty"`
}

func (*AutoscalingGroupInitParameters) DeepCopy

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

func (*AutoscalingGroupInitParameters) DeepCopyInto

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

type AutoscalingGroupList

type AutoscalingGroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AutoscalingGroup `json:"items"`
}

AutoscalingGroupList contains a list of AutoscalingGroups

func (*AutoscalingGroupList) DeepCopy

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

func (*AutoscalingGroupList) DeepCopyInto

func (in *AutoscalingGroupList) DeepCopyInto(out *AutoscalingGroupList)

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

func (*AutoscalingGroupList) DeepCopyObject

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

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

func (*AutoscalingGroupList) GetItems

func (l *AutoscalingGroupList) GetItems() []resource.Managed

GetItems of this AutoscalingGroupList.

type AutoscalingGroupObservation

type AutoscalingGroupObservation struct {

	// ARN for this Auto Scaling Group
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the vpc_zone_identifier attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts with vpc_zone_identifier.
	// +listType=set
	AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"`

	// Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
	CapacityRebalance *bool `json:"capacityRebalance,omitempty" tf:"capacity_rebalance,omitempty"`

	// Reserved.
	Context *string `json:"context,omitempty" tf:"context,omitempty"`

	// Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
	DefaultCooldown *float64 `json:"defaultCooldown,omitempty" tf:"default_cooldown,omitempty"`

	// Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
	DefaultInstanceWarmup *float64 `json:"defaultInstanceWarmup,omitempty" tf:"default_instance_warmup,omitempty"`

	// Number of Amazon EC2 instances that
	// should be running in the group. (See also Waiting for
	// Capacity below.)
	DesiredCapacity *float64 `json:"desiredCapacity,omitempty" tf:"desired_capacity,omitempty"`

	// The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values: "units", "vcpu", "memory-mib".
	DesiredCapacityType *string `json:"desiredCapacityType,omitempty" tf:"desired_capacity_type,omitempty"`

	// List of metrics to collect. The allowed values are defined by the underlying AWS API.
	// +listType=set
	EnabledMetrics []*string `json:"enabledMetrics,omitempty" tf:"enabled_metrics,omitempty"`

	// Allows deleting the Auto Scaling Group without waiting
	// for all instances in the pool to terminate. You can force an Auto Scaling Group to delete
	// even if it's in the process of scaling a resource. This bypasses that
	// behavior and potentially leaves resources dangling.
	ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"`

	// Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
	ForceDeleteWarmPool *bool `json:"forceDeleteWarmPool,omitempty" tf:"force_delete_warm_pool,omitempty"`

	// Time (in seconds) after instance comes into service before checking health.
	HealthCheckGracePeriod *float64 `json:"healthCheckGracePeriod,omitempty" tf:"health_check_grace_period,omitempty"`

	// "EC2" or "ELB". Controls how health checking is done.
	HealthCheckType *string `json:"healthCheckType,omitempty" tf:"health_check_type,omitempty"`

	// Auto Scaling Group id.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false -- failed scaling activities cause errors to be returned.
	IgnoreFailedScalingActivities *bool `json:"ignoreFailedScalingActivities,omitempty" tf:"ignore_failed_scaling_activities,omitempty"`

	// One or more
	// Lifecycle Hooks
	// to attach to the Auto Scaling Group before instances are launched. The
	// syntax is exactly the same as the separate
	// aws_autoscaling_lifecycle_hook
	// resource, without the autoscaling_group_name attribute. Please note that this will only work when creating
	// a new Auto Scaling Group. For all other use-cases, please use aws_autoscaling_lifecycle_hook resource.
	InitialLifecycleHook []InitialLifecycleHookObservation `json:"initialLifecycleHook,omitempty" tf:"initial_lifecycle_hook,omitempty"`

	// If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
	InstanceMaintenancePolicy *InstanceMaintenancePolicyObservation `json:"instanceMaintenancePolicy,omitempty" tf:"instance_maintenance_policy,omitempty"`

	// If this block is configured, start an
	// Instance Refresh
	// when this Auto Scaling Group is updated. Defined below.
	InstanceRefresh *InstanceRefreshObservation `json:"instanceRefresh,omitempty" tf:"instance_refresh,omitempty"`

	// Name of the launch configuration to use.
	LaunchConfiguration *string `json:"launchConfiguration,omitempty" tf:"launch_configuration,omitempty"`

	// Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
	LaunchTemplate *LaunchTemplateObservation `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"`

	// List of elastic load balancer names to add to the autoscaling
	// group names. Only valid for classic load balancers. For ALBs, use target_group_arns instead. To remove all load balancer attachments an empty list should be specified.
	// +listType=set
	LoadBalancers []*string `json:"loadBalancers,omitempty" tf:"load_balancers,omitempty"`

	// Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
	MaxInstanceLifetime *float64 `json:"maxInstanceLifetime,omitempty" tf:"max_instance_lifetime,omitempty"`

	// Maximum size of the Auto Scaling Group.
	MaxSize *float64 `json:"maxSize,omitempty" tf:"max_size,omitempty"`

	// Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is 1Minute.
	MetricsGranularity *string `json:"metricsGranularity,omitempty" tf:"metrics_granularity,omitempty"`

	// Updates will not wait on ELB instance number changes.
	// (See also Waiting for Capacity below.)
	MinELBCapacity *float64 `json:"minElbCapacity,omitempty" tf:"min_elb_capacity,omitempty"`

	// Minimum size of the Auto Scaling Group.
	// (See also Waiting for Capacity below.)
	MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"`

	// Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
	MixedInstancesPolicy *MixedInstancesPolicyObservation `json:"mixedInstancesPolicy,omitempty" tf:"mixed_instances_policy,omitempty"`

	// Name of the placement group into which you'll launch your instances, if any.
	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	// Predicted capacity of the group.
	PredictedCapacity *float64 `json:"predictedCapacity,omitempty" tf:"predicted_capacity,omitempty"`

	// Whether newly launched instances
	// are automatically protected from termination by Amazon EC2 Auto Scaling when
	// scaling in. For more information about preventing instances from terminating
	// on scale in, see Using instance scale-in protection
	// in the Amazon EC2 Auto Scaling User Guide.
	ProtectFromScaleIn *bool `json:"protectFromScaleIn,omitempty" tf:"protect_from_scale_in,omitempty"`

	// ARN of the service-linked role that the ASG will use to call other AWS services
	ServiceLinkedRoleArn *string `json:"serviceLinkedRoleArn,omitempty" tf:"service_linked_role_arn,omitempty"`

	// List of processes to suspend for the Auto Scaling Group. The allowed values are Launch, Terminate, HealthCheck, ReplaceUnhealthy, AZRebalance, AlarmNotification, ScheduledActions, AddToLoadBalancer, InstanceRefresh.
	// Note that if you suspend either the Launch or Terminate process types, it can prevent your Auto Scaling Group from functioning properly.
	// +listType=set
	SuspendedProcesses []*string `json:"suspendedProcesses,omitempty" tf:"suspended_processes,omitempty"`

	// Configuration block(s) containing resource tags. See Tag below for more details.
	Tag []TagObservation `json:"tag,omitempty" tf:"tag,omitempty"`

	// Set of aws_alb_target_group ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
	// +listType=set
	TargetGroupArns []*string `json:"targetGroupArns,omitempty" tf:"target_group_arns,omitempty"`

	// List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
	TerminationPolicies []*string `json:"terminationPolicies,omitempty" tf:"termination_policies,omitempty"`

	// Attaches one or more traffic sources to the specified Auto Scaling group.
	TrafficSource []TrafficSourceObservation `json:"trafficSource,omitempty" tf:"traffic_source,omitempty"`

	// List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
	// +listType=set
	VPCZoneIdentifier []*string `json:"vpcZoneIdentifier,omitempty" tf:"vpc_zone_identifier,omitempty"`

	// (See also Waiting
	// for Capacity below.
	WaitForCapacityTimeout *string `json:"waitForCapacityTimeout,omitempty" tf:"wait_for_capacity_timeout,omitempty"`

	// (Takes
	// precedence over min_elb_capacity behavior.)
	// (See also Waiting for Capacity below.)
	WaitForELBCapacity *float64 `json:"waitForElbCapacity,omitempty" tf:"wait_for_elb_capacity,omitempty"`

	// If this block is configured, add a Warm Pool
	// to the specified Auto Scaling group. Defined below
	WarmPool *WarmPoolObservation `json:"warmPool,omitempty" tf:"warm_pool,omitempty"`

	// Current size of the warm pool.
	WarmPoolSize *float64 `json:"warmPoolSize,omitempty" tf:"warm_pool_size,omitempty"`
}

func (*AutoscalingGroupObservation) DeepCopy

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

func (*AutoscalingGroupObservation) DeepCopyInto

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

type AutoscalingGroupParameters

type AutoscalingGroupParameters struct {

	// A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the vpc_zone_identifier attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts with vpc_zone_identifier.
	// +kubebuilder:validation:Optional
	// +listType=set
	AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"`

	// Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
	// +kubebuilder:validation:Optional
	CapacityRebalance *bool `json:"capacityRebalance,omitempty" tf:"capacity_rebalance,omitempty"`

	// Reserved.
	// +kubebuilder:validation:Optional
	Context *string `json:"context,omitempty" tf:"context,omitempty"`

	// Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
	// +kubebuilder:validation:Optional
	DefaultCooldown *float64 `json:"defaultCooldown,omitempty" tf:"default_cooldown,omitempty"`

	// Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
	// +kubebuilder:validation:Optional
	DefaultInstanceWarmup *float64 `json:"defaultInstanceWarmup,omitempty" tf:"default_instance_warmup,omitempty"`

	// Number of Amazon EC2 instances that
	// should be running in the group. (See also Waiting for
	// Capacity below.)
	// +kubebuilder:validation:Optional
	DesiredCapacity *float64 `json:"desiredCapacity,omitempty" tf:"desired_capacity,omitempty"`

	// The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values: "units", "vcpu", "memory-mib".
	// +kubebuilder:validation:Optional
	DesiredCapacityType *string `json:"desiredCapacityType,omitempty" tf:"desired_capacity_type,omitempty"`

	// List of metrics to collect. The allowed values are defined by the underlying AWS API.
	// +kubebuilder:validation:Optional
	// +listType=set
	EnabledMetrics []*string `json:"enabledMetrics,omitempty" tf:"enabled_metrics,omitempty"`

	// Allows deleting the Auto Scaling Group without waiting
	// for all instances in the pool to terminate. You can force an Auto Scaling Group to delete
	// even if it's in the process of scaling a resource. This bypasses that
	// behavior and potentially leaves resources dangling.
	// +kubebuilder:validation:Optional
	ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"`

	// Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
	// +kubebuilder:validation:Optional
	ForceDeleteWarmPool *bool `json:"forceDeleteWarmPool,omitempty" tf:"force_delete_warm_pool,omitempty"`

	// Time (in seconds) after instance comes into service before checking health.
	// +kubebuilder:validation:Optional
	HealthCheckGracePeriod *float64 `json:"healthCheckGracePeriod,omitempty" tf:"health_check_grace_period,omitempty"`

	// "EC2" or "ELB". Controls how health checking is done.
	// +kubebuilder:validation:Optional
	HealthCheckType *string `json:"healthCheckType,omitempty" tf:"health_check_type,omitempty"`

	// Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false -- failed scaling activities cause errors to be returned.
	// +kubebuilder:validation:Optional
	IgnoreFailedScalingActivities *bool `json:"ignoreFailedScalingActivities,omitempty" tf:"ignore_failed_scaling_activities,omitempty"`

	// One or more
	// Lifecycle Hooks
	// to attach to the Auto Scaling Group before instances are launched. The
	// syntax is exactly the same as the separate
	// aws_autoscaling_lifecycle_hook
	// resource, without the autoscaling_group_name attribute. Please note that this will only work when creating
	// a new Auto Scaling Group. For all other use-cases, please use aws_autoscaling_lifecycle_hook resource.
	// +kubebuilder:validation:Optional
	InitialLifecycleHook []InitialLifecycleHookParameters `json:"initialLifecycleHook,omitempty" tf:"initial_lifecycle_hook,omitempty"`

	// If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
	// +kubebuilder:validation:Optional
	InstanceMaintenancePolicy *InstanceMaintenancePolicyParameters `json:"instanceMaintenancePolicy,omitempty" tf:"instance_maintenance_policy,omitempty"`

	// If this block is configured, start an
	// Instance Refresh
	// when this Auto Scaling Group is updated. Defined below.
	// +kubebuilder:validation:Optional
	InstanceRefresh *InstanceRefreshParameters `json:"instanceRefresh,omitempty" tf:"instance_refresh,omitempty"`

	// Name of the launch configuration to use.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/autoscaling/v1beta2.LaunchConfiguration
	// +kubebuilder:validation:Optional
	LaunchConfiguration *string `json:"launchConfiguration,omitempty" tf:"launch_configuration,omitempty"`

	// Reference to a LaunchConfiguration in autoscaling to populate launchConfiguration.
	// +kubebuilder:validation:Optional
	LaunchConfigurationRef *v1.Reference `json:"launchConfigurationRef,omitempty" tf:"-"`

	// Selector for a LaunchConfiguration in autoscaling to populate launchConfiguration.
	// +kubebuilder:validation:Optional
	LaunchConfigurationSelector *v1.Selector `json:"launchConfigurationSelector,omitempty" tf:"-"`

	// Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
	// +kubebuilder:validation:Optional
	LaunchTemplate *LaunchTemplateParameters `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"`

	// Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
	// +kubebuilder:validation:Optional
	MaxInstanceLifetime *float64 `json:"maxInstanceLifetime,omitempty" tf:"max_instance_lifetime,omitempty"`

	// Maximum size of the Auto Scaling Group.
	// +kubebuilder:validation:Optional
	MaxSize *float64 `json:"maxSize,omitempty" tf:"max_size,omitempty"`

	// Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is 1Minute.
	// +kubebuilder:validation:Optional
	MetricsGranularity *string `json:"metricsGranularity,omitempty" tf:"metrics_granularity,omitempty"`

	// Updates will not wait on ELB instance number changes.
	// (See also Waiting for Capacity below.)
	// +kubebuilder:validation:Optional
	MinELBCapacity *float64 `json:"minElbCapacity,omitempty" tf:"min_elb_capacity,omitempty"`

	// Minimum size of the Auto Scaling Group.
	// (See also Waiting for Capacity below.)
	// +kubebuilder:validation:Optional
	MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"`

	// Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
	// +kubebuilder:validation:Optional
	MixedInstancesPolicy *MixedInstancesPolicyParameters `json:"mixedInstancesPolicy,omitempty" tf:"mixed_instances_policy,omitempty"`

	// Name of the placement group into which you'll launch your instances, if any.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.PlacementGroup
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"`

	// Reference to a PlacementGroup in ec2 to populate placementGroup.
	// +kubebuilder:validation:Optional
	PlacementGroupRef *v1.Reference `json:"placementGroupRef,omitempty" tf:"-"`

	// Selector for a PlacementGroup in ec2 to populate placementGroup.
	// +kubebuilder:validation:Optional
	PlacementGroupSelector *v1.Selector `json:"placementGroupSelector,omitempty" tf:"-"`

	// Whether newly launched instances
	// are automatically protected from termination by Amazon EC2 Auto Scaling when
	// scaling in. For more information about preventing instances from terminating
	// on scale in, see Using instance scale-in protection
	// in the Amazon EC2 Auto Scaling User Guide.
	// +kubebuilder:validation:Optional
	ProtectFromScaleIn *bool `json:"protectFromScaleIn,omitempty" tf:"protect_from_scale_in,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// ARN of the service-linked role that the ASG will use to call other AWS services
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor()
	// +kubebuilder:validation:Optional
	ServiceLinkedRoleArn *string `json:"serviceLinkedRoleArn,omitempty" tf:"service_linked_role_arn,omitempty"`

	// Reference to a Role in iam to populate serviceLinkedRoleArn.
	// +kubebuilder:validation:Optional
	ServiceLinkedRoleArnRef *v1.Reference `json:"serviceLinkedRoleArnRef,omitempty" tf:"-"`

	// Selector for a Role in iam to populate serviceLinkedRoleArn.
	// +kubebuilder:validation:Optional
	ServiceLinkedRoleArnSelector *v1.Selector `json:"serviceLinkedRoleArnSelector,omitempty" tf:"-"`

	// List of processes to suspend for the Auto Scaling Group. The allowed values are Launch, Terminate, HealthCheck, ReplaceUnhealthy, AZRebalance, AlarmNotification, ScheduledActions, AddToLoadBalancer, InstanceRefresh.
	// Note that if you suspend either the Launch or Terminate process types, it can prevent your Auto Scaling Group from functioning properly.
	// +kubebuilder:validation:Optional
	// +listType=set
	SuspendedProcesses []*string `json:"suspendedProcesses,omitempty" tf:"suspended_processes,omitempty"`

	// Configuration block(s) containing resource tags. See Tag below for more details.
	// +kubebuilder:validation:Optional
	Tag []TagParameters `json:"tag,omitempty" tf:"tag,omitempty"`

	// List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
	// +kubebuilder:validation:Optional
	TerminationPolicies []*string `json:"terminationPolicies,omitempty" tf:"termination_policies,omitempty"`

	// Attaches one or more traffic sources to the specified Auto Scaling group.
	// +kubebuilder:validation:Optional
	TrafficSource []TrafficSourceParameters `json:"trafficSource,omitempty" tf:"traffic_source,omitempty"`

	// List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet
	// +kubebuilder:validation:Optional
	// +listType=set
	VPCZoneIdentifier []*string `json:"vpcZoneIdentifier,omitempty" tf:"vpc_zone_identifier,omitempty"`

	// References to Subnet in ec2 to populate vpcZoneIdentifier.
	// +kubebuilder:validation:Optional
	VPCZoneIdentifierRefs []v1.Reference `json:"vpcZoneIdentifierRefs,omitempty" tf:"-"`

	// Selector for a list of Subnet in ec2 to populate vpcZoneIdentifier.
	// +kubebuilder:validation:Optional
	VPCZoneIdentifierSelector *v1.Selector `json:"vpcZoneIdentifierSelector,omitempty" tf:"-"`

	// (See also Waiting
	// for Capacity below.
	// +kubebuilder:validation:Optional
	WaitForCapacityTimeout *string `json:"waitForCapacityTimeout,omitempty" tf:"wait_for_capacity_timeout,omitempty"`

	// (Takes
	// precedence over min_elb_capacity behavior.)
	// (See also Waiting for Capacity below.)
	// +kubebuilder:validation:Optional
	WaitForELBCapacity *float64 `json:"waitForElbCapacity,omitempty" tf:"wait_for_elb_capacity,omitempty"`

	// If this block is configured, add a Warm Pool
	// to the specified Auto Scaling group. Defined below
	// +kubebuilder:validation:Optional
	WarmPool *WarmPoolParameters `json:"warmPool,omitempty" tf:"warm_pool,omitempty"`
}

func (*AutoscalingGroupParameters) DeepCopy

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

func (*AutoscalingGroupParameters) DeepCopyInto

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

type AutoscalingGroupSpec

type AutoscalingGroupSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     AutoscalingGroupParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider AutoscalingGroupInitParameters `json:"initProvider,omitempty"`
}

AutoscalingGroupSpec defines the desired state of AutoscalingGroup

func (*AutoscalingGroupSpec) DeepCopy

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

func (*AutoscalingGroupSpec) DeepCopyInto

func (in *AutoscalingGroupSpec) DeepCopyInto(out *AutoscalingGroupSpec)

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

type AutoscalingGroupStatus

type AutoscalingGroupStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        AutoscalingGroupObservation `json:"atProvider,omitempty"`
}

AutoscalingGroupStatus defines the observed state of AutoscalingGroup.

func (*AutoscalingGroupStatus) DeepCopy

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

func (*AutoscalingGroupStatus) DeepCopyInto

func (in *AutoscalingGroupStatus) DeepCopyInto(out *AutoscalingGroupStatus)

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

type BaselineEBSBandwidthMbpsInitParameters

type BaselineEBSBandwidthMbpsInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*BaselineEBSBandwidthMbpsInitParameters) DeepCopy

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

func (*BaselineEBSBandwidthMbpsInitParameters) DeepCopyInto

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

type BaselineEBSBandwidthMbpsObservation

type BaselineEBSBandwidthMbpsObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*BaselineEBSBandwidthMbpsObservation) DeepCopy

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

func (*BaselineEBSBandwidthMbpsObservation) DeepCopyInto

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

type BaselineEBSBandwidthMbpsParameters

type BaselineEBSBandwidthMbpsParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*BaselineEBSBandwidthMbpsParameters) DeepCopy

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

func (*BaselineEBSBandwidthMbpsParameters) DeepCopyInto

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

type InitialLifecycleHookInitParameters

type InitialLifecycleHookInitParameters struct {
	DefaultResult *string `json:"defaultResult,omitempty" tf:"default_result,omitempty"`

	HeartbeatTimeout *float64 `json:"heartbeatTimeout,omitempty" tf:"heartbeat_timeout,omitempty"`

	LifecycleTransition *string `json:"lifecycleTransition,omitempty" tf:"lifecycle_transition,omitempty"`

	// Name of the Auto Scaling Group. Conflicts with name_prefix.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	NotificationMetadata *string `json:"notificationMetadata,omitempty" tf:"notification_metadata,omitempty"`

	// ARN for this Auto Scaling Group
	NotificationTargetArn *string `json:"notificationTargetArn,omitempty" tf:"notification_target_arn,omitempty"`

	// ARN for this Auto Scaling Group
	RoleArn *string `json:"roleArn,omitempty" tf:"role_arn,omitempty"`
}

func (*InitialLifecycleHookInitParameters) DeepCopy

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

func (*InitialLifecycleHookInitParameters) DeepCopyInto

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

type InitialLifecycleHookObservation

type InitialLifecycleHookObservation struct {
	DefaultResult *string `json:"defaultResult,omitempty" tf:"default_result,omitempty"`

	HeartbeatTimeout *float64 `json:"heartbeatTimeout,omitempty" tf:"heartbeat_timeout,omitempty"`

	LifecycleTransition *string `json:"lifecycleTransition,omitempty" tf:"lifecycle_transition,omitempty"`

	// Name of the Auto Scaling Group. Conflicts with name_prefix.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	NotificationMetadata *string `json:"notificationMetadata,omitempty" tf:"notification_metadata,omitempty"`

	// ARN for this Auto Scaling Group
	NotificationTargetArn *string `json:"notificationTargetArn,omitempty" tf:"notification_target_arn,omitempty"`

	// ARN for this Auto Scaling Group
	RoleArn *string `json:"roleArn,omitempty" tf:"role_arn,omitempty"`
}

func (*InitialLifecycleHookObservation) DeepCopy

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

func (*InitialLifecycleHookObservation) DeepCopyInto

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

type InitialLifecycleHookParameters

type InitialLifecycleHookParameters struct {

	// +kubebuilder:validation:Optional
	DefaultResult *string `json:"defaultResult,omitempty" tf:"default_result,omitempty"`

	// +kubebuilder:validation:Optional
	HeartbeatTimeout *float64 `json:"heartbeatTimeout,omitempty" tf:"heartbeat_timeout,omitempty"`

	// +kubebuilder:validation:Optional
	LifecycleTransition *string `json:"lifecycleTransition" tf:"lifecycle_transition,omitempty"`

	// Name of the Auto Scaling Group. Conflicts with name_prefix.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// +kubebuilder:validation:Optional
	NotificationMetadata *string `json:"notificationMetadata,omitempty" tf:"notification_metadata,omitempty"`

	// ARN for this Auto Scaling Group
	// +kubebuilder:validation:Optional
	NotificationTargetArn *string `json:"notificationTargetArn,omitempty" tf:"notification_target_arn,omitempty"`

	// ARN for this Auto Scaling Group
	// +kubebuilder:validation:Optional
	RoleArn *string `json:"roleArn,omitempty" tf:"role_arn,omitempty"`
}

func (*InitialLifecycleHookParameters) DeepCopy

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

func (*InitialLifecycleHookParameters) DeepCopyInto

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

type InstanceMaintenancePolicyInitParameters

type InstanceMaintenancePolicyInitParameters struct {

	// Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100 and 200, defaults to 100.
	MaxHealthyPercentage *float64 `json:"maxHealthyPercentage,omitempty" tf:"max_healthy_percentage,omitempty"`

	// Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
	MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"`
}

func (*InstanceMaintenancePolicyInitParameters) DeepCopy

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

func (*InstanceMaintenancePolicyInitParameters) DeepCopyInto

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

type InstanceMaintenancePolicyObservation

type InstanceMaintenancePolicyObservation struct {

	// Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100 and 200, defaults to 100.
	MaxHealthyPercentage *float64 `json:"maxHealthyPercentage,omitempty" tf:"max_healthy_percentage,omitempty"`

	// Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
	MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"`
}

func (*InstanceMaintenancePolicyObservation) DeepCopy

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

func (*InstanceMaintenancePolicyObservation) DeepCopyInto

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

type InstanceMaintenancePolicyParameters

type InstanceMaintenancePolicyParameters struct {

	// Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100 and 200, defaults to 100.
	// +kubebuilder:validation:Optional
	MaxHealthyPercentage *float64 `json:"maxHealthyPercentage" tf:"max_healthy_percentage,omitempty"`

	// Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
	// +kubebuilder:validation:Optional
	MinHealthyPercentage *float64 `json:"minHealthyPercentage" tf:"min_healthy_percentage,omitempty"`
}

func (*InstanceMaintenancePolicyParameters) DeepCopy

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

func (*InstanceMaintenancePolicyParameters) DeepCopyInto

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

type InstanceRefreshInitParameters

type InstanceRefreshInitParameters struct {

	// Override default parameters for Instance Refresh.
	Preferences *PreferencesInitParameters `json:"preferences,omitempty" tf:"preferences,omitempty"`

	// Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information.
	Strategy *string `json:"strategy,omitempty" tf:"strategy,omitempty"`

	// Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of launch_configuration, launch_template, or mixed_instances_policy.
	// +listType=set
	Triggers []*string `json:"triggers,omitempty" tf:"triggers,omitempty"`
}

func (*InstanceRefreshInitParameters) DeepCopy

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

func (*InstanceRefreshInitParameters) DeepCopyInto

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

type InstanceRefreshObservation

type InstanceRefreshObservation struct {

	// Override default parameters for Instance Refresh.
	Preferences *PreferencesObservation `json:"preferences,omitempty" tf:"preferences,omitempty"`

	// Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information.
	Strategy *string `json:"strategy,omitempty" tf:"strategy,omitempty"`

	// Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of launch_configuration, launch_template, or mixed_instances_policy.
	// +listType=set
	Triggers []*string `json:"triggers,omitempty" tf:"triggers,omitempty"`
}

func (*InstanceRefreshObservation) DeepCopy

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

func (*InstanceRefreshObservation) DeepCopyInto

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

type InstanceRefreshParameters

type InstanceRefreshParameters struct {

	// Override default parameters for Instance Refresh.
	// +kubebuilder:validation:Optional
	Preferences *PreferencesParameters `json:"preferences,omitempty" tf:"preferences,omitempty"`

	// Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information.
	// +kubebuilder:validation:Optional
	Strategy *string `json:"strategy" tf:"strategy,omitempty"`

	// Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of launch_configuration, launch_template, or mixed_instances_policy.
	// +kubebuilder:validation:Optional
	// +listType=set
	Triggers []*string `json:"triggers,omitempty" tf:"triggers,omitempty"`
}

func (*InstanceRefreshParameters) DeepCopy

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

func (*InstanceRefreshParameters) DeepCopyInto

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

type InstanceRequirementsInitParameters

type InstanceRequirementsInitParameters struct {

	// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
	AcceleratorCount *AcceleratorCountInitParameters `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"`

	// List of accelerator manufacturer names. Default is any manufacturer.
	// +listType=set
	AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"`

	// List of accelerator names. Default is any acclerator.
	// +listType=set
	AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"`

	// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
	AcceleratorTotalMemoryMib *AcceleratorTotalMemoryMibInitParameters `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"`

	// List of accelerator types. Default is any accelerator type.
	// +listType=set
	AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"`

	// List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.
	// +listType=set
	AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"`

	// Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
	BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"`

	// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
	BaselineEBSBandwidthMbps *BaselineEBSBandwidthMbpsInitParameters `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"`

	// Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
	BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"`

	// List of CPU manufacturer names. Default is any manufacturer.
	// +listType=set
	CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"`

	// List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.
	// +listType=set
	ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"`

	// List of instance generation names. Default is any generation.
	// +listType=set
	InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"`

	// Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
	LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"`

	// List of local storage type names. Default any storage type.
	// +listType=set
	LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
	MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *float64 `` /* 134-byte string literal not displayed */

	// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
	MemoryGibPerVcpu *MemoryGibPerVcpuInitParameters `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"`

	// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
	MemoryMib *MemoryMibInitParameters `json:"memoryMib,omitempty" tf:"memory_mib,omitempty"`

	// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
	NetworkBandwidthGbps *NetworkBandwidthGbpsInitParameters `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"`

	// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
	NetworkInterfaceCount *NetworkInterfaceCountInitParameters `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"`

	// Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
	OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"`

	// Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
	RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"`

	// Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with max_spot_price_as_percentage_of_optimal_on_demand_price
	SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"`

	// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
	TotalLocalStorageGb *TotalLocalStorageGbInitParameters `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"`

	// Block describing the minimum and maximum number of vCPUs. Default is no maximum.
	VcpuCount *VcpuCountInitParameters `json:"vcpuCount,omitempty" tf:"vcpu_count,omitempty"`
}

func (*InstanceRequirementsInitParameters) DeepCopy

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

func (*InstanceRequirementsInitParameters) DeepCopyInto

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

type InstanceRequirementsObservation

type InstanceRequirementsObservation struct {

	// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
	AcceleratorCount *AcceleratorCountObservation `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"`

	// List of accelerator manufacturer names. Default is any manufacturer.
	// +listType=set
	AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"`

	// List of accelerator names. Default is any acclerator.
	// +listType=set
	AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"`

	// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
	AcceleratorTotalMemoryMib *AcceleratorTotalMemoryMibObservation `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"`

	// List of accelerator types. Default is any accelerator type.
	// +listType=set
	AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"`

	// List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.
	// +listType=set
	AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"`

	// Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
	BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"`

	// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
	BaselineEBSBandwidthMbps *BaselineEBSBandwidthMbpsObservation `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"`

	// Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
	BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"`

	// List of CPU manufacturer names. Default is any manufacturer.
	// +listType=set
	CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"`

	// List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.
	// +listType=set
	ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"`

	// List of instance generation names. Default is any generation.
	// +listType=set
	InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"`

	// Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
	LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"`

	// List of local storage type names. Default any storage type.
	// +listType=set
	LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
	MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *float64 `` /* 134-byte string literal not displayed */

	// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
	MemoryGibPerVcpu *MemoryGibPerVcpuObservation `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"`

	// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
	MemoryMib *MemoryMibObservation `json:"memoryMib,omitempty" tf:"memory_mib,omitempty"`

	// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
	NetworkBandwidthGbps *NetworkBandwidthGbpsObservation `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"`

	// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
	NetworkInterfaceCount *NetworkInterfaceCountObservation `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"`

	// Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
	OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"`

	// Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
	RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"`

	// Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with max_spot_price_as_percentage_of_optimal_on_demand_price
	SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"`

	// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
	TotalLocalStorageGb *TotalLocalStorageGbObservation `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"`

	// Block describing the minimum and maximum number of vCPUs. Default is no maximum.
	VcpuCount *VcpuCountObservation `json:"vcpuCount,omitempty" tf:"vcpu_count,omitempty"`
}

func (*InstanceRequirementsObservation) DeepCopy

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

func (*InstanceRequirementsObservation) DeepCopyInto

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

type InstanceRequirementsParameters

type InstanceRequirementsParameters struct {

	// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	AcceleratorCount *AcceleratorCountParameters `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"`

	// List of accelerator manufacturer names. Default is any manufacturer.
	// +kubebuilder:validation:Optional
	// +listType=set
	AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"`

	// List of accelerator names. Default is any acclerator.
	// +kubebuilder:validation:Optional
	// +listType=set
	AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"`

	// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	AcceleratorTotalMemoryMib *AcceleratorTotalMemoryMibParameters `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"`

	// List of accelerator types. Default is any accelerator type.
	// +kubebuilder:validation:Optional
	// +listType=set
	AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"`

	// List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.
	// +kubebuilder:validation:Optional
	// +listType=set
	AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"`

	// Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
	// +kubebuilder:validation:Optional
	BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"`

	// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	BaselineEBSBandwidthMbps *BaselineEBSBandwidthMbpsParameters `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"`

	// Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
	// +kubebuilder:validation:Optional
	BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"`

	// List of CPU manufacturer names. Default is any manufacturer.
	// +kubebuilder:validation:Optional
	// +listType=set
	CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"`

	// List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.
	// +kubebuilder:validation:Optional
	// +listType=set
	ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"`

	// List of instance generation names. Default is any generation.
	// +kubebuilder:validation:Optional
	// +listType=set
	InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"`

	// Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
	// +kubebuilder:validation:Optional
	LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"`

	// List of local storage type names. Default any storage type.
	// +kubebuilder:validation:Optional
	// +listType=set
	LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"`

	// The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
	// +kubebuilder:validation:Optional
	MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *float64 `` /* 134-byte string literal not displayed */

	// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	MemoryGibPerVcpu *MemoryGibPerVcpuParameters `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"`

	// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
	// +kubebuilder:validation:Optional
	MemoryMib *MemoryMibParameters `json:"memoryMib,omitempty" tf:"memory_mib,omitempty"`

	// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	NetworkBandwidthGbps *NetworkBandwidthGbpsParameters `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"`

	// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	NetworkInterfaceCount *NetworkInterfaceCountParameters `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"`

	// Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
	// +kubebuilder:validation:Optional
	OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"`

	// Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
	// +kubebuilder:validation:Optional
	RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"`

	// Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with max_spot_price_as_percentage_of_optimal_on_demand_price
	// +kubebuilder:validation:Optional
	SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"`

	// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
	// +kubebuilder:validation:Optional
	TotalLocalStorageGb *TotalLocalStorageGbParameters `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"`

	// Block describing the minimum and maximum number of vCPUs. Default is no maximum.
	// +kubebuilder:validation:Optional
	VcpuCount *VcpuCountParameters `json:"vcpuCount,omitempty" tf:"vcpu_count,omitempty"`
}

func (*InstanceRequirementsParameters) DeepCopy

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

func (*InstanceRequirementsParameters) DeepCopyInto

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

type InstanceReusePolicyInitParameters

type InstanceReusePolicyInitParameters struct {

	// Whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
	ReuseOnScaleIn *bool `json:"reuseOnScaleIn,omitempty" tf:"reuse_on_scale_in,omitempty"`
}

func (*InstanceReusePolicyInitParameters) DeepCopy

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

func (*InstanceReusePolicyInitParameters) DeepCopyInto

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

type InstanceReusePolicyObservation

type InstanceReusePolicyObservation struct {

	// Whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
	ReuseOnScaleIn *bool `json:"reuseOnScaleIn,omitempty" tf:"reuse_on_scale_in,omitempty"`
}

func (*InstanceReusePolicyObservation) DeepCopy

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

func (*InstanceReusePolicyObservation) DeepCopyInto

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

type InstanceReusePolicyParameters

type InstanceReusePolicyParameters struct {

	// Whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
	// +kubebuilder:validation:Optional
	ReuseOnScaleIn *bool `json:"reuseOnScaleIn,omitempty" tf:"reuse_on_scale_in,omitempty"`
}

func (*InstanceReusePolicyParameters) DeepCopy

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

func (*InstanceReusePolicyParameters) DeepCopyInto

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

type InstancesDistributionInitParameters

type InstancesDistributionInitParameters struct {

	// Strategy to use when launching on-demand instances. Valid values: prioritized, lowest-price. Default: prioritized.
	OnDemandAllocationStrategy *string `json:"onDemandAllocationStrategy,omitempty" tf:"on_demand_allocation_strategy,omitempty"`

	// Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0.
	OnDemandBaseCapacity *float64 `json:"onDemandBaseCapacity,omitempty" tf:"on_demand_base_capacity,omitempty"`

	// Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100.
	OnDemandPercentageAboveBaseCapacity *float64 `json:"onDemandPercentageAboveBaseCapacity,omitempty" tf:"on_demand_percentage_above_base_capacity,omitempty"`

	// How to allocate capacity across the Spot pools. Valid values: lowest-price, capacity-optimized, capacity-optimized-prioritized, and price-capacity-optimized. Default: lowest-price.
	SpotAllocationStrategy *string `json:"spotAllocationStrategy,omitempty" tf:"spot_allocation_strategy,omitempty"`

	// Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategy set to lowest-price. Otherwise it must be set to 0, if it has been defined before. Default: 2.
	SpotInstancePools *float64 `json:"spotInstancePools,omitempty" tf:"spot_instance_pools,omitempty"`

	// Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.
	SpotMaxPrice *string `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"`
}

func (*InstancesDistributionInitParameters) DeepCopy

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

func (*InstancesDistributionInitParameters) DeepCopyInto

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

type InstancesDistributionObservation

type InstancesDistributionObservation struct {

	// Strategy to use when launching on-demand instances. Valid values: prioritized, lowest-price. Default: prioritized.
	OnDemandAllocationStrategy *string `json:"onDemandAllocationStrategy,omitempty" tf:"on_demand_allocation_strategy,omitempty"`

	// Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0.
	OnDemandBaseCapacity *float64 `json:"onDemandBaseCapacity,omitempty" tf:"on_demand_base_capacity,omitempty"`

	// Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100.
	OnDemandPercentageAboveBaseCapacity *float64 `json:"onDemandPercentageAboveBaseCapacity,omitempty" tf:"on_demand_percentage_above_base_capacity,omitempty"`

	// How to allocate capacity across the Spot pools. Valid values: lowest-price, capacity-optimized, capacity-optimized-prioritized, and price-capacity-optimized. Default: lowest-price.
	SpotAllocationStrategy *string `json:"spotAllocationStrategy,omitempty" tf:"spot_allocation_strategy,omitempty"`

	// Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategy set to lowest-price. Otherwise it must be set to 0, if it has been defined before. Default: 2.
	SpotInstancePools *float64 `json:"spotInstancePools,omitempty" tf:"spot_instance_pools,omitempty"`

	// Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.
	SpotMaxPrice *string `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"`
}

func (*InstancesDistributionObservation) DeepCopy

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

func (*InstancesDistributionObservation) DeepCopyInto

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

type InstancesDistributionParameters

type InstancesDistributionParameters struct {

	// Strategy to use when launching on-demand instances. Valid values: prioritized, lowest-price. Default: prioritized.
	// +kubebuilder:validation:Optional
	OnDemandAllocationStrategy *string `json:"onDemandAllocationStrategy,omitempty" tf:"on_demand_allocation_strategy,omitempty"`

	// Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0.
	// +kubebuilder:validation:Optional
	OnDemandBaseCapacity *float64 `json:"onDemandBaseCapacity,omitempty" tf:"on_demand_base_capacity,omitempty"`

	// Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100.
	// +kubebuilder:validation:Optional
	OnDemandPercentageAboveBaseCapacity *float64 `json:"onDemandPercentageAboveBaseCapacity,omitempty" tf:"on_demand_percentage_above_base_capacity,omitempty"`

	// How to allocate capacity across the Spot pools. Valid values: lowest-price, capacity-optimized, capacity-optimized-prioritized, and price-capacity-optimized. Default: lowest-price.
	// +kubebuilder:validation:Optional
	SpotAllocationStrategy *string `json:"spotAllocationStrategy,omitempty" tf:"spot_allocation_strategy,omitempty"`

	// Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategy set to lowest-price. Otherwise it must be set to 0, if it has been defined before. Default: 2.
	// +kubebuilder:validation:Optional
	SpotInstancePools *float64 `json:"spotInstancePools,omitempty" tf:"spot_instance_pools,omitempty"`

	// Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.
	// +kubebuilder:validation:Optional
	SpotMaxPrice *string `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"`
}

func (*InstancesDistributionParameters) DeepCopy

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

func (*InstancesDistributionParameters) DeepCopyInto

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

type LaunchTemplateInitParameters

type LaunchTemplateInitParameters struct {

	// ID of the launch template. Conflicts with name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.LaunchTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Reference to a LaunchTemplate in ec2 to populate id.
	// +kubebuilder:validation:Optional
	IDRef *v1.Reference `json:"idRef,omitempty" tf:"-"`

	// Selector for a LaunchTemplate in ec2 to populate id.
	// +kubebuilder:validation:Optional
	IDSelector *v1.Selector `json:"idSelector,omitempty" tf:"-"`

	// Name of the launch template. Conflicts with id.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Template version. Can be version number, $Latest, or $Default. (Default: $Default).
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LaunchTemplateInitParameters) DeepCopy

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

func (*LaunchTemplateInitParameters) DeepCopyInto

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

type LaunchTemplateObservation

type LaunchTemplateObservation struct {

	// ID of the launch template. Conflicts with name.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Name of the launch template. Conflicts with id.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Template version. Can be version number, $Latest, or $Default. (Default: $Default).
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LaunchTemplateObservation) DeepCopy

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

func (*LaunchTemplateObservation) DeepCopyInto

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

type LaunchTemplateParameters

type LaunchTemplateParameters struct {

	// ID of the launch template. Conflicts with name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.LaunchTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Reference to a LaunchTemplate in ec2 to populate id.
	// +kubebuilder:validation:Optional
	IDRef *v1.Reference `json:"idRef,omitempty" tf:"-"`

	// Selector for a LaunchTemplate in ec2 to populate id.
	// +kubebuilder:validation:Optional
	IDSelector *v1.Selector `json:"idSelector,omitempty" tf:"-"`

	// Name of the launch template. Conflicts with id.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Template version. Can be version number, $Latest, or $Default. (Default: $Default).
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LaunchTemplateParameters) DeepCopy

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

func (*LaunchTemplateParameters) DeepCopyInto

func (in *LaunchTemplateParameters) DeepCopyInto(out *LaunchTemplateParameters)

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

type LaunchTemplateSpecificationInitParameters

type LaunchTemplateSpecificationInitParameters struct {

	// ID of the launch template. Conflicts with launch_template_name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.LaunchTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"`

	// Reference to a LaunchTemplate in ec2 to populate launchTemplateId.
	// +kubebuilder:validation:Optional
	LaunchTemplateIDRef *v1.Reference `json:"launchTemplateIdRef,omitempty" tf:"-"`

	// Selector for a LaunchTemplate in ec2 to populate launchTemplateId.
	// +kubebuilder:validation:Optional
	LaunchTemplateIDSelector *v1.Selector `json:"launchTemplateIdSelector,omitempty" tf:"-"`

	// Name of the launch template. Conflicts with launch_template_id.
	LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"`

	// Template version. Can be version number, $Latest, or $Default. (Default: $Default).
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LaunchTemplateSpecificationInitParameters) DeepCopy

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

func (*LaunchTemplateSpecificationInitParameters) DeepCopyInto

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

type LaunchTemplateSpecificationObservation

type LaunchTemplateSpecificationObservation struct {

	// ID of the launch template. Conflicts with launch_template_name.
	LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"`

	// Name of the launch template. Conflicts with launch_template_id.
	LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"`

	// Template version. Can be version number, $Latest, or $Default. (Default: $Default).
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LaunchTemplateSpecificationObservation) DeepCopy

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

func (*LaunchTemplateSpecificationObservation) DeepCopyInto

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

type LaunchTemplateSpecificationParameters

type LaunchTemplateSpecificationParameters struct {

	// ID of the launch template. Conflicts with launch_template_name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.LaunchTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"`

	// Reference to a LaunchTemplate in ec2 to populate launchTemplateId.
	// +kubebuilder:validation:Optional
	LaunchTemplateIDRef *v1.Reference `json:"launchTemplateIdRef,omitempty" tf:"-"`

	// Selector for a LaunchTemplate in ec2 to populate launchTemplateId.
	// +kubebuilder:validation:Optional
	LaunchTemplateIDSelector *v1.Selector `json:"launchTemplateIdSelector,omitempty" tf:"-"`

	// Name of the launch template. Conflicts with launch_template_id.
	// +kubebuilder:validation:Optional
	LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"`

	// Template version. Can be version number, $Latest, or $Default. (Default: $Default).
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*LaunchTemplateSpecificationParameters) DeepCopy

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

func (*LaunchTemplateSpecificationParameters) DeepCopyInto

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

type MemoryGibPerVcpuInitParameters

type MemoryGibPerVcpuInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*MemoryGibPerVcpuInitParameters) DeepCopy

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

func (*MemoryGibPerVcpuInitParameters) DeepCopyInto

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

type MemoryGibPerVcpuObservation

type MemoryGibPerVcpuObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*MemoryGibPerVcpuObservation) DeepCopy

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

func (*MemoryGibPerVcpuObservation) DeepCopyInto

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

type MemoryGibPerVcpuParameters

type MemoryGibPerVcpuParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*MemoryGibPerVcpuParameters) DeepCopy

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

func (*MemoryGibPerVcpuParameters) DeepCopyInto

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

type MemoryMibInitParameters

type MemoryMibInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*MemoryMibInitParameters) DeepCopy

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

func (*MemoryMibInitParameters) DeepCopyInto

func (in *MemoryMibInitParameters) DeepCopyInto(out *MemoryMibInitParameters)

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

type MemoryMibObservation

type MemoryMibObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*MemoryMibObservation) DeepCopy

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

func (*MemoryMibObservation) DeepCopyInto

func (in *MemoryMibObservation) DeepCopyInto(out *MemoryMibObservation)

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

type MemoryMibParameters

type MemoryMibParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*MemoryMibParameters) DeepCopy

func (in *MemoryMibParameters) DeepCopy() *MemoryMibParameters

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

func (*MemoryMibParameters) DeepCopyInto

func (in *MemoryMibParameters) DeepCopyInto(out *MemoryMibParameters)

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

type MixedInstancesPolicyInitParameters

type MixedInstancesPolicyInitParameters struct {

	// Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
	InstancesDistribution *InstancesDistributionInitParameters `json:"instancesDistribution,omitempty" tf:"instances_distribution,omitempty"`

	// Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
	LaunchTemplate *MixedInstancesPolicyLaunchTemplateInitParameters `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"`
}

func (*MixedInstancesPolicyInitParameters) DeepCopy

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

func (*MixedInstancesPolicyInitParameters) DeepCopyInto

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

type MixedInstancesPolicyLaunchTemplateInitParameters

type MixedInstancesPolicyLaunchTemplateInitParameters struct {

	// Nested argument defines the Launch Template. Defined below.
	LaunchTemplateSpecification *LaunchTemplateSpecificationInitParameters `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"`

	// List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.
	Override []OverrideInitParameters `json:"override,omitempty" tf:"override,omitempty"`
}

func (*MixedInstancesPolicyLaunchTemplateInitParameters) DeepCopy

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

func (*MixedInstancesPolicyLaunchTemplateInitParameters) DeepCopyInto

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

type MixedInstancesPolicyLaunchTemplateObservation

type MixedInstancesPolicyLaunchTemplateObservation struct {

	// Nested argument defines the Launch Template. Defined below.
	LaunchTemplateSpecification *LaunchTemplateSpecificationObservation `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"`

	// List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.
	Override []OverrideObservation `json:"override,omitempty" tf:"override,omitempty"`
}

func (*MixedInstancesPolicyLaunchTemplateObservation) DeepCopy

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

func (*MixedInstancesPolicyLaunchTemplateObservation) DeepCopyInto

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

type MixedInstancesPolicyLaunchTemplateParameters

type MixedInstancesPolicyLaunchTemplateParameters struct {

	// Nested argument defines the Launch Template. Defined below.
	// +kubebuilder:validation:Optional
	LaunchTemplateSpecification *LaunchTemplateSpecificationParameters `json:"launchTemplateSpecification" tf:"launch_template_specification,omitempty"`

	// List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.
	// +kubebuilder:validation:Optional
	Override []OverrideParameters `json:"override,omitempty" tf:"override,omitempty"`
}

func (*MixedInstancesPolicyLaunchTemplateParameters) DeepCopy

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

func (*MixedInstancesPolicyLaunchTemplateParameters) DeepCopyInto

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

type MixedInstancesPolicyObservation

type MixedInstancesPolicyObservation struct {

	// Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
	InstancesDistribution *InstancesDistributionObservation `json:"instancesDistribution,omitempty" tf:"instances_distribution,omitempty"`

	// Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
	LaunchTemplate *MixedInstancesPolicyLaunchTemplateObservation `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"`
}

func (*MixedInstancesPolicyObservation) DeepCopy

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

func (*MixedInstancesPolicyObservation) DeepCopyInto

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

type MixedInstancesPolicyParameters

type MixedInstancesPolicyParameters struct {

	// Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
	// +kubebuilder:validation:Optional
	InstancesDistribution *InstancesDistributionParameters `json:"instancesDistribution,omitempty" tf:"instances_distribution,omitempty"`

	// Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
	// +kubebuilder:validation:Optional
	LaunchTemplate *MixedInstancesPolicyLaunchTemplateParameters `json:"launchTemplate" tf:"launch_template,omitempty"`
}

func (*MixedInstancesPolicyParameters) DeepCopy

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

func (*MixedInstancesPolicyParameters) DeepCopyInto

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

type NetworkBandwidthGbpsInitParameters

type NetworkBandwidthGbpsInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkBandwidthGbpsInitParameters) DeepCopy

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

func (*NetworkBandwidthGbpsInitParameters) DeepCopyInto

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

type NetworkBandwidthGbpsObservation

type NetworkBandwidthGbpsObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkBandwidthGbpsObservation) DeepCopy

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

func (*NetworkBandwidthGbpsObservation) DeepCopyInto

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

type NetworkBandwidthGbpsParameters

type NetworkBandwidthGbpsParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkBandwidthGbpsParameters) DeepCopy

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

func (*NetworkBandwidthGbpsParameters) DeepCopyInto

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

type NetworkInterfaceCountInitParameters

type NetworkInterfaceCountInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkInterfaceCountInitParameters) DeepCopy

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

func (*NetworkInterfaceCountInitParameters) DeepCopyInto

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

type NetworkInterfaceCountObservation

type NetworkInterfaceCountObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkInterfaceCountObservation) DeepCopy

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

func (*NetworkInterfaceCountObservation) DeepCopyInto

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

type NetworkInterfaceCountParameters

type NetworkInterfaceCountParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*NetworkInterfaceCountParameters) DeepCopy

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

func (*NetworkInterfaceCountParameters) DeepCopyInto

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

type OverrideInitParameters

type OverrideInitParameters struct {

	// Override the instance type in the Launch Template with instance types that satisfy the requirements.
	InstanceRequirements *InstanceRequirementsInitParameters `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"`

	// Override the instance type in the Launch Template.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Nested argument defines the Launch Template. Defined below.
	LaunchTemplateSpecification *OverrideLaunchTemplateSpecificationInitParameters `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"`

	// Number of capacity units, which gives the instance type a proportional weight to other instance types.
	WeightedCapacity *string `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"`
}

func (*OverrideInitParameters) DeepCopy

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

func (*OverrideInitParameters) DeepCopyInto

func (in *OverrideInitParameters) DeepCopyInto(out *OverrideInitParameters)

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

type OverrideLaunchTemplateSpecificationInitParameters

type OverrideLaunchTemplateSpecificationInitParameters struct {

	// ID of the launch template. Conflicts with launch_template_name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.LaunchTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"`

	// Reference to a LaunchTemplate in ec2 to populate launchTemplateId.
	// +kubebuilder:validation:Optional
	LaunchTemplateIDRef *v1.Reference `json:"launchTemplateIdRef,omitempty" tf:"-"`

	// Selector for a LaunchTemplate in ec2 to populate launchTemplateId.
	// +kubebuilder:validation:Optional
	LaunchTemplateIDSelector *v1.Selector `json:"launchTemplateIdSelector,omitempty" tf:"-"`

	// Name of the launch template. Conflicts with launch_template_id.
	LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"`

	// Template version. Can be version number, $Latest, or $Default. (Default: $Default).
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*OverrideLaunchTemplateSpecificationInitParameters) DeepCopy

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

func (*OverrideLaunchTemplateSpecificationInitParameters) DeepCopyInto

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

type OverrideLaunchTemplateSpecificationObservation

type OverrideLaunchTemplateSpecificationObservation struct {

	// ID of the launch template. Conflicts with launch_template_name.
	LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"`

	// Name of the launch template. Conflicts with launch_template_id.
	LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"`

	// Template version. Can be version number, $Latest, or $Default. (Default: $Default).
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*OverrideLaunchTemplateSpecificationObservation) DeepCopy

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

func (*OverrideLaunchTemplateSpecificationObservation) DeepCopyInto

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

type OverrideLaunchTemplateSpecificationParameters

type OverrideLaunchTemplateSpecificationParameters struct {

	// ID of the launch template. Conflicts with launch_template_name.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.LaunchTemplate
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"`

	// Reference to a LaunchTemplate in ec2 to populate launchTemplateId.
	// +kubebuilder:validation:Optional
	LaunchTemplateIDRef *v1.Reference `json:"launchTemplateIdRef,omitempty" tf:"-"`

	// Selector for a LaunchTemplate in ec2 to populate launchTemplateId.
	// +kubebuilder:validation:Optional
	LaunchTemplateIDSelector *v1.Selector `json:"launchTemplateIdSelector,omitempty" tf:"-"`

	// Name of the launch template. Conflicts with launch_template_id.
	// +kubebuilder:validation:Optional
	LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"`

	// Template version. Can be version number, $Latest, or $Default. (Default: $Default).
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,omitempty"`
}

func (*OverrideLaunchTemplateSpecificationParameters) DeepCopy

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

func (*OverrideLaunchTemplateSpecificationParameters) DeepCopyInto

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

type OverrideObservation

type OverrideObservation struct {

	// Override the instance type in the Launch Template with instance types that satisfy the requirements.
	InstanceRequirements *InstanceRequirementsObservation `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"`

	// Override the instance type in the Launch Template.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Nested argument defines the Launch Template. Defined below.
	LaunchTemplateSpecification *OverrideLaunchTemplateSpecificationObservation `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"`

	// Number of capacity units, which gives the instance type a proportional weight to other instance types.
	WeightedCapacity *string `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"`
}

func (*OverrideObservation) DeepCopy

func (in *OverrideObservation) DeepCopy() *OverrideObservation

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

func (*OverrideObservation) DeepCopyInto

func (in *OverrideObservation) DeepCopyInto(out *OverrideObservation)

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

type OverrideParameters

type OverrideParameters struct {

	// Override the instance type in the Launch Template with instance types that satisfy the requirements.
	// +kubebuilder:validation:Optional
	InstanceRequirements *InstanceRequirementsParameters `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"`

	// Override the instance type in the Launch Template.
	// +kubebuilder:validation:Optional
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Nested argument defines the Launch Template. Defined below.
	// +kubebuilder:validation:Optional
	LaunchTemplateSpecification *OverrideLaunchTemplateSpecificationParameters `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"`

	// Number of capacity units, which gives the instance type a proportional weight to other instance types.
	// +kubebuilder:validation:Optional
	WeightedCapacity *string `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"`
}

func (*OverrideParameters) DeepCopy

func (in *OverrideParameters) DeepCopy() *OverrideParameters

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

func (*OverrideParameters) DeepCopyInto

func (in *OverrideParameters) DeepCopyInto(out *OverrideParameters)

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

type PreferencesInitParameters

type PreferencesInitParameters struct {

	// Alarm Specification for Instance Refresh.
	AlarmSpecification *AlarmSpecificationInitParameters `json:"alarmSpecification,omitempty" tf:"alarm_specification,omitempty"`

	// Automatically rollback if instance refresh fails. Defaults to false. This option may only be set to true when specifying a launch_template or mixed_instances_policy.
	AutoRollback *bool `json:"autoRollback,omitempty" tf:"auto_rollback,omitempty"`

	// Number of seconds to wait after a checkpoint. Defaults to 3600.
	CheckpointDelay *string `json:"checkpointDelay,omitempty" tf:"checkpoint_delay,omitempty"`

	// List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100.
	CheckpointPercentages []*float64 `json:"checkpointPercentages,omitempty" tf:"checkpoint_percentages,omitempty"`

	// Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.
	InstanceWarmup *string `json:"instanceWarmup,omitempty" tf:"instance_warmup,omitempty"`

	// Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100 and 200, defaults to 100.
	MaxHealthyPercentage *float64 `json:"maxHealthyPercentage,omitempty" tf:"max_healthy_percentage,omitempty"`

	// Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
	MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"`

	// Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh, Ignore, and Wait. Default is Ignore.
	ScaleInProtectedInstances *string `json:"scaleInProtectedInstances,omitempty" tf:"scale_in_protected_instances,omitempty"`

	// Replace instances that already have your desired configuration. Defaults to false.
	SkipMatching *bool `json:"skipMatching,omitempty" tf:"skip_matching,omitempty"`

	// Behavior when encountering instances in the Standby state in are found. Available behaviors are Terminate, Ignore, and Wait. Default is Ignore.
	StandbyInstances *string `json:"standbyInstances,omitempty" tf:"standby_instances,omitempty"`
}

func (*PreferencesInitParameters) DeepCopy

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

func (*PreferencesInitParameters) DeepCopyInto

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

type PreferencesObservation

type PreferencesObservation struct {

	// Alarm Specification for Instance Refresh.
	AlarmSpecification *AlarmSpecificationObservation `json:"alarmSpecification,omitempty" tf:"alarm_specification,omitempty"`

	// Automatically rollback if instance refresh fails. Defaults to false. This option may only be set to true when specifying a launch_template or mixed_instances_policy.
	AutoRollback *bool `json:"autoRollback,omitempty" tf:"auto_rollback,omitempty"`

	// Number of seconds to wait after a checkpoint. Defaults to 3600.
	CheckpointDelay *string `json:"checkpointDelay,omitempty" tf:"checkpoint_delay,omitempty"`

	// List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100.
	CheckpointPercentages []*float64 `json:"checkpointPercentages,omitempty" tf:"checkpoint_percentages,omitempty"`

	// Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.
	InstanceWarmup *string `json:"instanceWarmup,omitempty" tf:"instance_warmup,omitempty"`

	// Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100 and 200, defaults to 100.
	MaxHealthyPercentage *float64 `json:"maxHealthyPercentage,omitempty" tf:"max_healthy_percentage,omitempty"`

	// Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
	MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"`

	// Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh, Ignore, and Wait. Default is Ignore.
	ScaleInProtectedInstances *string `json:"scaleInProtectedInstances,omitempty" tf:"scale_in_protected_instances,omitempty"`

	// Replace instances that already have your desired configuration. Defaults to false.
	SkipMatching *bool `json:"skipMatching,omitempty" tf:"skip_matching,omitempty"`

	// Behavior when encountering instances in the Standby state in are found. Available behaviors are Terminate, Ignore, and Wait. Default is Ignore.
	StandbyInstances *string `json:"standbyInstances,omitempty" tf:"standby_instances,omitempty"`
}

func (*PreferencesObservation) DeepCopy

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

func (*PreferencesObservation) DeepCopyInto

func (in *PreferencesObservation) DeepCopyInto(out *PreferencesObservation)

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

type PreferencesParameters

type PreferencesParameters struct {

	// Alarm Specification for Instance Refresh.
	// +kubebuilder:validation:Optional
	AlarmSpecification *AlarmSpecificationParameters `json:"alarmSpecification,omitempty" tf:"alarm_specification,omitempty"`

	// Automatically rollback if instance refresh fails. Defaults to false. This option may only be set to true when specifying a launch_template or mixed_instances_policy.
	// +kubebuilder:validation:Optional
	AutoRollback *bool `json:"autoRollback,omitempty" tf:"auto_rollback,omitempty"`

	// Number of seconds to wait after a checkpoint. Defaults to 3600.
	// +kubebuilder:validation:Optional
	CheckpointDelay *string `json:"checkpointDelay,omitempty" tf:"checkpoint_delay,omitempty"`

	// List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100.
	// +kubebuilder:validation:Optional
	CheckpointPercentages []*float64 `json:"checkpointPercentages,omitempty" tf:"checkpoint_percentages,omitempty"`

	// Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.
	// +kubebuilder:validation:Optional
	InstanceWarmup *string `json:"instanceWarmup,omitempty" tf:"instance_warmup,omitempty"`

	// Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100 and 200, defaults to 100.
	// +kubebuilder:validation:Optional
	MaxHealthyPercentage *float64 `json:"maxHealthyPercentage,omitempty" tf:"max_healthy_percentage,omitempty"`

	// Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
	// +kubebuilder:validation:Optional
	MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"`

	// Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh, Ignore, and Wait. Default is Ignore.
	// +kubebuilder:validation:Optional
	ScaleInProtectedInstances *string `json:"scaleInProtectedInstances,omitempty" tf:"scale_in_protected_instances,omitempty"`

	// Replace instances that already have your desired configuration. Defaults to false.
	// +kubebuilder:validation:Optional
	SkipMatching *bool `json:"skipMatching,omitempty" tf:"skip_matching,omitempty"`

	// Behavior when encountering instances in the Standby state in are found. Available behaviors are Terminate, Ignore, and Wait. Default is Ignore.
	// +kubebuilder:validation:Optional
	StandbyInstances *string `json:"standbyInstances,omitempty" tf:"standby_instances,omitempty"`
}

func (*PreferencesParameters) DeepCopy

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

func (*PreferencesParameters) DeepCopyInto

func (in *PreferencesParameters) DeepCopyInto(out *PreferencesParameters)

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

type TagInitParameters

type TagInitParameters struct {

	// Key
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// Enables propagation of the tag to
	// Amazon EC2 instances launched via this ASG
	PropagateAtLaunch *bool `json:"propagateAtLaunch,omitempty" tf:"propagate_at_launch,omitempty"`

	// Value
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*TagInitParameters) DeepCopy

func (in *TagInitParameters) DeepCopy() *TagInitParameters

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

func (*TagInitParameters) DeepCopyInto

func (in *TagInitParameters) DeepCopyInto(out *TagInitParameters)

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

type TagObservation

type TagObservation struct {

	// Key
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// Enables propagation of the tag to
	// Amazon EC2 instances launched via this ASG
	PropagateAtLaunch *bool `json:"propagateAtLaunch,omitempty" tf:"propagate_at_launch,omitempty"`

	// Value
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*TagObservation) DeepCopy

func (in *TagObservation) DeepCopy() *TagObservation

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

func (*TagObservation) DeepCopyInto

func (in *TagObservation) DeepCopyInto(out *TagObservation)

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

type TagParameters

type TagParameters struct {

	// Key
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// Enables propagation of the tag to
	// Amazon EC2 instances launched via this ASG
	// +kubebuilder:validation:Optional
	PropagateAtLaunch *bool `json:"propagateAtLaunch" tf:"propagate_at_launch,omitempty"`

	// Value
	// +kubebuilder:validation:Optional
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*TagParameters) DeepCopy

func (in *TagParameters) DeepCopy() *TagParameters

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

func (*TagParameters) DeepCopyInto

func (in *TagParameters) DeepCopyInto(out *TagParameters)

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

type TotalLocalStorageGbInitParameters

type TotalLocalStorageGbInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*TotalLocalStorageGbInitParameters) DeepCopy

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

func (*TotalLocalStorageGbInitParameters) DeepCopyInto

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

type TotalLocalStorageGbObservation

type TotalLocalStorageGbObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*TotalLocalStorageGbObservation) DeepCopy

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

func (*TotalLocalStorageGbObservation) DeepCopyInto

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

type TotalLocalStorageGbParameters

type TotalLocalStorageGbParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*TotalLocalStorageGbParameters) DeepCopy

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

func (*TotalLocalStorageGbParameters) DeepCopyInto

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

type TrafficSourceInitParameters

type TrafficSourceInitParameters struct {

	// Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.
	Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"`

	// Provides additional context for the value of Identifier.
	// The following lists the valid values:
	// elb if identifier is the name of a Classic Load Balancer.
	// elbv2 if identifier is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
	// vpc-lattice if identifier is the ARN of a VPC Lattice target group.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*TrafficSourceInitParameters) DeepCopy

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

func (*TrafficSourceInitParameters) DeepCopyInto

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

type TrafficSourceObservation

type TrafficSourceObservation struct {

	// Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.
	Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"`

	// Provides additional context for the value of Identifier.
	// The following lists the valid values:
	// elb if identifier is the name of a Classic Load Balancer.
	// elbv2 if identifier is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
	// vpc-lattice if identifier is the ARN of a VPC Lattice target group.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*TrafficSourceObservation) DeepCopy

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

func (*TrafficSourceObservation) DeepCopyInto

func (in *TrafficSourceObservation) DeepCopyInto(out *TrafficSourceObservation)

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

type TrafficSourceParameters

type TrafficSourceParameters struct {

	// Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.
	// +kubebuilder:validation:Optional
	Identifier *string `json:"identifier" tf:"identifier,omitempty"`

	// Provides additional context for the value of Identifier.
	// The following lists the valid values:
	// elb if identifier is the name of a Classic Load Balancer.
	// elbv2 if identifier is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.
	// vpc-lattice if identifier is the ARN of a VPC Lattice target group.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*TrafficSourceParameters) DeepCopy

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

func (*TrafficSourceParameters) DeepCopyInto

func (in *TrafficSourceParameters) DeepCopyInto(out *TrafficSourceParameters)

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

type VcpuCountInitParameters

type VcpuCountInitParameters struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*VcpuCountInitParameters) DeepCopy

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

func (*VcpuCountInitParameters) DeepCopyInto

func (in *VcpuCountInitParameters) DeepCopyInto(out *VcpuCountInitParameters)

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

type VcpuCountObservation

type VcpuCountObservation struct {

	// Maximum.
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*VcpuCountObservation) DeepCopy

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

func (*VcpuCountObservation) DeepCopyInto

func (in *VcpuCountObservation) DeepCopyInto(out *VcpuCountObservation)

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

type VcpuCountParameters

type VcpuCountParameters struct {

	// Maximum.
	// +kubebuilder:validation:Optional
	Max *float64 `json:"max,omitempty" tf:"max,omitempty"`

	// Minimum.
	// +kubebuilder:validation:Optional
	Min *float64 `json:"min,omitempty" tf:"min,omitempty"`
}

func (*VcpuCountParameters) DeepCopy

func (in *VcpuCountParameters) DeepCopy() *VcpuCountParameters

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

func (*VcpuCountParameters) DeepCopyInto

func (in *VcpuCountParameters) DeepCopyInto(out *VcpuCountParameters)

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

type WarmPoolInitParameters

type WarmPoolInitParameters struct {

	// Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in.
	InstanceReusePolicy *InstanceReusePolicyInitParameters `json:"instanceReusePolicy,omitempty" tf:"instance_reuse_policy,omitempty"`

	// Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.
	MaxGroupPreparedCapacity *float64 `json:"maxGroupPreparedCapacity,omitempty" tf:"max_group_prepared_capacity,omitempty"`

	// Minimum size of the Auto Scaling Group.
	// (See also Waiting for Capacity below.)
	MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"`

	// Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated.
	PoolState *string `json:"poolState,omitempty" tf:"pool_state,omitempty"`
}

func (*WarmPoolInitParameters) DeepCopy

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

func (*WarmPoolInitParameters) DeepCopyInto

func (in *WarmPoolInitParameters) DeepCopyInto(out *WarmPoolInitParameters)

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

type WarmPoolObservation

type WarmPoolObservation struct {

	// Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in.
	InstanceReusePolicy *InstanceReusePolicyObservation `json:"instanceReusePolicy,omitempty" tf:"instance_reuse_policy,omitempty"`

	// Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.
	MaxGroupPreparedCapacity *float64 `json:"maxGroupPreparedCapacity,omitempty" tf:"max_group_prepared_capacity,omitempty"`

	// Minimum size of the Auto Scaling Group.
	// (See also Waiting for Capacity below.)
	MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"`

	// Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated.
	PoolState *string `json:"poolState,omitempty" tf:"pool_state,omitempty"`
}

func (*WarmPoolObservation) DeepCopy

func (in *WarmPoolObservation) DeepCopy() *WarmPoolObservation

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

func (*WarmPoolObservation) DeepCopyInto

func (in *WarmPoolObservation) DeepCopyInto(out *WarmPoolObservation)

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

type WarmPoolParameters

type WarmPoolParameters struct {

	// Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in.
	// +kubebuilder:validation:Optional
	InstanceReusePolicy *InstanceReusePolicyParameters `json:"instanceReusePolicy,omitempty" tf:"instance_reuse_policy,omitempty"`

	// Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.
	// +kubebuilder:validation:Optional
	MaxGroupPreparedCapacity *float64 `json:"maxGroupPreparedCapacity,omitempty" tf:"max_group_prepared_capacity,omitempty"`

	// Minimum size of the Auto Scaling Group.
	// (See also Waiting for Capacity below.)
	// +kubebuilder:validation:Optional
	MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"`

	// Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated.
	// +kubebuilder:validation:Optional
	PoolState *string `json:"poolState,omitempty" tf:"pool_state,omitempty"`
}

func (*WarmPoolParameters) DeepCopy

func (in *WarmPoolParameters) DeepCopy() *WarmPoolParameters

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

func (*WarmPoolParameters) DeepCopyInto

func (in *WarmPoolParameters) DeepCopyInto(out *WarmPoolParameters)

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