/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An accelerator is a complex type that includes one or more listeners that
* process inbound connections and then direct traffic to one or more endpoint
* groups, each of which includes endpoints, such as load balancers.See
* Also:
AWS
* API Reference
The Amazon Resource Name (ARN) of the accelerator.
*/ inline const Aws::String& GetAcceleratorArn() const{ return m_acceleratorArn; } /** *The Amazon Resource Name (ARN) of the accelerator.
*/ inline bool AcceleratorArnHasBeenSet() const { return m_acceleratorArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the accelerator.
*/ inline void SetAcceleratorArn(const Aws::String& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = value; } /** *The Amazon Resource Name (ARN) of the accelerator.
*/ inline void SetAcceleratorArn(Aws::String&& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the accelerator.
*/ inline void SetAcceleratorArn(const char* value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn.assign(value); } /** *The Amazon Resource Name (ARN) of the accelerator.
*/ inline Accelerator& WithAcceleratorArn(const Aws::String& value) { SetAcceleratorArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the accelerator.
*/ inline Accelerator& WithAcceleratorArn(Aws::String&& value) { SetAcceleratorArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the accelerator.
*/ inline Accelerator& WithAcceleratorArn(const char* value) { SetAcceleratorArn(value); return *this;} /** *The name of the accelerator. The name must contain only alphanumeric * characters or hyphens (-), and must not begin or end with a hyphen.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the accelerator. The name must contain only alphanumeric * characters or hyphens (-), and must not begin or end with a hyphen.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the accelerator. The name must contain only alphanumeric * characters or hyphens (-), and must not begin or end with a hyphen.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the accelerator. The name must contain only alphanumeric * characters or hyphens (-), and must not begin or end with a hyphen.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the accelerator. The name must contain only alphanumeric * characters or hyphens (-), and must not begin or end with a hyphen.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the accelerator. The name must contain only alphanumeric * characters or hyphens (-), and must not begin or end with a hyphen.
*/ inline Accelerator& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the accelerator. The name must contain only alphanumeric * characters or hyphens (-), and must not begin or end with a hyphen.
*/ inline Accelerator& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the accelerator. The name must contain only alphanumeric * characters or hyphens (-), and must not begin or end with a hyphen.
*/ inline Accelerator& WithName(const char* value) { SetName(value); return *this;} /** *The IP address type that an accelerator supports. For a standard accelerator, * the value can be IPV4 or DUAL_STACK.
*/ inline const IpAddressType& GetIpAddressType() const{ return m_ipAddressType; } /** *The IP address type that an accelerator supports. For a standard accelerator, * the value can be IPV4 or DUAL_STACK.
*/ inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; } /** *The IP address type that an accelerator supports. For a standard accelerator, * the value can be IPV4 or DUAL_STACK.
*/ inline void SetIpAddressType(const IpAddressType& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; } /** *The IP address type that an accelerator supports. For a standard accelerator, * the value can be IPV4 or DUAL_STACK.
*/ inline void SetIpAddressType(IpAddressType&& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = std::move(value); } /** *The IP address type that an accelerator supports. For a standard accelerator, * the value can be IPV4 or DUAL_STACK.
*/ inline Accelerator& WithIpAddressType(const IpAddressType& value) { SetIpAddressType(value); return *this;} /** *The IP address type that an accelerator supports. For a standard accelerator, * the value can be IPV4 or DUAL_STACK.
*/ inline Accelerator& WithIpAddressType(IpAddressType&& value) { SetIpAddressType(std::move(value)); return *this;} /** *Indicates whether the accelerator is enabled. The value is true or false. The * default value is true.
If the value is set to true, the accelerator * cannot be deleted. If set to false, accelerator can be deleted.
*/ inline bool GetEnabled() const{ return m_enabled; } /** *Indicates whether the accelerator is enabled. The value is true or false. The * default value is true.
If the value is set to true, the accelerator * cannot be deleted. If set to false, accelerator can be deleted.
*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *Indicates whether the accelerator is enabled. The value is true or false. The * default value is true.
If the value is set to true, the accelerator * cannot be deleted. If set to false, accelerator can be deleted.
*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *Indicates whether the accelerator is enabled. The value is true or false. The * default value is true.
If the value is set to true, the accelerator * cannot be deleted. If set to false, accelerator can be deleted.
*/ inline Accelerator& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *The static IP addresses that Global Accelerator associates with the * accelerator.
*/ inline const Aws::VectorThe static IP addresses that Global Accelerator associates with the * accelerator.
*/ inline bool IpSetsHasBeenSet() const { return m_ipSetsHasBeenSet; } /** *The static IP addresses that Global Accelerator associates with the * accelerator.
*/ inline void SetIpSets(const Aws::VectorThe static IP addresses that Global Accelerator associates with the * accelerator.
*/ inline void SetIpSets(Aws::VectorThe static IP addresses that Global Accelerator associates with the * accelerator.
*/ inline Accelerator& WithIpSets(const Aws::VectorThe static IP addresses that Global Accelerator associates with the * accelerator.
*/ inline Accelerator& WithIpSets(Aws::VectorThe static IP addresses that Global Accelerator associates with the * accelerator.
*/ inline Accelerator& AddIpSets(const IpSet& value) { m_ipSetsHasBeenSet = true; m_ipSets.push_back(value); return *this; } /** *The static IP addresses that Global Accelerator associates with the * accelerator.
*/ inline Accelerator& AddIpSets(IpSet&& value) { m_ipSetsHasBeenSet = true; m_ipSets.push_back(std::move(value)); return *this; } /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to an accelerator's static IPv4 addresses.
The naming convention for the * DNS name for an accelerator is the following: A lowercase letter a, followed by * a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: * a1234567890abcdef.awsglobalaccelerator.com.
If you have a dual-stack
* accelerator, you also have a second DNS name, DualStackDnsName
,
* that points to both the A record and the AAAA record for all four static
* addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.
For more information about the default DNS name, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline const Aws::String& GetDnsName() const{ return m_dnsName; } /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to an accelerator's static IPv4 addresses.
The naming convention for the * DNS name for an accelerator is the following: A lowercase letter a, followed by * a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: * a1234567890abcdef.awsglobalaccelerator.com.
If you have a dual-stack
* accelerator, you also have a second DNS name, DualStackDnsName
,
* that points to both the A record and the AAAA record for all four static
* addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.
For more information about the default DNS name, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline bool DnsNameHasBeenSet() const { return m_dnsNameHasBeenSet; } /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to an accelerator's static IPv4 addresses.
The naming convention for the * DNS name for an accelerator is the following: A lowercase letter a, followed by * a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: * a1234567890abcdef.awsglobalaccelerator.com.
If you have a dual-stack
* accelerator, you also have a second DNS name, DualStackDnsName
,
* that points to both the A record and the AAAA record for all four static
* addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.
For more information about the default DNS name, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline void SetDnsName(const Aws::String& value) { m_dnsNameHasBeenSet = true; m_dnsName = value; } /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to an accelerator's static IPv4 addresses.
The naming convention for the * DNS name for an accelerator is the following: A lowercase letter a, followed by * a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: * a1234567890abcdef.awsglobalaccelerator.com.
If you have a dual-stack
* accelerator, you also have a second DNS name, DualStackDnsName
,
* that points to both the A record and the AAAA record for all four static
* addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.
For more information about the default DNS name, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline void SetDnsName(Aws::String&& value) { m_dnsNameHasBeenSet = true; m_dnsName = std::move(value); } /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to an accelerator's static IPv4 addresses.
The naming convention for the * DNS name for an accelerator is the following: A lowercase letter a, followed by * a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: * a1234567890abcdef.awsglobalaccelerator.com.
If you have a dual-stack
* accelerator, you also have a second DNS name, DualStackDnsName
,
* that points to both the A record and the AAAA record for all four static
* addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.
For more information about the default DNS name, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline void SetDnsName(const char* value) { m_dnsNameHasBeenSet = true; m_dnsName.assign(value); } /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to an accelerator's static IPv4 addresses.
The naming convention for the * DNS name for an accelerator is the following: A lowercase letter a, followed by * a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: * a1234567890abcdef.awsglobalaccelerator.com.
If you have a dual-stack
* accelerator, you also have a second DNS name, DualStackDnsName
,
* that points to both the A record and the AAAA record for all four static
* addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.
For more information about the default DNS name, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline Accelerator& WithDnsName(const Aws::String& value) { SetDnsName(value); return *this;} /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to an accelerator's static IPv4 addresses.
The naming convention for the * DNS name for an accelerator is the following: A lowercase letter a, followed by * a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: * a1234567890abcdef.awsglobalaccelerator.com.
If you have a dual-stack
* accelerator, you also have a second DNS name, DualStackDnsName
,
* that points to both the A record and the AAAA record for all four static
* addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.
For more information about the default DNS name, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline Accelerator& WithDnsName(Aws::String&& value) { SetDnsName(std::move(value)); return *this;} /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to an accelerator's static IPv4 addresses.
The naming convention for the * DNS name for an accelerator is the following: A lowercase letter a, followed by * a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: * a1234567890abcdef.awsglobalaccelerator.com.
If you have a dual-stack
* accelerator, you also have a second DNS name, DualStackDnsName
,
* that points to both the A record and the AAAA record for all four static
* addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.
For more information about the default DNS name, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline Accelerator& WithDnsName(const char* value) { SetDnsName(value); return *this;} /** *Describes the deployment status of the accelerator.
*/ inline const AcceleratorStatus& GetStatus() const{ return m_status; } /** *Describes the deployment status of the accelerator.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *Describes the deployment status of the accelerator.
*/ inline void SetStatus(const AcceleratorStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *Describes the deployment status of the accelerator.
*/ inline void SetStatus(AcceleratorStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *Describes the deployment status of the accelerator.
*/ inline Accelerator& WithStatus(const AcceleratorStatus& value) { SetStatus(value); return *this;} /** *Describes the deployment status of the accelerator.
*/ inline Accelerator& WithStatus(AcceleratorStatus&& value) { SetStatus(std::move(value)); return *this;} /** *The date and time that the accelerator was created.
*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *The date and time that the accelerator was created.
*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *The date and time that the accelerator was created.
*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *The date and time that the accelerator was created.
*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *The date and time that the accelerator was created.
*/ inline Accelerator& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *The date and time that the accelerator was created.
*/ inline Accelerator& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *The date and time that the accelerator was last modified.
*/ inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *The date and time that the accelerator was last modified.
*/ inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; } /** *The date and time that the accelerator was last modified.
*/ inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; } /** *The date and time that the accelerator was last modified.
*/ inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); } /** *The date and time that the accelerator was last modified.
*/ inline Accelerator& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;} /** *The date and time that the accelerator was last modified.
*/ inline Accelerator& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;} /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and * two IPv6 addresses.
The naming convention for the dual-stack DNS name is * the following: A lowercase letter a, followed by a 16-bit random hex string, * followed by .dualstack.awsglobalaccelerator.com. For example: * a1234567890abcdef.dualstack.awsglobalaccelerator.com.
Note: Global
* Accelerator also assigns a default DNS name, DnsName
, to your
* accelerator that points just to the static IPv4 addresses.
For more * information, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline const Aws::String& GetDualStackDnsName() const{ return m_dualStackDnsName; } /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and * two IPv6 addresses.
The naming convention for the dual-stack DNS name is * the following: A lowercase letter a, followed by a 16-bit random hex string, * followed by .dualstack.awsglobalaccelerator.com. For example: * a1234567890abcdef.dualstack.awsglobalaccelerator.com.
Note: Global
* Accelerator also assigns a default DNS name, DnsName
, to your
* accelerator that points just to the static IPv4 addresses.
For more * information, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline bool DualStackDnsNameHasBeenSet() const { return m_dualStackDnsNameHasBeenSet; } /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and * two IPv6 addresses.
The naming convention for the dual-stack DNS name is * the following: A lowercase letter a, followed by a 16-bit random hex string, * followed by .dualstack.awsglobalaccelerator.com. For example: * a1234567890abcdef.dualstack.awsglobalaccelerator.com.
Note: Global
* Accelerator also assigns a default DNS name, DnsName
, to your
* accelerator that points just to the static IPv4 addresses.
For more * information, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline void SetDualStackDnsName(const Aws::String& value) { m_dualStackDnsNameHasBeenSet = true; m_dualStackDnsName = value; } /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and * two IPv6 addresses.
The naming convention for the dual-stack DNS name is * the following: A lowercase letter a, followed by a 16-bit random hex string, * followed by .dualstack.awsglobalaccelerator.com. For example: * a1234567890abcdef.dualstack.awsglobalaccelerator.com.
Note: Global
* Accelerator also assigns a default DNS name, DnsName
, to your
* accelerator that points just to the static IPv4 addresses.
For more * information, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline void SetDualStackDnsName(Aws::String&& value) { m_dualStackDnsNameHasBeenSet = true; m_dualStackDnsName = std::move(value); } /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and * two IPv6 addresses.
The naming convention for the dual-stack DNS name is * the following: A lowercase letter a, followed by a 16-bit random hex string, * followed by .dualstack.awsglobalaccelerator.com. For example: * a1234567890abcdef.dualstack.awsglobalaccelerator.com.
Note: Global
* Accelerator also assigns a default DNS name, DnsName
, to your
* accelerator that points just to the static IPv4 addresses.
For more * information, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline void SetDualStackDnsName(const char* value) { m_dualStackDnsNameHasBeenSet = true; m_dualStackDnsName.assign(value); } /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and * two IPv6 addresses.
The naming convention for the dual-stack DNS name is * the following: A lowercase letter a, followed by a 16-bit random hex string, * followed by .dualstack.awsglobalaccelerator.com. For example: * a1234567890abcdef.dualstack.awsglobalaccelerator.com.
Note: Global
* Accelerator also assigns a default DNS name, DnsName
, to your
* accelerator that points just to the static IPv4 addresses.
For more * information, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline Accelerator& WithDualStackDnsName(const Aws::String& value) { SetDualStackDnsName(value); return *this;} /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and * two IPv6 addresses.
The naming convention for the dual-stack DNS name is * the following: A lowercase letter a, followed by a 16-bit random hex string, * followed by .dualstack.awsglobalaccelerator.com. For example: * a1234567890abcdef.dualstack.awsglobalaccelerator.com.
Note: Global
* Accelerator also assigns a default DNS name, DnsName
, to your
* accelerator that points just to the static IPv4 addresses.
For more * information, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline Accelerator& WithDualStackDnsName(Aws::String&& value) { SetDualStackDnsName(std::move(value)); return *this;} /** *The Domain Name System (DNS) name that Global Accelerator creates that points * to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and * two IPv6 addresses.
The naming convention for the dual-stack DNS name is * the following: A lowercase letter a, followed by a 16-bit random hex string, * followed by .dualstack.awsglobalaccelerator.com. For example: * a1234567890abcdef.dualstack.awsglobalaccelerator.com.
Note: Global
* Accelerator also assigns a default DNS name, DnsName
, to your
* accelerator that points just to the static IPv4 addresses.
For more * information, see * Support for DNS addressing in Global Accelerator in the Global * Accelerator Developer Guide.
*/ inline Accelerator& WithDualStackDnsName(const char* value) { SetDualStackDnsName(value); return *this;} /** *A history of changes that you make to an accelerator in Global * Accelerator.
*/ inline const Aws::VectorA history of changes that you make to an accelerator in Global * Accelerator.
*/ inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } /** *A history of changes that you make to an accelerator in Global * Accelerator.
*/ inline void SetEvents(const Aws::VectorA history of changes that you make to an accelerator in Global * Accelerator.
*/ inline void SetEvents(Aws::VectorA history of changes that you make to an accelerator in Global * Accelerator.
*/ inline Accelerator& WithEvents(const Aws::VectorA history of changes that you make to an accelerator in Global * Accelerator.
*/ inline Accelerator& WithEvents(Aws::VectorA history of changes that you make to an accelerator in Global * Accelerator.
*/ inline Accelerator& AddEvents(const AcceleratorEvent& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } /** *A history of changes that you make to an accelerator in Global * Accelerator.
*/ inline Accelerator& AddEvents(AcceleratorEvent&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } private: Aws::String m_acceleratorArn; bool m_acceleratorArnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; IpAddressType m_ipAddressType; bool m_ipAddressTypeHasBeenSet = false; bool m_enabled; bool m_enabledHasBeenSet = false; Aws::Vector