aws.sns-subscription

Filters

topic

Filters subscriptons based on topic properties

example:

Identify subscriptions pointing to a topic that no longer exists. Note that this policy also ensures that the topic is in the same account and region. For cross-account subscriptions, Custodian can’t see if the topics still exist.

policies:
  - name: sns-subscription-topic
    resource: sns-subscription
    filters:
      - type: value
        key: TopicArn
        op: glob
        value: "arn:aws:sns:{region}:{account_id}:*"
      - type: topic
        key: TopicArn
        value: absent
properties:
  default:
    type: object
  key:
    type: string
  op:
    enum:
    - eq
    - equal
    - ne
    - not-equal
    - gt
    - greater-than
    - ge
    - gte
    - le
    - lte
    - lt
    - less-than
    - glob
    - regex
    - regex-case
    - in
    - ni
    - not-in
    - contains
    - difference
    - intersect
    - mod
  type:
    enum:
    - topic
  value:
    oneOf:
    - type: array
    - type: string
    - type: boolean
    - type: number
    - type: 'null'
  value_from:
    additionalProperties: 'False'
    properties:
      expr:
        oneOf:
        - type: integer
        - type: string
      format:
        enum:
        - csv
        - json
        - txt
        - csv2dict
      headers:
        patternProperties:
          ? ''
          : type: string
        type: object
      query:
        type: string
      url:
        type: string
    required:
    - url
    type: object
  value_path:
    type: string
  value_regex:
    type: string
  value_type:
    enum:
    - age
    - integer
    - expiration
    - normalize
    - size
    - cidr
    - cidr_size
    - swap
    - resource_count
    - expr
    - unique_size
    - date
    - version
    - float
required:
- type

Permissions - sns:ListTopics, tag:GetResources, sns:ListTagsForResource, sns:GetTopicAttributes, sns:ListTagsForResource

Actions

delete

Action to delete a subscription

example:

policies:
  - name: external-owner-delete
    resource: sns-subscription
    filters:
      - type: value
        key: "Owner"
        value: "{account_id}"
        op: ne
    actions:
      - type: delete
properties:
  type:
    enum:
    - delete
required:
- type

Permissions - sns:Unsubscribe