Auto Scaling

6 resource kinds. Generated from the operator's CRD schemas.

API Group: aws.konfig.io/v1alpha1

AutoScalingGroup # GA

AutoScalingGroup is the Schema for managing EC2 Auto Scaling Groups.

kubectl get autoscalinggroups · example on GitHub

Example

# AutoScalingGroup — Auto Scaling
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/autoscaling.html#autoscalinggroup
apiVersion: aws.konfig.io/v1alpha1
kind: AutoScalingGroup
metadata:
  name: example-autoscalinggroup
  namespace: default
spec:
  autoScalingGroupName: example-autoscalinggroup
  desiredCapacity: 2
  launchTemplateRef:
    name: example-autoscalinggroup
    version: '1.0'
  maxSize: 1
  minSize: 1
  providerRef:
    name: example-autoscalinggroup
    region: us-east-1
  tags:
    environment: dev
    team: platform
  targetGroupArns:
  - example
  vpcZoneIdentifier:
  - name: example-vpczoneidentifier

Spec

FieldTypeRequiredDescription
autoScalingGroupNamestringyesAutoScalingGroupName is the name of the Auto Scaling group.
desiredCapacityinteger—DesiredCapacity is the desired number of instances.
launchTemplateRefobjectyesLaunchTemplateRef references the launch template to use.
launchTemplateRef.idstring—ID is a direct AWS Launch Template ID.
launchTemplateRef.namestring—Name is the name of a LaunchTemplate CR in the same namespace.
launchTemplateRef.versionstring—Version is the launch template version (e.g.
maxSizeintegeryesMaxSize is the maximum number of instances.
minSizeintegeryesMinSize is the minimum number of instances.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
tagsmap<string>—Tags are AWS resource tags to apply (also propagated to instances).
targetGroupArnsarray<string>—TargetGroupARNs is the list of ALB/NLB target group ARNs to attach.
vpcZoneIdentifierarray<object>—VPCZoneIdentifier is the list of subnet references for the ASG.
vpcZoneIdentifier[].idstring—ID is a direct AWS Subnet ID (e.g.
vpcZoneIdentifier[].namestring—Name of a Subnet CR in the same namespace.

Status

FieldTypeRequiredDescription
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.

AutoScalingLaunchConfiguration # CLOUD CONTROL · AWS::AutoScaling::LaunchConfiguration

AutoScalingLaunchConfiguration manages AWS::AutoScaling::LaunchConfiguration through the AWS Cloud Control API.

kubectl get autoscalinglaunchconfigurations · example on GitHub

Example

# AutoScalingLaunchConfiguration — Auto Scaling
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/autoscaling.html#autoscalinglaunchconfiguration
apiVersion: aws.konfig.io/v1alpha1
kind: AutoScalingLaunchConfiguration
metadata:
  name: example-autoscalinglaunchconfiguration
  namespace: default
spec:
  associatePublicIpAddress: false
  blockDeviceMappings:
  - deviceName: example-autoscalinglaunchconfiguration
    ebs:
      deleteOnTermination: false
      encrypted: true
      iops: 1
      throughput: 1
      volumeSize: 2
      volumeType: example
    noDevice: false
    virtualName: example-autoscalinglaunchconfiguration
  classicLinkVPCSecurityGroups:
  - example
  ebsOptimized: false
  iamInstanceProfile: example
  imageId: ami-0abc1234def567890
  instanceMonitoring: false
  instanceType: example
  keyName: example-autoscalinglaunchconfiguration
  launchConfigurationName: example-autoscalinglaunchconfiguration
  metadataOptions:
    httpEndpoint: example
    httpPutResponseHopLimit: 1
    httpTokens: example
  placementTenancy: example
  providerRef:
    name: example-autoscalinglaunchconfiguration
    region: us-east-1
  spotPrice: example
  userData: example

Spec

FieldTypeRequiredDescription
associatePublicIpAddressboolean—For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances.
blockDeviceMappingsarray<object>—Specifies how block devices are exposed to the instance.
blockDeviceMappings[].deviceNamestringyesThe device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).
blockDeviceMappings[].ebsobject—Parameters used to automatically set up EBS volumes when an instance is launched.
blockDeviceMappings[].ebs.deleteOnTerminationboolean—Indicates whether the volume is deleted on instance termination.
blockDeviceMappings[].ebs.encryptedboolean—Specifies whether the volume should be encrypted.
blockDeviceMappings[].ebs.iopsinteger—The number of input/output (I/O) operations per second (IOPS) to provision for the volume.
blockDeviceMappings[].ebs.snapshotIdstring—The snapshot ID of the volume to use.
blockDeviceMappings[].ebs.throughputinteger—The throughput (MiBps) to provision for a gp3 volume.
blockDeviceMappings[].ebs.volumeSizeinteger—The volume size, in GiBs.
blockDeviceMappings[].ebs.volumeTypestring—The volume type.
blockDeviceMappings[].noDeviceboolean—Setting this value to true suppresses the specified device included in the block device mapping of the AMI.
blockDeviceMappings[].virtualNamestring—The name of the virtual device.
classicLinkVPCIdstring—The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
classicLinkVPCSecurityGroupsarray<string>—The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
ebsOptimizedboolean—Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
iamInstanceProfilestring—Provides the name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance.
imageIdstringyesProvides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
instanceIdstring—The ID of the Amazon EC2 instance you want to use to create the launch configuration.
instanceMonitoringboolean—Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
instanceTypestringyesSpecifies the instance type of the EC2 instance.
kernelIdstring—Provides the ID of the kernel associated with the EC2 AMI.
keyNamestring—Provides the name of the EC2 key pair.
launchConfigurationNamestring—The name of the launch configuration.
metadataOptionsobject—The metadata options for the instances.
metadataOptions.httpEndpointstring—This parameter enables or disables the HTTP metadata endpoint on your instances.
metadataOptions.httpPutResponseHopLimitinteger—The desired HTTP PUT response hop limit for instance metadata requests.
metadataOptions.httpTokensstring—The state of token usage for your instance metadata requests.
placementTenancystring—The tenancy of the instance, either default or dedicated.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
ramDiskIdstring—The ID of the RAM disk to select.
securityGroupsarray<object>—A list that contains the security groups to assign to the instances in the Auto Scaling group.
spotPricestring—The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
userDatastring—The Base64-encoded user data to make available to the launched EC2 instances.

Status

FieldTypeRequiredDescription
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.

AutoScalingLifecycleHook # CLOUD CONTROL · AWS::AutoScaling::LifecycleHook

AutoScalingLifecycleHook manages AWS::AutoScaling::LifecycleHook through the AWS Cloud Control API.

kubectl get autoscalinglifecyclehooks · example on GitHub

Example

# AutoScalingLifecycleHook — Auto Scaling
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/autoscaling.html#autoscalinglifecyclehook
apiVersion: aws.konfig.io/v1alpha1
kind: AutoScalingLifecycleHook
metadata:
  name: example-autoscalinglifecyclehook
  namespace: default
spec:
  autoScalingGroupName: example-autoscalinglifecyclehook
  defaultResult: example
  heartbeatTimeout: 300
  lifecycleHookName: example-autoscalinglifecyclehook
  lifecycleTransition: example
  notificationMetadata: example
  notificationTargetARN: arn:aws:iam::123456789012:role/example-role
  providerRef:
    name: example-autoscalinglifecyclehook
    region: us-east-1
  roleARN: arn:aws:iam::123456789012:role/example-role

Spec

FieldTypeRequiredDescription
autoScalingGroupNamestringyesThe name of the Auto Scaling group for the lifecycle hook.
defaultResultstring—The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs.
heartbeatTimeoutinteger—The maximum time, in seconds, that can elapse before the lifecycle hook times out.
lifecycleHookNamestring—The name of the lifecycle hook.
lifecycleTransitionstringyesThe instance state to which you want to attach the lifecycle hook.
notificationMetadatastring—Additional information that is included any time Amazon EC2 Auto Scaling sends a message to the notification target.
notificationTargetARNstring—The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
roleARNstring—The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

Status

FieldTypeRequiredDescription
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.

AutoScalingScheduledAction # CLOUD CONTROL · AWS::AutoScaling::ScheduledAction

AutoScalingScheduledAction manages AWS::AutoScaling::ScheduledAction through the AWS Cloud Control API.

kubectl get autoscalingscheduledactions · example on GitHub

Example

# AutoScalingScheduledAction — Auto Scaling
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/autoscaling.html#autoscalingscheduledaction
apiVersion: aws.konfig.io/v1alpha1
kind: AutoScalingScheduledAction
metadata:
  name: example-autoscalingscheduledaction
  namespace: default
spec:
  autoScalingGroupName: example-autoscalingscheduledaction
  desiredCapacity: 2
  endTime: '2026-01-01T00:00:00Z'
  maxSize: 2
  minSize: 2
  providerRef:
    name: example-autoscalingscheduledaction
    region: us-east-1
  recurrence: example
  startTime: '2026-01-01T00:00:00Z'
  timeZone: example

Spec

FieldTypeRequiredDescription
autoScalingGroupNamestringyesThe name of the Auto Scaling group.
desiredCapacityinteger—The desired capacity is the initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain.
endTimestring—The latest scheduled start time to return.
maxSizeinteger—The minimum size of the Auto Scaling group.
minSizeinteger—The minimum size of the Auto Scaling group.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
recurrencestring—The recurring schedule for the action, in Unix cron syntax format.
startTimestring—The earliest scheduled start time to return.
timeZonestring—The time zone for the cron expression.

Status

FieldTypeRequiredDescription
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.
scheduledActionNamestring—Auto-generated unique identifier Read-only: reported by AWS after creation.

AutoScalingWarmPool # CLOUD CONTROL · AWS::AutoScaling::WarmPool

AutoScalingWarmPool manages AWS::AutoScaling::WarmPool through the AWS Cloud Control API.

kubectl get autoscalingwarmpools · example on GitHub

Example

# AutoScalingWarmPool — Auto Scaling
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/autoscaling.html#autoscalingwarmpool
apiVersion: aws.konfig.io/v1alpha1
kind: AutoScalingWarmPool
metadata:
  name: example-autoscalingwarmpool
  namespace: default
spec:
  autoScalingGroupName: example-autoscalingwarmpool
  instanceReusePolicy:
    reuseOnScaleIn: false
  maxGroupPreparedCapacity: 2
  minSize: 2
  poolState: example
  providerRef:
    name: example-autoscalingwarmpool
    region: us-east-1

Spec

FieldTypeRequiredDescription
autoScalingGroupNamestringyesCreate-only in AWS: changing it requires replacing the resource.
instanceReusePolicyobject—AutoScalingWarmPoolInstanceReusePolicy is a nested property type of AWS::AutoScaling::WarmPool.
instanceReusePolicy.reuseOnScaleInboolean—
maxGroupPreparedCapacityinteger—
minSizeinteger—
poolStatestring—
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.

Status

FieldTypeRequiredDescription
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.

ScalingPolicy # GA

ScalingPolicy is the Schema for managing AutoScaling Scaling Policies.

kubectl get scalingpolicies · example on GitHub

Example

# ScalingPolicy — Auto Scaling
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/autoscaling.html#scalingpolicy
apiVersion: aws.konfig.io/v1alpha1
kind: ScalingPolicy
metadata:
  name: example-scalingpolicy
  namespace: default
spec:
  adjustmentType: ChangeInCapacity
  autoScalingGroupRef:
    name: example-autoscalinggroup
  cooldown: 1
  policyName: example-scalingpolicy
  policyType: SimpleScaling
  providerRef:
    name: example-scalingpolicy
    region: us-east-1
  scalingAdjustment: 1
  stepAdjustments:
  - metricIntervalLowerBound: 1
    metricIntervalUpperBound: 1
    scalingAdjustment: 1
  targetTrackingConfiguration:
    disableScaleIn: false
    predefinedMetricType: example
    targetValue: 1

Spec

FieldTypeRequiredDescription
adjustmentTypeenum—AdjustmentType is the adjustment type (for SimpleScaling/StepScaling). Allowed: ChangeInCapacity, ExactCapacity, PercentChangeInCapacity
autoScalingGroupRefobjectyesAutoScalingGroupRef references the AutoScalingGroup CR.
autoScalingGroupRef.namestring—Name of the resource in the same namespace.
autoScalingGroupRef.namespacestring—Namespace of the resource.
cooldowninteger—Cooldown is the cooldown period in seconds (for SimpleScaling).
policyNamestringyesPolicyName is the name of the scaling policy.
policyTypeenumyesPolicyType is the policy type. Allowed: SimpleScaling, StepScaling, TargetTrackingScaling
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
scalingAdjustmentinteger—ScalingAdjustment is the adjustment value (for SimpleScaling).
stepAdjustmentsarray<object>—StepAdjustments are the step adjustments (for StepScaling).
stepAdjustments[].metricIntervalLowerBoundnumber—MetricIntervalLowerBound is the lower bound for the metric interval.
stepAdjustments[].metricIntervalUpperBoundnumber—MetricIntervalUpperBound is the upper bound for the metric interval.
stepAdjustments[].scalingAdjustmentintegeryesScalingAdjustment is the amount by which to scale.
targetTrackingConfigurationobject—TargetTrackingConfiguration defines target tracking (for TargetTrackingScaling).
targetTrackingConfiguration.disableScaleInboolean—DisableScaleIn prevents scale-in when true.
targetTrackingConfiguration.predefinedMetricTypestring—PredefinedMetricType is a predefined metric (e.g.
targetTrackingConfiguration.targetValuenumberyesTargetValue is the target value for the metric.

Status

FieldTypeRequiredDescription
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.
policyArnstring—PolicyARN is the ARN of the scaling policy.