CloudFront / Client / create_invalidation

create_invalidation#

CloudFront.Client.create_invalidation(**kwargs)#

Create a new invalidation. For more information, see Invalidating files in the Amazon CloudFront Developer Guide.

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