create_invalidation

CloudFront.Client.create_invalidation(**kwargs)

Create a new invalidation.

See also: AWS API Documentation

Request Syntax

response = client.create_invalidation(
    DistributionId='string',
    InvalidationBatch={
        'Paths': {
            'Quantity': 123,
            'Items': [
                'string',
            ]
        },
        'CallerReference': 'string'
    }
)
Parameters
  • DistributionId (string) --

    [REQUIRED]

    The distribution's id.

  • InvalidationBatch (dict) --

    [REQUIRED]

    The batch information for the invalidation.

    • Paths (dict) -- [REQUIRED]

      A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide .

      • Quantity (integer) -- [REQUIRED]

        The number of invalidation paths specified for the objects that you want to invalidate.

      • Items (list) --

        A complex type that contains a list of the paths that you want to invalidate.

        • (string) --
    • CallerReference (string) -- [REQUIRED]

      A value that you specify to uniquely identify an invalidation request. CloudFront uses the value to prevent you from accidentally resubmitting an identical request. Whenever you create a new invalidation request, you must specify a new value for CallerReference and change other values in the request as applicable. One way to ensure that the value of CallerReference is unique is to use a timestamp , for example, 20120301090000 .

      If you make a second invalidation request with the same value for CallerReference , and if the rest of the request is the same, CloudFront doesn't create a new invalidation request. Instead, CloudFront returns information about the invalidation request that you previously created with the same CallerReference .

      If CallerReference is a value you already sent in a previous invalidation batch request but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.

Return type

dict

Returns

Response Syntax

{
    'Location': 'string',
    'Invalidation': {
        'Id': 'string',
        'Status': 'string',
        'CreateTime': datetime(2015, 1, 1),
        'InvalidationBatch': {
            'Paths': {
                'Quantity': 123,
                'Items': [
                    'string',
                ]
            },
            'CallerReference': 'string'
        }
    }
}

Response Structure

  • (dict) --

    The returned result of the corresponding request.

    • Location (string) --

      The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID .

    • Invalidation (dict) --

      The invalidation's information.

      • Id (string) --

        The identifier for the invalidation request. For example: IDFDVBD632BHDS5 .

      • Status (string) --

        The status of the invalidation request. When the invalidation batch is finished, the status is Completed .

      • CreateTime (datetime) --

        The date and time the invalidation request was first made.

      • InvalidationBatch (dict) --

        The current invalidation information for the batch request.

        • Paths (dict) --

          A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide .

          • Quantity (integer) --

            The number of invalidation paths specified for the objects that you want to invalidate.

          • Items (list) --

            A complex type that contains a list of the paths that you want to invalidate.

            • (string) --
        • CallerReference (string) --

          A value that you specify to uniquely identify an invalidation request. CloudFront uses the value to prevent you from accidentally resubmitting an identical request. Whenever you create a new invalidation request, you must specify a new value for CallerReference and change other values in the request as applicable. One way to ensure that the value of CallerReference is unique is to use a timestamp , for example, 20120301090000 .

          If you make a second invalidation request with the same value for CallerReference , and if the rest of the request is the same, CloudFront doesn't create a new invalidation request. Instead, CloudFront returns information about the invalidation request that you previously created with the same CallerReference .

          If CallerReference is a value you already sent in a previous invalidation batch request but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.

Exceptions

  • CloudFront.Client.exceptions.AccessDenied
  • CloudFront.Client.exceptions.MissingBody
  • CloudFront.Client.exceptions.InvalidArgument
  • CloudFront.Client.exceptions.NoSuchDistribution
  • CloudFront.Client.exceptions.BatchTooLarge
  • CloudFront.Client.exceptions.TooManyInvalidationsInProgress
  • CloudFront.Client.exceptions.InconsistentQuantities