Class: AWSCDK::ECSPatterns::ApplicationLoadBalancerProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::ECSPatterns::ApplicationLoadBalancerProps
- Defined in:
- ecs_patterns/application_load_balancer_props.rb
Overview
Properties to define an application load balancer.
Instance Attribute Summary collapse
-
#domain_name ⇒ String?
readonly
The domain name for the service, e.g.
-
#domain_zone ⇒ AWSCDK::Route53::IHostedZone?
readonly
The Route53 hosted zone for the domain, e.g.
-
#idle_timeout ⇒ AWSCDK::Duration?
readonly
The load balancer idle timeout, in seconds.
-
#listeners ⇒ Array<AWSCDK::ECSPatterns::ApplicationListenerProps>
readonly
Listeners (at least one listener) attached to this load balancer.
-
#name ⇒ String
readonly
Name of the load balancer.
-
#public_load_balancer ⇒ Boolean?
readonly
Determines whether the Load Balancer will be internet-facing.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(listeners:, name:, domain_name: nil, domain_zone: nil, idle_timeout: nil, public_load_balancer: nil) ⇒ ApplicationLoadBalancerProps
constructor
A new instance of ApplicationLoadBalancerProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(listeners:, name:, domain_name: nil, domain_zone: nil, idle_timeout: nil, public_load_balancer: nil) ⇒ ApplicationLoadBalancerProps
Returns a new instance of ApplicationLoadBalancerProps.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'ecs_patterns/application_load_balancer_props.rb', line 13 def initialize(listeners:, name:, domain_name: nil, domain_zone: nil, idle_timeout: nil, public_load_balancer: nil) @listeners = listeners.is_a?(Array) ? listeners.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::ECSPatterns::ApplicationListenerProps.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : listeners Jsii::Type.check_type(@listeners, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lY3NfcGF0dGVybnMuQXBwbGljYXRpb25MaXN0ZW5lclByb3BzIn0sImtpbmQiOiJhcnJheSJ9fQ==")), "listeners") @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") @domain_name = domain_name Jsii::Type.check_type(@domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainName") unless @domain_name.nil? @domain_zone = domain_zone Jsii::Type.check_type(@domain_zone, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfcm91dGU1My5JSG9zdGVkWm9uZSJ9")), "domainZone") unless @domain_zone.nil? @idle_timeout = idle_timeout Jsii::Type.check_type(@idle_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "idleTimeout") unless @idle_timeout.nil? @public_load_balancer = public_load_balancer Jsii::Type.check_type(@public_load_balancer, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "publicLoadBalancer") unless @public_load_balancer.nil? end |
Instance Attribute Details
#domain_name ⇒ String? (readonly)
Default: - No domain name.
The domain name for the service, e.g. "api.example.com.".
40 41 42 |
# File 'ecs_patterns/application_load_balancer_props.rb', line 40 def domain_name @domain_name end |
#domain_zone ⇒ AWSCDK::Route53::IHostedZone? (readonly)
Default: - No Route53 hosted domain zone.
The Route53 hosted zone for the domain, e.g. "example.com.".
45 46 47 |
# File 'ecs_patterns/application_load_balancer_props.rb', line 45 def domain_zone @domain_zone end |
#idle_timeout ⇒ AWSCDK::Duration? (readonly)
Default: - CloudFormation sets idle timeout to 60 seconds
The load balancer idle timeout, in seconds.
Can be between 1 and 4000 seconds.
52 53 54 |
# File 'ecs_patterns/application_load_balancer_props.rb', line 52 def idle_timeout @idle_timeout end |
#listeners ⇒ Array<AWSCDK::ECSPatterns::ApplicationListenerProps> (readonly)
Listeners (at least one listener) attached to this load balancer.
31 32 33 |
# File 'ecs_patterns/application_load_balancer_props.rb', line 31 def listeners @listeners end |
#name ⇒ String (readonly)
Name of the load balancer.
35 36 37 |
# File 'ecs_patterns/application_load_balancer_props.rb', line 35 def name @name end |
#public_load_balancer ⇒ Boolean? (readonly)
Default: true
Determines whether the Load Balancer will be internet-facing.
57 58 59 |
# File 'ecs_patterns/application_load_balancer_props.rb', line 57 def public_load_balancer @public_load_balancer end |
Class Method Details
.jsii_properties ⇒ Object
59 60 61 62 63 64 65 66 67 68 |
# File 'ecs_patterns/application_load_balancer_props.rb', line 59 def self.jsii_properties { :listeners => "listeners", :name => "name", :domain_name => "domainName", :domain_zone => "domainZone", :idle_timeout => "idleTimeout", :public_load_balancer => "publicLoadBalancer", } end |
Instance Method Details
#to_jsii ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'ecs_patterns/application_load_balancer_props.rb', line 70 def to_jsii result = {} result.merge!({ "listeners" => @listeners, "name" => @name, "domainName" => @domain_name, "domainZone" => @domain_zone, "idleTimeout" => @idle_timeout, "publicLoadBalancer" => @public_load_balancer, }) result.compact end |