[ aws . cloudfront ]
Create a new invalidation.
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
create-invalidation
--distribution-id <value>
[--invalidation-batch <value>]
[--paths <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]
--distribution-id
(string)
The distribution’s id.
--invalidation-batch
(structure)
The batch information for the invalidation.
Paths -> (structure)
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 ofCallerReference
is unique is to use atimestamp
, 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 sameCallerReference
.If
CallerReference
is a value you already sent in a previous invalidation batch request but the content of anyPath
is different from the original request, CloudFront returns anInvalidationBatchAlreadyExists
error.
Shorthand Syntax:
Paths={Quantity=integer,Items=[string,string]},CallerReference=string
JSON Syntax:
{
"Paths": {
"Quantity": integer,
"Items": ["string", ...]
},
"CallerReference": "string"
}
--paths
(string)
The space-separated paths to be invalidated. Note: –invalidation-batch and –paths are mututally exclusive.
--cli-input-json
| --cli-input-yaml
(string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton
. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml
.
--generate-cli-skeleton
(string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input
, prints a sample input JSON that can be used as an argument for --cli-input-json
. Similarly, if provided yaml-input
it will print a sample input YAML that can be used with --cli-input-yaml
. If provided with the value output
, it validates the command inputs and returns a sample output JSON for that command.
--cli-auto-prompt
(boolean)
Automatically prompt for CLI input parameters.
See ‘aws help’ for descriptions of global parameters.
To create an invalidation for a CloudFront distribution
The following create-invalidation
example creates an invalidation for the specified files in the specified CloudFront distribution:
aws cloudfront create-invalidation \
--distribution-id EDFDVBD6EXAMPLE \
--paths "/example-path/example-file.jpg" "/example-path/example-file2.png"
Output:
{
"Location": "https://cloudfront.amazonaws.com/2019-03-26/distribution/EDFDVBD6EXAMPLE/invalidation/I1JLWSDAP8FU89",
"Invalidation": {
"Id": "I1JLWSDAP8FU89",
"Status": "InProgress",
"CreateTime": "2019-12-05T18:24:51.407Z",
"InvalidationBatch": {
"Paths": {
"Quantity": 2,
"Items": [
"/example-path/example-file2.png",
"/example-path/example-file.jpg"
]
},
"CallerReference": "cli-1575570291-670203"
}
}
}
In the previous example, the AWS CLI automatically generated a random CallerReference
. To specify your own CallerReference
, or to avoid passing the invalidation parameters as command line arguments, you can use a JSON file. The following example creates an invalidation for two files, by providing the invalidation parameters in a JSON file named inv-batch.json
:
aws cloudfront create-invalidation \
--distribution-id EDFDVBD6EXAMPLE \
--invalidation-batch file://inv-batch.json
Contents of inv-batch.json
:
{
"Paths": {
"Quantity": 2,
"Items": [
"/example-path/example-file.jpg",
"/example-path/example-file2.png"
]
},
"CallerReference": "cli-example"
}
Output:
{
"Location": "https://cloudfront.amazonaws.com/2019-03-26/distribution/EDFDVBD6EXAMPLE/invalidation/I2J0I21PCUYOIK",
"Invalidation": {
"Id": "I2J0I21PCUYOIK",
"Status": "InProgress",
"CreateTime": "2019-12-05T18:40:49.413Z",
"InvalidationBatch": {
"Paths": {
"Quantity": 2,
"Items": [
"/example-path/example-file.jpg",
"/example-path/example-file2.png"
]
},
"CallerReference": "cli-example"
}
}
}
Location -> (string)
The fully qualified URI of the distribution and invalidation batch request, including the
Invalidation ID
.
Invalidation -> (structure)
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 -> (timestamp)
The date and time the invalidation request was first made.
InvalidationBatch -> (structure)
The current invalidation information for the batch request.
Paths -> (structure)
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 ofCallerReference
is unique is to use atimestamp
, 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 sameCallerReference
.If
CallerReference
is a value you already sent in a previous invalidation batch request but the content of anyPath
is different from the original request, CloudFront returns anInvalidationBatchAlreadyExists
error.