Show / Hide Table of Contents

Class ResponseHeadersPolicy

A Response Headers Policy configuration.

Inheritance
object
Resource
ResponseHeadersPolicy
Implements
IResource
IConstruct
IDependable
IResponseHeadersPolicy
Inherited Members
Resource.IsOwnedResource(IConstruct)
Resource.IsResource(IConstruct)
Resource.ApplyRemovalPolicy(RemovalPolicy)
Resource.GeneratePhysicalName()
Resource.GetResourceArnAttribute(string, IArnComponents)
Resource.GetResourceNameAttribute(string)
Resource.Env
Resource.PhysicalName
Resource.Stack
Namespace: Amazon.CDK.AWS.CloudFront
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class ResponseHeadersPolicy : Resource, IResource, IConstruct, IDependable, IResponseHeadersPolicy
Syntax (vb)
Public Class ResponseHeadersPolicy Inherits Resource Implements IResource, IConstruct, IDependable, IResponseHeadersPolicy
Remarks

Resource: AWS::CloudFront::ResponseHeadersPolicy

ExampleMetadata: infused

Examples
// Using an existing managed response headers policy
             S3Origin bucketOrigin;

             new Distribution(this, "myDistManagedPolicy", new DistributionProps {
                 DefaultBehavior = new BehaviorOptions {
                     Origin = bucketOrigin,
                     ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS
                 }
             });

             // Creating a custom response headers policy -- all parameters optional
             var myResponseHeadersPolicy = new ResponseHeadersPolicy(this, "ResponseHeadersPolicy", new ResponseHeadersPolicyProps {
                 ResponseHeadersPolicyName = "MyPolicy",
                 Comment = "A default policy",
                 CorsBehavior = new ResponseHeadersCorsBehavior {
                     AccessControlAllowCredentials = false,
                     AccessControlAllowHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                     AccessControlAllowMethods = new [] { "GET", "POST" },
                     AccessControlAllowOrigins = new [] { "*" },
                     AccessControlExposeHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                     AccessControlMaxAge = Duration.Seconds(600),
                     OriginOverride = true
                 },
                 CustomHeadersBehavior = new ResponseCustomHeadersBehavior {
                     CustomHeaders = new [] { new ResponseCustomHeader { Header = "X-Amz-Date", Value = "some-value", Override = true }, new ResponseCustomHeader { Header = "X-Amz-Security-Token", Value = "some-value", Override = false } }
                 },
                 SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {
                     ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = "default-src https:;", Override = true },
                     ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },
                     FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },
                     ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },
                     StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },
                     XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = false, ReportUri = "https://example.com/csp-report", Override = true }
                 },
                 RemoveHeaders = new [] { "Server" },
                 ServerTimingSamplingRate = 50
             });
             new Distribution(this, "myDistCustomPolicy", new DistributionProps {
                 DefaultBehavior = new BehaviorOptions {
                     Origin = bucketOrigin,
                     ResponseHeadersPolicy = myResponseHeadersPolicy
                 }
             });

Synopsis

Constructors

ResponseHeadersPolicy(Construct, string, IResponseHeadersPolicyProps?)

A Response Headers Policy configuration.

Properties

CORS_ALLOW_ALL_ORIGINS

Use this managed policy to allow simple CORS requests from any origin.

CORS_ALLOW_ALL_ORIGINS_AND_SECURITY_HEADERS

Use this managed policy to allow simple CORS requests from any origin and add a set of security headers to all responses that CloudFront sends to viewers.

CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT

Use this managed policy to allow CORS requests from any origin, including preflight requests.

CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS

Use this managed policy to allow CORS requests from any origin, including preflight requests, and add a set of security headers to all responses that CloudFront sends to viewers.

PROPERTY_INJECTION_ID

Uniquely identifies this class.

ResponseHeadersPolicyId

The ID of the response headers policy.

SECURITY_HEADERS

Use this managed policy to add a set of security headers to all responses that CloudFront sends to viewers.

Methods

FromResponseHeadersPolicyId(Construct, string, string)

Import an existing Response Headers Policy from its ID.

Constructors

ResponseHeadersPolicy(Construct, string, IResponseHeadersPolicyProps?)

A Response Headers Policy configuration.

public ResponseHeadersPolicy(Construct scope, string id, IResponseHeadersPolicyProps? props = null)
Parameters
scope Construct
id string
props IResponseHeadersPolicyProps
Remarks

Resource: AWS::CloudFront::ResponseHeadersPolicy

ExampleMetadata: infused

