Class: AWSCDK::ECS::LoadBalancerTargetOptions

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ecs/load_balancer_target_options.rb

Overview

Properties for defining an ECS target.

The port mapping for it must already have been created through addPortMapping().

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(container_name:, alternate_target: nil, container_port: nil, protocol: nil) ⇒ LoadBalancerTargetOptions

Returns a new instance of LoadBalancerTargetOptions.

Parameters:

  • container_name (String)

    The name of the container.

  • alternate_target (AWSCDK::ECS::IAlternateTarget, nil) (defaults to: nil)

    Alternate target configuration for blue/green deployments.

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

    The port number of the container.

  • protocol (AWSCDK::ECS::Protocol, nil) (defaults to: nil)

    The protocol used for the port mapping.



13
14
15
16
17
18
19
20
21
22
# File 'ecs/load_balancer_target_options.rb', line 13

def initialize(container_name:, alternate_target: nil, container_port: nil, protocol: nil)
  @container_name = container_name
  Jsii::Type.check_type(@container_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "containerName")
  @alternate_target = alternate_target
  Jsii::Type.check_type(@alternate_target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLklBbHRlcm5hdGVUYXJnZXQifQ==")), "alternateTarget") unless @alternate_target.nil?
  @container_port = container_port
  Jsii::Type.check_type(@container_port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "containerPort") unless @container_port.nil?
  @protocol = protocol
  Jsii::Type.check_type(@protocol, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLlByb3RvY29sIn0=")), "protocol") unless @protocol.nil?
end

Instance Attribute Details

#alternate_targetAWSCDK::ECS::IAlternateTarget? (readonly)

Note:

Default: - No alternate target configuration

Alternate target configuration for blue/green deployments.



32
33
34
# File 'ecs/load_balancer_target_options.rb', line 32

def alternate_target
  @alternate_target
end

#container_nameString (readonly)

The name of the container.

Returns:

  • (String)


27
28
29
# File 'ecs/load_balancer_target_options.rb', line 27

def container_name
  @container_name
end

#container_portNumeric? (readonly)

Note:

Default: - Container port of the first added port mapping.

The port number of the container.

Only applicable when using application/network load balancers.

Returns:

  • (Numeric, nil)


39
40
41
# File 'ecs/load_balancer_target_options.rb', line 39

def container_port
  @container_port
end

#protocolAWSCDK::ECS::Protocol? (readonly)

Note:

Default: Protocol.TCP

The protocol used for the port mapping.

Only applicable when using application load balancers.

Returns:



46
47
48
# File 'ecs/load_balancer_target_options.rb', line 46

def protocol
  @protocol
end

Class Method Details

.jsii_propertiesObject



48
49
50
51
52
53
54
55
# File 'ecs/load_balancer_target_options.rb', line 48

def self.jsii_properties
  {
    :container_name => "containerName",
    :alternate_target => "alternateTarget",
    :container_port => "containerPort",
    :protocol => "protocol",
  }
end

Instance Method Details

#to_jsiiObject



57
58
59
60
61
62
63
64
65
66
# File 'ecs/load_balancer_target_options.rb', line 57

def to_jsii
  result = {}
  result.merge!({
    "containerName" => @container_name,
    "alternateTarget" => @alternate_target,
    "containerPort" => @container_port,
    "protocol" => @protocol,
  })
  result.compact
end