/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes ports to open on an instance, the IP addresses allowed to connect
* to the instance through the ports, and the protocol.See Also:
* AWS
* API Reference
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
*/ inline const Aws::VectorThe 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.
*/ inline bool CidrsHasBeenSet() const { return m_cidrsHasBeenSet; } /** *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.
*/ inline void SetCidrs(const Aws::VectorThe 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.
*/ inline void SetCidrs(Aws::VectorThe 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.
*/ inline PortInfo& WithCidrs(const Aws::VectorThe 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.
*/ inline PortInfo& WithCidrs(Aws::VectorThe 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.
*/ inline PortInfo& AddCidrs(const Aws::String& value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(value); 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.
*/ inline PortInfo& AddCidrs(Aws::String&& value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(std::move(value)); 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.
*/ inline PortInfo& AddCidrs(const char* value) { m_cidrsHasBeenSet = true; m_cidrs.push_back(value); 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.
*/ inline const Aws::VectorThe 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.
*/ inline bool Ipv6CidrsHasBeenSet() const { return m_ipv6CidrsHasBeenSet; } /** *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.
*/ inline void SetIpv6Cidrs(const Aws::VectorThe 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.
*/ inline void SetIpv6Cidrs(Aws::VectorThe 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.
*/ inline PortInfo& WithIpv6Cidrs(const Aws::VectorThe 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.
*/ inline PortInfo& WithIpv6Cidrs(Aws::VectorThe 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.
*/ inline PortInfo& AddIpv6Cidrs(const Aws::String& value) { m_ipv6CidrsHasBeenSet = true; m_ipv6Cidrs.push_back(value); 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.
*/ inline PortInfo& AddIpv6Cidrs(Aws::String&& value) { m_ipv6CidrsHasBeenSet = true; m_ipv6Cidrs.push_back(std::move(value)); 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.
*/ inline PortInfo& AddIpv6Cidrs(const char* value) { m_ipv6CidrsHasBeenSet = true; m_ipv6Cidrs.push_back(value); 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.
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.
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.
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.
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.
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.
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.
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.
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.