naftiko: 1.0.0-alpha2 info: label: Auto Scaling description: 'Auto Scaling. 130 operations. Lead operation: Amazon EC2 Auto Scaling GET_ Attach Instances. Self-contained Naftiko capability covering one Amazon Ec2 Auto Scaling business surface.' tags: - Amazon Ec2 Auto Scaling - Auto Scaling created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AMAZON_EC2_AUTO_SCALING_API_KEY: AMAZON_EC2_AUTO_SCALING_API_KEY capability: consumes: - type: http namespace: amazon-ec2-auto-scaling baseUri: http://autoscaling.{region}.amazonaws.com description: Auto Scaling business capability. Self-contained, no shared references. resources: - name: '#Action=AttachInstances' path: /#Action=AttachInstances operations: - name: getattachinstances method: GET description: Amazon EC2 Auto Scaling GET_ Attach Instances outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: InstanceIds in: query type: array description: The IDs of the instances. You can specify up to 20 instances. - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postattachinstances method: POST description: Amazon EC2 Auto Scaling POST_ Attach Instances outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=AttachLoadBalancerTargetGroups' path: /#Action=AttachLoadBalancerTargetGroups operations: - name: getattachloadbalancertargetgroups method: GET description: Amazon EC2 Auto Scaling GET_ Attach Load Balancer Target Groups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: TargetGroupARNs in: query type: array description: 'The Amazon Resource Names (ARNs) of the target groups. You can specify up to 10 target groups. To get the ARN of a target group, use the Elastic Load Balancing ' required: true - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postattachloadbalancertargetgroups method: POST description: Amazon EC2 Auto Scaling POST_ Attach Load Balancer Target Groups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=AttachLoadBalancers' path: /#Action=AttachLoadBalancers operations: - name: getattachloadbalancers method: GET description: Amazon EC2 Auto Scaling GET_ Attach Load Balancers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: LoadBalancerNames in: query type: array description: The names of the load balancers. You can specify up to 10 load balancers. required: true - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postattachloadbalancers method: POST description: Amazon EC2 Auto Scaling POST_ Attach Load Balancers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=AttachTrafficSources' path: /#Action=AttachTrafficSources operations: - name: getattachtrafficsources method: GET description: Amazon EC2 Auto Scaling GET_ Attach Traffic Sources outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: TrafficSources in: query type: array description: The unique identifiers of one or more traffic sources. You can specify up to 10 traffic sources. required: true - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postattachtrafficsources method: POST description: Amazon EC2 Auto Scaling POST_ Attach Traffic Sources outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=BatchDeleteScheduledAction' path: /#Action=BatchDeleteScheduledAction operations: - name: getbatchdeletescheduledaction method: GET description: Amazon EC2 Auto Scaling GET_ Batch Delete Scheduled Action outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: ScheduledActionNames in: query type: array description: The names of the scheduled actions to delete. The maximum number allowed is 50. required: true - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postbatchdeletescheduledaction method: POST description: Amazon EC2 Auto Scaling POST_ Batch Delete Scheduled Action outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=BatchPutScheduledUpdateGroupAction' path: /#Action=BatchPutScheduledUpdateGroupAction operations: - name: getbatchputscheduledupdategroupaction method: GET description: Amazon EC2 Auto Scaling GET_ Batch Put Scheduled Update Group Action outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: ScheduledUpdateGroupActions in: query type: array description: One or more scheduled actions. The maximum number allowed is 50. required: true - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postbatchputscheduledupdategroupaction method: POST description: Amazon EC2 Auto Scaling POST_ Batch Put Scheduled Update Group Action outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=CancelInstanceRefresh' path: /#Action=CancelInstanceRefresh operations: - name: getcancelinstancerefresh method: GET description: Amazon EC2 Auto Scaling GET_ Cancel Instance Refresh outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postcancelinstancerefresh method: POST description: Amazon EC2 Auto Scaling POST_ Cancel Instance Refresh outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=CompleteLifecycleAction' path: /#Action=CompleteLifecycleAction operations: - name: getcompletelifecycleaction method: GET description: Amazon EC2 Auto Scaling GET_ Complete Lifecycle Action outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: LifecycleHookName in: query type: string description: The name of the lifecycle hook. required: true - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: LifecycleActionToken in: query type: string description: 'A universally unique identifier (UUID) that identifies a specific lifecycle action associated with an instance. Amazon EC2 Auto Scaling sends this token to the ' - name: LifecycleActionResult in: query type: string description: The action for the group to take. You can specify either CONTINUE or ABANDON. required: true - name: InstanceId in: query type: string description: The ID of the instance. - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postcompletelifecycleaction method: POST description: Amazon EC2 Auto Scaling POST_ Complete Lifecycle Action outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=CreateAutoScalingGroup' path: /#Action=CreateAutoScalingGroup operations: - name: getcreateautoscalinggroup method: GET description: Amazon EC2 Auto Scaling GET_ Create Auto Scaling Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: AutoScalingGroupName in: query type: string description:

The name of the Auto Scaling group. This name must be unique per Region per account.

The name can contain any ASCII character 33 to 126 including most required: true - name: LaunchConfigurationName in: query type: string description: '

The name of the launch configuration to use to launch instances.

