CreateOriginRequestPolicy
Creates an origin request policy.
After you create an origin request policy, you can attach it to one or more cache behaviors. When it's attached to a cache behavior, the origin request policy determines the values that CloudFront includes in requests that it sends to the origin. Each request that CloudFront sends to the origin includes the following:
-
The request body and the URL path (without the domain name) from the viewer request.
-
The headers that CloudFront automatically includes in every origin request, including
Host
,User-Agent
, andX-Amz-Cf-Id
. -
All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin request policy. These can include items from the viewer request and, in the case of headers, additional ones that are added by CloudFront.
CloudFront sends a request when it can't find a valid object in its cache that matches the
request. If you want to send values to the origin and also include them in the cache
key, use CachePolicy
.
For more information about origin request policies, see Controlling origin requests in the Amazon CloudFront Developer Guide.
Request Syntax
POST /2020-05-31/origin-request-policy HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<OriginRequestPolicyConfig xmlns="http://cloudfront.amazonaws.com/doc/2020-05-31/">
<Comment>string
</Comment>
<CookiesConfig>
<CookieBehavior>string
</CookieBehavior>
<Cookies>
<Items>
<Name>string
</Name>
</Items>
<Quantity>integer
</Quantity>
</Cookies>
</CookiesConfig>
<HeadersConfig>
<HeaderBehavior>string
</HeaderBehavior>
<Headers>
<Items>
<Name>string
</Name>
</Items>
<Quantity>integer
</Quantity>
</Headers>
</HeadersConfig>
<Name>string
</Name>
<QueryStringsConfig>
<QueryStringBehavior>string
</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string
</Name>
</Items>
<Quantity>integer
</Quantity>
</QueryStrings>
</QueryStringsConfig>
</OriginRequestPolicyConfig>
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in XML format.
- OriginRequestPolicyConfig
-
Root level tag for the OriginRequestPolicyConfig parameters.
Required: Yes
- Comment
-
A comment to describe the origin request policy. The comment cannot be longer than 128 characters.
Type: String
Required: No
- CookiesConfig
-
The cookies from viewer requests to include in origin requests.
Type: OriginRequestPolicyCookiesConfig object
Required: Yes
- HeadersConfig
-
The HTTP headers to include in origin requests. These can include headers from viewer requests and additional headers added by CloudFront.
Type: OriginRequestPolicyHeadersConfig object
Required: Yes
- Name
-
A unique name to identify the origin request policy.
Type: String
Required: Yes
- QueryStringsConfig
-
The URL query strings from viewer requests to include in origin requests.
Type: OriginRequestPolicyQueryStringsConfig object
Required: Yes
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<OriginRequestPolicy>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<OriginRequestPolicyConfig>
<Comment>string</Comment>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<Name>string</Name>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</OriginRequestPolicyConfig>
</OriginRequestPolicy>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
The following data is returned in XML format by the service.
- OriginRequestPolicy
-
Root level tag for the OriginRequestPolicy parameters.
Required: Yes
- Id
-
The unique identifier for the origin request policy.
Type: String
- LastModifiedTime
-
The date and time when the origin request policy was last modified.
Type: Timestamp
- OriginRequestPolicyConfig
-
The origin request policy configuration.
Type: OriginRequestPolicyConfig object
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDenied
-
Access denied.
HTTP Status Code: 403
- InconsistentQuantities
-
The value of
Quantity
and the size ofItems
don't match.HTTP Status Code: 400
- InvalidArgument
-
An argument is invalid.
HTTP Status Code: 400
- OriginRequestPolicyAlreadyExists
-
An origin request policy with this name already exists. You must provide a unique name. To modify an existing origin request policy, use
UpdateOriginRequestPolicy
.HTTP Status Code: 409
- TooManyCookiesInOriginRequestPolicy
-
The number of cookies in the origin request policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
HTTP Status Code: 400
- TooManyHeadersInOriginRequestPolicy
-
The number of headers in the origin request policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
HTTP Status Code: 400
- TooManyOriginRequestPolicies
-
You have reached the maximum number of origin request policies for this AWS account. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
HTTP Status Code: 400
- TooManyQueryStringsInOriginRequestPolicy
-
The number of query strings in the origin request policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: