Class: AWSCDK::CloudFrontOrigins::S3BucketOriginWithOAIProps

Inherits:
S3BucketOriginBaseProps
  • Object
show all
Defined in:
cloud_front_origins/s3_bucket_origin_with_oai_props.rb

Overview

Properties for configuring a S3 origin with OAI.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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, origin_path: nil, origin_access_identity: nil) ⇒ S3BucketOriginWithOAIProps

Returns a new instance of S3BucketOriginWithOAIProps.

Parameters:

  • connection_attempts (Numeric, nil) (defaults to: nil)

    The number of times that CloudFront attempts to connect to the origin;

  • connection_timeout (AWSCDK::Duration, nil) (defaults to: nil)

    The number of seconds that CloudFront waits when trying to establish a connection to the origin.

  • custom_headers (Hash{String => String}, nil) (defaults to: nil)

    A list of HTTP header names and values that CloudFront adds to requests it sends to the origin.

  • origin_access_control_id (String, nil) (defaults to: nil)

    The unique identifier of an origin access control for this origin.

  • origin_id (String, nil) (defaults to: nil)

    A unique identifier for the origin.

  • origin_shield_enabled (Boolean, nil) (defaults to: nil)

    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, nil) (defaults to: nil)

    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, nil) (defaults to: nil)

    The time that a request from CloudFront to the origin can stay open and wait for a response.

  • origin_path (String, nil) (defaults to: nil)

    An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.

  • origin_access_identity (Object, nil) (defaults to: nil)

    An optional Origin Access Identity.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 17

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, origin_path: nil, origin_access_identity: 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?
  @origin_path = origin_path
  Jsii::Type.check_type(@origin_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "originPath") unless @origin_path.nil?
  @origin_access_identity = origin_access_identity
  Jsii::Type.check_type(@origin_access_identity, JSON.parse(Base64.strict_decode64("eyJpbnRlcnNlY3Rpb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2Nsb3VkZnJvbnQuSUNsb3VkRnJvbnRPcmlnaW5BY2Nlc3NJZGVudGl0eVJlZiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuYXdzX2lhbS5JR3JhbnRhYmxlIn1dfX0=")), "originAccessIdentity") unless @origin_access_identity.nil?
end

Instance Attribute Details

#connection_attemptsNumeric? (readonly)

Note:

Default: 3

The number of times that CloudFront attempts to connect to the origin;

valid values are 1, 2, or 3 attempts.

Returns:

  • (Numeric, nil)


46
47
48
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 46

def connection_attempts
  @connection_attempts
end

#connection_timeoutAWSCDK::Duration? (readonly)

Note:

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.

Returns:



53
54
55
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 53

def connection_timeout
  @connection_timeout
end

#custom_headersHash{String => String}? (readonly)

Note:

Default: {}

A list of HTTP header names and values that CloudFront adds to requests it sends to the origin.

Returns:

  • (Hash{String => String}, nil)


58
59
60
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 58

def custom_headers
  @custom_headers
end

#origin_access_control_idString? (readonly)

Note:

Default: - no origin access control

The unique identifier of an origin access control for this origin.

Returns:

  • (String, nil)


63
64
65
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 63

def origin_access_control_id
  @origin_access_control_id
end

#origin_access_identityObject? (readonly)

Note:

Default: - an Origin Access Identity will be created.

An optional Origin Access Identity.

Returns:

  • (Object, nil)


103
104
105
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 103

def origin_access_identity
  @origin_access_identity
end

#origin_idString? (readonly)

Note:

Default: - an originid will be generated for you

A unique identifier for the origin.

This value must be unique within the distribution.

Returns:

  • (String, nil)


70
71
72
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 70

def origin_id
  @origin_id
end

#origin_pathString? (readonly)

Note:

Default: '/'

An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.

Must begin, but not end, with '/' (e.g., '/production/images').

Returns:

  • (String, nil)


98
99
100
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 98

def origin_path
  @origin_path
end

#origin_shield_enabledBoolean? (readonly)

Note:

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.

Returns:

  • (Boolean, nil)


75
76
77
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 75

def origin_shield_enabled
  @origin_shield_enabled
end

#origin_shield_regionString? (readonly)

Note:

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.



81
82
83
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 81

def origin_shield_region
  @origin_shield_region
end

#response_completion_timeoutAWSCDK::Duration? (readonly)

Note:

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.



91
92
93
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 91

def response_completion_timeout
  @response_completion_timeout
end

Class Method Details

.jsii_propertiesObject



105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 105

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",
    :origin_path => "originPath",
    :origin_access_identity => "originAccessIdentity",
  }
end

Instance Method Details

#to_jsiiObject



120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# File 'cloud_front_origins/s3_bucket_origin_with_oai_props.rb', line 120

def to_jsii
  result = {}
  result.merge!(super)
  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,
    "originPath" => @origin_path,
    "originAccessIdentity" => @origin_access_identity,
  })
  result.compact
end