CloudFront / Client / create_response_headers_policy
create_response_headers_policy¶
- CloudFront.Client.create_response_headers_policy(**kwargs)¶
Creates a response headers policy.
A response headers policy contains information about a set of HTTP headers. To create a response headers policy, you provide some metadata about the policy and a set of configurations that specify the headers.
After you create a response headers policy, you can use its ID to attach it to one or more cache behaviors in a CloudFront distribution. When it’s attached to a cache behavior, the response headers policy affects the HTTP headers that CloudFront includes in HTTP responses to requests that match the cache behavior. CloudFront adds or removes response headers according to the configuration of the response headers policy.
For more information, see Adding or removing HTTP headers in CloudFront responses in the Amazon CloudFront Developer Guide.
See also: AWS API Documentation
Request Syntax
response = client.create_response_headers_policy( ResponseHeadersPolicyConfig={ 'Comment': 'string', 'Name': 'string', 'CorsConfig': { 'AccessControlAllowOrigins': { 'Quantity': 123, 'Items': [ 'string', ] }, 'AccessControlAllowHeaders': { 'Quantity': 123, 'Items': [ 'string', ] }, 'AccessControlAllowMethods': { 'Quantity': 123, 'Items': [ 'GET'|'POST'|'OPTIONS'|'PUT'|'DELETE'|'PATCH'|'HEAD'|'ALL', ] }, 'AccessControlAllowCredentials': True|False, 'AccessControlExposeHeaders': { 'Quantity': 123, 'Items': [ 'string', ] }, 'AccessControlMaxAgeSec': 123, 'OriginOverride': True|False }, 'SecurityHeadersConfig': { 'XSSProtection': { 'Override': True|False, 'Protection': True|False, 'ModeBlock': True|False, 'ReportUri': 'string' }, 'FrameOptions': { 'Override': True|False, 'FrameOption': 'DENY'|'SAMEORIGIN' }, 'ReferrerPolicy': { 'Override': True|False, 'ReferrerPolicy': 'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url' }, 'ContentSecurityPolicy': { 'Override': True|False, 'ContentSecurityPolicy': 'string' }, 'ContentTypeOptions': { 'Override': True|False }, 'StrictTransportSecurity': { 'Override': True|False, 'IncludeSubdomains': True|False, 'Preload': True|False, 'AccessControlMaxAgeSec': 123 } }, 'ServerTimingHeadersConfig': { 'Enabled': True|False, 'SamplingRate': 123.0 }, 'CustomHeadersConfig': { 'Quantity': 123, 'Items': [ { 'Header': 'string', 'Value': 'string', 'Override': True|False }, ] }, 'RemoveHeadersConfig': { 'Quantity': 123, 'Items': [ { 'Header': 'string' }, ] } } )
- Parameters:
ResponseHeadersPolicyConfig (dict) –
[REQUIRED]
Contains metadata about the response headers policy, and a set of configurations that specify the HTTP headers.
Comment (string) –
A comment to describe the response headers policy.
The comment cannot be longer than 128 characters.
Name (string) – [REQUIRED]
A name to identify the response headers policy.
The name must be unique for response headers policies in this Amazon Web Services account.
CorsConfig (dict) –
A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).
AccessControlAllowOrigins (dict) – [REQUIRED]
A list of origins (domain names) that CloudFront can use as the value for the
Access-Control-Allow-OriginHTTP response header.For more information about the
Access-Control-Allow-OriginHTTP response header, see Access-Control-Allow-Origin in the MDN Web Docs.Quantity (integer) – [REQUIRED]
The number of origins in the list.
Items (list) – [REQUIRED]
The list of origins (domain names). You can specify
*to allow all origins.(string) –
AccessControlAllowHeaders (dict) – [REQUIRED]
A list of HTTP header names that CloudFront includes as values for the
Access-Control-Allow-HeadersHTTP response header.For more information about the
Access-Control-Allow-HeadersHTTP response header, see Access-Control-Allow-Headers in the MDN Web Docs.Quantity (integer) – [REQUIRED]
The number of HTTP header names in the list.
Items (list) – [REQUIRED]
The list of HTTP header names. You can specify
*to allow all headers.(string) –
AccessControlAllowMethods (dict) – [REQUIRED]
A list of HTTP methods that CloudFront includes as values for the
Access-Control-Allow-MethodsHTTP response header.For more information about the
Access-Control-Allow-MethodsHTTP response header, see Access-Control-Allow-Methods in the MDN Web Docs.Quantity (integer) – [REQUIRED]
The number of HTTP methods in the list.
Items (list) – [REQUIRED]
The list of HTTP methods. Valid values are:
GETDELETEHEADOPTIONSPATCHPOSTPUTALL
ALLis a special value that includes all of the listed HTTP methods.(string) –
AccessControlAllowCredentials (boolean) – [REQUIRED]
A Boolean that CloudFront uses as the value for the
Access-Control-Allow-CredentialsHTTP response header.For more information about the
Access-Control-Allow-CredentialsHTTP response header, see Access-Control-Allow-Credentials in the MDN Web Docs.AccessControlExposeHeaders (dict) –
A list of HTTP headers that CloudFront includes as values for the
Access-Control-Expose-HeadersHTTP response header.For more information about the
Access-Control-Expose-HeadersHTTP response header, see Access-Control-Expose-Headers in the MDN Web Docs.Quantity (integer) – [REQUIRED]
The number of HTTP headers in the list.
Items (list) –
The list of HTTP headers. You can specify
*to expose all headers.(string) –
AccessControlMaxAgeSec (integer) –
A number that CloudFront uses as the value for the
Access-Control-Max-AgeHTTP response header.For more information about the
Access-Control-Max-AgeHTTP response header, see Access-Control-Max-Age in the MDN Web Docs.OriginOverride (boolean) – [REQUIRED]
A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.
SecurityHeadersConfig (dict) –
A configuration for a set of security-related HTTP response headers.
XSSProtection (dict) –
Determines whether CloudFront includes the
X-XSS-ProtectionHTTP response header and the header’s value.For more information about the
X-XSS-ProtectionHTTP response header, see X-XSS-Protection in the MDN Web Docs.Override (boolean) – [REQUIRED]
A Boolean that determines whether CloudFront overrides the
X-XSS-ProtectionHTTP response header received from the origin with the one specified in this response headers policy.Protection (boolean) – [REQUIRED]
A Boolean that determines the value of the
X-XSS-ProtectionHTTP response header. When this setting istrue, the value of theX-XSS-Protectionheader is1. When this setting isfalse, the value of theX-XSS-Protectionheader is0.For more information about these settings, see X-XSS-Protection in the MDN Web Docs.
ModeBlock (boolean) –
A Boolean that determines whether CloudFront includes the
mode=blockdirective in theX-XSS-Protectionheader.For more information about this directive, see X-XSS-Protection in the MDN Web Docs.
ReportUri (string) –
A reporting URI, which CloudFront uses as the value of the
reportdirective in theX-XSS-Protectionheader.You cannot specify a
ReportUriwhenModeBlockistrue.For more information about using a reporting URL, see X-XSS-Protection in the MDN Web Docs.
FrameOptions (dict) –
Determines whether CloudFront includes the
X-Frame-OptionsHTTP response header and the header’s value.For more information about the
X-Frame-OptionsHTTP response header, see X-Frame-Options in the MDN Web Docs.Override (boolean) – [REQUIRED]
A Boolean that determines whether CloudFront overrides the
X-Frame-OptionsHTTP response header received from the origin with the one specified in this response headers policy.FrameOption (string) – [REQUIRED]
The value of the
X-Frame-OptionsHTTP response header. Valid values areDENYandSAMEORIGIN.For more information about these values, see X-Frame-Options in the MDN Web Docs.
ReferrerPolicy (dict) –
Determines whether CloudFront includes the
Referrer-PolicyHTTP response header and the header’s value.For more information about the
Referrer-PolicyHTTP response header, see Referrer-Policy in the MDN Web Docs.Override (boolean) – [REQUIRED]
A Boolean that determines whether CloudFront overrides the
Referrer-PolicyHTTP response header received from the origin with the one specified in this response headers policy.ReferrerPolicy (string) – [REQUIRED]
The value of the
Referrer-PolicyHTTP response header. Valid values are:no-referrerno-referrer-when-downgradeoriginorigin-when-cross-originsame-originstrict-originstrict-origin-when-cross-originunsafe-url
For more information about these values, see Referrer-Policy in the MDN Web Docs.
ContentSecurityPolicy (dict) –
The policy directives and their values that CloudFront includes as values for the
Content-Security-PolicyHTTP response header.For more information about the
Content-Security-PolicyHTTP response header, see Content-Security-Policy in the MDN Web Docs.Override (boolean) – [REQUIRED]
A Boolean that determines whether CloudFront overrides the
Content-Security-PolicyHTTP response header received from the origin with the one specified in this response headers policy.ContentSecurityPolicy (string) – [REQUIRED]
The policy directives and their values that CloudFront includes as values for the
Content-Security-PolicyHTTP response header.
ContentTypeOptions (dict) –
Determines whether CloudFront includes the
X-Content-Type-OptionsHTTP response header with its value set tonosniff.For more information about the
X-Content-Type-OptionsHTTP response header, see X-Content-Type-Options in the MDN Web Docs.Override (boolean) – [REQUIRED]
A Boolean that determines whether CloudFront overrides the
X-Content-Type-OptionsHTTP response header received from the origin with the one specified in this response headers policy.
StrictTransportSecurity (dict) –
Determines whether CloudFront includes the
Strict-Transport-SecurityHTTP response header and the header’s value.For more information about the
Strict-Transport-SecurityHTTP response header, see Security headers in the Amazon CloudFront Developer Guide and Strict-Transport-Security in the MDN Web Docs.Override (boolean) – [REQUIRED]
A Boolean that determines whether CloudFront overrides the
Strict-Transport-SecurityHTTP response header received from the origin with the one specified in this response headers policy.IncludeSubdomains (boolean) –
A Boolean that determines whether CloudFront includes the
includeSubDomainsdirective in theStrict-Transport-SecurityHTTP response header.Preload (boolean) –
A Boolean that determines whether CloudFront includes the
preloaddirective in theStrict-Transport-SecurityHTTP response header.AccessControlMaxAgeSec (integer) – [REQUIRED]
A number that CloudFront uses as the value for the
max-agedirective in theStrict-Transport-SecurityHTTP response header.
ServerTimingHeadersConfig (dict) –
A configuration for enabling the
Server-Timingheader in HTTP responses sent from CloudFront.Enabled (boolean) – [REQUIRED]
A Boolean that determines whether CloudFront adds the
Server-Timingheader to HTTP responses that it sends in response to requests that match a cache behavior that’s associated with this response headers policy.SamplingRate (float) –
A number 0–100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the
Server-Timingheader to. When you set the sampling rate to 100, CloudFront adds theServer-Timingheader to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0–100 with up to four decimal places.
CustomHeadersConfig (dict) –
A configuration for a set of custom HTTP response headers.
Quantity (integer) – [REQUIRED]
The number of HTTP response headers in the list.
Items (list) –
The list of HTTP response headers and their values.
(dict) –
An HTTP response header name and its value. CloudFront includes this header in HTTP responses that it sends for requests that match a cache behavior that’s associated with this response headers policy.
Header (string) – [REQUIRED]
The HTTP response header name.
Value (string) – [REQUIRED]
The value for the HTTP response header.
Override (boolean) – [REQUIRED]
A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.
RemoveHeadersConfig (dict) –
A configuration for a set of HTTP headers to remove from the HTTP response.
Quantity (integer) – [REQUIRED]
The number of HTTP header names in the list.
Items (list) –
The list of HTTP header names.
(dict) –
The name of an HTTP header that CloudFront removes from HTTP responses to requests that match the cache behavior that this response headers policy is attached to.
Header (string) – [REQUIRED]
The HTTP header name.
- Return type:
dict
- Returns:
Response Syntax
{ 'ResponseHeadersPolicy': { 'Id': 'string', 'LastModifiedTime': datetime(2015, 1, 1), 'ResponseHeadersPolicyConfig': { 'Comment': 'string', 'Name': 'string', 'CorsConfig': { 'AccessControlAllowOrigins': { 'Quantity': 123, 'Items': [ 'string', ] }, 'AccessControlAllowHeaders': { 'Quantity': 123, 'Items': [ 'string', ] }, 'AccessControlAllowMethods': { 'Quantity': 123, 'Items': [ 'GET'|'POST'|'OPTIONS'|'PUT'|'DELETE'|'PATCH'|'HEAD'|'ALL', ] }, 'AccessControlAllowCredentials': True|False, 'AccessControlExposeHeaders': { 'Quantity': 123, 'Items': [ 'string', ] }, 'AccessControlMaxAgeSec': 123, 'OriginOverride': True|False }, 'SecurityHeadersConfig': { 'XSSProtection': { 'Override': True|False, 'Protection': True|False, 'ModeBlock': True|False, 'ReportUri': 'string' }, 'FrameOptions': { 'Override': True|False, 'FrameOption': 'DENY'|'SAMEORIGIN' }, 'ReferrerPolicy': { 'Override': True|False, 'ReferrerPolicy': 'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url' }, 'ContentSecurityPolicy': { 'Override': True|False, 'ContentSecurityPolicy': 'string' }, 'ContentTypeOptions': { 'Override': True|False }, 'StrictTransportSecurity': { 'Override': True|False, 'IncludeSubdomains': True|False, 'Preload': True|False, 'AccessControlMaxAgeSec': 123 } }, 'ServerTimingHeadersConfig': { 'Enabled': True|False, 'SamplingRate': 123.0 }, 'CustomHeadersConfig': { 'Quantity': 123, 'Items': [ { 'Header': 'string', 'Value': 'string', 'Override': True|False }, ] }, 'RemoveHeadersConfig': { 'Quantity': 123, 'Items': [ { 'Header': 'string' }, ] } } }, 'Location': 'string', 'ETag': 'string' }
Response Structure
(dict) –
ResponseHeadersPolicy (dict) –
Contains a response headers policy.
Id (string) –
The identifier for the response headers policy.
LastModifiedTime (datetime) –
The date and time when the response headers policy was last modified.
ResponseHeadersPolicyConfig (dict) –
A response headers policy configuration.
Comment (string) –
A comment to describe the response headers policy.
The comment cannot be longer than 128 characters.
Name (string) –
A name to identify the response headers policy.
The name must be unique for response headers policies in this Amazon Web Services account.
CorsConfig (dict) –
A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).
AccessControlAllowOrigins (dict) –
A list of origins (domain names) that CloudFront can use as the value for the
Access-Control-Allow-OriginHTTP response header.For more information about the
Access-Control-Allow-OriginHTTP response header, see Access-Control-Allow-Origin in the MDN Web Docs.Quantity (integer) –
The number of origins in the list.
Items (list) –
The list of origins (domain names). You can specify
*to allow all origins.(string) –
AccessControlAllowHeaders (dict) –
A list of HTTP header names that CloudFront includes as values for the
Access-Control-Allow-HeadersHTTP response header.For more information about the
Access-Control-Allow-HeadersHTTP response header, see Access-Control-Allow-Headers in the MDN Web Docs.Quantity (integer) –
The number of HTTP header names in the list.
Items (list) –
The list of HTTP header names. You can specify
*to allow all headers.(string) –
AccessControlAllowMethods (dict) –
A list of HTTP methods that CloudFront includes as values for the
Access-Control-Allow-MethodsHTTP response header.For more information about the
Access-Control-Allow-MethodsHTTP response header, see Access-Control-Allow-Methods in the MDN Web Docs.Quantity (integer) –
The number of HTTP methods in the list.
Items (list) –
The list of HTTP methods. Valid values are:
GETDELETEHEADOPTIONSPATCHPOSTPUTALL
ALLis a special value that includes all of the listed HTTP methods.(string) –
AccessControlAllowCredentials (boolean) –
A Boolean that CloudFront uses as the value for the
Access-Control-Allow-CredentialsHTTP response header.For more information about the
Access-Control-Allow-CredentialsHTTP response header, see Access-Control-Allow-Credentials in the MDN Web Docs.AccessControlExposeHeaders (dict) –
A list of HTTP headers that CloudFront includes as values for the
Access-Control-Expose-HeadersHTTP response header.For more information about the
Access-Control-Expose-HeadersHTTP response header, see Access-Control-Expose-Headers in the MDN Web Docs.Quantity (integer) –
The number of HTTP headers in the list.
Items (list) –
The list of HTTP headers. You can specify
*to expose all headers.(string) –
AccessControlMaxAgeSec (integer) –
A number that CloudFront uses as the value for the
Access-Control-Max-AgeHTTP response header.For more information about the
Access-Control-Max-AgeHTTP response header, see Access-Control-Max-Age in the MDN Web Docs.OriginOverride (boolean) –
A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.
SecurityHeadersConfig (dict) –
A configuration for a set of security-related HTTP response headers.
XSSProtection (dict) –
Determines whether CloudFront includes the
X-XSS-ProtectionHTTP response header and the header’s value.For more information about the
X-XSS-ProtectionHTTP response header, see X-XSS-Protection in the MDN Web Docs.Override (boolean) –
A Boolean that determines whether CloudFront overrides the
X-XSS-ProtectionHTTP response header received from the origin with the one specified in this response headers policy.Protection (boolean) –
A Boolean that determines the value of the
X-XSS-ProtectionHTTP response header. When this setting istrue, the value of theX-XSS-Protectionheader is1. When this setting isfalse, the value of theX-XSS-Protectionheader is0.For more information about these settings, see X-XSS-Protection in the MDN Web Docs.
ModeBlock (boolean) –
A Boolean that determines whether CloudFront includes the
mode=blockdirective in theX-XSS-Protectionheader.For more information about this directive, see X-XSS-Protection in the MDN Web Docs.
ReportUri (string) –
A reporting URI, which CloudFront uses as the value of the
reportdirective in theX-XSS-Protectionheader.You cannot specify a
ReportUriwhenModeBlockistrue.For more information about using a reporting URL, see X-XSS-Protection in the MDN Web Docs.
FrameOptions (dict) –
Determines whether CloudFront includes the
X-Frame-OptionsHTTP response header and the header’s value.For more information about the
X-Frame-OptionsHTTP response header, see X-Frame-Options in the MDN Web Docs.Override (boolean) –
A Boolean that determines whether CloudFront overrides the
X-Frame-OptionsHTTP response header received from the origin with the one specified in this response headers policy.FrameOption (string) –
The value of the
X-Frame-OptionsHTTP response header. Valid values areDENYandSAMEORIGIN.For more information about these values, see X-Frame-Options in the MDN Web Docs.
ReferrerPolicy (dict) –
Determines whether CloudFront includes the
Referrer-PolicyHTTP response header and the header’s value.For more information about the
Referrer-PolicyHTTP response header, see Referrer-Policy in the MDN Web Docs.Override (boolean) –
A Boolean that determines whether CloudFront overrides the
Referrer-PolicyHTTP response header received from the origin with the one specified in this response headers policy.ReferrerPolicy (string) –
The value of the
Referrer-PolicyHTTP response header. Valid values are:no-referrerno-referrer-when-downgradeoriginorigin-when-cross-originsame-originstrict-originstrict-origin-when-cross-originunsafe-url
For more information about these values, see Referrer-Policy in the MDN Web Docs.
ContentSecurityPolicy (dict) –
The policy directives and their values that CloudFront includes as values for the
Content-Security-PolicyHTTP response header.For more information about the
Content-Security-PolicyHTTP response header, see Content-Security-Policy in the MDN Web Docs.Override (boolean) –
A Boolean that determines whether CloudFront overrides the
Content-Security-PolicyHTTP response header received from the origin with the one specified in this response headers policy.ContentSecurityPolicy (string) –
The policy directives and their values that CloudFront includes as values for the
Content-Security-PolicyHTTP response header.
ContentTypeOptions (dict) –
Determines whether CloudFront includes the
X-Content-Type-OptionsHTTP response header with its value set tonosniff.For more information about the
X-Content-Type-OptionsHTTP response header, see X-Content-Type-Options in the MDN Web Docs.Override (boolean) –
A Boolean that determines whether CloudFront overrides the
X-Content-Type-OptionsHTTP response header received from the origin with the one specified in this response headers policy.
StrictTransportSecurity (dict) –
Determines whether CloudFront includes the
Strict-Transport-SecurityHTTP response header and the header’s value.For more information about the
Strict-Transport-SecurityHTTP response header, see Security headers in the Amazon CloudFront Developer Guide and Strict-Transport-Security in the MDN Web Docs.Override (boolean) –
A Boolean that determines whether CloudFront overrides the
Strict-Transport-SecurityHTTP response header received from the origin with the one specified in this response headers policy.IncludeSubdomains (boolean) –
A Boolean that determines whether CloudFront includes the
includeSubDomainsdirective in theStrict-Transport-SecurityHTTP response header.Preload (boolean) –
A Boolean that determines whether CloudFront includes the
preloaddirective in theStrict-Transport-SecurityHTTP response header.AccessControlMaxAgeSec (integer) –
A number that CloudFront uses as the value for the
max-agedirective in theStrict-Transport-SecurityHTTP response header.
ServerTimingHeadersConfig (dict) –
A configuration for enabling the
Server-Timingheader in HTTP responses sent from CloudFront.Enabled (boolean) –
A Boolean that determines whether CloudFront adds the
Server-Timingheader to HTTP responses that it sends in response to requests that match a cache behavior that’s associated with this response headers policy.SamplingRate (float) –
A number 0–100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the
Server-Timingheader to. When you set the sampling rate to 100, CloudFront adds theServer-Timingheader to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0–100 with up to four decimal places.
CustomHeadersConfig (dict) –
A configuration for a set of custom HTTP response headers.
Quantity (integer) –
The number of HTTP response headers in the list.
Items (list) –
The list of HTTP response headers and their values.
(dict) –
An HTTP response header name and its value. CloudFront includes this header in HTTP responses that it sends for requests that match a cache behavior that’s associated with this response headers policy.
Header (string) –
The HTTP response header name.
Value (string) –
The value for the HTTP response header.
Override (boolean) –
A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.
RemoveHeadersConfig (dict) –
A configuration for a set of HTTP headers to remove from the HTTP response.
Quantity (integer) –
The number of HTTP header names in the list.
Items (list) –
The list of HTTP header names.
(dict) –
The name of an HTTP header that CloudFront removes from HTTP responses to requests that match the cache behavior that this response headers policy is attached to.
Header (string) –
The HTTP header name.
Location (string) –
The URL of the response headers policy.
ETag (string) –
The version identifier for the current version of the response headers policy.
Exceptions
CloudFront.Client.exceptions.AccessDeniedCloudFront.Client.exceptions.TooManyCustomHeadersInResponseHeadersPolicyCloudFront.Client.exceptions.ResponseHeadersPolicyAlreadyExistsCloudFront.Client.exceptions.InconsistentQuantitiesCloudFront.Client.exceptions.TooLongCSPInResponseHeadersPolicyCloudFront.Client.exceptions.InvalidArgumentCloudFront.Client.exceptions.TooManyRemoveHeadersInResponseHeadersPolicyCloudFront.Client.exceptions.TooManyResponseHeadersPolicies