Class: AWSCDK::CloudFrontOrigins::S3BucketOrigin

Inherits:
AWSCDK::CloudFront::OriginBase
  • Object
show all
Defined in:
cloud_front_origins/s3_bucket_origin.rb

Overview

A S3 Bucket Origin.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bucket, props = nil) ⇒ S3BucketOrigin

Returns a new instance of S3BucketOrigin.

Parameters:



10
11
12
13
14
15
# File 'cloud_front_origins/s3_bucket_origin.rb', line 10

def initialize(bucket, props = nil)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudFrontOrigins::S3BucketOriginBaseProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(bucket, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuSUJ1Y2tldCJ9")), "bucket")
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udF9vcmlnaW5zLlMzQnVja2V0T3JpZ2luQmFzZVByb3BzIn0=")), "props") unless props.nil?
  Jsii::Object.instance_method(:initialize).bind(self).call(bucket, props)
end

Class Method Details

.jsii_overridable_methodsObject



17
18
19
20
21
22
23
24
25
# File 'cloud_front_origins/s3_bucket_origin.rb', line 17

def self.jsii_overridable_methods
  {
    :bind => { kind: :method, name: "bind", is_optional: false },
    :render_custom_origin_config => { kind: :method, name: "renderCustomOriginConfig", is_optional: false },
    :render_s3_origin_config => { kind: :method, name: "renderS3OriginConfig", is_optional: false },
    :render_vpc_origin_config => { kind: :method, name: "renderVpcOriginConfig", is_optional: false },
    :validate_response_completion_timeout_with_read_timeout => { kind: :method, name: "validateResponseCompletionTimeoutWithReadTimeout", is_optional: false },
  }
end

.with_bucket_defaults(bucket, props = nil) ⇒ AWSCDK::CloudFront::IOrigin

Create a S3 Origin with default S3 bucket settings (no origin access control).

Parameters:

Returns:



32
33
34
35
36
37
# File 'cloud_front_origins/s3_bucket_origin.rb', line 32

def self.with_bucket_defaults(bucket, props = nil)
  Jsii::Type.check_type(bucket, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuSUJ1Y2tldCJ9")), "bucket")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudFront::OriginProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udC5PcmlnaW5Qcm9wcyJ9")), "props") unless props.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_cloudfront_origins.S3BucketOrigin", "withBucketDefaults", [bucket, props])
end

.with_origin_access_control(bucket, props = nil) ⇒ AWSCDK::CloudFront::IOrigin

Create a S3 Origin with Origin Access Control (OAC) configured.

Parameters:

Returns:



44
45
46
47
48
49
# File 'cloud_front_origins/s3_bucket_origin.rb', line 44

def self.with_origin_access_control(bucket, props = nil)
  Jsii::Type.check_type(bucket, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuSUJ1Y2tldCJ9")), "bucket")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudFrontOrigins::S3BucketOriginWithOACProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udF9vcmlnaW5zLlMzQnVja2V0T3JpZ2luV2l0aE9BQ1Byb3BzIn0=")), "props") unless props.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_cloudfront_origins.S3BucketOrigin", "withOriginAccessControl", [bucket, props])
end

.with_origin_access_identity(bucket, props = nil) ⇒ AWSCDK::CloudFront::IOrigin

Create a S3 Origin with Origin Access Identity (OAI) configured OAI is a legacy feature and we strongly recommend you to use OAC via withOriginAccessControl() unless it is not supported in your required region (e.g. China regions).

Parameters:

Returns:



56
57
58
59
60
61
# File 'cloud_front_origins/s3_bucket_origin.rb', line 56

def self.with_origin_access_identity(bucket, props = nil)
  Jsii::Type.check_type(bucket, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfczMuSUJ1Y2tldCJ9")), "bucket")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudFrontOrigins::S3BucketOriginWithOAIProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udF9vcmlnaW5zLlMzQnVja2V0T3JpZ2luV2l0aE9BSVByb3BzIn0=")), "props") unless props.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_cloudfront_origins.S3BucketOrigin", "withOriginAccessIdentity", [bucket, props])
end

Instance Method Details

#bind(scope, options) ⇒ AWSCDK::CloudFront::OriginBindConfig

Binds the origin to the associated Distribution.

Can be used to grant permissions, create dependent resources, etc.

Parameters:

Returns:



70
71
72
73
74
75
# File 'cloud_front_origins/s3_bucket_origin.rb', line 70

def bind(scope, options)
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  options = options.is_a?(Hash) ? ::AWSCDK::CloudFront::OriginBindOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udC5PcmlnaW5CaW5kT3B0aW9ucyJ9")), "options")
  jsii_call_method("bind", [scope, options])
end

#render_custom_origin_configAWSCDK::CloudFront::CfnDistribution::CustomOriginConfigProperty?



78
79
80
# File 'cloud_front_origins/s3_bucket_origin.rb', line 78

def render_custom_origin_config()
  jsii_call_method("renderCustomOriginConfig", [])
end

#render_s3_origin_configAWSCDK::CloudFront::CfnDistribution::S3OriginConfigProperty?



83
84
85
# File 'cloud_front_origins/s3_bucket_origin.rb', line 83

def render_s3_origin_config()
  jsii_call_method("renderS3OriginConfig", [])
end

#render_vpc_origin_configAWSCDK::CloudFront::CfnDistribution::VPCOriginConfigProperty?



88
89
90
# File 'cloud_front_origins/s3_bucket_origin.rb', line 88

def render_vpc_origin_config()
  jsii_call_method("renderVpcOriginConfig", [])
end

#validate_response_completion_timeout_with_read_timeout(response_completion_timeout = nil, read_timeout = nil) ⇒ void

This method returns an undefined value.

Validates that responseCompletionTimeout is greater than or equal to readTimeout when both are specified.

This method should be called by subclasses that support readTimeout.

Parameters:



99
100
101
102
103
# File 'cloud_front_origins/s3_bucket_origin.rb', line 99

def validate_response_completion_timeout_with_read_timeout(response_completion_timeout = nil, read_timeout = nil)
  Jsii::Type.check_type(response_completion_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "responseCompletionTimeout") unless response_completion_timeout.nil?
  Jsii::Type.check_type(read_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "readTimeout") unless read_timeout.nil?
  jsii_call_method("validateResponseCompletionTimeoutWithReadTimeout", [response_completion_timeout, read_timeout])
end