Examples
// Using an existing managed response headers policy
             S3Origin bucketOrigin;

             new Distribution(this, "myDistManagedPolicy", new DistributionProps {
                 DefaultBehavior = new BehaviorOptions {
                     Origin = bucketOrigin,
                     ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS
                 }
             });

             // Creating a custom response headers policy -- all parameters optional
             var myResponseHeadersPolicy = new ResponseHeadersPolicy(this, "ResponseHeadersPolicy", new ResponseHeadersPolicyProps {
                 ResponseHeadersPolicyName = "MyPolicy",
                 Comment = "A default policy",
                 CorsBehavior = new ResponseHeadersCorsBehavior {
                     AccessControlAllowCredentials = false,
                     AccessControlAllowHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                     AccessControlAllowMethods = new [] { "GET", "POST" },
                     AccessControlAllowOrigins = new [] { "*" },
                     AccessControlExposeHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                     AccessControlMaxAge = Duration.Seconds(600),
                     OriginOverride = true
                 },
                 CustomHeadersBehavior = new ResponseCustomHeadersBehavior {
                     CustomHeaders = new [] { new ResponseCustomHeader { Header = "X-Amz-Date", Value = "some-value", Override = true }, new ResponseCustomHeader { Header = "X-Amz-Security-Token", Value = "some-value", Override = false } }
                 },
                 SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {
                     ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = "default-src https:;", Override = true },
                     ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },
                     FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },
                     ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },
                     StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },
                     XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = false, ReportUri = "https://example.com/csp-report", Override = true }
                 },
                 RemoveHeaders = new [] { "Server" },
                 ServerTimingSamplingRate = 50
             });
             new Distribution(this, "myDistCustomPolicy", new DistributionProps {
                 DefaultBehavior = new BehaviorOptions {
                     Origin = bucketOrigin,
                     ResponseHeadersPolicy = myResponseHeadersPolicy
                 }
             });

Properties

CORS_ALLOW_ALL_ORIGINS

Use this managed policy to allow simple CORS requests from any origin.

public static IResponseHeadersPolicy CORS_ALLOW_ALL_ORIGINS { get; }
Property Value

IResponseHeadersPolicy

Remarks

Resource: AWS::CloudFront::ResponseHeadersPolicy

ExampleMetadata: infused

CORS_ALLOW_ALL_ORIGINS_AND_SECURITY_HEADERS

Use this managed policy to allow simple CORS requests from any origin and add a set of security headers to all responses that CloudFront sends to viewers.

public static IResponseHeadersPolicy CORS_ALLOW_ALL_ORIGINS_AND_SECURITY_HEADERS { get; }
Property Value

IResponseHeadersPolicy

Remarks

Resource: AWS::CloudFront::ResponseHeadersPolicy

ExampleMetadata: infused

CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT

Use this managed policy to allow CORS requests from any origin, including preflight requests.

public static IResponseHeadersPolicy CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT { get; }
Property Value

IResponseHeadersPolicy

Remarks

Resource: AWS::CloudFront::ResponseHeadersPolicy

ExampleMetadata: infused

CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS

Use this managed policy to allow CORS requests from any origin, including preflight requests, and add a set of security headers to all responses that CloudFront sends to viewers.

public static IResponseHeadersPolicy CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS { get; }
Property Value

IResponseHeadersPolicy

Remarks

Resource: AWS::CloudFront::ResponseHeadersPolicy

ExampleMetadata: infused

PROPERTY_INJECTION_ID

Uniquely identifies this class.

public static string PROPERTY_INJECTION_ID { get; }
Property Value

string

Remarks

Resource: AWS::CloudFront::ResponseHeadersPolicy

ExampleMetadata: infused

ResponseHeadersPolicyId

The ID of the response headers policy.

public virtual string ResponseHeadersPolicyId { get; }
Property Value

string

Remarks

Resource: AWS::CloudFront::ResponseHeadersPolicy

ExampleMetadata: infused

SECURITY_HEADERS

Use this managed policy to add a set of security headers to all responses that CloudFront sends to viewers.

public static IResponseHeadersPolicy SECURITY_HEADERS { get; }
Property Value

IResponseHeadersPolicy

Remarks

Resource: AWS::CloudFront::ResponseHeadersPolicy

ExampleMetadata: infused

Methods

FromResponseHeadersPolicyId(Construct, string, string)

Import an existing Response Headers Policy from its ID.

public static IResponseHeadersPolicy FromResponseHeadersPolicyId(Construct scope, string id, string responseHeadersPolicyId)
Parameters
scope Construct
id string
responseHeadersPolicyId string
Returns

IResponseHeadersPolicy

Remarks

Resource: AWS::CloudFront::ResponseHeadersPolicy

ExampleMetadata: infused

Implements

IResource
Constructs.IConstruct
Constructs.IDependable
IResponseHeadersPolicy
Back to top Generated by DocFX