Conditional: You must specify either a launch template (LaunchTemplate ' - name: LaunchTemplate in: query type: object description: '

Information used to specify the launch template and version to use to launch instances.

Conditional: You must specify either a launch template (VPCZoneIde - name: TerminationPolicies in: query type: array description:

A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more infor - name: NewInstancesProtectedFromScaleIn in: query type: boolean description: Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing inst - name: CapacityRebalance in: query type: boolean description: Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you turn on Capacity Rebalancing, Amazon EC2 Auto Scaling a - name: LifecycleHookSpecificationList in: query type: array description: One or more lifecycle hooks to add to the Auto Scaling group before instances are launched. - name: Tags in: query type: array description: One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it launches. Tags are not propagated to Amazon EBS volu - name: ServiceLinkedRoleARN in: query type: string description: The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other Amazon Web Services service on your behalf. By default, - name: MaxInstanceLifetime in: query type: integer description: The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to o - name: Context in: query type: string description: Reserved. - name: DesiredCapacityType in: query type: string description:

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based i - name: DefaultInstanceWarmup in: query type: integer description:

The amount of time, in seconds, until a new instance is considered to have finished initializing and resource consumption to become stable after it enters th - name: TrafficSources in: query type: array description: 'The list of traffic sources to attach to this Auto Scaling group. You can use any of the following as traffic sources for an Auto Scaling group: Classic Load Ba' - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postcreateautoscalinggroup method: POST description: Amazon EC2 Auto Scaling POST_ Create Auto Scaling Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=CreateLaunchConfiguration' path: /#Action=CreateLaunchConfiguration operations: - name: getcreatelaunchconfiguration method: GET description: Amazon EC2 Auto Scaling GET_ Create Launch Configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: LaunchConfigurationName in: query type: string description: The name of the launch configuration. This name must be unique per Region per account. required: true - name: ImageId in: query type: string description:

The ID of the Amazon Machine Image (AMI) that was assigned during registration. For more information, see Amazon EC2 key pairs and Li - name: SecurityGroups in: query type: array description: A list that contains the security group IDs to assign to the instances in the Auto Scaling group. For more information, see The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, except for the block dev - name: InstanceType in: query type: string description:

Specifies the instance type of the EC2 instance. For information about available instance types, see Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

The default value is - name: SpotPrice in: query type: string description:

The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the - name: IamInstanceProfile in: query type: string description: The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role. Fo - name: EbsOptimized in: query type: boolean description:

Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). The optimization provides dedicated thro - name: AssociatePublicIpAddress in: query type: boolean description:

Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a pub - name: PlacementTenancy in: query type: string description:

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single- - name: MetadataOptions in: query type: object description: The metadata options for the instances. For more information, see A predictive scaling policy. Provides support for predefined and custom metrics.

Predefined metrics include CPU utilization, network in/out, and the A - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postputscalingpolicy method: POST description: Amazon EC2 Auto Scaling POST_ Put Scaling Policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=PutScheduledUpdateGroupAction' path: /#Action=PutScheduledUpdateGroupAction operations: - name: getputscheduledupdategroupaction method: GET description: Amazon EC2 Auto Scaling GET_ Put Scheduled Update Group Action outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: ScheduledActionName in: query type: string description: The name of this scaling action. required: true - name: Time in: query type: string description: This property is no longer used. - name: StartTime in: query type: string description:

The date and time for this action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT only and in quotes (for example, "2021-06-01T00:00:00Z").< - name: EndTime in: query type: string description: The date and time for the recurring schedule to end, in UTC. For example, "2021-06-01T00:00:00Z". - name: Recurrence in: query type: string description: '

The recurring schedule for this action. This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of' - name: MinSize in: query type: integer description: The minimum size of the Auto Scaling group. - name: MaxSize in: query type: integer description: The maximum size of the Auto Scaling group. - name: DesiredCapacity in: query type: integer description:

The desired capacity is the initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain. It can scale - name: TimeZone in: query type: string description:

Specifies the time zone for a cron expression. If a time zone is not provided, UTC is used by default.

Valid values are the canonical names of the IA - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postputscheduledupdategroupaction method: POST description: Amazon EC2 Auto Scaling POST_ Put Scheduled Update Group Action outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=PutWarmPool' path: /#Action=PutWarmPool operations: - name: getputwarmpool method: GET description: Amazon EC2 Auto Scaling GET_ Put Warm Pool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: MaxGroupPreparedCapacity in: query type: integer description: '

Specifies the maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group. ' - name: MinSize in: query type: integer description: Specifies the minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances avail - name: PoolState in: query type: string description: Sets the instance state to transition to after the lifecycle actions are complete. Default is Stopped. - name: InstanceReusePolicy in: query type: object description: Indicates 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 gr - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postputwarmpool method: POST description: Amazon EC2 Auto Scaling POST_ Put Warm Pool outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=RecordLifecycleActionHeartbeat' path: /#Action=RecordLifecycleActionHeartbeat operations: - name: getrecordlifecycleactionheartbeat method: GET description: Amazon EC2 Auto Scaling GET_ Record Lifecycle Action Heartbeat outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: LifecycleHookName in: query type: string description: The name of the lifecycle hook. required: true - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: LifecycleActionToken in: query type: string description: A token that uniquely identifies a specific lifecycle action associated with an instance. Amazon EC2 Auto Scaling sends this token to the notification target th - name: InstanceId in: query type: string description: The ID of the instance. - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: postrecordlifecycleactionheartbeat method: POST description: Amazon EC2 Auto Scaling POST_ Record Lifecycle Action Heartbeat outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Action in: query type: string required: true - name: Version in: query type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: '#Action=ResumeProcesses' path: /#Action=ResumeProcesses operations: - name: getresumeprocesses method: GET description: Amazon EC2 Auto Scaling GET_ Resume Processes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: AutoScalingGroupName in: query type: string description: The name of the Auto Scaling group. required: true - name: ScalingProcesses in: query type: array description:

One or more of the following processes: