Auto Scaling Groups (ASG)¶
Filters¶
Standard Value Filter (see Generic Filters)
security-groupFilter 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
subnetFilter 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-configFilter 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
validFilters ASG’s to find those that are structurally valid.
Schema:
additionalProperties: false properties: type: enum: - valid required: - type type: object
invalidFilters ASG’s to find those that are structurally invalid.
Schema:
additionalProperties: false properties: type: enum: - invalid required: - type type: object
not-encryptedCheck 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-ageFilter 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
imageFilter 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-idFilters 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-tagsFilter 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-deltaFilter returns ASG that have less instances than desired or required
Schema:
additionalProperties: false properties: type: enum: - capacity-delta required: - type type: object
user-dataFilter 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
offhourorOffHourTurn 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
onhouroronhourTurn 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-trimTrim 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
resizeResize 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-tagoruntagorunmarkRemoves 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
tagormarkCreate 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-tagsPropagate 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-tagRename 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-opTag 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
suspendMultistep 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
resumeMulti-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
deleteDelete ASG.
Schema:
additionalProperties: false properties: force: type: boolean type: enum: - delete required: - type type: object
Launch Configs¶
deleteDelete a launch configuration.
Schema:
additionalProperties: false properties: force: type: boolean type: enum: - delete required: - type type: object