@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Auto Scaling
@version 2011-01-01
@auth AWS SigV4
@endpoints 65
@hint download_for_search
@toc root(65)

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {InstanceIds: [str]}

@endpoint POST /
@required {AutoScalingGroupName: str, TargetGroupARNs: [str]}

@endpoint POST /
@required {AutoScalingGroupName: str, LoadBalancerNames: [str]}

@endpoint POST /
@required {AutoScalingGroupName: str, TrafficSources: [TrafficSourceIdentifier]}

@endpoint POST /
@required {AutoScalingGroupName: str, ScheduledActionNames: [str]}
@returns(200) {FailedScheduledActions: [FailedScheduledUpdateGroupActionRequest]?}

@endpoint POST /
@required {AutoScalingGroupName: str, ScheduledUpdateGroupActions: [ScheduledUpdateGroupActionRequest]}
@returns(200) {FailedScheduledUpdateGroupActions: [FailedScheduledUpdateGroupActionRequest]?}

@endpoint POST /
@required {AutoScalingGroupName: str}
@returns(200) {InstanceRefreshId: str?}

@endpoint POST /
@required {LifecycleHookName: str, AutoScalingGroupName: str, LifecycleActionResult: str}
@optional {LifecycleActionToken: str, InstanceId: str}

@endpoint POST /
@required {AutoScalingGroupName: str, MinSize: int, MaxSize: int}
@optional {LaunchConfigurationName: str, LaunchTemplate: LaunchTemplateSpecification, MixedInstancesPolicy: MixedInstancesPolicy, InstanceId: str, DesiredCapacity: int, DefaultCooldown: int, AvailabilityZones: [str], LoadBalancerNames: [str], TargetGroupARNs: [str], HealthCheckType: str, HealthCheckGracePeriod: int, PlacementGroup: str, VPCZoneIdentifier: str, TerminationPolicies: [str], NewInstancesProtectedFromScaleIn: bool, CapacityRebalance: bool, LifecycleHookSpecificationList: [LifecycleHookSpecification], Tags: [Tag], ServiceLinkedRoleARN: str, MaxInstanceLifetime: int, Context: str, DesiredCapacityType: str, DefaultInstanceWarmup: int, TrafficSources: [TrafficSourceIdentifier], InstanceMaintenancePolicy: InstanceMaintenancePolicy}

@endpoint POST /
@required {LaunchConfigurationName: str}
@optional {ImageId: str, KeyName: str, SecurityGroups: [str], ClassicLinkVPCId: str, ClassicLinkVPCSecurityGroups: [str], UserData: str, InstanceId: str, InstanceType: str, KernelId: str, RamdiskId: str, BlockDeviceMappings: [BlockDeviceMapping], InstanceMonitoring: InstanceMonitoring, SpotPrice: str, IamInstanceProfile: str, EbsOptimized: bool, AssociatePublicIpAddress: bool, PlacementTenancy: str, MetadataOptions: InstanceMetadataOptions}

@endpoint POST /
@required {Tags: [Tag]}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {ForceDelete: bool}

@endpoint POST /
@required {LaunchConfigurationName: str}

@endpoint POST /
@required {LifecycleHookName: str, AutoScalingGroupName: str}

@endpoint POST /
@required {AutoScalingGroupName: str, TopicARN: str}

@endpoint POST /
@required {PolicyName: str}
@optional {AutoScalingGroupName: str}

@endpoint POST /
@required {AutoScalingGroupName: str, ScheduledActionName: str}

@endpoint POST /
@required {Tags: [Tag]}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {ForceDelete: bool}

@endpoint POST /
@returns(200) {MaxNumberOfAutoScalingGroups: int?, MaxNumberOfLaunchConfigurations: int?, NumberOfAutoScalingGroups: int?, NumberOfLaunchConfigurations: int?}

@endpoint POST /
@returns(200) {AdjustmentTypes: [AdjustmentType]?}

@endpoint POST /
@optional {AutoScalingGroupNames: [str], NextToken: str, MaxRecords: int, Filters: [Filter]}
@returns(200) {AutoScalingGroups: [AutoScalingGroup], NextToken: str?}

