Class: AWSCDK::CloudFront::OriginOptions
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::CloudFront::OriginOptions
- Defined in:
- cloud_front/origin_options.rb
Overview
Options to define an Origin.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#connection_attempts ⇒ Numeric?
readonly
The number of times that CloudFront attempts to connect to the origin;.
-
#connection_timeout ⇒ AWSCDK::Duration?
readonly
The number of seconds that CloudFront waits when trying to establish a connection to the origin.
-
#custom_headers ⇒ Hash{String => String}?
readonly
A list of HTTP header names and values that CloudFront adds to requests it sends to the origin.
-
#origin_access_control_id ⇒ String?
readonly
The unique identifier of an origin access control for this origin.
-
#origin_id ⇒ String?
readonly
A unique identifier for the origin.
-
#origin_shield_enabled ⇒ Boolean?
readonly
Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false.
-
#origin_shield_region ⇒ String?
readonly
When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance.
-
#response_completion_timeout ⇒ AWSCDK::Duration?
readonly
The time that a request from CloudFront to the origin can stay open and wait for a response.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(connection_attempts: nil, connection_timeout: nil, custom_headers: nil, origin_access_control_id: nil, origin_id: nil, origin_shield_enabled: nil, origin_shield_region: nil, response_completion_timeout: nil) ⇒ OriginOptions
constructor
A new instance of OriginOptions.
- #to_jsii ⇒ Object
Constructor Details
#initialize(connection_attempts: nil, connection_timeout: nil, custom_headers: nil, origin_access_control_id: nil, origin_id: nil, origin_shield_enabled: nil, origin_shield_region: nil, response_completion_timeout: nil) ⇒ OriginOptions
Returns a new instance of OriginOptions.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'cloud_front/origin_options.rb', line 15 def initialize(connection_attempts: nil, connection_timeout: nil, custom_headers: nil, origin_access_control_id: nil, origin_id: nil, origin_shield_enabled: nil, origin_shield_region: nil, response_completion_timeout: nil) @connection_attempts = connection_attempts Jsii::Type.check_type(@connection_attempts, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "connectionAttempts") unless @connection_attempts.nil? @connection_timeout = connection_timeout Jsii::Type.check_type(@connection_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "connectionTimeout") unless @connection_timeout.nil? @custom_headers = custom_headers Jsii::Type.check_type(@custom_headers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "customHeaders") unless @custom_headers.nil? @origin_access_control_id = origin_access_control_id Jsii::Type.check_type(@origin_access_control_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "originAccessControlId") unless @origin_access_control_id.nil? @origin_id = origin_id Jsii::Type.check_type(@origin_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "originId") unless @origin_id.nil? @origin_shield_enabled = origin_shield_enabled Jsii::Type.check_type(@origin_shield_enabled, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "originShieldEnabled") unless @origin_shield_enabled.nil? @origin_shield_region = origin_shield_region Jsii::Type.check_type(@origin_shield_region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "originShieldRegion") unless @origin_shield_region.nil? @response_completion_timeout = response_completion_timeout Jsii::Type.check_type(@response_completion_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "responseCompletionTimeout") unless @response_completion_timeout.nil? end |
Instance Attribute Details
#connection_attempts ⇒ Numeric? (readonly)
Default: 3
The number of times that CloudFront attempts to connect to the origin;
valid values are 1, 2, or 3 attempts.
40 41 42 |
# File 'cloud_front/origin_options.rb', line 40 def connection_attempts @connection_attempts end |
#connection_timeout ⇒ AWSCDK::Duration? (readonly)
Default: Duration.seconds(10)
The number of seconds that CloudFront waits when trying to establish a connection to the origin.
Valid values are 1-10 seconds, inclusive.
47 48 49 |
# File 'cloud_front/origin_options.rb', line 47 def connection_timeout @connection_timeout end |
#custom_headers ⇒ Hash{String => String}? (readonly)
Default: {}
A list of HTTP header names and values that CloudFront adds to requests it sends to the origin.
52 53 54 |
# File 'cloud_front/origin_options.rb', line 52 def custom_headers @custom_headers end |
#origin_access_control_id ⇒ String? (readonly)
Default: - no origin access control
The unique identifier of an origin access control for this origin.
57 58 59 |
# File 'cloud_front/origin_options.rb', line 57 def origin_access_control_id @origin_access_control_id end |
#origin_id ⇒ String? (readonly)
Default: - an originid will be generated for you
A unique identifier for the origin.
This value must be unique within the distribution.
64 65 66 |
# File 'cloud_front/origin_options.rb', line 64 def origin_id @origin_id end |
#origin_shield_enabled ⇒ Boolean? (readonly)
Default: - true
Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false.
69 70 71 |
# File 'cloud_front/origin_options.rb', line 69 def origin_shield_enabled @origin_shield_enabled end |
#origin_shield_region ⇒ String? (readonly)
Default: - origin shield not enabled
When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance.
75 76 77 |
# File 'cloud_front/origin_options.rb', line 75 def origin_shield_region @origin_shield_region end |
#response_completion_timeout ⇒ AWSCDK::Duration? (readonly)
Default: undefined - AWS CloudFront default is not enforcing a maximum value
The time that a request from CloudFront to the origin can stay open and wait for a response.
If the complete response isn't received from the origin by this time, CloudFront ends the connection.
Valid values are 1-3600 seconds, inclusive.
85 86 87 |
# File 'cloud_front/origin_options.rb', line 85 def response_completion_timeout @response_completion_timeout end |
Class Method Details
.jsii_properties ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'cloud_front/origin_options.rb', line 87 def self.jsii_properties { :connection_attempts => "connectionAttempts", :connection_timeout => "connectionTimeout", :custom_headers => "customHeaders", :origin_access_control_id => "originAccessControlId", :origin_id => "originId", :origin_shield_enabled => "originShieldEnabled", :origin_shield_region => "originShieldRegion", :response_completion_timeout => "responseCompletionTimeout", } end |
Instance Method Details
#to_jsii ⇒ Object
100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'cloud_front/origin_options.rb', line 100 def to_jsii result = {} result.merge!({ "connectionAttempts" => @connection_attempts, "connectionTimeout" => @connection_timeout, "customHeaders" => @custom_headers, "originAccessControlId" => @origin_access_control_id, "originId" => @origin_id, "originShieldEnabled" => @origin_shield_enabled, "originShieldRegion" => @origin_shield_region, "responseCompletionTimeout" => @response_completion_timeout, }) result.compact end |