aws.streaming-distribution
Filters
distribution-config
Check for Cloudfront streaming distribution config values
- example:
policies:
- name: streaming-distribution-logging-enabled
resource: streaming-distribution
filters:
- type: distribution-config
key: Logging.Enabled
value: true
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:
- distribution-config
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 - cloudfront:GetStreamingDistributionConfig
json-diff
Compute the diff from the current resource to a previous version.
A resource matches the filter if a diff exists between the current resource and the selected revision.
Utilizes config as a resource revision database.
Revisions can be selected by date, against the previous version, and against a locked version (requires use of is-locked filter).
properties:
selector:
enum:
- previous
- date
- locked
selector_value:
type: string
type:
enum:
- json-diff
required:
- type
Permissions - config:GetResourceConfigHistory
shield-enabled
Base class with helper methods for dealing with ARNs of resources protected by Shield
properties:
state:
type: boolean
type:
enum:
- shield-enabled
required:
- type
Permissions - shield:ListProtections
Actions
disable
Action to disable a Streaming Distribution
- example:
policies:
- name: streaming-distribution-delete
resource: streaming-distribution
filters:
- type: value
key: S3Origin.OriginAccessIdentity
value: ''
actions:
- type: disable
properties:
type:
enum:
- disable
required:
- type
Permissions - cloudfront:GetStreamingDistributionConfig, cloudfront:UpdateStreamingDistribution
rename-tag
Rename an existing tag key to a new value.
- example:
rename Application, and Bap to App, if a resource has both of the old keys then we’ll use the value specified by Application, which is based on the order of values of old_keys.
policies: - name: rename-tags-example resource: aws.log-group filters: - or: - "tag:Bap": present - "tag:Application": present actions: - type: rename-tag old_keys: [Application, Bap] new_key: App
properties:
new_key:
type: string
old_key:
type: string
old_keys:
items:
type: string
type: array
type:
enum:
- rename-tag
required:
- type
Permissions - tag:TagResources, tag:UntagResources
set-attributes
Action to update the attributes of a distribution
- example:
policies:
- name: enforce-streaming-distribution-logging
resource: streaming-distribution
filters:
- type: value
key: "Logging.Enabled"
value: false
actions:
- type: set-attributes
attributes:
Logging:
Enabled: true
Bucket: 'test-enable-logging-c7n.s3.amazonaws.com'
Prefix: ''
properties:
attributes:
type: object
type:
enum:
- set-attributes
required:
- attributes
Permissions - cloudfront:UpdateStreamingDistribution, cloudfront:GetStreamingDistributionConfig
set-shield
Enable shield protection on applicable resource.
setting sync parameter will also clear out stale shield protections for resources that no longer exist.
properties:
state:
type: boolean
sync:
type: boolean
type:
enum:
- set-shield
required:
- type
Permissions - shield:CreateProtection, shield:ListProtections