@endpoint POST /
@optional {InstanceIds: [str], MaxRecords: int, NextToken: str}
@returns(200) {AutoScalingInstances: [AutoScalingInstanceDetails]?, NextToken: str?}

@endpoint POST /
@returns(200) {AutoScalingNotificationTypes: [str]?}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {InstanceRefreshIds: [str], NextToken: str, MaxRecords: int}
@returns(200) {InstanceRefreshes: [InstanceRefresh]?, NextToken: str?}

@endpoint POST /
@optional {LaunchConfigurationNames: [str], NextToken: str, MaxRecords: int}
@returns(200) {LaunchConfigurations: [LaunchConfiguration], NextToken: str?}

@endpoint POST /
@returns(200) {LifecycleHookTypes: [str]?}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {LifecycleHookNames: [str]}
@returns(200) {LifecycleHooks: [LifecycleHook]?}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {NextToken: str, MaxRecords: int}
@returns(200) {LoadBalancerTargetGroups: [LoadBalancerTargetGroupState]?, NextToken: str?}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {NextToken: str, MaxRecords: int}
@returns(200) {LoadBalancers: [LoadBalancerState]?, NextToken: str?}

@endpoint POST /
@returns(200) {Metrics: [MetricCollectionType]?, Granularities: [MetricGranularityType]?}

@endpoint POST /
@optional {AutoScalingGroupNames: [str], NextToken: str, MaxRecords: int}
@returns(200) {NotificationConfigurations: [NotificationConfiguration], NextToken: str?}

@endpoint POST /
@optional {AutoScalingGroupName: str, PolicyNames: [str], PolicyTypes: [str], NextToken: str, MaxRecords: int}
@returns(200) {ScalingPolicies: [ScalingPolicy]?, NextToken: str?}

@endpoint POST /
@optional {ActivityIds: [str], AutoScalingGroupName: str, IncludeDeletedGroups: bool, MaxRecords: int, NextToken: str}
@returns(200) {Activities: [Activity], NextToken: str?}

@endpoint POST /
@returns(200) {Processes: [ProcessType]?}

@endpoint POST /
@optional {AutoScalingGroupName: str, ScheduledActionNames: [str], StartTime: str(timestamp), EndTime: str(timestamp), NextToken: str, MaxRecords: int}
@returns(200) {ScheduledUpdateGroupActions: [ScheduledUpdateGroupAction]?, NextToken: str?}

@endpoint POST /
@optional {Filters: [Filter], NextToken: str, MaxRecords: int}
@returns(200) {Tags: [TagDescription]?, NextToken: str?}

@endpoint POST /
@returns(200) {TerminationPolicyTypes: [str]?}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {TrafficSourceType: str, NextToken: str, MaxRecords: int}
@returns(200) {TrafficSources: [TrafficSourceState]?, NextToken: str?}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {MaxRecords: int, NextToken: str}
@returns(200) {WarmPoolConfiguration: WarmPoolConfiguration?{MaxGroupPreparedCapacity: int?, MinSize: int?, PoolState: str?, Status: str?, InstanceReusePolicy: InstanceReusePolicy?{ReuseOnScaleIn: bool?}}, Instances: [Instance]?, NextToken: str?}

@endpoint POST /
@required {AutoScalingGroupName: str, ShouldDecrementDesiredCapacity: bool}
@optional {InstanceIds: [str]}
@returns(200) {Activities: [Activity]?}

@endpoint POST /
@required {AutoScalingGroupName: str, TargetGroupARNs: [str]}

@endpoint POST /
@required {AutoScalingGroupName: str, LoadBalancerNames: [str]}

@endpoint POST /
@required {AutoScalingGroupName: str, TrafficSources: [TrafficSourceIdentifier]}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {Metrics: [str]}

@endpoint POST /
@required {AutoScalingGroupName: str, Granularity: str}
@optional {Metrics: [str]}

@endpoint POST /
@required {AutoScalingGroupName: str, ShouldDecrementDesiredCapacity: bool}
@optional {InstanceIds: [str]}
@returns(200) {Activities: [Activity]?}

