Auto Scaling Groups (ASG)¶
Filters¶
Standard Value Filter (see Generic Filters)
security-group
Filter for ASG’s that have a certain security group.
Schema:
additionalProperties: false properties: default: type: object key: type: string match-resource: type: boolean op: $ref: '#/definitions/filters_common/comparison_operators' operator: enum: - and - or type: enum: - security-group value: $ref: '#/definitions/filters_common/value' value_from: $ref: '#/definitions/filters_common/value_from' value_regex: type: string value_type: $ref: '#/definitions/filters_common/value_types' required: - type type: object
subnet
Filter on ASG’s
Schema:
additionalProperties: false properties: default: type: object key: type: string match-resource: type: boolean op: $ref: '#/definitions/filters_common/comparison_operators' operator: enum: - and - or type: enum: - subnet value: $ref: '#/definitions/filters_common/value' value_from: $ref: '#/definitions/filters_common/value_from' value_regex: type: string value_type: $ref: '#/definitions/filters_common/value_types' required: - type type: object
launch-config
Filter ASG by launch config attributes.
Schema:
additionalProperties: false properties: default: type: object key: type: string op: $ref: '#/definitions/filters_common/comparison_operators' type: enum: - launch-config value: $ref: '#/definitions/filters_common/value' value_from: $ref: '#/definitions/filters_common/value_from' value_regex: type: string value_type: $ref: '#/definitions/filters_common/value_types' required: - type type: object
valid
Filters ASG’s to find those that are structurally valid.
Schema:
additionalProperties: false properties: type: enum: - valid required: - type type: object
invalid
Filters ASG’s to find those that are structurally invalid.
Schema:
additionalProperties: false properties: type: enum: - invalid required: - type type: object
not-encrypted
Check if an ASG is configured to have unencrypted volumes.
Schema:
additionalProperties: false properties: exclude_image: type: boolean type: enum: - not-encrypted required: - type type: object
image-age
Filter ASG by image age (in days). Deprecated use image
Schema:
additionalProperties: false properties: days: type: number op: $ref: '#/definitions/filters_common/comparison_operators' type: enum: - image-age required: - type type: object
image
Filter by ASG image
Schema:
additionalProperties: false properties: default: type: object key: type: string op: $ref: '#/definitions/filters_common/comparison_operators' type: enum: - image value: $ref: '#/definitions/filters_common/value' value_from: $ref: '#/definitions/filters_common/value_from' value_regex: type: string value_type: $ref: '#/definitions/filters_common/value_types' required: - type type: object
vpc-id
Filters ASG based on the VpcId
Schema:
additionalProperties: false properties: default: type: object op: $ref: '#/definitions/filters_common/comparison_operators' type: enum: - vpc-id value: $ref: '#/definitions/filters_common/value' value_from: $ref: '#/definitions/filters_common/value_from' value_regex: type: string value_type: $ref: '#/definitions/filters_common/value_types' required: - type type: object
progagated-tags
Filter ASG based on propagated tags
Schema:
additionalProperties: false properties: keys: items: type: string type: array match: type: boolean propagate: type: boolean type: enum: - progagated-tags - propagated-tags required: - type type: object
capacity-delta
Filter returns ASG that have less instances than desired or required
Schema:
additionalProperties: false properties: type: enum: - capacity-delta required: - type type: object
user-data
Filter for ASG’s with launch configs containing user data matching the value given.
Schema:
additionalProperties: false properties: default: type: object key: type: string op: $ref: '#/definitions/filters_common/comparison_operators' type: enum: - user-data value: $ref: '#/definitions/filters_common/value' value_from: $ref: '#/definitions/filters_common/value_from' value_regex: type: string value_type: $ref: '#/definitions/filters_common/value_types' required: - type type: object
offhour
orOffHour
Turn resources off based on a schedule.
Schema:
additionalProperties: false properties: default_tz: type: string offhour: maximum: 23 minimum: 0 type: integer opt-out: type: boolean skip-days: items: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2} type: string type: array skip-days-from: additionalProperties: 'False' properties: expr: oneOf: - type: integer - type: string format: enum: - csv - json - txt - csv2dict url: type: string required: - url type: object tag: type: string type: enum: - offhour weekends: type: boolean weekends-only: type: boolean required: - offhour - default_tz - type type: object
onhour
oronhour
Turn resources on based on a schedule.
Schema:
additionalProperties: false properties: default_tz: type: string onhour: maximum: 23 minimum: 0 type: integer opt-out: type: boolean skip-days: items: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2} type: string type: array skip-days-from: additionalProperties: 'False' properties: expr: oneOf: - type: integer - type: string format: enum: - csv - json - txt - csv2dict url: type: string required: - url type: object tag: type: string type: enum: - onhour weekends: type: boolean weekends-only: type: boolean required: - onhour - default_tz - type type: object
Actions¶
tag-trim
Trim the number of tags to avoid hitting tag limits.
Schema:
additionalProperties: false properties: preserve: items: type: string type: array space: type: integer type: enum: - tag-trim required: - type type: object
resize
Resize the min/max/desired instances in an ASG.
Schema:
additionalProperties: false properties: desired-size: anyOf: - enum: - current - minimum: 0 type: integer desired_size: anyOf: - enum: - current - minimum: 0 type: integer max-size: minimum: 0 type: integer min-size: minimum: 0 type: integer restore-options-tag: type: string save-options-tag: type: string type: enum: - resize required: - type type: object
remove-tag
oruntag
orunmark
Removes tag from ASG.
Schema:
additionalProperties: false properties: key: type: string tags: items: type: string type: array type: enum: - remove-tag - untag - unmark required: - type type: object
tag
ormark
Create or update tag on ASG.
Schema:
additionalProperties: false properties: key: type: string msg: type: string propagate: type: boolean tag: type: string tags: type: object type: enum: - tag - mark value: type: string required: - type type: object
propagate-tags
Propagate tags to an ASG instances. In AWS changing an ASG tag does not propagate to instances. This action exists to do that, and can also trim older tags not present on the ASG anymore that are still present on instances.
Schema:
additionalProperties: false properties: tags: items: type: string type: array trim: type: boolean type: enum: - propagate-tags required: - type type: object
rename-tag
Rename a tag on an AutoScaleGroup.
Schema:
additionalProperties: false properties: dest: type: string propagate: type: boolean source: type: string type: enum: - rename-tag required: - source - dest - type type: object
mark-for-op
Tag ASG for an operation.
Schema:
additionalProperties: false properties: days: minimum: 0 type: number hours: minimum: 0 type: number key: type: string message: type: string op: type: string tag: type: string type: enum: - mark-for-op tz: type: string required: - type type: object
suspend
Multistep process to stop an ASG. Suspend processes, note load balancer in tag, detach load balancer, and then stop instances.
Schema:
additionalProperties: false properties: exclude: items: enum: - Launch - Terminate - HealthCheck - ReplaceUnhealthy - AZRebalance - AlarmNotification - ScheduledActions - AddToLoadBalancer title: ASG Processes to not suspend type: array type: enum: - suspend required: - type type: object
resume
Multi-step process to resume an ASG. Start any stopped EC2 instances, reattach ELB, and resume ASG processes.
Schema:
additionalProperties: false properties: delay: type: number type: enum: - resume required: - type type: object
delete
Delete ASG.
Schema:
additionalProperties: false properties: force: type: boolean type: enum: - delete required: - type type: object
Launch Configs¶
delete
Delete a launch configuration.
Schema:
additionalProperties: false properties: force: type: boolean type: enum: - delete required: - type type: object