Auto Scaling Groups (ASG)

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 or OffHour

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 or onhour

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 or untag or unmark

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 or mark

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