Class: AWSCDK::CloudFrontOrigins::VPCOrigin

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

Overview

Represents a distribution's VPC origin.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(domain_name, props) ⇒ VPCOrigin

Returns a new instance of VPCOrigin.

Parameters:



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

def initialize(domain_name, props)
  props = props.is_a?(Hash) ? ::AWSCDK::CloudFrontOrigins::VPCOriginProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainName")
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udF9vcmlnaW5zLlZwY09yaWdpblByb3BzIn0=")), "props")
  Jsii::Object.instance_method(:initialize).bind(self).call(domain_name, props)
end

Class Method Details

.jsii_overridable_methodsObject



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

def self.jsii_overridable_methods
  {
    :props => { kind: :property, name: "props", is_optional: false },
    :vpc_origin => { kind: :property, name: "vpcOrigin", is_optional: true },
    :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_application_load_balancer(alb, props = nil) ⇒ AWSCDK::CloudFrontOrigins::VPCOrigin

Create a VPC origin with an Application Load Balancer.

Parameters:

Returns:

  • (AWSCDK::CloudFrontOrigins::VPCOrigin)


34
35
36
37
38
39
# File 'cloud_front_origins/vpc_origin.rb', line 34

def self.with_application_load_balancer(alb, props = nil)
  Jsii::Type.check_type(alb, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi5JQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIifQ==")), "alb")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudFrontOrigins::VPCOriginWithEndpointProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udF9vcmlnaW5zLlZwY09yaWdpbldpdGhFbmRwb2ludFByb3BzIn0=")), "props") unless props.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_cloudfront_origins.VpcOrigin", "withApplicationLoadBalancer", [alb, props])
end

.with_ec2_instance(instance, props = nil) ⇒ AWSCDK::CloudFrontOrigins::VPCOrigin

Create a VPC origin with an EC2 instance.

Parameters:

Returns:

  • (AWSCDK::CloudFrontOrigins::VPCOrigin)


46
47
48
49
50
51
# File 'cloud_front_origins/vpc_origin.rb', line 46

def self.with_ec2_instance(instance, props = nil)
  Jsii::Type.check_type(instance, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLklJbnN0YW5jZSJ9")), "instance")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudFrontOrigins::VPCOriginWithEndpointProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udF9vcmlnaW5zLlZwY09yaWdpbldpdGhFbmRwb2ludFByb3BzIn0=")), "props") unless props.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_cloudfront_origins.VpcOrigin", "withEc2Instance", [instance, props])
end

.with_network_load_balancer(nlb, props = nil) ⇒ AWSCDK::CloudFrontOrigins::VPCOrigin

Create a VPC origin with a Network Load Balancer.

Parameters:

Returns:

  • (AWSCDK::CloudFrontOrigins::VPCOrigin)


58
59
60
61
62
63
# File 'cloud_front_origins/vpc_origin.rb', line 58

def self.with_network_load_balancer(nlb, props = nil)
  Jsii::Type.check_type(nlb, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi5JTmV0d29ya0xvYWRCYWxhbmNlciJ9")), "nlb")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudFrontOrigins::VPCOriginWithEndpointProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udF9vcmlnaW5zLlZwY09yaWdpbldpdGhFbmRwb2ludFByb3BzIn0=")), "props") unless props.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_cloudfront_origins.VpcOrigin", "withNetworkLoadBalancer", [nlb, props])
end

.with_vpc_origin(origin, props = nil) ⇒ AWSCDK::CloudFrontOrigins::VPCOrigin

Create a VPC origin with an existing VPC origin resource.

Parameters:

Returns:

  • (AWSCDK::CloudFrontOrigins::VPCOrigin)


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

def self.with_vpc_origin(origin, props = nil)
  Jsii::Type.check_type(origin, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udC5JVnBjT3JpZ2luIn0=")), "origin")
  props = props.is_a?(Hash) ? ::AWSCDK::CloudFrontOrigins::VPCOriginProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udF9vcmlnaW5zLlZwY09yaWdpblByb3BzIn0=")), "props") unless props.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_cloudfront_origins.VpcOrigin", "withVpcOrigin", [origin, 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:



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

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

#propsAWSCDK::CloudFrontOrigins::VPCOriginProps



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

def props()
  jsii_get_property("props")
end

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



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

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

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



112
113
114
# File 'cloud_front_origins/vpc_origin.rb', line 112

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

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



117
118
119
# File 'cloud_front_origins/vpc_origin.rb', line 117

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:



128
129
130
131
132
# File 'cloud_front_origins/vpc_origin.rb', line 128

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

#vpc_originAWSCDK::CloudFront::IVPCOrigin?



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

def vpc_origin()
  jsii_get_property("vpcOrigin")
end

#vpc_origin=(value) ⇒ Object



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

def vpc_origin=(value)
  Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmcm9udC5JVnBjT3JpZ2luIn0=")), "vpcOrigin") unless value.nil?
  jsii_set_property("vpcOrigin", value)
end