/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Lightsail { namespace Model { /** *

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

*/ class PortInfo { public: AWS_LIGHTSAIL_API PortInfo(); AWS_LIGHTSAIL_API PortInfo(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API PortInfo& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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.

*/ inline int GetFromPort() const{ return m_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.

*/ inline bool FromPortHasBeenSet() const { return m_fromPortHasBeenSet; } /** *

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.

*/ inline void SetFromPort(int value) { m_fromPortHasBeenSet = true; m_fromPort = value; } /** *

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.

*/ inline PortInfo& WithFromPort(int value) { SetFromPort(value); 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.

*/ inline int GetToPort() const{ return m_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.

*/ inline bool ToPortHasBeenSet() const { return m_toPortHasBeenSet; } /** *

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.

*/ inline void SetToPort(int value) { m_toPortHasBeenSet = true; m_toPort = value; } /** *

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.

*/ inline PortInfo& WithToPort(int value) { SetToPort(value); 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.

*/ inline const NetworkProtocol& GetProtocol() const{ return m_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.

*/ inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } /** *

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.

*/ inline void SetProtocol(const NetworkProtocol& value) { m_protocolHasBeenSet = true; m_protocol = value; } /** *

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.

*/ inline void SetProtocol(NetworkProtocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } /** *

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.

*/ inline PortInfo& WithProtocol(const NetworkProtocol& value) { SetProtocol(value); 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.

*/ inline PortInfo& WithProtocol(NetworkProtocol&& value) { SetProtocol(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 const Aws::Vector& GetCidrs() const{ return m_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.

*/ 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::Vector& value) { m_cidrsHasBeenSet = true; m_cidrs = value; } /** *

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(Aws::Vector&& value) { m_cidrsHasBeenSet = true; m_cidrs = std::move(value); } /** *

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& WithCidrs(const Aws::Vector& value) { SetCidrs(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& WithCidrs(Aws::Vector&& value) { SetCidrs(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 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::Vector& GetIpv6Cidrs() const{ return m_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.

*/ 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::Vector& value) { m_ipv6CidrsHasBeenSet = true; m_ipv6Cidrs = value; } /** *

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(Aws::Vector&& value) { m_ipv6CidrsHasBeenSet = true; m_ipv6Cidrs = std::move(value); } /** *

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& WithIpv6Cidrs(const Aws::Vector& value) { SetIpv6Cidrs(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& WithIpv6Cidrs(Aws::Vector&& value) { SetIpv6Cidrs(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 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.

*/ inline const Aws::Vector& GetCidrListAliases() const{ return m_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.

*/ inline bool CidrListAliasesHasBeenSet() const { return m_cidrListAliasesHasBeenSet; } /** *

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.

*/ inline void SetCidrListAliases(const Aws::Vector& value) { m_cidrListAliasesHasBeenSet = true; m_cidrListAliases = value; } /** *

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.

*/ inline void SetCidrListAliases(Aws::Vector&& value) { m_cidrListAliasesHasBeenSet = true; m_cidrListAliases = std::move(value); } /** *

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.

*/ inline PortInfo& WithCidrListAliases(const Aws::Vector& value) { SetCidrListAliases(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.

*/ inline PortInfo& WithCidrListAliases(Aws::Vector&& value) { SetCidrListAliases(std::move(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.

*/ inline PortInfo& AddCidrListAliases(const Aws::String& value) { m_cidrListAliasesHasBeenSet = true; m_cidrListAliases.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.

*/ inline PortInfo& AddCidrListAliases(Aws::String&& value) { m_cidrListAliasesHasBeenSet = true; m_cidrListAliases.push_back(std::move(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.

*/ inline PortInfo& AddCidrListAliases(const char* value) { m_cidrListAliasesHasBeenSet = true; m_cidrListAliases.push_back(value); return *this; } private: int m_fromPort; bool m_fromPortHasBeenSet = false; int m_toPort; bool m_toPortHasBeenSet = false; NetworkProtocol m_protocol; bool m_protocolHasBeenSet = false; Aws::Vector m_cidrs; bool m_cidrsHasBeenSet = false; Aws::Vector m_ipv6Cidrs; bool m_ipv6CidrsHasBeenSet = false; Aws::Vector m_cidrListAliases; bool m_cidrListAliasesHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws