[ aws . cloudfront ]
Creates a new origin access identity. If you’re using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide .
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
create-cloud-front-origin-access-identity
--cloud-front-origin-access-identity-config <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]
--cloud-front-origin-access-identity-config
(structure)
The current configuration information for the identity.
CallerReference -> (string)
A unique value (for example, a date-time stamp) that ensures that the request can’t be replayed.
If the value of
CallerReference
is new (regardless of the content of theCloudFrontOriginAccessIdentityConfig
object), a new origin access identity is created.If the
CallerReference
is a value already sent in a previous identity request, and the content of theCloudFrontOriginAccessIdentityConfig
is identical to the original request (ignoring white space), the response includes the same information returned to the original request.If the
CallerReference
is a value you already sent in a previous request to create an identity, but the content of theCloudFrontOriginAccessIdentityConfig
is different from the original request, CloudFront returns aCloudFrontOriginAccessIdentityAlreadyExists
error.Comment -> (string)
Any comments you want to include about the origin access identity.
Shorthand Syntax:
CallerReference=string,Comment=string
JSON Syntax:
{
"CallerReference": "string",
"Comment": "string"
}
--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 a CloudFront origin access identity
The following example creates a CloudFront origin access identity (OAI) by providing the OAI configuration as a command line argument:
aws cloudfront create-cloud-front-origin-access-identity \
--cloud-front-origin-access-identity-config \
CallerReference="cli-example",Comment="Example OAI"
You can accomplish the same thing by providing the OAI configuration in a JSON file, as shown in the following example:
aws cloudfront create-cloud-front-origin-access-identity \
--cloud-front-origin-access-identity-config file://OAI-config.json
The file OAI-config.json
is a JSON document in the current directory that
contains the following:
{
"CallerReference": "cli-example",
"Comment": "Example OAI"
}
Whether you provide the OAI configuration with a command line argument or a JSON file, the output is the same:
{
"Location": "https://cloudfront.amazonaws.com/2019-03-26/origin-access-identity/cloudfront/E74FTE3AEXAMPLE",
"ETag": "E2QWRUHEXAMPLE",
"CloudFrontOriginAccessIdentity": {
"Id": "E74FTE3AEXAMPLE",
"S3CanonicalUserId": "cd13868f797c227fbea2830611a26fe0a21ba1b826ab4bed9b7771c9aEXAMPLE",
"CloudFrontOriginAccessIdentityConfig": {
"CallerReference": "cli-example",
"Comment": "Example OAI"
}
}
}
CloudFrontOriginAccessIdentity -> (structure)
The origin access identity’s information.
Id -> (string)
The ID for the origin access identity, for example,
E74FTE3AJFJ256A
.S3CanonicalUserId -> (string)
The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access identity read permission to an object in Amazon S3.
CloudFrontOriginAccessIdentityConfig -> (structure)
The current configuration information for the identity.
CallerReference -> (string)
A unique value (for example, a date-time stamp) that ensures that the request can’t be replayed.
If the value of
CallerReference
is new (regardless of the content of theCloudFrontOriginAccessIdentityConfig
object), a new origin access identity is created.If the
CallerReference
is a value already sent in a previous identity request, and the content of theCloudFrontOriginAccessIdentityConfig
is identical to the original request (ignoring white space), the response includes the same information returned to the original request.If the
CallerReference
is a value you already sent in a previous request to create an identity, but the content of theCloudFrontOriginAccessIdentityConfig
is different from the original request, CloudFront returns aCloudFrontOriginAccessIdentityAlreadyExists
error.Comment -> (string)
Any comments you want to include about the origin access identity.
Location -> (string)
The fully qualified URI of the new origin access identity just created.
ETag -> (string)
The current version of the origin access identity created.