All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.ecs.model.PortMapping Maven / Gradle / Ivy

Go to download

The AWS Java SDK for the Amazon EC2 Container Service holds the client classes that are used for communicating with the Amazon EC2 Container Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.ecs.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Port mappings allow containers to access ports on the host container instance to send or receive traffic. Port * mappings are specified as part of the container definition. *

*

* If you use containers in a task with the awsvpc or host network mode, specify the exposed * ports using containerPort. The hostPort can be left blank or it must be the same value as * the containerPort. *

*

* Most fields of this parameter (containerPort, hostPort, protocol) maps to * PortBindings in the Create * a container section of the Docker Remote API and the * --publish option to * docker run . If the network mode of a task definition is set to host, host ports must * either be undefined or match the container port in the port mapping. *

* *

* You can't expose the same container port for multiple protocols. If you attempt this, an error is returned. *

*
*

* After a task reaches the RUNNING status, manual and automatic host and container port assignments are * visible in the networkBindings section of DescribeTasks API responses. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class PortMapping implements Serializable, Cloneable, StructuredPojo { /** *

* The port number on the container that's bound to the user-specified or automatically assigned host port. *

*

* If you use containers in a task with the awsvpc or host network mode, specify the * exposed ports using containerPort. *

*

* If you use containers in a task with the bridge network mode and you specify a container port and * not a host port, your container automatically receives a host port in the ephemeral port range. For more * information, see hostPort. Port mappings that are automatically assigned in this way do not count * toward the 100 reserved ports limit of a container instance. *

*/ private Integer containerPort; /** *

* The port number on the container instance to reserve for your container. *

*

* If you specify a containerPortRange, leave this field empty and the value of the * hostPort is set as follows: *

*
    *
  • *

    * For containers in a task with the awsvpc network mode, the hostPort is set to the same * value as the containerPort. This is a static mapping strategy. *

    *
  • *
  • *

    * For containers in a task with the bridge network mode, the Amazon ECS agent finds open ports on the * host and automatically binds them to the container ports. This is a dynamic mapping strategy. *

    *
  • *
*

* If you use containers in a task with the awsvpc or host network mode, the * hostPort can either be left blank or set to the same value as the containerPort. *

*

* If you use containers in a task with the bridge network mode, you can specify a non-reserved host * port for your container port mapping, or you can omit the hostPort (or set it to 0) * while specifying a containerPort and your container automatically receives a port in the ephemeral * port range for your container instance operating system and Docker version. *

*

* The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under * /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default * ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not attempt to * specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports * below 32768 are outside of the ephemeral port range. *

*

* The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent * ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task * is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in * the remainingResources of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time. This * number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved * ports quota. *

*/ private Integer hostPort; /** *

* The protocol used for the port mapping. Valid values are tcp and udp. The default is * tcp. protocol is immutable in a Service Connect service. Updating this field requires a * service deletion and redeployment. *

*/ private String protocol; /** *

* The name that's used for the port mapping. This parameter only applies to Service Connect. This parameter is the * name that you use in the serviceConnectConfiguration of a service. The name can include up to 64 * characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name * can't start with a hyphen. *

*

* For more information, see Service Connect in * the Amazon Elastic Container Service Developer Guide. *

*/ private String name; /** *

* The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We * recommend that you set this parameter to be consistent with the protocol that your application uses. If you set * this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set * this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch. *

*

* If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific * telemetry for TCP. *

*

* appProtocol is immutable in a Service Connect service. Updating this field requires a service * deletion and redeployment. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to * services across all of the clusters in the namespace. Tasks connect through a managed proxy container that * collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported * with Service Connect. For more information, see Service Connect in * the Amazon Elastic Container Service Developer Guide. *

*/ private String appProtocol; /** *

* The port number range on the container that's bound to the dynamically mapped host port range. *

*

* The following rules apply when you specify a containerPortRange: *

*
    *
  • *

    * You must use either the bridge network mode or the awsvpc network mode. *

    *
  • *
  • *

    * This parameter is available for both the EC2 and Fargate launch types. *

    *
  • *
  • *

    * This parameter is available for both the Linux and Windows operating systems. *

    *
  • *
  • *

    * The container instance must have at least version 1.67.0 of the container agent and at least version 1.67.0-1 of * the ecs-init package *

    *
  • *
  • *

    * You can specify a maximum of 100 port ranges per container. *

    *
  • *
  • *

    * You do not specify a hostPortRange. The value of the hostPortRange is set as follows: *

    *
      *
    • *

      * For containers in a task with the awsvpc network mode, the hostPortRange is set to the * same value as the containerPortRange. This is a static mapping strategy. *

      *
    • *
    • *

      * For containers in a task with the bridge network mode, the Amazon ECS agent finds open host ports * from the default ephemeral range and passes it to docker to bind them to the container ports. *

      *
    • *
    *
  • *
  • *

    * The containerPortRange valid values are between 1 and 65535. *

    *
  • *
  • *

    * A port can only be included in one port mapping per container. *

    *
  • *
  • *

    * You cannot specify overlapping port ranges. *

    *
  • *
  • *

    * The first port in the range must be less than last port in the range. *

    *
  • *
  • *

    * Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large * number of ports. *

    *

    * For more information, see Issue #11185 on the Github * website. *

    *

    * For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide. *

    *
  • *
*

* You can call * DescribeTasks to view the hostPortRange which are the host ports that are bound to * the container ports. *

*/ private String containerPortRange; /** *

* The port number on the container that's bound to the user-specified or automatically assigned host port. *

*

* If you use containers in a task with the awsvpc or host network mode, specify the * exposed ports using containerPort. *

*

* If you use containers in a task with the bridge network mode and you specify a container port and * not a host port, your container automatically receives a host port in the ephemeral port range. For more * information, see hostPort. Port mappings that are automatically assigned in this way do not count * toward the 100 reserved ports limit of a container instance. *

* * @param containerPort * The port number on the container that's bound to the user-specified or automatically assigned host * port.

*

* If you use containers in a task with the awsvpc or host network mode, specify * the exposed ports using containerPort. *

*

* If you use containers in a task with the bridge network mode and you specify a container port * and not a host port, your container automatically receives a host port in the ephemeral port range. For * more information, see hostPort. Port mappings that are automatically assigned in this way do * not count toward the 100 reserved ports limit of a container instance. */ public void setContainerPort(Integer containerPort) { this.containerPort = containerPort; } /** *

* The port number on the container that's bound to the user-specified or automatically assigned host port. *

*

* If you use containers in a task with the awsvpc or host network mode, specify the * exposed ports using containerPort. *

*

* If you use containers in a task with the bridge network mode and you specify a container port and * not a host port, your container automatically receives a host port in the ephemeral port range. For more * information, see hostPort. Port mappings that are automatically assigned in this way do not count * toward the 100 reserved ports limit of a container instance. *

* * @return The port number on the container that's bound to the user-specified or automatically assigned host * port.

*

* If you use containers in a task with the awsvpc or host network mode, specify * the exposed ports using containerPort. *

*

* If you use containers in a task with the bridge network mode and you specify a container * port and not a host port, your container automatically receives a host port in the ephemeral port range. * For more information, see hostPort. Port mappings that are automatically assigned in this * way do not count toward the 100 reserved ports limit of a container instance. */ public Integer getContainerPort() { return this.containerPort; } /** *

* The port number on the container that's bound to the user-specified or automatically assigned host port. *

*

* If you use containers in a task with the awsvpc or host network mode, specify the * exposed ports using containerPort. *

*

* If you use containers in a task with the bridge network mode and you specify a container port and * not a host port, your container automatically receives a host port in the ephemeral port range. For more * information, see hostPort. Port mappings that are automatically assigned in this way do not count * toward the 100 reserved ports limit of a container instance. *

* * @param containerPort * The port number on the container that's bound to the user-specified or automatically assigned host * port.

*

* If you use containers in a task with the awsvpc or host network mode, specify * the exposed ports using containerPort. *

*

* If you use containers in a task with the bridge network mode and you specify a container port * and not a host port, your container automatically receives a host port in the ephemeral port range. For * more information, see hostPort. Port mappings that are automatically assigned in this way do * not count toward the 100 reserved ports limit of a container instance. * @return Returns a reference to this object so that method calls can be chained together. */ public PortMapping withContainerPort(Integer containerPort) { setContainerPort(containerPort); return this; } /** *

* The port number on the container instance to reserve for your container. *

*

* If you specify a containerPortRange, leave this field empty and the value of the * hostPort is set as follows: *

*
    *
  • *

    * For containers in a task with the awsvpc network mode, the hostPort is set to the same * value as the containerPort. This is a static mapping strategy. *

    *
  • *
  • *

    * For containers in a task with the bridge network mode, the Amazon ECS agent finds open ports on the * host and automatically binds them to the container ports. This is a dynamic mapping strategy. *

    *
  • *
*

* If you use containers in a task with the awsvpc or host network mode, the * hostPort can either be left blank or set to the same value as the containerPort. *

*

* If you use containers in a task with the bridge network mode, you can specify a non-reserved host * port for your container port mapping, or you can omit the hostPort (or set it to 0) * while specifying a containerPort and your container automatically receives a port in the ephemeral * port range for your container instance operating system and Docker version. *

*

* The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under * /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default * ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not attempt to * specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports * below 32768 are outside of the ephemeral port range. *

*

* The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent * ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task * is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in * the remainingResources of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time. This * number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved * ports quota. *

* * @param hostPort * The port number on the container instance to reserve for your container.

*

* If you specify a containerPortRange, leave this field empty and the value of the * hostPort is set as follows: *

*
    *
  • *

    * For containers in a task with the awsvpc network mode, the hostPort is set to * the same value as the containerPort. This is a static mapping strategy. *

    *
  • *
  • *

    * For containers in a task with the bridge network mode, the Amazon ECS agent finds open ports * on the host and automatically binds them to the container ports. This is a dynamic mapping strategy. *

    *
  • *
*

* If you use containers in a task with the awsvpc or host network mode, the * hostPort can either be left blank or set to the same value as the containerPort. *

*

* If you use containers in a task with the bridge network mode, you can specify a non-reserved * host port for your container port mapping, or you can omit the hostPort (or set it to * 0) while specifying a containerPort and your container automatically receives a * port in the ephemeral port range for your container instance operating system and Docker version. *

*

* The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under * /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default * ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not * attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. * In general, ports below 32768 are outside of the ephemeral port range. *

*

* The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container * agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved * while the task is running. That is, after a task stops, the host port is released. The current reserved * ports are displayed in the remainingResources of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time. * This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 * reserved ports quota. */ public void setHostPort(Integer hostPort) { this.hostPort = hostPort; } /** *

* The port number on the container instance to reserve for your container. *

*

* If you specify a containerPortRange, leave this field empty and the value of the * hostPort is set as follows: *

*
    *
  • *

    * For containers in a task with the awsvpc network mode, the hostPort is set to the same * value as the containerPort. This is a static mapping strategy. *

    *
  • *
  • *

    * For containers in a task with the bridge network mode, the Amazon ECS agent finds open ports on the * host and automatically binds them to the container ports. This is a dynamic mapping strategy. *

    *
  • *
*

* If you use containers in a task with the awsvpc or host network mode, the * hostPort can either be left blank or set to the same value as the containerPort. *

*

* If you use containers in a task with the bridge network mode, you can specify a non-reserved host * port for your container port mapping, or you can omit the hostPort (or set it to 0) * while specifying a containerPort and your container automatically receives a port in the ephemeral * port range for your container instance operating system and Docker version. *

*

* The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under * /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default * ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not attempt to * specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports * below 32768 are outside of the ephemeral port range. *

*

* The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent * ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task * is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in * the remainingResources of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time. This * number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved * ports quota. *

* * @return The port number on the container instance to reserve for your container.

*

* If you specify a containerPortRange, leave this field empty and the value of the * hostPort is set as follows: *

*
    *
  • *

    * For containers in a task with the awsvpc network mode, the hostPort is set to * the same value as the containerPort. This is a static mapping strategy. *

    *
  • *
  • *

    * For containers in a task with the bridge network mode, the Amazon ECS agent finds open ports * on the host and automatically binds them to the container ports. This is a dynamic mapping strategy. *

    *
  • *
*

* If you use containers in a task with the awsvpc or host network mode, the * hostPort can either be left blank or set to the same value as the containerPort * . *

*

* If you use containers in a task with the bridge network mode, you can specify a non-reserved * host port for your container port mapping, or you can omit the hostPort (or set it to * 0) while specifying a containerPort and your container automatically receives a * port in the ephemeral port range for your container instance operating system and Docker version. *

*

* The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under * /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default * ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not * attempt to specify a host port in the ephemeral port range as these are reserved for automatic * assignment. In general, ports below 32768 are outside of the ephemeral port range. *

*

* The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container * agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved * while the task is running. That is, after a task stops, the host port is released. The current reserved * ports are displayed in the remainingResources of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time. * This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 * reserved ports quota. */ public Integer getHostPort() { return this.hostPort; } /** *

* The port number on the container instance to reserve for your container. *

*

* If you specify a containerPortRange, leave this field empty and the value of the * hostPort is set as follows: *

*
    *
  • *

    * For containers in a task with the awsvpc network mode, the hostPort is set to the same * value as the containerPort. This is a static mapping strategy. *

    *
  • *
  • *

    * For containers in a task with the bridge network mode, the Amazon ECS agent finds open ports on the * host and automatically binds them to the container ports. This is a dynamic mapping strategy. *

    *
  • *
*

* If you use containers in a task with the awsvpc or host network mode, the * hostPort can either be left blank or set to the same value as the containerPort. *

*

* If you use containers in a task with the bridge network mode, you can specify a non-reserved host * port for your container port mapping, or you can omit the hostPort (or set it to 0) * while specifying a containerPort and your container automatically receives a port in the ephemeral * port range for your container instance operating system and Docker version. *

*

* The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under * /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default * ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not attempt to * specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports * below 32768 are outside of the ephemeral port range. *

*

* The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent * ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task * is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in * the remainingResources of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time. This * number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved * ports quota. *

* * @param hostPort * The port number on the container instance to reserve for your container.

*

* If you specify a containerPortRange, leave this field empty and the value of the * hostPort is set as follows: *

*
    *
  • *

    * For containers in a task with the awsvpc network mode, the hostPort is set to * the same value as the containerPort. This is a static mapping strategy. *

    *
  • *
  • *

    * For containers in a task with the bridge network mode, the Amazon ECS agent finds open ports * on the host and automatically binds them to the container ports. This is a dynamic mapping strategy. *

    *
  • *
*

* If you use containers in a task with the awsvpc or host network mode, the * hostPort can either be left blank or set to the same value as the containerPort. *

*

* If you use containers in a task with the bridge network mode, you can specify a non-reserved * host port for your container port mapping, or you can omit the hostPort (or set it to * 0) while specifying a containerPort and your container automatically receives a * port in the ephemeral port range for your container instance operating system and Docker version. *

*

* The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under * /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default * ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not * attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. * In general, ports below 32768 are outside of the ephemeral port range. *

*

* The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container * agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved * while the task is running. That is, after a task stops, the host port is released. The current reserved * ports are displayed in the remainingResources of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time. * This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 * reserved ports quota. * @return Returns a reference to this object so that method calls can be chained together. */ public PortMapping withHostPort(Integer hostPort) { setHostPort(hostPort); return this; } /** *

* The protocol used for the port mapping. Valid values are tcp and udp. The default is * tcp. protocol is immutable in a Service Connect service. Updating this field requires a * service deletion and redeployment. *

* * @param protocol * The protocol used for the port mapping. Valid values are tcp and udp. The * default is tcp. protocol is immutable in a Service Connect service. Updating * this field requires a service deletion and redeployment. * @see TransportProtocol */ public void setProtocol(String protocol) { this.protocol = protocol; } /** *

* The protocol used for the port mapping. Valid values are tcp and udp. The default is * tcp. protocol is immutable in a Service Connect service. Updating this field requires a * service deletion and redeployment. *

* * @return The protocol used for the port mapping. Valid values are tcp and udp. The * default is tcp. protocol is immutable in a Service Connect service. Updating * this field requires a service deletion and redeployment. * @see TransportProtocol */ public String getProtocol() { return this.protocol; } /** *

* The protocol used for the port mapping. Valid values are tcp and udp. The default is * tcp. protocol is immutable in a Service Connect service. Updating this field requires a * service deletion and redeployment. *

* * @param protocol * The protocol used for the port mapping. Valid values are tcp and udp. The * default is tcp. protocol is immutable in a Service Connect service. Updating * this field requires a service deletion and redeployment. * @return Returns a reference to this object so that method calls can be chained together. * @see TransportProtocol */ public PortMapping withProtocol(String protocol) { setProtocol(protocol); return this; } /** *

* The protocol used for the port mapping. Valid values are tcp and udp. The default is * tcp. protocol is immutable in a Service Connect service. Updating this field requires a * service deletion and redeployment. *

* * @param protocol * The protocol used for the port mapping. Valid values are tcp and udp. The * default is tcp. protocol is immutable in a Service Connect service. Updating * this field requires a service deletion and redeployment. * @see TransportProtocol */ public void setProtocol(TransportProtocol protocol) { withProtocol(protocol); } /** *

* The protocol used for the port mapping. Valid values are tcp and udp. The default is * tcp. protocol is immutable in a Service Connect service. Updating this field requires a * service deletion and redeployment. *

* * @param protocol * The protocol used for the port mapping. Valid values are tcp and udp. The * default is tcp. protocol is immutable in a Service Connect service. Updating * this field requires a service deletion and redeployment. * @return Returns a reference to this object so that method calls can be chained together. * @see TransportProtocol */ public PortMapping withProtocol(TransportProtocol protocol) { this.protocol = protocol.toString(); return this; } /** *

* The name that's used for the port mapping. This parameter only applies to Service Connect. This parameter is the * name that you use in the serviceConnectConfiguration of a service. The name can include up to 64 * characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name * can't start with a hyphen. *

*

* For more information, see Service Connect in * the Amazon Elastic Container Service Developer Guide. *

* * @param name * The name that's used for the port mapping. This parameter only applies to Service Connect. This parameter * is the name that you use in the serviceConnectConfiguration of a service. The name can * include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and * hyphens (-). The name can't start with a hyphen.

*

* For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide. */ public void setName(String name) { this.name = name; } /** *

* The name that's used for the port mapping. This parameter only applies to Service Connect. This parameter is the * name that you use in the serviceConnectConfiguration of a service. The name can include up to 64 * characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name * can't start with a hyphen. *

*

* For more information, see Service Connect in * the Amazon Elastic Container Service Developer Guide. *

* * @return The name that's used for the port mapping. This parameter only applies to Service Connect. This parameter * is the name that you use in the serviceConnectConfiguration of a service. The name can * include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and * hyphens (-). The name can't start with a hyphen.

*

* For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide. */ public String getName() { return this.name; } /** *

* The name that's used for the port mapping. This parameter only applies to Service Connect. This parameter is the * name that you use in the serviceConnectConfiguration of a service. The name can include up to 64 * characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name * can't start with a hyphen. *

*

* For more information, see Service Connect in * the Amazon Elastic Container Service Developer Guide. *

* * @param name * The name that's used for the port mapping. This parameter only applies to Service Connect. This parameter * is the name that you use in the serviceConnectConfiguration of a service. The name can * include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and * hyphens (-). The name can't start with a hyphen.

*

* For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public PortMapping withName(String name) { setName(name); return this; } /** *

* The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We * recommend that you set this parameter to be consistent with the protocol that your application uses. If you set * this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set * this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch. *

*

* If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific * telemetry for TCP. *

*

* appProtocol is immutable in a Service Connect service. Updating this field requires a service * deletion and redeployment. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to * services across all of the clusters in the namespace. Tasks connect through a managed proxy container that * collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported * with Service Connect. For more information, see Service Connect in * the Amazon Elastic Container Service Developer Guide. *

* * @param appProtocol * The application protocol that's used for the port mapping. This parameter only applies to Service Connect. * We recommend that you set this parameter to be consistent with the protocol that your application uses. If * you set this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect * proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console * and CloudWatch.

*

* If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add * protocol-specific telemetry for TCP. *

*

* appProtocol is immutable in a Service Connect service. Updating this field requires a service * deletion and redeployment. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can * connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy * container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services * create are supported with Service Connect. For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide. * @see ApplicationProtocol */ public void setAppProtocol(String appProtocol) { this.appProtocol = appProtocol; } /** *

* The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We * recommend that you set this parameter to be consistent with the protocol that your application uses. If you set * this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set * this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch. *

*

* If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific * telemetry for TCP. *

*

* appProtocol is immutable in a Service Connect service. Updating this field requires a service * deletion and redeployment. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to * services across all of the clusters in the namespace. Tasks connect through a managed proxy container that * collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported * with Service Connect. For more information, see Service Connect in * the Amazon Elastic Container Service Developer Guide. *

* * @return The application protocol that's used for the port mapping. This parameter only applies to Service * Connect. We recommend that you set this parameter to be consistent with the protocol that your * application uses. If you set this parameter, Amazon ECS adds protocol-specific connection handling to the * Service Connect proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the * Amazon ECS console and CloudWatch.

*

* If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add * protocol-specific telemetry for TCP. *

*

* appProtocol is immutable in a Service Connect service. Updating this field requires a * service deletion and redeployment. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can * connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy * container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS * services create are supported with Service Connect. For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide. * @see ApplicationProtocol */ public String getAppProtocol() { return this.appProtocol; } /** *

* The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We * recommend that you set this parameter to be consistent with the protocol that your application uses. If you set * this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set * this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch. *

*

* If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific * telemetry for TCP. *

*

* appProtocol is immutable in a Service Connect service. Updating this field requires a service * deletion and redeployment. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to * services across all of the clusters in the namespace. Tasks connect through a managed proxy container that * collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported * with Service Connect. For more information, see Service Connect in * the Amazon Elastic Container Service Developer Guide. *

* * @param appProtocol * The application protocol that's used for the port mapping. This parameter only applies to Service Connect. * We recommend that you set this parameter to be consistent with the protocol that your application uses. If * you set this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect * proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console * and CloudWatch.

*

* If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add * protocol-specific telemetry for TCP. *

*

* appProtocol is immutable in a Service Connect service. Updating this field requires a service * deletion and redeployment. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can * connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy * container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services * create are supported with Service Connect. For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see ApplicationProtocol */ public PortMapping withAppProtocol(String appProtocol) { setAppProtocol(appProtocol); return this; } /** *

* The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We * recommend that you set this parameter to be consistent with the protocol that your application uses. If you set * this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set * this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch. *

*

* If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific * telemetry for TCP. *

*

* appProtocol is immutable in a Service Connect service. Updating this field requires a service * deletion and redeployment. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to * services across all of the clusters in the namespace. Tasks connect through a managed proxy container that * collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported * with Service Connect. For more information, see Service Connect in * the Amazon Elastic Container Service Developer Guide. *

* * @param appProtocol * The application protocol that's used for the port mapping. This parameter only applies to Service Connect. * We recommend that you set this parameter to be consistent with the protocol that your application uses. If * you set this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect * proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console * and CloudWatch.

*

* If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add * protocol-specific telemetry for TCP. *

*

* appProtocol is immutable in a Service Connect service. Updating this field requires a service * deletion and redeployment. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can * connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy * container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services * create are supported with Service Connect. For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide. * @see ApplicationProtocol */ public void setAppProtocol(ApplicationProtocol appProtocol) { withAppProtocol(appProtocol); } /** *

* The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We * recommend that you set this parameter to be consistent with the protocol that your application uses. If you set * this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set * this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch. *

*

* If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific * telemetry for TCP. *

*

* appProtocol is immutable in a Service Connect service. Updating this field requires a service * deletion and redeployment. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to * services across all of the clusters in the namespace. Tasks connect through a managed proxy container that * collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported * with Service Connect. For more information, see Service Connect in * the Amazon Elastic Container Service Developer Guide. *

* * @param appProtocol * The application protocol that's used for the port mapping. This parameter only applies to Service Connect. * We recommend that you set this parameter to be consistent with the protocol that your application uses. If * you set this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect * proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console * and CloudWatch.

*

* If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add * protocol-specific telemetry for TCP. *

*

* appProtocol is immutable in a Service Connect service. Updating this field requires a service * deletion and redeployment. *

*

* Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can * connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy * container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services * create are supported with Service Connect. For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see ApplicationProtocol */ public PortMapping withAppProtocol(ApplicationProtocol appProtocol) { this.appProtocol = appProtocol.toString(); return this; } /** *

* The port number range on the container that's bound to the dynamically mapped host port range. *

*

* The following rules apply when you specify a containerPortRange: *

*
    *
  • *

    * You must use either the bridge network mode or the awsvpc network mode. *

    *
  • *
  • *

    * This parameter is available for both the EC2 and Fargate launch types. *

    *
  • *
  • *

    * This parameter is available for both the Linux and Windows operating systems. *

    *
  • *
  • *

    * The container instance must have at least version 1.67.0 of the container agent and at least version 1.67.0-1 of * the ecs-init package *

    *
  • *
  • *

    * You can specify a maximum of 100 port ranges per container. *

    *
  • *
  • *

    * You do not specify a hostPortRange. The value of the hostPortRange is set as follows: *

    *
      *
    • *

      * For containers in a task with the awsvpc network mode, the hostPortRange is set to the * same value as the containerPortRange. This is a static mapping strategy. *

      *
    • *
    • *

      * For containers in a task with the bridge network mode, the Amazon ECS agent finds open host ports * from the default ephemeral range and passes it to docker to bind them to the container ports. *

      *
    • *
    *
  • *
  • *

    * The containerPortRange valid values are between 1 and 65535. *

    *
  • *
  • *

    * A port can only be included in one port mapping per container. *

    *
  • *
  • *

    * You cannot specify overlapping port ranges. *

    *
  • *
  • *

    * The first port in the range must be less than last port in the range. *

    *
  • *
  • *

    * Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large * number of ports. *

    *

    * For more information, see Issue #11185 on the Github * website. *

    *

    * For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide. *

    *
  • *
*

* You can call * DescribeTasks to view the hostPortRange which are the host ports that are bound to * the container ports. *

* * @param containerPortRange * The port number range on the container that's bound to the dynamically mapped host port range.

*

* The following rules apply when you specify a containerPortRange: *

*
    *
  • *

    * You must use either the bridge network mode or the awsvpc network mode. *

    *
  • *
  • *

    * This parameter is available for both the EC2 and Fargate launch types. *

    *
  • *
  • *

    * This parameter is available for both the Linux and Windows operating systems. *

    *
  • *
  • *

    * The container instance must have at least version 1.67.0 of the container agent and at least version * 1.67.0-1 of the ecs-init package *

    *
  • *
  • *

    * You can specify a maximum of 100 port ranges per container. *

    *
  • *
  • *

    * You do not specify a hostPortRange. The value of the hostPortRange is set as * follows: *

    *
      *
    • *

      * For containers in a task with the awsvpc network mode, the hostPortRange is set * to the same value as the containerPortRange. This is a static mapping strategy. *

      *
    • *
    • *

      * For containers in a task with the bridge network mode, the Amazon ECS agent finds open host * ports from the default ephemeral range and passes it to docker to bind them to the container ports. *

      *
    • *
    *
  • *
  • *

    * The containerPortRange valid values are between 1 and 65535. *

    *
  • *
  • *

    * A port can only be included in one port mapping per container. *

    *
  • *
  • *

    * You cannot specify overlapping port ranges. *

    *
  • *
  • *

    * The first port in the range must be less than last port in the range. *

    *
  • *
  • *

    * Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a * large number of ports. *

    *

    * For more information, see Issue #11185 on the * Github website. *

    *

    * For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide. *

    *
  • *
*

* You can call * DescribeTasks to view the hostPortRange which are the host ports that are * bound to the container ports. */ public void setContainerPortRange(String containerPortRange) { this.containerPortRange = containerPortRange; } /** *

* The port number range on the container that's bound to the dynamically mapped host port range. *

*

* The following rules apply when you specify a containerPortRange: *

*
    *
  • *

    * You must use either the bridge network mode or the awsvpc network mode. *

    *
  • *
  • *

    * This parameter is available for both the EC2 and Fargate launch types. *

    *
  • *
  • *

    * This parameter is available for both the Linux and Windows operating systems. *

    *
  • *
  • *

    * The container instance must have at least version 1.67.0 of the container agent and at least version 1.67.0-1 of * the ecs-init package *

    *
  • *
  • *

    * You can specify a maximum of 100 port ranges per container. *

    *
  • *
  • *

    * You do not specify a hostPortRange. The value of the hostPortRange is set as follows: *

    *
      *
    • *

      * For containers in a task with the awsvpc network mode, the hostPortRange is set to the * same value as the containerPortRange. This is a static mapping strategy. *

      *
    • *
    • *

      * For containers in a task with the bridge network mode, the Amazon ECS agent finds open host ports * from the default ephemeral range and passes it to docker to bind them to the container ports. *

      *
    • *
    *
  • *
  • *

    * The containerPortRange valid values are between 1 and 65535. *

    *
  • *
  • *

    * A port can only be included in one port mapping per container. *

    *
  • *
  • *

    * You cannot specify overlapping port ranges. *

    *
  • *
  • *

    * The first port in the range must be less than last port in the range. *

    *
  • *
  • *

    * Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large * number of ports. *

    *

    * For more information, see Issue #11185 on the Github * website. *

    *

    * For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide. *

    *
  • *
*

* You can call * DescribeTasks to view the hostPortRange which are the host ports that are bound to * the container ports. *

* * @return The port number range on the container that's bound to the dynamically mapped host port range.

*

* The following rules apply when you specify a containerPortRange: *

*
    *
  • *

    * You must use either the bridge network mode or the awsvpc network mode. *

    *
  • *
  • *

    * This parameter is available for both the EC2 and Fargate launch types. *

    *
  • *
  • *

    * This parameter is available for both the Linux and Windows operating systems. *

    *
  • *
  • *

    * The container instance must have at least version 1.67.0 of the container agent and at least version * 1.67.0-1 of the ecs-init package *

    *
  • *
  • *

    * You can specify a maximum of 100 port ranges per container. *

    *
  • *
  • *

    * You do not specify a hostPortRange. The value of the hostPortRange is set as * follows: *

    *
      *
    • *

      * For containers in a task with the awsvpc network mode, the hostPortRange is set * to the same value as the containerPortRange. This is a static mapping strategy. *

      *
    • *
    • *

      * For containers in a task with the bridge network mode, the Amazon ECS agent finds open host * ports from the default ephemeral range and passes it to docker to bind them to the container ports. *

      *
    • *
    *
  • *
  • *

    * The containerPortRange valid values are between 1 and 65535. *

    *
  • *
  • *

    * A port can only be included in one port mapping per container. *

    *
  • *
  • *

    * You cannot specify overlapping port ranges. *

    *
  • *
  • *

    * The first port in the range must be less than last port in the range. *

    *
  • *
  • *

    * Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a * large number of ports. *

    *

    * For more information, see Issue #11185 on the * Github website. *

    *

    * For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide. *

    *
  • *
*

* You can call * DescribeTasks to view the hostPortRange which are the host ports that are * bound to the container ports. */ public String getContainerPortRange() { return this.containerPortRange; } /** *

* The port number range on the container that's bound to the dynamically mapped host port range. *

*

* The following rules apply when you specify a containerPortRange: *

*
    *
  • *

    * You must use either the bridge network mode or the awsvpc network mode. *

    *
  • *
  • *

    * This parameter is available for both the EC2 and Fargate launch types. *

    *
  • *
  • *

    * This parameter is available for both the Linux and Windows operating systems. *

    *
  • *
  • *

    * The container instance must have at least version 1.67.0 of the container agent and at least version 1.67.0-1 of * the ecs-init package *

    *
  • *
  • *

    * You can specify a maximum of 100 port ranges per container. *

    *
  • *
  • *

    * You do not specify a hostPortRange. The value of the hostPortRange is set as follows: *

    *
      *
    • *

      * For containers in a task with the awsvpc network mode, the hostPortRange is set to the * same value as the containerPortRange. This is a static mapping strategy. *

      *
    • *
    • *

      * For containers in a task with the bridge network mode, the Amazon ECS agent finds open host ports * from the default ephemeral range and passes it to docker to bind them to the container ports. *

      *
    • *
    *
  • *
  • *

    * The containerPortRange valid values are between 1 and 65535. *

    *
  • *
  • *

    * A port can only be included in one port mapping per container. *

    *
  • *
  • *

    * You cannot specify overlapping port ranges. *

    *
  • *
  • *

    * The first port in the range must be less than last port in the range. *

    *
  • *
  • *

    * Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large * number of ports. *

    *

    * For more information, see Issue #11185 on the Github * website. *

    *

    * For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide. *

    *
  • *
*

* You can call * DescribeTasks to view the hostPortRange which are the host ports that are bound to * the container ports. *

* * @param containerPortRange * The port number range on the container that's bound to the dynamically mapped host port range.

*

* The following rules apply when you specify a containerPortRange: *

*
    *
  • *

    * You must use either the bridge network mode or the awsvpc network mode. *

    *
  • *
  • *

    * This parameter is available for both the EC2 and Fargate launch types. *

    *
  • *
  • *

    * This parameter is available for both the Linux and Windows operating systems. *

    *
  • *
  • *

    * The container instance must have at least version 1.67.0 of the container agent and at least version * 1.67.0-1 of the ecs-init package *

    *
  • *
  • *

    * You can specify a maximum of 100 port ranges per container. *

    *
  • *
  • *

    * You do not specify a hostPortRange. The value of the hostPortRange is set as * follows: *

    *
      *
    • *

      * For containers in a task with the awsvpc network mode, the hostPortRange is set * to the same value as the containerPortRange. This is a static mapping strategy. *

      *
    • *
    • *

      * For containers in a task with the bridge network mode, the Amazon ECS agent finds open host * ports from the default ephemeral range and passes it to docker to bind them to the container ports. *

      *
    • *
    *
  • *
  • *

    * The containerPortRange valid values are between 1 and 65535. *

    *
  • *
  • *

    * A port can only be included in one port mapping per container. *

    *
  • *
  • *

    * You cannot specify overlapping port ranges. *

    *
  • *
  • *

    * The first port in the range must be less than last port in the range. *

    *
  • *
  • *

    * Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a * large number of ports. *

    *

    * For more information, see Issue #11185 on the * Github website. *

    *

    * For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide. *

    *
  • *
*

* You can call * DescribeTasks to view the hostPortRange which are the host ports that are * bound to the container ports. * @return Returns a reference to this object so that method calls can be chained together. */ public PortMapping withContainerPortRange(String containerPortRange) { setContainerPortRange(containerPortRange); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getContainerPort() != null) sb.append("ContainerPort: ").append(getContainerPort()).append(","); if (getHostPort() != null) sb.append("HostPort: ").append(getHostPort()).append(","); if (getProtocol() != null) sb.append("Protocol: ").append(getProtocol()).append(","); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getAppProtocol() != null) sb.append("AppProtocol: ").append(getAppProtocol()).append(","); if (getContainerPortRange() != null) sb.append("ContainerPortRange: ").append(getContainerPortRange()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PortMapping == false) return false; PortMapping other = (PortMapping) obj; if (other.getContainerPort() == null ^ this.getContainerPort() == null) return false; if (other.getContainerPort() != null && other.getContainerPort().equals(this.getContainerPort()) == false) return false; if (other.getHostPort() == null ^ this.getHostPort() == null) return false; if (other.getHostPort() != null && other.getHostPort().equals(this.getHostPort()) == false) return false; if (other.getProtocol() == null ^ this.getProtocol() == null) return false; if (other.getProtocol() != null && other.getProtocol().equals(this.getProtocol()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getAppProtocol() == null ^ this.getAppProtocol() == null) return false; if (other.getAppProtocol() != null && other.getAppProtocol().equals(this.getAppProtocol()) == false) return false; if (other.getContainerPortRange() == null ^ this.getContainerPortRange() == null) return false; if (other.getContainerPortRange() != null && other.getContainerPortRange().equals(this.getContainerPortRange()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getContainerPort() == null) ? 0 : getContainerPort().hashCode()); hashCode = prime * hashCode + ((getHostPort() == null) ? 0 : getHostPort().hashCode()); hashCode = prime * hashCode + ((getProtocol() == null) ? 0 : getProtocol().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getAppProtocol() == null) ? 0 : getAppProtocol().hashCode()); hashCode = prime * hashCode + ((getContainerPortRange() == null) ? 0 : getContainerPortRange().hashCode()); return hashCode; } @Override public PortMapping clone() { try { return (PortMapping) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.ecs.model.transform.PortMappingMarshaller.getInstance().marshall(this, protocolMarshaller); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy