
com.amazonaws.services.lightsail.model.PortInfo Maven / Gradle / Ivy
/*
* Copyright 2018-2023 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.lightsail.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Describes ports to open on an instance, the IP addresses allowed to connect to the instance through the ports, and
* the protocol.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class PortInfo implements Serializable, Cloneable, StructuredPojo {
/**
*
* The first port in a range of open ports on an instance.
*
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP type for IPv4 addresses. For example, specify 8
as the fromPort
(ICMP
* type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more information, see
* Control Messages
* on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
as the fromPort
* (ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more information, see Internet Control Message Protocol
* for IPv6.
*
*
*
*/
private Integer fromPort;
/**
*
* The last port in a range of open ports on an instance.
*
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP code for IPv4 addresses. For example, specify 8
as the fromPort
(ICMP
* type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more information, see
* Control Messages
* on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
as the fromPort
* (ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more information, see Internet Control Message Protocol
* for IPv6.
*
*
*
*/
private Integer toPort;
/**
*
* The IP protocol name.
*
*
* The name can be one of the following:
*
*
* -
*
* tcp
- Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of
* streamed data between applications running on hosts communicating by an IP network. If you have an application
* that doesn't require reliable data stream service, use UDP instead.
*
*
* -
*
* all
- All transport layer protocol types. For more general information, see Transport layer on Wikipedia.
*
*
* -
*
* udp
- With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to
* other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission
* channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides
* a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable
* data stream service, use TCP instead.
*
*
* -
*
* icmp
- Internet Control Message Protocol (ICMP) is used to send error messages and operational
* information indicating success or failure when communicating with an instance. For example, an error is indicated
* when an instance could not be reached. When you specify icmp
as the protocol
, you must
* specify the ICMP type using the fromPort
parameter, and ICMP code using the toPort
* parameter.
*
*
*
*/
private String protocol;
/**
*
* The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol.
*
*
*
* The ipv6Cidrs
parameter lists the IPv6 addresses that are allowed to connect to an instance.
*
*
*
* Examples:
*
*
* -
*
* To allow the IP address 192.0.2.44
, specify 192.0.2.44
or 192.0.2.44/32
.
*
*
* -
*
* To allow the IP addresses 192.0.2.0
to 192.0.2.255
, specify 192.0.2.0/24
.
*
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*
*/
private java.util.List cidrs;
/**
*
* The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol. Only devices with an IPv6 address can connect to an instance through IPv6;
* otherwise, IPv4 should be used.
*
*
*
* The cidrs
parameter lists the IPv4 addresses that are allowed to connect to an instance.
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*
*/
private java.util.List ipv6Cidrs;
/**
*
* An alias that defines access for a preconfigured range of IP addresses.
*
*
* The only alias currently supported is lightsail-connect
, which allows IP addresses of the
* browser-based RDP/SSH client in the Lightsail console to connect to your instance.
*
*/
private java.util.List cidrListAliases;
/**
*
* The first port in a range of open ports on an instance.
*
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP type for IPv4 addresses. For example, specify 8
as the fromPort
(ICMP
* type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more information, see
* Control Messages
* on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
as the fromPort
* (ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more information, see Internet Control Message Protocol
* for IPv6.
*
*
*
*
* @param fromPort
* The first port in a range of open ports on an instance.
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP type for IPv4 addresses. For example, specify 8
as the fromPort
* (ICMP type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more
* information, see Control
* Messages on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
as the
* fromPort
(ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more
* information, see Internet Control Message
* Protocol for IPv6.
*
*
*/
public void setFromPort(Integer fromPort) {
this.fromPort = fromPort;
}
/**
*
* The first port in a range of open ports on an instance.
*
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP type for IPv4 addresses. For example, specify 8
as the fromPort
(ICMP
* type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more information, see
* Control Messages
* on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
as the fromPort
* (ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more information, see Internet Control Message Protocol
* for IPv6.
*
*
*
*
* @return The first port in a range of open ports on an instance.
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP type for IPv4 addresses. For example, specify 8
as the fromPort
* (ICMP type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more
* information, see Control
* Messages on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
as the
* fromPort
(ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more
* information, see Internet Control Message
* Protocol for IPv6.
*
*
*/
public Integer getFromPort() {
return this.fromPort;
}
/**
*
* The first port in a range of open ports on an instance.
*
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP type for IPv4 addresses. For example, specify 8
as the fromPort
(ICMP
* type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more information, see
* Control Messages
* on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
as the fromPort
* (ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more information, see Internet Control Message Protocol
* for IPv6.
*
*
*
*
* @param fromPort
* The first port in a range of open ports on an instance.
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP type for IPv4 addresses. For example, specify 8
as the fromPort
* (ICMP type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more
* information, see Control
* Messages on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP type for IPv6 addresses. For example, specify 128
as the
* fromPort
(ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more
* information, see Internet Control Message
* Protocol for IPv6.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PortInfo withFromPort(Integer fromPort) {
setFromPort(fromPort);
return this;
}
/**
*
* The last port in a range of open ports on an instance.
*
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP code for IPv4 addresses. For example, specify 8
as the fromPort
(ICMP
* type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more information, see
* Control Messages
* on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
as the fromPort
* (ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more information, see Internet Control Message Protocol
* for IPv6.
*
*
*
*
* @param toPort
* The last port in a range of open ports on an instance.
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP code for IPv4 addresses. For example, specify 8
as the fromPort
* (ICMP type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more
* information, see Control
* Messages on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
as the
* fromPort
(ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more
* information, see Internet Control Message
* Protocol for IPv6.
*
*
*/
public void setToPort(Integer toPort) {
this.toPort = toPort;
}
/**
*
* The last port in a range of open ports on an instance.
*
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP code for IPv4 addresses. For example, specify 8
as the fromPort
(ICMP
* type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more information, see
* Control Messages
* on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
as the fromPort
* (ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more information, see Internet Control Message Protocol
* for IPv6.
*
*
*
*
* @return The last port in a range of open ports on an instance.
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP code for IPv4 addresses. For example, specify 8
as the fromPort
* (ICMP type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more
* information, see Control
* Messages on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
as the
* fromPort
(ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more
* information, see Internet Control Message
* Protocol for IPv6.
*
*
*/
public Integer getToPort() {
return this.toPort;
}
/**
*
* The last port in a range of open ports on an instance.
*
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP code for IPv4 addresses. For example, specify 8
as the fromPort
(ICMP
* type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more information, see
* Control Messages
* on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
as the fromPort
* (ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more information, see Internet Control Message Protocol
* for IPv6.
*
*
*
*
* @param toPort
* The last port in a range of open ports on an instance.
*
* Allowed ports:
*
*
* -
*
* TCP and UDP - 0
to 65535
*
*
* -
*
* ICMP - The ICMP code for IPv4 addresses. For example, specify 8
as the fromPort
* (ICMP type), and -1
as the toPort
(ICMP code), to enable ICMP Ping. For more
* information, see Control
* Messages on Wikipedia.
*
*
* -
*
* ICMPv6 - The ICMP code for IPv6 addresses. For example, specify 128
as the
* fromPort
(ICMPv6 type), and 0
as toPort
(ICMPv6 code). For more
* information, see Internet Control Message
* Protocol for IPv6.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PortInfo withToPort(Integer toPort) {
setToPort(toPort);
return this;
}
/**
*
* The IP protocol name.
*
*
* The name can be one of the following:
*
*
* -
*
* tcp
- Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of
* streamed data between applications running on hosts communicating by an IP network. If you have an application
* that doesn't require reliable data stream service, use UDP instead.
*
*
* -
*
* all
- All transport layer protocol types. For more general information, see Transport layer on Wikipedia.
*
*
* -
*
* udp
- With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to
* other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission
* channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides
* a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable
* data stream service, use TCP instead.
*
*
* -
*
* icmp
- Internet Control Message Protocol (ICMP) is used to send error messages and operational
* information indicating success or failure when communicating with an instance. For example, an error is indicated
* when an instance could not be reached. When you specify icmp
as the protocol
, you must
* specify the ICMP type using the fromPort
parameter, and ICMP code using the toPort
* parameter.
*
*
*
*
* @param protocol
* The IP protocol name.
*
* The name can be one of the following:
*
*
* -
*
* tcp
- Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked
* delivery of streamed data between applications running on hosts communicating by an IP network. If you
* have an application that doesn't require reliable data stream service, use UDP instead.
*
*
* -
*
* all
- All transport layer protocol types. For more general information, see Transport layer on Wikipedia.
*
*
* -
*
* udp
- With User Datagram Protocol (UDP), computer applications can send messages (or
* datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to
* set up transmission channels or data paths. Applications that don't require reliable data stream service
* can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over
* reliability. If you do require reliable data stream service, use TCP instead.
*
*
* -
*
* icmp
- Internet Control Message Protocol (ICMP) is used to send error messages and
* operational information indicating success or failure when communicating with an instance. For example, an
* error is indicated when an instance could not be reached. When you specify icmp
as the
* protocol
, you must specify the ICMP type using the fromPort
parameter, and ICMP
* code using the toPort
parameter.
*
*
* @see NetworkProtocol
*/
public void setProtocol(String protocol) {
this.protocol = protocol;
}
/**
*
* The IP protocol name.
*
*
* The name can be one of the following:
*
*
* -
*
* tcp
- Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of
* streamed data between applications running on hosts communicating by an IP network. If you have an application
* that doesn't require reliable data stream service, use UDP instead.
*
*
* -
*
* all
- All transport layer protocol types. For more general information, see Transport layer on Wikipedia.
*
*
* -
*
* udp
- With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to
* other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission
* channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides
* a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable
* data stream service, use TCP instead.
*
*
* -
*
* icmp
- Internet Control Message Protocol (ICMP) is used to send error messages and operational
* information indicating success or failure when communicating with an instance. For example, an error is indicated
* when an instance could not be reached. When you specify icmp
as the protocol
, you must
* specify the ICMP type using the fromPort
parameter, and ICMP code using the toPort
* parameter.
*
*
*
*
* @return The IP protocol name.
*
* The name can be one of the following:
*
*
* -
*
* tcp
- Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked
* delivery of streamed data between applications running on hosts communicating by an IP network. If you
* have an application that doesn't require reliable data stream service, use UDP instead.
*
*
* -
*
* all
- All transport layer protocol types. For more general information, see Transport layer on Wikipedia.
*
*
* -
*
* udp
- With User Datagram Protocol (UDP), computer applications can send messages (or
* datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to
* set up transmission channels or data paths. Applications that don't require reliable data stream service
* can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over
* reliability. If you do require reliable data stream service, use TCP instead.
*
*
* -
*
* icmp
- Internet Control Message Protocol (ICMP) is used to send error messages and
* operational information indicating success or failure when communicating with an instance. For example,
* an error is indicated when an instance could not be reached. When you specify icmp
as the
* protocol
, you must specify the ICMP type using the fromPort
parameter, and ICMP
* code using the toPort
parameter.
*
*
* @see NetworkProtocol
*/
public String getProtocol() {
return this.protocol;
}
/**
*
* The IP protocol name.
*
*
* The name can be one of the following:
*
*
* -
*
* tcp
- Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of
* streamed data between applications running on hosts communicating by an IP network. If you have an application
* that doesn't require reliable data stream service, use UDP instead.
*
*
* -
*
* all
- All transport layer protocol types. For more general information, see Transport layer on Wikipedia.
*
*
* -
*
* udp
- With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to
* other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission
* channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides
* a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable
* data stream service, use TCP instead.
*
*
* -
*
* icmp
- Internet Control Message Protocol (ICMP) is used to send error messages and operational
* information indicating success or failure when communicating with an instance. For example, an error is indicated
* when an instance could not be reached. When you specify icmp
as the protocol
, you must
* specify the ICMP type using the fromPort
parameter, and ICMP code using the toPort
* parameter.
*
*
*
*
* @param protocol
* The IP protocol name.
*
* The name can be one of the following:
*
*
* -
*
* tcp
- Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked
* delivery of streamed data between applications running on hosts communicating by an IP network. If you
* have an application that doesn't require reliable data stream service, use UDP instead.
*
*
* -
*
* all
- All transport layer protocol types. For more general information, see Transport layer on Wikipedia.
*
*
* -
*
* udp
- With User Datagram Protocol (UDP), computer applications can send messages (or
* datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to
* set up transmission channels or data paths. Applications that don't require reliable data stream service
* can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over
* reliability. If you do require reliable data stream service, use TCP instead.
*
*
* -
*
* icmp
- Internet Control Message Protocol (ICMP) is used to send error messages and
* operational information indicating success or failure when communicating with an instance. For example, an
* error is indicated when an instance could not be reached. When you specify icmp
as the
* protocol
, you must specify the ICMP type using the fromPort
parameter, and ICMP
* code using the toPort
parameter.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see NetworkProtocol
*/
public PortInfo withProtocol(String protocol) {
setProtocol(protocol);
return this;
}
/**
*
* The IP protocol name.
*
*
* The name can be one of the following:
*
*
* -
*
* tcp
- Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of
* streamed data between applications running on hosts communicating by an IP network. If you have an application
* that doesn't require reliable data stream service, use UDP instead.
*
*
* -
*
* all
- All transport layer protocol types. For more general information, see Transport layer on Wikipedia.
*
*
* -
*
* udp
- With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to
* other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission
* channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides
* a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable
* data stream service, use TCP instead.
*
*
* -
*
* icmp
- Internet Control Message Protocol (ICMP) is used to send error messages and operational
* information indicating success or failure when communicating with an instance. For example, an error is indicated
* when an instance could not be reached. When you specify icmp
as the protocol
, you must
* specify the ICMP type using the fromPort
parameter, and ICMP code using the toPort
* parameter.
*
*
*
*
* @param protocol
* The IP protocol name.
*
* The name can be one of the following:
*
*
* -
*
* tcp
- Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked
* delivery of streamed data between applications running on hosts communicating by an IP network. If you
* have an application that doesn't require reliable data stream service, use UDP instead.
*
*
* -
*
* all
- All transport layer protocol types. For more general information, see Transport layer on Wikipedia.
*
*
* -
*
* udp
- With User Datagram Protocol (UDP), computer applications can send messages (or
* datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to
* set up transmission channels or data paths. Applications that don't require reliable data stream service
* can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over
* reliability. If you do require reliable data stream service, use TCP instead.
*
*
* -
*
* icmp
- Internet Control Message Protocol (ICMP) is used to send error messages and
* operational information indicating success or failure when communicating with an instance. For example, an
* error is indicated when an instance could not be reached. When you specify icmp
as the
* protocol
, you must specify the ICMP type using the fromPort
parameter, and ICMP
* code using the toPort
parameter.
*
*
* @see NetworkProtocol
*/
public void setProtocol(NetworkProtocol protocol) {
withProtocol(protocol);
}
/**
*
* The IP protocol name.
*
*
* The name can be one of the following:
*
*
* -
*
* tcp
- Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of
* streamed data between applications running on hosts communicating by an IP network. If you have an application
* that doesn't require reliable data stream service, use UDP instead.
*
*
* -
*
* all
- All transport layer protocol types. For more general information, see Transport layer on Wikipedia.
*
*
* -
*
* udp
- With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to
* other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission
* channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides
* a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable
* data stream service, use TCP instead.
*
*
* -
*
* icmp
- Internet Control Message Protocol (ICMP) is used to send error messages and operational
* information indicating success or failure when communicating with an instance. For example, an error is indicated
* when an instance could not be reached. When you specify icmp
as the protocol
, you must
* specify the ICMP type using the fromPort
parameter, and ICMP code using the toPort
* parameter.
*
*
*
*
* @param protocol
* The IP protocol name.
*
* The name can be one of the following:
*
*
* -
*
* tcp
- Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked
* delivery of streamed data between applications running on hosts communicating by an IP network. If you
* have an application that doesn't require reliable data stream service, use UDP instead.
*
*
* -
*
* all
- All transport layer protocol types. For more general information, see Transport layer on Wikipedia.
*
*
* -
*
* udp
- With User Datagram Protocol (UDP), computer applications can send messages (or
* datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to
* set up transmission channels or data paths. Applications that don't require reliable data stream service
* can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over
* reliability. If you do require reliable data stream service, use TCP instead.
*
*
* -
*
* icmp
- Internet Control Message Protocol (ICMP) is used to send error messages and
* operational information indicating success or failure when communicating with an instance. For example, an
* error is indicated when an instance could not be reached. When you specify icmp
as the
* protocol
, you must specify the ICMP type using the fromPort
parameter, and ICMP
* code using the toPort
parameter.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see NetworkProtocol
*/
public PortInfo withProtocol(NetworkProtocol protocol) {
this.protocol = protocol.toString();
return this;
}
/**
*
* The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol.
*
*
*
* The ipv6Cidrs
parameter lists the IPv6 addresses that are allowed to connect to an instance.
*
*
*
* Examples:
*
*
* -
*
* To allow the IP address 192.0.2.44
, specify 192.0.2.44
or 192.0.2.44/32
.
*
*
* -
*
* To allow the IP addresses 192.0.2.0
to 192.0.2.255
, specify 192.0.2.0/24
.
*
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*
*
* @return The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are allowed to connect to an
* instance through the ports, and the protocol.
*
* The ipv6Cidrs
parameter lists the IPv6 addresses that are allowed to connect to an instance.
*
*
*
* Examples:
*
*
* -
*
* To allow the IP address 192.0.2.44
, specify 192.0.2.44
or
* 192.0.2.44/32
.
*
*
* -
*
* To allow the IP addresses 192.0.2.0
to 192.0.2.255
, specify
* 192.0.2.0/24
.
*
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*/
public java.util.List getCidrs() {
return cidrs;
}
/**
*
* The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol.
*
*
*
* The ipv6Cidrs
parameter lists the IPv6 addresses that are allowed to connect to an instance.
*
*
*
* Examples:
*
*
* -
*
* To allow the IP address 192.0.2.44
, specify 192.0.2.44
or 192.0.2.44/32
.
*
*
* -
*
* To allow the IP addresses 192.0.2.0
to 192.0.2.255
, specify 192.0.2.0/24
.
*
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*
*
* @param cidrs
* The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol.
*
* The ipv6Cidrs
parameter lists the IPv6 addresses that are allowed to connect to an instance.
*
*
*
* Examples:
*
*
* -
*
* To allow the IP address 192.0.2.44
, specify 192.0.2.44
or
* 192.0.2.44/32
.
*
*
* -
*
* To allow the IP addresses 192.0.2.0
to 192.0.2.255
, specify
* 192.0.2.0/24
.
*
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*/
public void setCidrs(java.util.Collection cidrs) {
if (cidrs == null) {
this.cidrs = null;
return;
}
this.cidrs = new java.util.ArrayList(cidrs);
}
/**
*
* The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol.
*
*
*
* The ipv6Cidrs
parameter lists the IPv6 addresses that are allowed to connect to an instance.
*
*
*
* Examples:
*
*
* -
*
* To allow the IP address 192.0.2.44
, specify 192.0.2.44
or 192.0.2.44/32
.
*
*
* -
*
* To allow the IP addresses 192.0.2.0
to 192.0.2.255
, specify 192.0.2.0/24
.
*
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setCidrs(java.util.Collection)} or {@link #withCidrs(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param cidrs
* The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol.
*
* The ipv6Cidrs
parameter lists the IPv6 addresses that are allowed to connect to an instance.
*
*
*
* Examples:
*
*
* -
*
* To allow the IP address 192.0.2.44
, specify 192.0.2.44
or
* 192.0.2.44/32
.
*
*
* -
*
* To allow the IP addresses 192.0.2.0
to 192.0.2.255
, specify
* 192.0.2.0/24
.
*
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PortInfo withCidrs(String... cidrs) {
if (this.cidrs == null) {
setCidrs(new java.util.ArrayList(cidrs.length));
}
for (String ele : cidrs) {
this.cidrs.add(ele);
}
return this;
}
/**
*
* The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol.
*
*
*
* The ipv6Cidrs
parameter lists the IPv6 addresses that are allowed to connect to an instance.
*
*
*
* Examples:
*
*
* -
*
* To allow the IP address 192.0.2.44
, specify 192.0.2.44
or 192.0.2.44/32
.
*
*
* -
*
* To allow the IP addresses 192.0.2.0
to 192.0.2.255
, specify 192.0.2.0/24
.
*
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*
*
* @param cidrs
* The IPv4 address, or range of IPv4 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol.
*
* The ipv6Cidrs
parameter lists the IPv6 addresses that are allowed to connect to an instance.
*
*
*
* Examples:
*
*
* -
*
* To allow the IP address 192.0.2.44
, specify 192.0.2.44
or
* 192.0.2.44/32
.
*
*
* -
*
* To allow the IP addresses 192.0.2.0
to 192.0.2.255
, specify
* 192.0.2.0/24
.
*
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PortInfo withCidrs(java.util.Collection cidrs) {
setCidrs(cidrs);
return this;
}
/**
*
* The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol. Only devices with an IPv6 address can connect to an instance through IPv6;
* otherwise, IPv4 should be used.
*
*
*
* The cidrs
parameter lists the IPv4 addresses that are allowed to connect to an instance.
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*
*
* @return The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are allowed to connect to an
* instance through the ports, and the protocol. Only devices with an IPv6 address can connect to an
* instance through IPv6; otherwise, IPv4 should be used.
*
* The cidrs
parameter lists the IPv4 addresses that are allowed to connect to an instance.
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*/
public java.util.List getIpv6Cidrs() {
return ipv6Cidrs;
}
/**
*
* The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol. Only devices with an IPv6 address can connect to an instance through IPv6;
* otherwise, IPv4 should be used.
*
*
*
* The cidrs
parameter lists the IPv4 addresses that are allowed to connect to an instance.
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*
*
* @param ipv6Cidrs
* The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol. Only devices with an IPv6 address can connect to an instance through
* IPv6; otherwise, IPv4 should be used.
*
* The cidrs
parameter lists the IPv4 addresses that are allowed to connect to an instance.
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*/
public void setIpv6Cidrs(java.util.Collection ipv6Cidrs) {
if (ipv6Cidrs == null) {
this.ipv6Cidrs = null;
return;
}
this.ipv6Cidrs = new java.util.ArrayList(ipv6Cidrs);
}
/**
*
* The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol. Only devices with an IPv6 address can connect to an instance through IPv6;
* otherwise, IPv4 should be used.
*
*
*
* The cidrs
parameter lists the IPv4 addresses that are allowed to connect to an instance.
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setIpv6Cidrs(java.util.Collection)} or {@link #withIpv6Cidrs(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param ipv6Cidrs
* The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol. Only devices with an IPv6 address can connect to an instance through
* IPv6; otherwise, IPv4 should be used.
*
* The cidrs
parameter lists the IPv4 addresses that are allowed to connect to an instance.
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PortInfo withIpv6Cidrs(String... ipv6Cidrs) {
if (this.ipv6Cidrs == null) {
setIpv6Cidrs(new java.util.ArrayList(ipv6Cidrs.length));
}
for (String ele : ipv6Cidrs) {
this.ipv6Cidrs.add(ele);
}
return this;
}
/**
*
* The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol. Only devices with an IPv6 address can connect to an instance through IPv6;
* otherwise, IPv4 should be used.
*
*
*
* The cidrs
parameter lists the IPv4 addresses that are allowed to connect to an instance.
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
*
*
* @param ipv6Cidrs
* The IPv6 address, or range of IPv6 addresses (in CIDR notation) that are allowed to connect to an instance
* through the ports, and the protocol. Only devices with an IPv6 address can connect to an instance through
* IPv6; otherwise, IPv4 should be used.
*
* The cidrs
parameter lists the IPv4 addresses that are allowed to connect to an instance.
*
*
*
* For more information about CIDR block notation, see Classless Inter-Domain
* Routing on Wikipedia.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PortInfo withIpv6Cidrs(java.util.Collection ipv6Cidrs) {
setIpv6Cidrs(ipv6Cidrs);
return this;
}
/**
*
* An alias that defines access for a preconfigured range of IP addresses.
*
*
* The only alias currently supported is lightsail-connect
, which allows IP addresses of the
* browser-based RDP/SSH client in the Lightsail console to connect to your instance.
*
*
* @return An alias that defines access for a preconfigured range of IP addresses.
*
* The only alias currently supported is lightsail-connect
, which allows IP addresses of the
* browser-based RDP/SSH client in the Lightsail console to connect to your instance.
*/
public java.util.List getCidrListAliases() {
return cidrListAliases;
}
/**
*
* An alias that defines access for a preconfigured range of IP addresses.
*
*
* The only alias currently supported is lightsail-connect
, which allows IP addresses of the
* browser-based RDP/SSH client in the Lightsail console to connect to your instance.
*
*
* @param cidrListAliases
* An alias that defines access for a preconfigured range of IP addresses.
*
* The only alias currently supported is lightsail-connect
, which allows IP addresses of the
* browser-based RDP/SSH client in the Lightsail console to connect to your instance.
*/
public void setCidrListAliases(java.util.Collection cidrListAliases) {
if (cidrListAliases == null) {
this.cidrListAliases = null;
return;
}
this.cidrListAliases = new java.util.ArrayList(cidrListAliases);
}
/**
*
* An alias that defines access for a preconfigured range of IP addresses.
*
*
* The only alias currently supported is lightsail-connect
, which allows IP addresses of the
* browser-based RDP/SSH client in the Lightsail console to connect to your instance.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setCidrListAliases(java.util.Collection)} or {@link #withCidrListAliases(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param cidrListAliases
* An alias that defines access for a preconfigured range of IP addresses.
*
* The only alias currently supported is lightsail-connect
, which allows IP addresses of the
* browser-based RDP/SSH client in the Lightsail console to connect to your instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PortInfo withCidrListAliases(String... cidrListAliases) {
if (this.cidrListAliases == null) {
setCidrListAliases(new java.util.ArrayList(cidrListAliases.length));
}
for (String ele : cidrListAliases) {
this.cidrListAliases.add(ele);
}
return this;
}
/**
*
* An alias that defines access for a preconfigured range of IP addresses.
*
*
* The only alias currently supported is lightsail-connect
, which allows IP addresses of the
* browser-based RDP/SSH client in the Lightsail console to connect to your instance.
*
*
* @param cidrListAliases
* An alias that defines access for a preconfigured range of IP addresses.
*
* The only alias currently supported is lightsail-connect
, which allows IP addresses of the
* browser-based RDP/SSH client in the Lightsail console to connect to your instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PortInfo withCidrListAliases(java.util.Collection cidrListAliases) {
setCidrListAliases(cidrListAliases);
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 (getFromPort() != null)
sb.append("FromPort: ").append(getFromPort()).append(",");
if (getToPort() != null)
sb.append("ToPort: ").append(getToPort()).append(",");
if (getProtocol() != null)
sb.append("Protocol: ").append(getProtocol()).append(",");
if (getCidrs() != null)
sb.append("Cidrs: ").append(getCidrs()).append(",");
if (getIpv6Cidrs() != null)
sb.append("Ipv6Cidrs: ").append(getIpv6Cidrs()).append(",");
if (getCidrListAliases() != null)
sb.append("CidrListAliases: ").append(getCidrListAliases());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof PortInfo == false)
return false;
PortInfo other = (PortInfo) obj;
if (other.getFromPort() == null ^ this.getFromPort() == null)
return false;
if (other.getFromPort() != null && other.getFromPort().equals(this.getFromPort()) == false)
return false;
if (other.getToPort() == null ^ this.getToPort() == null)
return false;
if (other.getToPort() != null && other.getToPort().equals(this.getToPort()) == 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.getCidrs() == null ^ this.getCidrs() == null)
return false;
if (other.getCidrs() != null && other.getCidrs().equals(this.getCidrs()) == false)
return false;
if (other.getIpv6Cidrs() == null ^ this.getIpv6Cidrs() == null)
return false;
if (other.getIpv6Cidrs() != null && other.getIpv6Cidrs().equals(this.getIpv6Cidrs()) == false)
return false;
if (other.getCidrListAliases() == null ^ this.getCidrListAliases() == null)
return false;
if (other.getCidrListAliases() != null && other.getCidrListAliases().equals(this.getCidrListAliases()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getFromPort() == null) ? 0 : getFromPort().hashCode());
hashCode = prime * hashCode + ((getToPort() == null) ? 0 : getToPort().hashCode());
hashCode = prime * hashCode + ((getProtocol() == null) ? 0 : getProtocol().hashCode());
hashCode = prime * hashCode + ((getCidrs() == null) ? 0 : getCidrs().hashCode());
hashCode = prime * hashCode + ((getIpv6Cidrs() == null) ? 0 : getIpv6Cidrs().hashCode());
hashCode = prime * hashCode + ((getCidrListAliases() == null) ? 0 : getCidrListAliases().hashCode());
return hashCode;
}
@Override
public PortInfo clone() {
try {
return (PortInfo) 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.lightsail.model.transform.PortInfoMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}