AWS CLI CloudFront Invalidate All Files
Maybe on windows (using cmd) you can use the path without quotes, but on bash environment (linux, mac) the character *
it's a special char.
You need to pass the path inside quotes to work cross-platform:
aws cloudfront create-invalidation --distribution-id $DISTRIBUTION_ID --paths '/*'
That's your shell doing expansion of local filenames.
That's what you're essentially asking for since the *
isn't quoted.
Either Specifying --paths '*'
or--paths '/*'
¹ will do what you intend. Quoting the wildcard keeps it as a literal string rather than what you're seeing.
¹The CloudFront console allows you to specify either *
or /*
to invalidate the entire distribution; by contrast, the CLI expects /*
. This, in turn, is because the underlying API also expects /*
. When you use *
in the console, the leading slash is silently added by the console before the console makes the request to the CloudFront API.
Example of invalidation of cloudfront distribution via aws cli :
aws cloudfront create-invalidation --distribution-id <DistributionID> --paths "/*"
Example :
aws cloudfront create-invalidation --distribution-id E1B1A4GHK9TTE --paths "/*"
To list or get cloudfront distribution id you can use console or via cli :
aws cloudfront list-distributions
aws cloudfront list-distributions | grep Id