Class: AWSCDK::CloudFront::CfnResponseHeadersPolicy::CorsConfigProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
cloud_front/cfn_response_headers_policy.rb

Overview

A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).

CloudFront adds these headers to HTTP responses that it sends for CORS requests that match a cache behavior associated with this response headers policy.

For more information about CORS, see Cross-Origin Resource Sharing (CORS) in the MDN Web Docs.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(access_control_allow_credentials:, access_control_allow_headers:, access_control_allow_methods:, access_control_allow_origins:, origin_override:, access_control_expose_headers: nil, access_control_max_age_sec: nil) ⇒ CorsConfigProperty

Returns a new instance of CorsConfigProperty.

Parameters:



771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
# File 'cloud_front/cfn_response_headers_policy.rb', line 771

def initialize(access_control_allow_credentials:, access_control_allow_headers:, access_control_allow_methods:, access_control_allow_origins:, origin_override:, access_control_expose_headers: nil, access_control_max_age_sec: nil)
  @access_control_allow_credentials = access_control_allow_credentials
  Jsii::Type.check_type(@access_control_allow_credentials, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "accessControlAllowCredentials")
  @access_control_allow_headers = access_control_allow_headers.is_a?(Hash) ? ::AWSCDK::CloudFront::CfnResponseHeadersPolicy::AccessControlAllowHeadersProperty.new(**access_control_allow_headers.transform_keys(&:to_sym)) : access_control_allow_headers
  Jsii::Type.check_type(@access_control_allow_headers, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZyb250LkNmblJlc3BvbnNlSGVhZGVyc1BvbGljeS5BY2Nlc3NDb250cm9sQWxsb3dIZWFkZXJzUHJvcGVydHkifV19fQ==")), "accessControlAllowHeaders")
  @access_control_allow_methods = access_control_allow_methods.is_a?(Hash) ? ::AWSCDK::CloudFront::CfnResponseHeadersPolicy::AccessControlAllowMethodsProperty.new(**access_control_allow_methods.transform_keys(&:to_sym)) : access_control_allow_methods
  Jsii::Type.check_type(@access_control_allow_methods, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZyb250LkNmblJlc3BvbnNlSGVhZGVyc1BvbGljeS5BY2Nlc3NDb250cm9sQWxsb3dNZXRob2RzUHJvcGVydHkifV19fQ==")), "accessControlAllowMethods")
  @access_control_allow_origins = access_control_allow_origins.is_a?(Hash) ? ::AWSCDK::CloudFront::CfnResponseHeadersPolicy::AccessControlAllowOriginsProperty.new(**access_control_allow_origins.transform_keys(&:to_sym)) : access_control_allow_origins
  Jsii::Type.check_type(@access_control_allow_origins, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZyb250LkNmblJlc3BvbnNlSGVhZGVyc1BvbGljeS5BY2Nlc3NDb250cm9sQWxsb3dPcmlnaW5zUHJvcGVydHkifV19fQ==")), "accessControlAllowOrigins")
  @origin_override = origin_override
  Jsii::Type.check_type(@origin_override, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "originOverride")
  @access_control_expose_headers = access_control_expose_headers.is_a?(Hash) ? ::AWSCDK::CloudFront::CfnResponseHeadersPolicy::AccessControlExposeHeadersProperty.new(**access_control_expose_headers.transform_keys(&:to_sym)) : access_control_expose_headers
  Jsii::Type.check_type(@access_control_expose_headers, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZyb250LkNmblJlc3BvbnNlSGVhZGVyc1BvbGljeS5BY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyc1Byb3BlcnR5In1dfX0=")), "accessControlExposeHeaders") unless @access_control_expose_headers.nil?
  @access_control_max_age_sec = access_control_max_age_sec
  Jsii::Type.check_type(@access_control_max_age_sec, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "accessControlMaxAgeSec") unless @access_control_max_age_sec.nil?
end

Instance Attribute Details

#access_control_allow_credentialsBoolean, AWSCDK::IResolvable (readonly)

A Boolean that CloudFront uses as the value for the Access-Control-Allow-Credentials HTTP response header.

For more information about the Access-Control-Allow-Credentials HTTP response header, see Access-Control-Allow-Credentials in the MDN Web Docs.



794
795
796
# File 'cloud_front/cfn_response_headers_policy.rb', line 794

def access_control_allow_credentials
  @access_control_allow_credentials
end

#access_control_allow_headersAWSCDK::IResolvable, AWSCDK::CloudFront::CfnResponseHeadersPolicy::AccessControlAllowHeadersProperty (readonly)

A list of HTTP header names that CloudFront includes as values for the Access-Control-Allow-Headers HTTP response header.

For more information about the Access-Control-Allow-Headers HTTP response header, see Access-Control-Allow-Headers in the MDN Web Docs.



801
802
803
# File 'cloud_front/cfn_response_headers_policy.rb', line 801

def access_control_allow_headers
  @access_control_allow_headers
end

#access_control_allow_methodsAWSCDK::IResolvable, AWSCDK::CloudFront::CfnResponseHeadersPolicy::AccessControlAllowMethodsProperty (readonly)

A list of HTTP methods that CloudFront includes as values for the Access-Control-Allow-Methods HTTP response header.

For more information about the Access-Control-Allow-Methods HTTP response header, see Access-Control-Allow-Methods in the MDN Web Docs.



808
809
810
# File 'cloud_front/cfn_response_headers_policy.rb', line 808

def access_control_allow_methods
  @access_control_allow_methods
end

#access_control_allow_originsAWSCDK::IResolvable, AWSCDK::CloudFront::CfnResponseHeadersPolicy::AccessControlAllowOriginsProperty (readonly)

A list of origins (domain names) that CloudFront can use as the value for the Access-Control-Allow-Origin HTTP response header.

For more information about the Access-Control-Allow-Origin HTTP response header, see Access-Control-Allow-Origin in the MDN Web Docs.



815
816
817
# File 'cloud_front/cfn_response_headers_policy.rb', line 815

def access_control_allow_origins
  @access_control_allow_origins
end

#access_control_expose_headersAWSCDK::IResolvable, ... (readonly)

A list of HTTP headers that CloudFront includes as values for the Access-Control-Expose-Headers HTTP response header.

For more information about the Access-Control-Expose-Headers HTTP response header, see Access-Control-Expose-Headers in the MDN Web Docs.



827
828
829
# File 'cloud_front/cfn_response_headers_policy.rb', line 827

def access_control_expose_headers
  @access_control_expose_headers
end

#access_control_max_age_secNumeric? (readonly)

A number that CloudFront uses as the value for the Access-Control-Max-Age HTTP response header.

For more information about the Access-Control-Max-Age HTTP response header, see Access-Control-Max-Age in the MDN Web Docs.



834
835
836
# File 'cloud_front/cfn_response_headers_policy.rb', line 834

def access_control_max_age_sec
  @access_control_max_age_sec
end

#origin_overrideBoolean, AWSCDK::IResolvable (readonly)

A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.



820
821
822
# File 'cloud_front/cfn_response_headers_policy.rb', line 820

def origin_override
  @origin_override
end

Class Method Details

.jsii_propertiesObject



836
837
838
839
840
841
842
843
844
845
846
# File 'cloud_front/cfn_response_headers_policy.rb', line 836

def self.jsii_properties
  {
    :access_control_allow_credentials => "accessControlAllowCredentials",
    :access_control_allow_headers => "accessControlAllowHeaders",
    :access_control_allow_methods => "accessControlAllowMethods",
    :access_control_allow_origins => "accessControlAllowOrigins",
    :origin_override => "originOverride",
    :access_control_expose_headers => "accessControlExposeHeaders",
    :access_control_max_age_sec => "accessControlMaxAgeSec",
  }
end

Instance Method Details

#to_jsiiObject



848
849
850
851
852
853
854
855
856
857
858
859
860
# File 'cloud_front/cfn_response_headers_policy.rb', line 848

def to_jsii
  result = {}
  result.merge!({
    "accessControlAllowCredentials" => @access_control_allow_credentials,
    "accessControlAllowHeaders" => @access_control_allow_headers,
    "accessControlAllowMethods" => @access_control_allow_methods,
    "accessControlAllowOrigins" => @access_control_allow_origins,
    "originOverride" => @origin_override,
    "accessControlExposeHeaders" => @access_control_expose_headers,
    "accessControlMaxAgeSec" => @access_control_max_age_sec,
  })
  result.compact
end