Class: AWSCDK::CloudFrontOrigins::FunctionURLOriginWithOACProps

Inherits:
FunctionURLOriginProps
  • Object
show all
Defined in:
cloud_front_origins/function_url_origin_with_oac_props.rb

Overview

Properties for configuring a Lambda Functions URLs with OAC.

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, ip_address_type: nil, keepalive_timeout: nil, read_timeout: nil, origin_access_control: nil) ⇒ FunctionURLOriginWithOACProps

Returns a new instance of FunctionURLOriginWithOACProps.

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.

  • ip_address_type (AWSCDK::CloudFront::OriginIPAddressType, nil) (defaults to: nil)

    Specifies which IP protocol CloudFront uses when connecting to your origin.

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

    Specifies how long, in seconds, CloudFront persists its connection to the origin.

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

    Specifies how long, in seconds, CloudFront waits for a response from the origin.

  • origin_access_control (AWSCDK::Interfaces::AWSCloudfront::IOriginAccessControlRef, nil) (defaults to: nil)

    An optional Origin Access Control.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 20

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, ip_address_type: nil, keepalive_timeout: nil, read_timeout: nil, origin_access_control: 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?
  @ip_address_type = ip_address_type
  Jsii::Type.check_type(@ip_address_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udC5PcmlnaW5JcEFkZHJlc3NUeXBlIn0=")), "ipAddressType") unless @ip_address_type.nil?
  @keepalive_timeout = keepalive_timeout
  Jsii::Type.check_type(@keepalive_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "keepaliveTimeout") unless @keepalive_timeout.nil?
  @read_timeout = read_timeout
  Jsii::Type.check_type(@read_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "readTimeout") unless @read_timeout.nil?
  @origin_access_control = origin_access_control
  Jsii::Type.check_type(@origin_access_control, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19jbG91ZGZyb250LklPcmlnaW5BY2Nlc3NDb250cm9sUmVmIn0=")), "originAccessControl") unless @origin_access_control.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)


55
56
57
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 55

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:



62
63
64
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 62

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)


67
68
69
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 67

def custom_headers
  @custom_headers
end

#ip_address_typeAWSCDK::CloudFront::OriginIPAddressType? (readonly)

Note:

Default: OriginIpAddressType.IPV4

Specifies which IP protocol CloudFront uses when connecting to your origin.

If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability.



114
115
116
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 114

def ip_address_type
  @ip_address_type
end

#keepalive_timeoutAWSCDK::Duration? (readonly)

Note:

Default: Duration.seconds(5)

Specifies how long, in seconds, CloudFront persists its connection to the origin.

The valid range is from 1 to 180 seconds, inclusive.

Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time.

Returns:



124
125
126
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 124

def keepalive_timeout
  @keepalive_timeout
end

#origin_access_controlAWSCDK::Interfaces::AWSCloudfront::IOriginAccessControlRef? (readonly)

Note:

Default: - an Origin Access Control will be created.

An optional Origin Access Control.



139
140
141
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 139

def origin_access_control
  @origin_access_control
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)


72
73
74
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 72

def origin_access_control_id
  @origin_access_control_id
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)


79
80
81
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 79

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)


107
108
109
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 107

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)


84
85
86
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 84

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.



90
91
92
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 90

def origin_shield_region
  @origin_shield_region
end

#read_timeoutAWSCDK::Duration? (readonly)

Note:

Default: Duration.seconds(30)

Specifies how long, in seconds, CloudFront waits for a response from the origin.

The valid range is from 1 to 180 seconds, inclusive.

Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time.

Returns:



134
135
136
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 134

def read_timeout
  @read_timeout
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.



100
101
102
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 100

def response_completion_timeout
  @response_completion_timeout
end

Class Method Details

.jsii_propertiesObject



141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 141

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",
    :ip_address_type => "ipAddressType",
    :keepalive_timeout => "keepaliveTimeout",
    :read_timeout => "readTimeout",
    :origin_access_control => "originAccessControl",
  }
end

Instance Method Details

#to_jsiiObject



159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# File 'cloud_front_origins/function_url_origin_with_oac_props.rb', line 159

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,
    "ipAddressType" => @ip_address_type,
    "keepaliveTimeout" => @keepalive_timeout,
    "readTimeout" => @read_timeout,
    "originAccessControl" => @origin_access_control,
  })
  result.compact
end