ansible.builtin.cloudfront_invalidation (v2.9.17) — module

create invalidations for aws cloudfront distributions

| "added in version" 2.5 of ansible.builtin"

Authors: Willem van Ketwich (@wilvk)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.9.17

Description

Allows for invalidation of a batch of paths for a CloudFront distribution.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.

- name: create a batch of invalidations using a distribution_id for a reference
  cloudfront_invalidation:
    distribution_id: E15BU8SDCGSG57
    caller_reference: testing 123
    target_paths:
      - /testpathone/test1.css
      - /testpathtwo/test2.js
      - /testpaththree/test3.ss
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: create a batch of invalidations using an alias as a reference and one path using a wildcard match
  cloudfront_invalidation:
    alias: alias.test.com
    caller_reference: testing 123
    target_paths:
      - /testpathone/test4.css
      - /testpathtwo/test5.js
      - /testpaththree/*

Inputs

    
alias:
    description:
    - The alias of the cloudfront distribution to invalidate paths for. Can be specified
      instead of distribution_id.
    required: false

region:
    aliases:
    - aws_region
    - ec2_region
    description:
    - The AWS region to use. If not specified then the value of the AWS_REGION or EC2_REGION
      environment variable, if any, is used. See U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region)
    type: str

ec2_url:
    aliases:
    - aws_endpoint_url
    - endpoint_url
    description:
    - URL to use to connect to EC2 or your Eucalyptus cloud (by default the module will
      use EC2 endpoints). Ignored for modules where region is required. Must be specified
      for all other modules if region is not used. If not set then the value of the EC2_URL
      environment variable, if any, is used.
    type: str

profile:
    aliases:
    - aws_profile
    description:
    - Using I(profile) will override I(aws_access_key), I(aws_secret_key) and I(security_token)
      and support for passing them at the same time as I(profile) has been deprecated.
    - I(aws_access_key), I(aws_secret_key) and I(security_token) will be made mutually
      exclusive with I(profile) after 2022-06-01.
    type: str

aws_config:
    description:
    - A dictionary to modify the botocore configuration.
    - Parameters can be found at U(https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config).
    - Only the 'user_agent' key is used for boto modules. See U(http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto)
      for more boto configuration.
    type: dict

target_paths:
    description:
    - A list of paths on the distribution to invalidate. Each path should begin with '/'.
      Wildcards are allowed. eg. '/foo/bar/*'
    required: true

aws_ca_bundle:
    description:
    - The location of a CA Bundle to use when validating SSL certificates.
    - Not used by boto 2 based modules.
    - 'Note: The CA Bundle is read ''module'' side and may need to be explicitly copied
      from the controller if not run locally.'
    type: path

aws_access_key:
    aliases:
    - ec2_access_key
    - access_key
    description:
    - C(AWS access key). If not set then the value of the C(AWS_ACCESS_KEY_ID), C(AWS_ACCESS_KEY)
      or C(EC2_ACCESS_KEY) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(aws_access_key) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

aws_secret_key:
    aliases:
    - ec2_secret_key
    - secret_key
    description:
    - C(AWS secret key). If not set then the value of the C(AWS_SECRET_ACCESS_KEY), C(AWS_SECRET_KEY),
      or C(EC2_SECRET_KEY) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(aws_secret_key) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

security_token:
    aliases:
    - aws_security_token
    - access_token
    description:
    - C(AWS STS security token). If not set then the value of the C(AWS_SECURITY_TOKEN)
      or C(EC2_SECURITY_TOKEN) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(security_token) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

validate_certs:
    default: true
    description:
    - When set to "no", SSL certificates will not be validated for communication with
      the AWS APIs.
    type: bool

distribution_id:
    description:
    - The id of the cloudfront distribution to invalidate paths for. Can be specified
      instead of the alias.
    required: false

caller_reference:
    default: current datetime stamp
    description:
    - A unique reference identifier for the invalidation paths.
    required: false

debug_botocore_endpoint_logs:
    default: 'no'
    description:
    - Use a botocore.endpoint logger to parse the unique (rather than total) "resource:action"
      API calls made during a task, outputing the set to the resource_actions key in the
      task results. Use the aws_resource_action callback to output to total list made
      during a playbook. The ANSIBLE_DEBUG_BOTOCORE_LOGS environment variable may also
      be used.
    type: bool

Outputs

invalidation:
  contains:
    create_time:
      description: The date and time the invalidation request was first made.
      returned: always
      sample: '2018-02-01T15:50:41.159000+00:00'
      type: str
    id:
      description: The identifier for the invalidation request.
      returned: always
      sample: I2G9MOWJZFV612
      type: str
    invalidation_batch:
      contains:
        caller_reference:
          description: The value used to uniquely identify an invalidation request.
          returned: always
          sample: testing 123
          type: str
        paths:
          contains:
            items:
              description: A list of the paths that you want to invalidate.
              returned: always
              sample:
              - /testpathtwo/test2.js
              - /testpathone/test1.css
              - /testpaththree/test3.ss
              type: list
            quantity:
              description: The number of objects that you want to invalidate.
              returned: always
              sample: 3
              type: int
          description: A dict that contains information about the objects that you
            want to invalidate.
          returned: always
          type: complex
      description: The current invalidation information for the batch request.
      returned: always
      type: complex
    status:
      description: The status of the invalidation request.
      returned: always
      sample: Completed
      type: str
  description: The invalidation's information.
  returned: always
  type: complex
location:
  description: The fully qualified URI of the distribution and invalidation batch
    request.
  returned: always
  sample: https://cloudfront.amazonaws.com/2017-03-25/distribution/E1ZID6KZJECZY7/invalidation/I2G9MOWJZFV622
  type: str