@endpoint POST /
@required {PolicyName: str}
@optional {AutoScalingGroupName: str, HonorCooldown: bool, MetricValue: num(f64), BreachThreshold: num(f64)}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {InstanceIds: [str]}
@returns(200) {Activities: [Activity]?}

@endpoint POST /
@required {AutoScalingGroupName: str, PolicyName: str, StartTime: str(timestamp), EndTime: str(timestamp)}
@returns(200) {LoadForecast: [LoadForecast], CapacityForecast: CapacityForecast{Timestamps: [str(timestamp)], Values: [num(f64)]}, UpdateTime: str(timestamp)}

@endpoint POST /
@required {LifecycleHookName: str, AutoScalingGroupName: str}
@optional {LifecycleTransition: str, RoleARN: str, NotificationTargetARN: str, NotificationMetadata: str, HeartbeatTimeout: int, DefaultResult: str}

@endpoint POST /
@required {AutoScalingGroupName: str, TopicARN: str, NotificationTypes: [str]}

@endpoint POST /
@required {AutoScalingGroupName: str, PolicyName: str}
@optional {PolicyType: str, AdjustmentType: str, MinAdjustmentStep: int, MinAdjustmentMagnitude: int, ScalingAdjustment: int, Cooldown: int, MetricAggregationType: str, StepAdjustments: [StepAdjustment], EstimatedInstanceWarmup: int, TargetTrackingConfiguration: TargetTrackingConfiguration, Enabled: bool, PredictiveScalingConfiguration: PredictiveScalingConfiguration}
@returns(200) {PolicyARN: str?, Alarms: [Alarm]?}

@endpoint POST /
@required {AutoScalingGroupName: str, ScheduledActionName: str}
@optional {Time: str(timestamp), StartTime: str(timestamp), EndTime: str(timestamp), Recurrence: str, MinSize: int, MaxSize: int, DesiredCapacity: int, TimeZone: str}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {MaxGroupPreparedCapacity: int, MinSize: int, PoolState: str, InstanceReusePolicy: InstanceReusePolicy}

@endpoint POST /
@required {LifecycleHookName: str, AutoScalingGroupName: str}
@optional {LifecycleActionToken: str, InstanceId: str}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {ScalingProcesses: [str]}

@endpoint POST /
@required {AutoScalingGroupName: str}
@returns(200) {InstanceRefreshId: str?}

@endpoint POST /
@required {AutoScalingGroupName: str, DesiredCapacity: int}
@optional {HonorCooldown: bool}

@endpoint POST /
@required {InstanceId: str, HealthStatus: str}
@optional {ShouldRespectGracePeriod: bool}

@endpoint POST /
@required {InstanceIds: [str], AutoScalingGroupName: str, ProtectedFromScaleIn: bool}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {Strategy: str, DesiredConfiguration: DesiredConfiguration, Preferences: RefreshPreferences}
@returns(200) {InstanceRefreshId: str?}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {ScalingProcesses: [str]}

@endpoint POST /
@required {InstanceId: str, ShouldDecrementDesiredCapacity: bool}
@returns(200) {Activity: Activity?{ActivityId: str, AutoScalingGroupName: str, Description: str?, Cause: str, StartTime: str(timestamp), EndTime: str(timestamp)?, StatusCode: str, StatusMessage: str?, Progress: int?, Details: str?, AutoScalingGroupState: str?, AutoScalingGroupARN: str?}}

@endpoint POST /
@required {AutoScalingGroupName: str}
@optional {LaunchConfigurationName: str, LaunchTemplate: LaunchTemplateSpecification, MixedInstancesPolicy: MixedInstancesPolicy, MinSize: int, MaxSize: int, DesiredCapacity: int, DefaultCooldown: int, AvailabilityZones: [str], HealthCheckType: str, HealthCheckGracePeriod: int, PlacementGroup: str, VPCZoneIdentifier: str, TerminationPolicies: [str], NewInstancesProtectedFromScaleIn: bool, ServiceLinkedRoleARN: str, MaxInstanceLifetime: int, CapacityRebalance: bool, Context: str, DesiredCapacityType: str, DefaultInstanceWarmup: int, InstanceMaintenancePolicy: InstanceMaintenancePolicy}

@end
