Class: AWSCDK::ECS::CfnTaskDefinition::ProxyConfigurationProperty

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

Overview

The configuration details for the App Mesh proxy.

For tasks that use the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ecs-init package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version 20190301 or later, then they contain the required versions of the container agent and ecs-init . For more information, see Amazon ECS-optimized Linux AMI

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(container_name:, proxy_configuration_properties: nil, type: nil) ⇒ ProxyConfigurationProperty

Returns a new instance of ProxyConfigurationProperty.

Parameters:



2821
2822
2823
2824
2825
2826
2827
2828
# File 'ecs/cfn_task_definition.rb', line 2821

def initialize(container_name:, proxy_configuration_properties: nil, type: nil)
  @container_name = container_name
  Jsii::Type.check_type(@container_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "containerName")
  @proxy_configuration_properties = proxy_configuration_properties
  Jsii::Type.check_type(@proxy_configuration_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWNzLkNmblRhc2tEZWZpbml0aW9uLktleVZhbHVlUGFpclByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "proxyConfigurationProperties") unless @proxy_configuration_properties.nil?
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type") unless @type.nil?
end

Instance Attribute Details

#container_nameString (readonly)

The name of the container that will serve as the App Mesh proxy.



2834
2835
2836
# File 'ecs/cfn_task_definition.rb', line 2834

def container_name
  @container_name
end

#proxy_configuration_propertiesAWSCDK::IResolvable, ... (readonly)

The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified as key-value pairs.

  • IgnoredUID - (Required) The user ID (UID) of the proxy container as defined by the user parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If IgnoredGID is specified, this field can be empty.
  • IgnoredGID - (Required) The group ID (GID) of the proxy container as defined by the user parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If IgnoredUID is specified, this field can be empty.
  • AppPorts - (Required) The list of ports that the application uses. Network traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort .
  • ProxyIngressPort - (Required) Specifies the port that incoming traffic to the AppPorts is directed to.
  • ProxyEgressPort - (Required) Specifies the port that outgoing traffic from the AppPorts is directed to.
  • EgressIgnoredPorts - (Required) The egress traffic going to the specified ports is ignored and not redirected to the ProxyEgressPort . It can be an empty list.
  • EgressIgnoredIPs - (Required) The egress traffic going to the specified IP addresses is ignored and not redirected to the ProxyEgressPort . It can be an empty list.


2847
2848
2849
# File 'ecs/cfn_task_definition.rb', line 2847

def proxy_configuration_properties
  @proxy_configuration_properties
end

#typeString? (readonly)

The proxy type.

The only supported value is APPMESH .



2854
2855
2856
# File 'ecs/cfn_task_definition.rb', line 2854

def type
  @type
end

Class Method Details

.jsii_propertiesObject



2856
2857
2858
2859
2860
2861
2862
# File 'ecs/cfn_task_definition.rb', line 2856

def self.jsii_properties
  {
    :container_name => "containerName",
    :proxy_configuration_properties => "proxyConfigurationProperties",
    :type => "type",
  }
end

Instance Method Details

#to_jsiiObject



2864
2865
2866
2867
2868
2869
2870
2871
2872
# File 'ecs/cfn_task_definition.rb', line 2864

def to_jsii
  result = {}
  result.merge!({
    "containerName" => @container_name,
    "proxyConfigurationProperties" => @proxy_configuration_properties,
    "type" => @type,
  })
  result.compact
end