feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,76 @@
add_project(aws-cpp-sdk-globalaccelerator "C++ SDK for the AWS globalaccelerator service" aws-cpp-sdk-core)
file(GLOB AWS_GLOBALACCELERATOR_HEADERS
"include/aws/globalaccelerator/*.h"
)
file(GLOB AWS_GLOBALACCELERATOR_MODEL_HEADERS
"include/aws/globalaccelerator/model/*.h"
)
file(GLOB AWS_GLOBALACCELERATOR_SOURCE
"source/*.cpp"
)
file(GLOB AWS_GLOBALACCELERATOR_MODEL_SOURCE
"source/model/*.cpp"
)
file(GLOB GLOBALACCELERATOR_UNIFIED_HEADERS
${AWS_GLOBALACCELERATOR_HEADERS}
${AWS_GLOBALACCELERATOR_MODEL_HEADERS}
)
file(GLOB GLOBALACCELERATOR_UNITY_SRC
${AWS_GLOBALACCELERATOR_SOURCE}
${AWS_GLOBALACCELERATOR_MODEL_SOURCE}
)
if(ENABLE_UNITY_BUILD)
enable_unity_build("GLOBALACCELERATOR" GLOBALACCELERATOR_UNITY_SRC)
endif()
file(GLOB GLOBALACCELERATOR_SRC
${GLOBALACCELERATOR_UNIFIED_HEADERS}
${GLOBALACCELERATOR_UNITY_SRC}
)
if(WIN32)
#if we are compiling for visual studio, create a sane directory tree.
if(MSVC)
source_group("Header Files\\aws\\globalaccelerator" FILES ${AWS_GLOBALACCELERATOR_HEADERS})
source_group("Header Files\\aws\\globalaccelerator\\model" FILES ${AWS_GLOBALACCELERATOR_MODEL_HEADERS})
source_group("Source Files" FILES ${AWS_GLOBALACCELERATOR_SOURCE})
source_group("Source Files\\model" FILES ${AWS_GLOBALACCELERATOR_MODEL_SOURCE})
endif(MSVC)
endif()
set(GLOBALACCELERATOR_INCLUDES
"${CMAKE_CURRENT_SOURCE_DIR}/include/"
)
add_library(${PROJECT_NAME} ${GLOBALACCELERATOR_SRC})
add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
set_compiler_flags(${PROJECT_NAME})
set_compiler_warnings(${PROJECT_NAME})
if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS)
target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_GLOBALACCELERATOR_EXPORTS")
endif()
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)
target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS})
setup_install()
install (FILES ${AWS_GLOBALACCELERATOR_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/globalaccelerator)
install (FILES ${AWS_GLOBALACCELERATOR_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/globalaccelerator/model)
do_packaging()

View File

@@ -0,0 +1,21 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/Region.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace GlobalAccelerator
{
namespace GlobalAcceleratorEndpoint
{
AWS_GLOBALACCELERATOR_API Aws::String ForRegion(const Aws::String& regionName, bool useDualStack = false);
} // namespace GlobalAcceleratorEndpoint
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,23 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/client/AWSErrorMarshaller.h>
namespace Aws
{
namespace Client
{
class AWS_GLOBALACCELERATOR_API GlobalAcceleratorErrorMarshaller : public Aws::Client::JsonErrorMarshaller
{
public:
Aws::Client::AWSError<Aws::Client::CoreErrors> FindErrorByName(const char* exceptionName) const override;
};
} // namespace Client
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/core/client/AWSError.h>
#include <aws/core/client/CoreErrors.h>
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
namespace Aws
{
namespace GlobalAccelerator
{
enum class GlobalAcceleratorErrors
{
//From Core//
//////////////////////////////////////////////////////////////////////////////////////////
INCOMPLETE_SIGNATURE = 0,
INTERNAL_FAILURE = 1,
INVALID_ACTION = 2,
INVALID_CLIENT_TOKEN_ID = 3,
INVALID_PARAMETER_COMBINATION = 4,
INVALID_QUERY_PARAMETER = 5,
INVALID_PARAMETER_VALUE = 6,
MISSING_ACTION = 7, // SDK should never allow
MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow
MISSING_PARAMETER = 9, // SDK should never allow
OPT_IN_REQUIRED = 10,
REQUEST_EXPIRED = 11,
SERVICE_UNAVAILABLE = 12,
THROTTLING = 13,
VALIDATION = 14,
ACCESS_DENIED = 15,
RESOURCE_NOT_FOUND = 16,
UNRECOGNIZED_CLIENT = 17,
MALFORMED_QUERY_STRING = 18,
SLOW_DOWN = 19,
REQUEST_TIME_TOO_SKEWED = 20,
INVALID_SIGNATURE = 21,
SIGNATURE_DOES_NOT_MATCH = 22,
INVALID_ACCESS_KEY_ID = 23,
REQUEST_TIMEOUT = 24,
NETWORK_CONNECTION = 99,
UNKNOWN = 100,
///////////////////////////////////////////////////////////////////////////////////////////
ACCELERATOR_NOT_DISABLED= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1,
ACCELERATOR_NOT_FOUND,
ASSOCIATED_ENDPOINT_GROUP_FOUND,
ASSOCIATED_LISTENER_FOUND,
BYOIP_CIDR_NOT_FOUND,
ENDPOINT_GROUP_ALREADY_EXISTS,
ENDPOINT_GROUP_NOT_FOUND,
INCORRECT_CIDR_STATE,
INTERNAL_SERVICE_ERROR,
INVALID_ARGUMENT,
INVALID_NEXT_TOKEN,
INVALID_PORT_RANGE,
LIMIT_EXCEEDED,
LISTENER_NOT_FOUND
};
class AWS_GLOBALACCELERATOR_API GlobalAcceleratorError : public Aws::Client::AWSError<GlobalAcceleratorErrors>
{
public:
GlobalAcceleratorError() {}
GlobalAcceleratorError(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<GlobalAcceleratorErrors>(rhs) {}
GlobalAcceleratorError(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<GlobalAcceleratorErrors>(rhs) {}
GlobalAcceleratorError(const Aws::Client::AWSError<GlobalAcceleratorErrors>& rhs) : Aws::Client::AWSError<GlobalAcceleratorErrors>(rhs) {}
GlobalAcceleratorError(Aws::Client::AWSError<GlobalAcceleratorErrors>&& rhs) : Aws::Client::AWSError<GlobalAcceleratorErrors>(rhs) {}
template <typename T>
T GetModeledError();
};
namespace GlobalAcceleratorErrorMapper
{
AWS_GLOBALACCELERATOR_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName);
}
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,42 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/AmazonSerializableWebServiceRequest.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <aws/core/http/HttpRequest.h>
namespace Aws
{
namespace GlobalAccelerator
{
class AWS_GLOBALACCELERATOR_API GlobalAcceleratorRequest : public Aws::AmazonSerializableWebServiceRequest
{
public:
virtual ~GlobalAcceleratorRequest () {}
void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); }
inline Aws::Http::HeaderValueCollection GetHeaders() const override
{
auto headers = GetRequestSpecificHeaders();
if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0))
{
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_1 ));
}
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2018-08-08"));
return headers;
}
protected:
virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); }
};
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,29 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#ifdef _MSC_VER
//disable windows complaining about max template size.
#pragma warning (disable : 4503)
#endif // _MSC_VER
#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32)
#ifdef _MSC_VER
#pragma warning(disable : 4251)
#endif // _MSC_VER
#ifdef USE_IMPORT_EXPORT
#ifdef AWS_GLOBALACCELERATOR_EXPORTS
#define AWS_GLOBALACCELERATOR_API __declspec(dllexport)
#else
#define AWS_GLOBALACCELERATOR_API __declspec(dllimport)
#endif /* AWS_GLOBALACCELERATOR_EXPORTS */
#else
#define AWS_GLOBALACCELERATOR_API
#endif // USE_IMPORT_EXPORT
#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)
#define AWS_GLOBALACCELERATOR_API
#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)

View File

@@ -0,0 +1,476 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/globalaccelerator/model/IpAddressType.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/globalaccelerator/model/AcceleratorStatus.h>
#include <aws/core/utils/DateTime.h>
#include <aws/globalaccelerator/model/IpSet.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/Accelerator">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API Accelerator
{
public:
Accelerator();
Accelerator(Aws::Utils::Json::JsonView jsonValue);
Accelerator& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The Amazon Resource Name (ARN) of the accelerator.</p>
*/
inline const Aws::String& GetAcceleratorArn() const{ return m_acceleratorArn; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator.</p>
*/
inline bool AcceleratorArnHasBeenSet() const { return m_acceleratorArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator.</p>
*/
inline void SetAcceleratorArn(const Aws::String& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator.</p>
*/
inline void SetAcceleratorArn(Aws::String&& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator.</p>
*/
inline void SetAcceleratorArn(const char* value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator.</p>
*/
inline Accelerator& WithAcceleratorArn(const Aws::String& value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator.</p>
*/
inline Accelerator& WithAcceleratorArn(Aws::String&& value) { SetAcceleratorArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator.</p>
*/
inline Accelerator& WithAcceleratorArn(const char* value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The name of the accelerator. The name must contain only alphanumeric
* characters or hyphens (-), and must not begin or end with a hyphen.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the accelerator. The name must contain only alphanumeric
* characters or hyphens (-), and must not begin or end with a hyphen.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the accelerator. The name must contain only alphanumeric
* characters or hyphens (-), and must not begin or end with a hyphen.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the accelerator. The name must contain only alphanumeric
* characters or hyphens (-), and must not begin or end with a hyphen.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the accelerator. The name must contain only alphanumeric
* characters or hyphens (-), and must not begin or end with a hyphen.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the accelerator. The name must contain only alphanumeric
* characters or hyphens (-), and must not begin or end with a hyphen.</p>
*/
inline Accelerator& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the accelerator. The name must contain only alphanumeric
* characters or hyphens (-), and must not begin or end with a hyphen.</p>
*/
inline Accelerator& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the accelerator. The name must contain only alphanumeric
* characters or hyphens (-), and must not begin or end with a hyphen.</p>
*/
inline Accelerator& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline const IpAddressType& GetIpAddressType() const{ return m_ipAddressType; }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline void SetIpAddressType(const IpAddressType& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline void SetIpAddressType(IpAddressType&& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = std::move(value); }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline Accelerator& WithIpAddressType(const IpAddressType& value) { SetIpAddressType(value); return *this;}
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline Accelerator& WithIpAddressType(IpAddressType&& value) { SetIpAddressType(std::move(value)); return *this;}
/**
* <p>Indicates whether the accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, the accelerator
* cannot be deleted. If set to false, accelerator can be deleted.</p>
*/
inline bool GetEnabled() const{ return m_enabled; }
/**
* <p>Indicates whether the accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, the accelerator
* cannot be deleted. If set to false, accelerator can be deleted.</p>
*/
inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
/**
* <p>Indicates whether the accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, the accelerator
* cannot be deleted. If set to false, accelerator can be deleted.</p>
*/
inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
/**
* <p>Indicates whether the accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, the accelerator
* cannot be deleted. If set to false, accelerator can be deleted.</p>
*/
inline Accelerator& WithEnabled(bool value) { SetEnabled(value); return *this;}
/**
* <p>The static IP addresses that Global Accelerator associates with the
* accelerator.</p>
*/
inline const Aws::Vector<IpSet>& GetIpSets() const{ return m_ipSets; }
/**
* <p>The static IP addresses that Global Accelerator associates with the
* accelerator.</p>
*/
inline bool IpSetsHasBeenSet() const { return m_ipSetsHasBeenSet; }
/**
* <p>The static IP addresses that Global Accelerator associates with the
* accelerator.</p>
*/
inline void SetIpSets(const Aws::Vector<IpSet>& value) { m_ipSetsHasBeenSet = true; m_ipSets = value; }
/**
* <p>The static IP addresses that Global Accelerator associates with the
* accelerator.</p>
*/
inline void SetIpSets(Aws::Vector<IpSet>&& value) { m_ipSetsHasBeenSet = true; m_ipSets = std::move(value); }
/**
* <p>The static IP addresses that Global Accelerator associates with the
* accelerator.</p>
*/
inline Accelerator& WithIpSets(const Aws::Vector<IpSet>& value) { SetIpSets(value); return *this;}
/**
* <p>The static IP addresses that Global Accelerator associates with the
* accelerator.</p>
*/
inline Accelerator& WithIpSets(Aws::Vector<IpSet>&& value) { SetIpSets(std::move(value)); return *this;}
/**
* <p>The static IP addresses that Global Accelerator associates with the
* accelerator.</p>
*/
inline Accelerator& AddIpSets(const IpSet& value) { m_ipSetsHasBeenSet = true; m_ipSets.push_back(value); return *this; }
/**
* <p>The static IP addresses that Global Accelerator associates with the
* accelerator.</p>
*/
inline Accelerator& AddIpSets(IpSet&& value) { m_ipSetsHasBeenSet = true; m_ipSets.push_back(std::move(value)); return *this; }
/**
* <p>The Domain Name System (DNS) name that Global Accelerator creates that points
* to your accelerator's static IP addresses. </p> <p>The naming convention for the
* DNS name is the following: A lowercase letter a, followed by a 16-bit random hex
* string, followed by .awsglobalaccelerator.com. For example:
* a1234567890abcdef.awsglobalaccelerator.com.</p> <p>For more information about
* the default DNS name, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing">
* Support for DNS Addressing in Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline const Aws::String& GetDnsName() const{ return m_dnsName; }
/**
* <p>The Domain Name System (DNS) name that Global Accelerator creates that points
* to your accelerator's static IP addresses. </p> <p>The naming convention for the
* DNS name is the following: A lowercase letter a, followed by a 16-bit random hex
* string, followed by .awsglobalaccelerator.com. For example:
* a1234567890abcdef.awsglobalaccelerator.com.</p> <p>For more information about
* the default DNS name, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing">
* Support for DNS Addressing in Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline bool DnsNameHasBeenSet() const { return m_dnsNameHasBeenSet; }
/**
* <p>The Domain Name System (DNS) name that Global Accelerator creates that points
* to your accelerator's static IP addresses. </p> <p>The naming convention for the
* DNS name is the following: A lowercase letter a, followed by a 16-bit random hex
* string, followed by .awsglobalaccelerator.com. For example:
* a1234567890abcdef.awsglobalaccelerator.com.</p> <p>For more information about
* the default DNS name, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing">
* Support for DNS Addressing in Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline void SetDnsName(const Aws::String& value) { m_dnsNameHasBeenSet = true; m_dnsName = value; }
/**
* <p>The Domain Name System (DNS) name that Global Accelerator creates that points
* to your accelerator's static IP addresses. </p> <p>The naming convention for the
* DNS name is the following: A lowercase letter a, followed by a 16-bit random hex
* string, followed by .awsglobalaccelerator.com. For example:
* a1234567890abcdef.awsglobalaccelerator.com.</p> <p>For more information about
* the default DNS name, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing">
* Support for DNS Addressing in Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline void SetDnsName(Aws::String&& value) { m_dnsNameHasBeenSet = true; m_dnsName = std::move(value); }
/**
* <p>The Domain Name System (DNS) name that Global Accelerator creates that points
* to your accelerator's static IP addresses. </p> <p>The naming convention for the
* DNS name is the following: A lowercase letter a, followed by a 16-bit random hex
* string, followed by .awsglobalaccelerator.com. For example:
* a1234567890abcdef.awsglobalaccelerator.com.</p> <p>For more information about
* the default DNS name, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing">
* Support for DNS Addressing in Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline void SetDnsName(const char* value) { m_dnsNameHasBeenSet = true; m_dnsName.assign(value); }
/**
* <p>The Domain Name System (DNS) name that Global Accelerator creates that points
* to your accelerator's static IP addresses. </p> <p>The naming convention for the
* DNS name is the following: A lowercase letter a, followed by a 16-bit random hex
* string, followed by .awsglobalaccelerator.com. For example:
* a1234567890abcdef.awsglobalaccelerator.com.</p> <p>For more information about
* the default DNS name, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing">
* Support for DNS Addressing in Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline Accelerator& WithDnsName(const Aws::String& value) { SetDnsName(value); return *this;}
/**
* <p>The Domain Name System (DNS) name that Global Accelerator creates that points
* to your accelerator's static IP addresses. </p> <p>The naming convention for the
* DNS name is the following: A lowercase letter a, followed by a 16-bit random hex
* string, followed by .awsglobalaccelerator.com. For example:
* a1234567890abcdef.awsglobalaccelerator.com.</p> <p>For more information about
* the default DNS name, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing">
* Support for DNS Addressing in Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline Accelerator& WithDnsName(Aws::String&& value) { SetDnsName(std::move(value)); return *this;}
/**
* <p>The Domain Name System (DNS) name that Global Accelerator creates that points
* to your accelerator's static IP addresses. </p> <p>The naming convention for the
* DNS name is the following: A lowercase letter a, followed by a 16-bit random hex
* string, followed by .awsglobalaccelerator.com. For example:
* a1234567890abcdef.awsglobalaccelerator.com.</p> <p>For more information about
* the default DNS name, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-accelerators.html#about-accelerators.dns-addressing">
* Support for DNS Addressing in Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline Accelerator& WithDnsName(const char* value) { SetDnsName(value); return *this;}
/**
* <p>Describes the deployment status of the accelerator.</p>
*/
inline const AcceleratorStatus& GetStatus() const{ return m_status; }
/**
* <p>Describes the deployment status of the accelerator.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>Describes the deployment status of the accelerator.</p>
*/
inline void SetStatus(const AcceleratorStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>Describes the deployment status of the accelerator.</p>
*/
inline void SetStatus(AcceleratorStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>Describes the deployment status of the accelerator.</p>
*/
inline Accelerator& WithStatus(const AcceleratorStatus& value) { SetStatus(value); return *this;}
/**
* <p>Describes the deployment status of the accelerator.</p>
*/
inline Accelerator& WithStatus(AcceleratorStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>The date and time that the accelerator was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; }
/**
* <p>The date and time that the accelerator was created.</p>
*/
inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
/**
* <p>The date and time that the accelerator was created.</p>
*/
inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; }
/**
* <p>The date and time that the accelerator was created.</p>
*/
inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); }
/**
* <p>The date and time that the accelerator was created.</p>
*/
inline Accelerator& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;}
/**
* <p>The date and time that the accelerator was created.</p>
*/
inline Accelerator& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;}
/**
* <p>The date and time that the accelerator was last modified.</p>
*/
inline const Aws::Utils::DateTime& GetLastModifiedTime() const{ return m_lastModifiedTime; }
/**
* <p>The date and time that the accelerator was last modified.</p>
*/
inline bool LastModifiedTimeHasBeenSet() const { return m_lastModifiedTimeHasBeenSet; }
/**
* <p>The date and time that the accelerator was last modified.</p>
*/
inline void SetLastModifiedTime(const Aws::Utils::DateTime& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = value; }
/**
* <p>The date and time that the accelerator was last modified.</p>
*/
inline void SetLastModifiedTime(Aws::Utils::DateTime&& value) { m_lastModifiedTimeHasBeenSet = true; m_lastModifiedTime = std::move(value); }
/**
* <p>The date and time that the accelerator was last modified.</p>
*/
inline Accelerator& WithLastModifiedTime(const Aws::Utils::DateTime& value) { SetLastModifiedTime(value); return *this;}
/**
* <p>The date and time that the accelerator was last modified.</p>
*/
inline Accelerator& WithLastModifiedTime(Aws::Utils::DateTime&& value) { SetLastModifiedTime(std::move(value)); return *this;}
private:
Aws::String m_acceleratorArn;
bool m_acceleratorArnHasBeenSet;
Aws::String m_name;
bool m_nameHasBeenSet;
IpAddressType m_ipAddressType;
bool m_ipAddressTypeHasBeenSet;
bool m_enabled;
bool m_enabledHasBeenSet;
Aws::Vector<IpSet> m_ipSets;
bool m_ipSetsHasBeenSet;
Aws::String m_dnsName;
bool m_dnsNameHasBeenSet;
AcceleratorStatus m_status;
bool m_statusHasBeenSet;
Aws::Utils::DateTime m_createdTime;
bool m_createdTimeHasBeenSet;
Aws::Utils::DateTime m_lastModifiedTime;
bool m_lastModifiedTimeHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,236 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>Attributes of an accelerator.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/AcceleratorAttributes">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API AcceleratorAttributes
{
public:
AcceleratorAttributes();
AcceleratorAttributes(Aws::Utils::Json::JsonView jsonValue);
AcceleratorAttributes& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Indicates whether flow logs are enabled. The default value is false. If the
* value is true, <code>FlowLogsS3Bucket</code> and <code>FlowLogsS3Prefix</code>
* must be specified.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html">Flow
* Logs</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline bool GetFlowLogsEnabled() const{ return m_flowLogsEnabled; }
/**
* <p>Indicates whether flow logs are enabled. The default value is false. If the
* value is true, <code>FlowLogsS3Bucket</code> and <code>FlowLogsS3Prefix</code>
* must be specified.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html">Flow
* Logs</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline bool FlowLogsEnabledHasBeenSet() const { return m_flowLogsEnabledHasBeenSet; }
/**
* <p>Indicates whether flow logs are enabled. The default value is false. If the
* value is true, <code>FlowLogsS3Bucket</code> and <code>FlowLogsS3Prefix</code>
* must be specified.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html">Flow
* Logs</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline void SetFlowLogsEnabled(bool value) { m_flowLogsEnabledHasBeenSet = true; m_flowLogsEnabled = value; }
/**
* <p>Indicates whether flow logs are enabled. The default value is false. If the
* value is true, <code>FlowLogsS3Bucket</code> and <code>FlowLogsS3Prefix</code>
* must be specified.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html">Flow
* Logs</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline AcceleratorAttributes& WithFlowLogsEnabled(bool value) { SetFlowLogsEnabled(value); return *this;}
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline const Aws::String& GetFlowLogsS3Bucket() const{ return m_flowLogsS3Bucket; }
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline bool FlowLogsS3BucketHasBeenSet() const { return m_flowLogsS3BucketHasBeenSet; }
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline void SetFlowLogsS3Bucket(const Aws::String& value) { m_flowLogsS3BucketHasBeenSet = true; m_flowLogsS3Bucket = value; }
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline void SetFlowLogsS3Bucket(Aws::String&& value) { m_flowLogsS3BucketHasBeenSet = true; m_flowLogsS3Bucket = std::move(value); }
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline void SetFlowLogsS3Bucket(const char* value) { m_flowLogsS3BucketHasBeenSet = true; m_flowLogsS3Bucket.assign(value); }
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline AcceleratorAttributes& WithFlowLogsS3Bucket(const Aws::String& value) { SetFlowLogsS3Bucket(value); return *this;}
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline AcceleratorAttributes& WithFlowLogsS3Bucket(Aws::String&& value) { SetFlowLogsS3Bucket(std::move(value)); return *this;}
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline AcceleratorAttributes& WithFlowLogsS3Bucket(const char* value) { SetFlowLogsS3Bucket(value); return *this;}
/**
* <p>The prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>.</p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline const Aws::String& GetFlowLogsS3Prefix() const{ return m_flowLogsS3Prefix; }
/**
* <p>The prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>.</p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline bool FlowLogsS3PrefixHasBeenSet() const { return m_flowLogsS3PrefixHasBeenSet; }
/**
* <p>The prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>.</p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline void SetFlowLogsS3Prefix(const Aws::String& value) { m_flowLogsS3PrefixHasBeenSet = true; m_flowLogsS3Prefix = value; }
/**
* <p>The prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>.</p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline void SetFlowLogsS3Prefix(Aws::String&& value) { m_flowLogsS3PrefixHasBeenSet = true; m_flowLogsS3Prefix = std::move(value); }
/**
* <p>The prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>.</p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline void SetFlowLogsS3Prefix(const char* value) { m_flowLogsS3PrefixHasBeenSet = true; m_flowLogsS3Prefix.assign(value); }
/**
* <p>The prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>.</p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline AcceleratorAttributes& WithFlowLogsS3Prefix(const Aws::String& value) { SetFlowLogsS3Prefix(value); return *this;}
/**
* <p>The prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>.</p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline AcceleratorAttributes& WithFlowLogsS3Prefix(Aws::String&& value) { SetFlowLogsS3Prefix(std::move(value)); return *this;}
/**
* <p>The prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>.</p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline AcceleratorAttributes& WithFlowLogsS3Prefix(const char* value) { SetFlowLogsS3Prefix(value); return *this;}
private:
bool m_flowLogsEnabled;
bool m_flowLogsEnabledHasBeenSet;
Aws::String m_flowLogsS3Bucket;
bool m_flowLogsS3BucketHasBeenSet;
Aws::String m_flowLogsS3Prefix;
bool m_flowLogsS3PrefixHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
enum class AcceleratorStatus
{
NOT_SET,
DEPLOYED,
IN_PROGRESS
};
namespace AcceleratorStatusMapper
{
AWS_GLOBALACCELERATOR_API AcceleratorStatus GetAcceleratorStatusForName(const Aws::String& name);
AWS_GLOBALACCELERATOR_API Aws::String GetNameForAcceleratorStatus(AcceleratorStatus value);
} // namespace AcceleratorStatusMapper
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,93 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API AdvertiseByoipCidrRequest : public GlobalAcceleratorRequest
{
public:
AdvertiseByoipCidrRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "AdvertiseByoipCidr"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The address range, in CIDR notation. This must be the exact range that you
* provisioned. You can't advertise only a portion of the provisioned range.</p>
*/
inline const Aws::String& GetCidr() const{ return m_cidr; }
/**
* <p>The address range, in CIDR notation. This must be the exact range that you
* provisioned. You can't advertise only a portion of the provisioned range.</p>
*/
inline bool CidrHasBeenSet() const { return m_cidrHasBeenSet; }
/**
* <p>The address range, in CIDR notation. This must be the exact range that you
* provisioned. You can't advertise only a portion of the provisioned range.</p>
*/
inline void SetCidr(const Aws::String& value) { m_cidrHasBeenSet = true; m_cidr = value; }
/**
* <p>The address range, in CIDR notation. This must be the exact range that you
* provisioned. You can't advertise only a portion of the provisioned range.</p>
*/
inline void SetCidr(Aws::String&& value) { m_cidrHasBeenSet = true; m_cidr = std::move(value); }
/**
* <p>The address range, in CIDR notation. This must be the exact range that you
* provisioned. You can't advertise only a portion of the provisioned range.</p>
*/
inline void SetCidr(const char* value) { m_cidrHasBeenSet = true; m_cidr.assign(value); }
/**
* <p>The address range, in CIDR notation. This must be the exact range that you
* provisioned. You can't advertise only a portion of the provisioned range.</p>
*/
inline AdvertiseByoipCidrRequest& WithCidr(const Aws::String& value) { SetCidr(value); return *this;}
/**
* <p>The address range, in CIDR notation. This must be the exact range that you
* provisioned. You can't advertise only a portion of the provisioned range.</p>
*/
inline AdvertiseByoipCidrRequest& WithCidr(Aws::String&& value) { SetCidr(std::move(value)); return *this;}
/**
* <p>The address range, in CIDR notation. This must be the exact range that you
* provisioned. You can't advertise only a portion of the provisioned range.</p>
*/
inline AdvertiseByoipCidrRequest& WithCidr(const char* value) { SetCidr(value); return *this;}
private:
Aws::String m_cidr;
bool m_cidrHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/ByoipCidr.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API AdvertiseByoipCidrResult
{
public:
AdvertiseByoipCidrResult();
AdvertiseByoipCidrResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AdvertiseByoipCidrResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about the address range.</p>
*/
inline const ByoipCidr& GetByoipCidr() const{ return m_byoipCidr; }
/**
* <p>Information about the address range.</p>
*/
inline void SetByoipCidr(const ByoipCidr& value) { m_byoipCidr = value; }
/**
* <p>Information about the address range.</p>
*/
inline void SetByoipCidr(ByoipCidr&& value) { m_byoipCidr = std::move(value); }
/**
* <p>Information about the address range.</p>
*/
inline AdvertiseByoipCidrResult& WithByoipCidr(const ByoipCidr& value) { SetByoipCidr(value); return *this;}
/**
* <p>Information about the address range.</p>
*/
inline AdvertiseByoipCidrResult& WithByoipCidr(ByoipCidr&& value) { SetByoipCidr(std::move(value)); return *this;}
private:
ByoipCidr m_byoipCidr;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,208 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/globalaccelerator/model/ByoipCidrState.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/globalaccelerator/model/ByoipCidrEvent.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>Information about an IP address range that is provisioned for use with your
* AWS resources through bring your own IP address (BYOIP).</p> <p>The following
* describes each BYOIP <code>State</code> that your IP address range can be
* in.</p> <ul> <li> <p> <b>PENDING_PROVISIONING</b> — Youve submitted a request
* to provision an IP address range but it is not yet provisioned with AWS Global
* Accelerator.</p> </li> <li> <p> <b>READY</b> — The address range is provisioned
* with AWS Global Accelerator and can be advertised.</p> </li> <li> <p>
* <b>PENDING_ADVERTISING</b> — Youve submitted a request for AWS Global
* Accelerator to advertise an address range but it is not yet being
* advertised.</p> </li> <li> <p> <b>ADVERTISING</b> — The address range is being
* advertised by AWS Global Accelerator.</p> </li> <li> <p>
* <b>PENDING_WITHDRAWING</b> — Youve submitted a request to withdraw an address
* range from being advertised but it is still being advertised by AWS Global
* Accelerator.</p> </li> <li> <p> <b>PENDING_DEPROVISIONING</b> — Youve submitted
* a request to deprovision an address range from AWS Global Accelerator but it is
* still provisioned.</p> </li> <li> <p> <b>DEPROVISIONED</b> — The address range
* is deprovisioned from AWS Global Accelerator.</p> </li> <li> <p>
* <b>FAILED_PROVISION </b> — The request to provision the address range from AWS
* Global Accelerator was not successful. Please make sure that you provide all of
* the correct information, and try again. If the request fails a second time,
* contact AWS support.</p> </li> <li> <p> <b>FAILED_ADVERTISING</b> — The request
* for AWS Global Accelerator to advertise the address range was not successful.
* Please make sure that you provide all of the correct information, and try again.
* If the request fails a second time, contact AWS support.</p> </li> <li> <p>
* <b>FAILED_WITHDRAW</b> — The request to withdraw the address range from
* advertising by AWS Global Accelerator was not successful. Please make sure that
* you provide all of the correct information, and try again. If the request fails
* a second time, contact AWS support.</p> </li> <li> <p> <b>FAILED_DEPROVISION
* </b> — The request to deprovision the address range from AWS Global Accelerator
* was not successful. Please make sure that you provide all of the correct
* information, and try again. If the request fails a second time, contact AWS
* support.</p> </li> </ul><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ByoipCidr">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API ByoipCidr
{
public:
ByoipCidr();
ByoipCidr(Aws::Utils::Json::JsonView jsonValue);
ByoipCidr& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The address range, in CIDR notation.</p>
*/
inline const Aws::String& GetCidr() const{ return m_cidr; }
/**
* <p>The address range, in CIDR notation.</p>
*/
inline bool CidrHasBeenSet() const { return m_cidrHasBeenSet; }
/**
* <p>The address range, in CIDR notation.</p>
*/
inline void SetCidr(const Aws::String& value) { m_cidrHasBeenSet = true; m_cidr = value; }
/**
* <p>The address range, in CIDR notation.</p>
*/
inline void SetCidr(Aws::String&& value) { m_cidrHasBeenSet = true; m_cidr = std::move(value); }
/**
* <p>The address range, in CIDR notation.</p>
*/
inline void SetCidr(const char* value) { m_cidrHasBeenSet = true; m_cidr.assign(value); }
/**
* <p>The address range, in CIDR notation.</p>
*/
inline ByoipCidr& WithCidr(const Aws::String& value) { SetCidr(value); return *this;}
/**
* <p>The address range, in CIDR notation.</p>
*/
inline ByoipCidr& WithCidr(Aws::String&& value) { SetCidr(std::move(value)); return *this;}
/**
* <p>The address range, in CIDR notation.</p>
*/
inline ByoipCidr& WithCidr(const char* value) { SetCidr(value); return *this;}
/**
* <p>The state of the address pool.</p>
*/
inline const ByoipCidrState& GetState() const{ return m_state; }
/**
* <p>The state of the address pool.</p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>The state of the address pool.</p>
*/
inline void SetState(const ByoipCidrState& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>The state of the address pool.</p>
*/
inline void SetState(ByoipCidrState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>The state of the address pool.</p>
*/
inline ByoipCidr& WithState(const ByoipCidrState& value) { SetState(value); return *this;}
/**
* <p>The state of the address pool.</p>
*/
inline ByoipCidr& WithState(ByoipCidrState&& value) { SetState(std::move(value)); return *this;}
/**
* <p>A history of status changes for an IP address range that that you bring to
* AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline const Aws::Vector<ByoipCidrEvent>& GetEvents() const{ return m_events; }
/**
* <p>A history of status changes for an IP address range that that you bring to
* AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; }
/**
* <p>A history of status changes for an IP address range that that you bring to
* AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline void SetEvents(const Aws::Vector<ByoipCidrEvent>& value) { m_eventsHasBeenSet = true; m_events = value; }
/**
* <p>A history of status changes for an IP address range that that you bring to
* AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline void SetEvents(Aws::Vector<ByoipCidrEvent>&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); }
/**
* <p>A history of status changes for an IP address range that that you bring to
* AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline ByoipCidr& WithEvents(const Aws::Vector<ByoipCidrEvent>& value) { SetEvents(value); return *this;}
/**
* <p>A history of status changes for an IP address range that that you bring to
* AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline ByoipCidr& WithEvents(Aws::Vector<ByoipCidrEvent>&& value) { SetEvents(std::move(value)); return *this;}
/**
* <p>A history of status changes for an IP address range that that you bring to
* AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline ByoipCidr& AddEvents(const ByoipCidrEvent& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; }
/**
* <p>A history of status changes for an IP address range that that you bring to
* AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline ByoipCidr& AddEvents(ByoipCidrEvent&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; }
private:
Aws::String m_cidr;
bool m_cidrHasBeenSet;
ByoipCidrState m_state;
bool m_stateHasBeenSet;
Aws::Vector<ByoipCidrEvent> m_events;
bool m_eventsHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,148 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>A complex type that contains a <code>Message</code> and a
* <code>Timestamp</code> value for changes that you make in the status an IP
* address range that you bring to AWS Global Accelerator through bring your own IP
* address (BYOIP).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ByoipCidrEvent">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API ByoipCidrEvent
{
public:
ByoipCidrEvent();
ByoipCidrEvent(Aws::Utils::Json::JsonView jsonValue);
ByoipCidrEvent& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A string that contains an <code>Event</code> message describing changes that
* you make in the status of an IP address range that you bring to AWS Global
* Accelerator through bring your own IP address (BYOIP).</p>
*/
inline const Aws::String& GetMessage() const{ return m_message; }
/**
* <p>A string that contains an <code>Event</code> message describing changes that
* you make in the status of an IP address range that you bring to AWS Global
* Accelerator through bring your own IP address (BYOIP).</p>
*/
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
/**
* <p>A string that contains an <code>Event</code> message describing changes that
* you make in the status of an IP address range that you bring to AWS Global
* Accelerator through bring your own IP address (BYOIP).</p>
*/
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
/**
* <p>A string that contains an <code>Event</code> message describing changes that
* you make in the status of an IP address range that you bring to AWS Global
* Accelerator through bring your own IP address (BYOIP).</p>
*/
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
/**
* <p>A string that contains an <code>Event</code> message describing changes that
* you make in the status of an IP address range that you bring to AWS Global
* Accelerator through bring your own IP address (BYOIP).</p>
*/
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
/**
* <p>A string that contains an <code>Event</code> message describing changes that
* you make in the status of an IP address range that you bring to AWS Global
* Accelerator through bring your own IP address (BYOIP).</p>
*/
inline ByoipCidrEvent& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
/**
* <p>A string that contains an <code>Event</code> message describing changes that
* you make in the status of an IP address range that you bring to AWS Global
* Accelerator through bring your own IP address (BYOIP).</p>
*/
inline ByoipCidrEvent& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
/**
* <p>A string that contains an <code>Event</code> message describing changes that
* you make in the status of an IP address range that you bring to AWS Global
* Accelerator through bring your own IP address (BYOIP).</p>
*/
inline ByoipCidrEvent& WithMessage(const char* value) { SetMessage(value); return *this;}
/**
* <p>A timestamp when you make a status change for an IP address range that you
* bring to AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; }
/**
* <p>A timestamp when you make a status change for an IP address range that you
* bring to AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; }
/**
* <p>A timestamp when you make a status change for an IP address range that you
* bring to AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; }
/**
* <p>A timestamp when you make a status change for an IP address range that you
* bring to AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); }
/**
* <p>A timestamp when you make a status change for an IP address range that you
* bring to AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline ByoipCidrEvent& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;}
/**
* <p>A timestamp when you make a status change for an IP address range that you
* bring to AWS Global Accelerator through bring your own IP address (BYOIP).</p>
*/
inline ByoipCidrEvent& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
Aws::Utils::DateTime m_timestamp;
bool m_timestampHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,40 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
enum class ByoipCidrState
{
NOT_SET,
PENDING_PROVISIONING,
READY,
PENDING_ADVERTISING,
ADVERTISING,
PENDING_WITHDRAWING,
PENDING_DEPROVISIONING,
DEPROVISIONED,
FAILED_PROVISION,
FAILED_ADVERTISING,
FAILED_WITHDRAW,
FAILED_DEPROVISION
};
namespace ByoipCidrStateMapper
{
AWS_GLOBALACCELERATOR_API ByoipCidrState GetByoipCidrStateForName(const Aws::String& name);
AWS_GLOBALACCELERATOR_API Aws::String GetNameForByoipCidrState(ByoipCidrState value);
} // namespace ByoipCidrStateMapper
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,137 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>Provides authorization for Amazon to bring a specific IP address range to a
* specific AWS account using bring your own IP addresses (BYOIP). </p> <p>For more
* information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CidrAuthorizationContext">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API CidrAuthorizationContext
{
public:
CidrAuthorizationContext();
CidrAuthorizationContext(Aws::Utils::Json::JsonView jsonValue);
CidrAuthorizationContext& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The plain-text authorization message for the prefix and account.</p>
*/
inline const Aws::String& GetMessage() const{ return m_message; }
/**
* <p>The plain-text authorization message for the prefix and account.</p>
*/
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
/**
* <p>The plain-text authorization message for the prefix and account.</p>
*/
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
/**
* <p>The plain-text authorization message for the prefix and account.</p>
*/
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
/**
* <p>The plain-text authorization message for the prefix and account.</p>
*/
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
/**
* <p>The plain-text authorization message for the prefix and account.</p>
*/
inline CidrAuthorizationContext& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
/**
* <p>The plain-text authorization message for the prefix and account.</p>
*/
inline CidrAuthorizationContext& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
/**
* <p>The plain-text authorization message for the prefix and account.</p>
*/
inline CidrAuthorizationContext& WithMessage(const char* value) { SetMessage(value); return *this;}
/**
* <p>The signed authorization message for the prefix and account.</p>
*/
inline const Aws::String& GetSignature() const{ return m_signature; }
/**
* <p>The signed authorization message for the prefix and account.</p>
*/
inline bool SignatureHasBeenSet() const { return m_signatureHasBeenSet; }
/**
* <p>The signed authorization message for the prefix and account.</p>
*/
inline void SetSignature(const Aws::String& value) { m_signatureHasBeenSet = true; m_signature = value; }
/**
* <p>The signed authorization message for the prefix and account.</p>
*/
inline void SetSignature(Aws::String&& value) { m_signatureHasBeenSet = true; m_signature = std::move(value); }
/**
* <p>The signed authorization message for the prefix and account.</p>
*/
inline void SetSignature(const char* value) { m_signatureHasBeenSet = true; m_signature.assign(value); }
/**
* <p>The signed authorization message for the prefix and account.</p>
*/
inline CidrAuthorizationContext& WithSignature(const Aws::String& value) { SetSignature(value); return *this;}
/**
* <p>The signed authorization message for the prefix and account.</p>
*/
inline CidrAuthorizationContext& WithSignature(Aws::String&& value) { SetSignature(std::move(value)); return *this;}
/**
* <p>The signed authorization message for the prefix and account.</p>
*/
inline CidrAuthorizationContext& WithSignature(const char* value) { SetSignature(value); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
Aws::String m_signature;
bool m_signatureHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
enum class ClientAffinity
{
NOT_SET,
NONE,
SOURCE_IP
};
namespace ClientAffinityMapper
{
AWS_GLOBALACCELERATOR_API ClientAffinity GetClientAffinityForName(const Aws::String& name);
AWS_GLOBALACCELERATOR_API Aws::String GetNameForClientAffinity(ClientAffinity value);
} // namespace ClientAffinityMapper
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,421 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/globalaccelerator/model/IpAddressType.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/globalaccelerator/model/Tag.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API CreateAcceleratorRequest : public GlobalAcceleratorRequest
{
public:
CreateAcceleratorRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateAccelerator"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of an accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of an accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of an accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of an accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of an accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of an accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline CreateAcceleratorRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of an accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline CreateAcceleratorRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of an accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline CreateAcceleratorRequest& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline const IpAddressType& GetIpAddressType() const{ return m_ipAddressType; }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline void SetIpAddressType(const IpAddressType& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline void SetIpAddressType(IpAddressType&& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = std::move(value); }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline CreateAcceleratorRequest& WithIpAddressType(const IpAddressType& value) { SetIpAddressType(value); return *this;}
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline CreateAcceleratorRequest& WithIpAddressType(IpAddressType&& value) { SetIpAddressType(std::move(value)); return *this;}
/**
* <p>Optionally, if you've added your own IP address pool to Global Accelerator,
* you can choose IP addresses from your own pool to use for the accelerator's
* static IP addresses. You can specify one or two addresses, separated by a comma.
* Do not include the /32 suffix.</p> <p>If you specify only one IP address from
* your IP address range, Global Accelerator assigns a second static IP address for
* the accelerator from the AWS IP address pool.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline const Aws::Vector<Aws::String>& GetIpAddresses() const{ return m_ipAddresses; }
/**
* <p>Optionally, if you've added your own IP address pool to Global Accelerator,
* you can choose IP addresses from your own pool to use for the accelerator's
* static IP addresses. You can specify one or two addresses, separated by a comma.
* Do not include the /32 suffix.</p> <p>If you specify only one IP address from
* your IP address range, Global Accelerator assigns a second static IP address for
* the accelerator from the AWS IP address pool.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline bool IpAddressesHasBeenSet() const { return m_ipAddressesHasBeenSet; }
/**
* <p>Optionally, if you've added your own IP address pool to Global Accelerator,
* you can choose IP addresses from your own pool to use for the accelerator's
* static IP addresses. You can specify one or two addresses, separated by a comma.
* Do not include the /32 suffix.</p> <p>If you specify only one IP address from
* your IP address range, Global Accelerator assigns a second static IP address for
* the accelerator from the AWS IP address pool.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline void SetIpAddresses(const Aws::Vector<Aws::String>& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses = value; }
/**
* <p>Optionally, if you've added your own IP address pool to Global Accelerator,
* you can choose IP addresses from your own pool to use for the accelerator's
* static IP addresses. You can specify one or two addresses, separated by a comma.
* Do not include the /32 suffix.</p> <p>If you specify only one IP address from
* your IP address range, Global Accelerator assigns a second static IP address for
* the accelerator from the AWS IP address pool.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline void SetIpAddresses(Aws::Vector<Aws::String>&& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses = std::move(value); }
/**
* <p>Optionally, if you've added your own IP address pool to Global Accelerator,
* you can choose IP addresses from your own pool to use for the accelerator's
* static IP addresses. You can specify one or two addresses, separated by a comma.
* Do not include the /32 suffix.</p> <p>If you specify only one IP address from
* your IP address range, Global Accelerator assigns a second static IP address for
* the accelerator from the AWS IP address pool.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline CreateAcceleratorRequest& WithIpAddresses(const Aws::Vector<Aws::String>& value) { SetIpAddresses(value); return *this;}
/**
* <p>Optionally, if you've added your own IP address pool to Global Accelerator,
* you can choose IP addresses from your own pool to use for the accelerator's
* static IP addresses. You can specify one or two addresses, separated by a comma.
* Do not include the /32 suffix.</p> <p>If you specify only one IP address from
* your IP address range, Global Accelerator assigns a second static IP address for
* the accelerator from the AWS IP address pool.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline CreateAcceleratorRequest& WithIpAddresses(Aws::Vector<Aws::String>&& value) { SetIpAddresses(std::move(value)); return *this;}
/**
* <p>Optionally, if you've added your own IP address pool to Global Accelerator,
* you can choose IP addresses from your own pool to use for the accelerator's
* static IP addresses. You can specify one or two addresses, separated by a comma.
* Do not include the /32 suffix.</p> <p>If you specify only one IP address from
* your IP address range, Global Accelerator assigns a second static IP address for
* the accelerator from the AWS IP address pool.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline CreateAcceleratorRequest& AddIpAddresses(const Aws::String& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(value); return *this; }
/**
* <p>Optionally, if you've added your own IP address pool to Global Accelerator,
* you can choose IP addresses from your own pool to use for the accelerator's
* static IP addresses. You can specify one or two addresses, separated by a comma.
* Do not include the /32 suffix.</p> <p>If you specify only one IP address from
* your IP address range, Global Accelerator assigns a second static IP address for
* the accelerator from the AWS IP address pool.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline CreateAcceleratorRequest& AddIpAddresses(Aws::String&& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(std::move(value)); return *this; }
/**
* <p>Optionally, if you've added your own IP address pool to Global Accelerator,
* you can choose IP addresses from your own pool to use for the accelerator's
* static IP addresses. You can specify one or two addresses, separated by a comma.
* Do not include the /32 suffix.</p> <p>If you specify only one IP address from
* your IP address range, Global Accelerator assigns a second static IP address for
* the accelerator from the AWS IP address pool.</p> <p>For more information, see
* <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html">Bring
* Your Own IP Addresses (BYOIP)</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline CreateAcceleratorRequest& AddIpAddresses(const char* value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(value); return *this; }
/**
* <p>Indicates whether an accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, an accelerator
* cannot be deleted. If set to false, the accelerator can be deleted.</p>
*/
inline bool GetEnabled() const{ return m_enabled; }
/**
* <p>Indicates whether an accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, an accelerator
* cannot be deleted. If set to false, the accelerator can be deleted.</p>
*/
inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
/**
* <p>Indicates whether an accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, an accelerator
* cannot be deleted. If set to false, the accelerator can be deleted.</p>
*/
inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
/**
* <p>Indicates whether an accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, an accelerator
* cannot be deleted. If set to false, the accelerator can be deleted.</p>
*/
inline CreateAcceleratorRequest& WithEnabled(bool value) { SetEnabled(value); return *this;}
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of an accelerator.</p>
*/
inline const Aws::String& GetIdempotencyToken() const{ return m_idempotencyToken; }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of an accelerator.</p>
*/
inline bool IdempotencyTokenHasBeenSet() const { return m_idempotencyTokenHasBeenSet; }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of an accelerator.</p>
*/
inline void SetIdempotencyToken(const Aws::String& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = value; }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of an accelerator.</p>
*/
inline void SetIdempotencyToken(Aws::String&& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = std::move(value); }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of an accelerator.</p>
*/
inline void SetIdempotencyToken(const char* value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken.assign(value); }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of an accelerator.</p>
*/
inline CreateAcceleratorRequest& WithIdempotencyToken(const Aws::String& value) { SetIdempotencyToken(value); return *this;}
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of an accelerator.</p>
*/
inline CreateAcceleratorRequest& WithIdempotencyToken(Aws::String&& value) { SetIdempotencyToken(std::move(value)); return *this;}
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of an accelerator.</p>
*/
inline CreateAcceleratorRequest& WithIdempotencyToken(const char* value) { SetIdempotencyToken(value); return *this;}
/**
* <p>Create tags for an accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html">Tagging
* in AWS Global Accelerator</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>Create tags for an accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html">Tagging
* in AWS Global Accelerator</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>Create tags for an accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html">Tagging
* in AWS Global Accelerator</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>Create tags for an accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html">Tagging
* in AWS Global Accelerator</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>Create tags for an accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html">Tagging
* in AWS Global Accelerator</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline CreateAcceleratorRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>Create tags for an accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html">Tagging
* in AWS Global Accelerator</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline CreateAcceleratorRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>Create tags for an accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html">Tagging
* in AWS Global Accelerator</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline CreateAcceleratorRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>Create tags for an accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html">Tagging
* in AWS Global Accelerator</a> in the <i>AWS Global Accelerator Developer
* Guide</i>.</p>
*/
inline CreateAcceleratorRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_name;
bool m_nameHasBeenSet;
IpAddressType m_ipAddressType;
bool m_ipAddressTypeHasBeenSet;
Aws::Vector<Aws::String> m_ipAddresses;
bool m_ipAddressesHasBeenSet;
bool m_enabled;
bool m_enabledHasBeenSet;
Aws::String m_idempotencyToken;
bool m_idempotencyTokenHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,72 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/Accelerator.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API CreateAcceleratorResult
{
public:
CreateAcceleratorResult();
CreateAcceleratorResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateAcceleratorResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The accelerator that is created by specifying a listener and the supported IP
* address types.</p>
*/
inline const Accelerator& GetAccelerator() const{ return m_accelerator; }
/**
* <p>The accelerator that is created by specifying a listener and the supported IP
* address types.</p>
*/
inline void SetAccelerator(const Accelerator& value) { m_accelerator = value; }
/**
* <p>The accelerator that is created by specifying a listener and the supported IP
* address types.</p>
*/
inline void SetAccelerator(Accelerator&& value) { m_accelerator = std::move(value); }
/**
* <p>The accelerator that is created by specifying a listener and the supported IP
* address types.</p>
*/
inline CreateAcceleratorResult& WithAccelerator(const Accelerator& value) { SetAccelerator(value); return *this;}
/**
* <p>The accelerator that is created by specifying a listener and the supported IP
* address types.</p>
*/
inline CreateAcceleratorResult& WithAccelerator(Accelerator&& value) { SetAccelerator(std::move(value)); return *this;}
private:
Accelerator m_accelerator;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,465 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/globalaccelerator/model/HealthCheckProtocol.h>
#include <aws/globalaccelerator/model/EndpointConfiguration.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API CreateEndpointGroupRequest : public GlobalAcceleratorRequest
{
public:
CreateEndpointGroupRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateEndpointGroup"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline const Aws::String& GetListenerArn() const{ return m_listenerArn; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline bool ListenerArnHasBeenSet() const { return m_listenerArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(const Aws::String& value) { m_listenerArnHasBeenSet = true; m_listenerArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(Aws::String&& value) { m_listenerArnHasBeenSet = true; m_listenerArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(const char* value) { m_listenerArnHasBeenSet = true; m_listenerArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline CreateEndpointGroupRequest& WithListenerArn(const Aws::String& value) { SetListenerArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline CreateEndpointGroupRequest& WithListenerArn(Aws::String&& value) { SetListenerArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline CreateEndpointGroupRequest& WithListenerArn(const char* value) { SetListenerArn(value); return *this;}
/**
* <p>The name of the AWS Region where the endpoint group is located. A listener
* can have only one endpoint group in a specific Region.</p>
*/
inline const Aws::String& GetEndpointGroupRegion() const{ return m_endpointGroupRegion; }
/**
* <p>The name of the AWS Region where the endpoint group is located. A listener
* can have only one endpoint group in a specific Region.</p>
*/
inline bool EndpointGroupRegionHasBeenSet() const { return m_endpointGroupRegionHasBeenSet; }
/**
* <p>The name of the AWS Region where the endpoint group is located. A listener
* can have only one endpoint group in a specific Region.</p>
*/
inline void SetEndpointGroupRegion(const Aws::String& value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion = value; }
/**
* <p>The name of the AWS Region where the endpoint group is located. A listener
* can have only one endpoint group in a specific Region.</p>
*/
inline void SetEndpointGroupRegion(Aws::String&& value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion = std::move(value); }
/**
* <p>The name of the AWS Region where the endpoint group is located. A listener
* can have only one endpoint group in a specific Region.</p>
*/
inline void SetEndpointGroupRegion(const char* value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion.assign(value); }
/**
* <p>The name of the AWS Region where the endpoint group is located. A listener
* can have only one endpoint group in a specific Region.</p>
*/
inline CreateEndpointGroupRequest& WithEndpointGroupRegion(const Aws::String& value) { SetEndpointGroupRegion(value); return *this;}
/**
* <p>The name of the AWS Region where the endpoint group is located. A listener
* can have only one endpoint group in a specific Region.</p>
*/
inline CreateEndpointGroupRequest& WithEndpointGroupRegion(Aws::String&& value) { SetEndpointGroupRegion(std::move(value)); return *this;}
/**
* <p>The name of the AWS Region where the endpoint group is located. A listener
* can have only one endpoint group in a specific Region.</p>
*/
inline CreateEndpointGroupRequest& WithEndpointGroupRegion(const char* value) { SetEndpointGroupRegion(value); return *this;}
/**
* <p>The list of endpoint objects.</p>
*/
inline const Aws::Vector<EndpointConfiguration>& GetEndpointConfigurations() const{ return m_endpointConfigurations; }
/**
* <p>The list of endpoint objects.</p>
*/
inline bool EndpointConfigurationsHasBeenSet() const { return m_endpointConfigurationsHasBeenSet; }
/**
* <p>The list of endpoint objects.</p>
*/
inline void SetEndpointConfigurations(const Aws::Vector<EndpointConfiguration>& value) { m_endpointConfigurationsHasBeenSet = true; m_endpointConfigurations = value; }
/**
* <p>The list of endpoint objects.</p>
*/
inline void SetEndpointConfigurations(Aws::Vector<EndpointConfiguration>&& value) { m_endpointConfigurationsHasBeenSet = true; m_endpointConfigurations = std::move(value); }
/**
* <p>The list of endpoint objects.</p>
*/
inline CreateEndpointGroupRequest& WithEndpointConfigurations(const Aws::Vector<EndpointConfiguration>& value) { SetEndpointConfigurations(value); return *this;}
/**
* <p>The list of endpoint objects.</p>
*/
inline CreateEndpointGroupRequest& WithEndpointConfigurations(Aws::Vector<EndpointConfiguration>&& value) { SetEndpointConfigurations(std::move(value)); return *this;}
/**
* <p>The list of endpoint objects.</p>
*/
inline CreateEndpointGroupRequest& AddEndpointConfigurations(const EndpointConfiguration& value) { m_endpointConfigurationsHasBeenSet = true; m_endpointConfigurations.push_back(value); return *this; }
/**
* <p>The list of endpoint objects.</p>
*/
inline CreateEndpointGroupRequest& AddEndpointConfigurations(EndpointConfiguration&& value) { m_endpointConfigurationsHasBeenSet = true; m_endpointConfigurations.push_back(std::move(value)); return *this; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline double GetTrafficDialPercentage() const{ return m_trafficDialPercentage; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline bool TrafficDialPercentageHasBeenSet() const { return m_trafficDialPercentageHasBeenSet; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline void SetTrafficDialPercentage(double value) { m_trafficDialPercentageHasBeenSet = true; m_trafficDialPercentage = value; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline CreateEndpointGroupRequest& WithTrafficDialPercentage(double value) { SetTrafficDialPercentage(value); return *this;}
/**
* <p>The port that AWS Global Accelerator uses to check the health of endpoints
* that are part of this endpoint group. The default port is the listener port that
* this endpoint group is associated with. If listener port is a list of ports,
* Global Accelerator uses the first port in the list.</p>
*/
inline int GetHealthCheckPort() const{ return m_healthCheckPort; }
/**
* <p>The port that AWS Global Accelerator uses to check the health of endpoints
* that are part of this endpoint group. The default port is the listener port that
* this endpoint group is associated with. If listener port is a list of ports,
* Global Accelerator uses the first port in the list.</p>
*/
inline bool HealthCheckPortHasBeenSet() const { return m_healthCheckPortHasBeenSet; }
/**
* <p>The port that AWS Global Accelerator uses to check the health of endpoints
* that are part of this endpoint group. The default port is the listener port that
* this endpoint group is associated with. If listener port is a list of ports,
* Global Accelerator uses the first port in the list.</p>
*/
inline void SetHealthCheckPort(int value) { m_healthCheckPortHasBeenSet = true; m_healthCheckPort = value; }
/**
* <p>The port that AWS Global Accelerator uses to check the health of endpoints
* that are part of this endpoint group. The default port is the listener port that
* this endpoint group is associated with. If listener port is a list of ports,
* Global Accelerator uses the first port in the list.</p>
*/
inline CreateEndpointGroupRequest& WithHealthCheckPort(int value) { SetHealthCheckPort(value); return *this;}
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline const HealthCheckProtocol& GetHealthCheckProtocol() const{ return m_healthCheckProtocol; }
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline bool HealthCheckProtocolHasBeenSet() const { return m_healthCheckProtocolHasBeenSet; }
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline void SetHealthCheckProtocol(const HealthCheckProtocol& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = value; }
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline void SetHealthCheckProtocol(HealthCheckProtocol&& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = std::move(value); }
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline CreateEndpointGroupRequest& WithHealthCheckProtocol(const HealthCheckProtocol& value) { SetHealthCheckProtocol(value); return *this;}
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline CreateEndpointGroupRequest& WithHealthCheckProtocol(HealthCheckProtocol&& value) { SetHealthCheckProtocol(std::move(value)); return *this;}
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline const Aws::String& GetHealthCheckPath() const{ return m_healthCheckPath; }
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline bool HealthCheckPathHasBeenSet() const { return m_healthCheckPathHasBeenSet; }
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline void SetHealthCheckPath(const Aws::String& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = value; }
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline void SetHealthCheckPath(Aws::String&& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = std::move(value); }
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline void SetHealthCheckPath(const char* value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath.assign(value); }
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline CreateEndpointGroupRequest& WithHealthCheckPath(const Aws::String& value) { SetHealthCheckPath(value); return *this;}
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline CreateEndpointGroupRequest& WithHealthCheckPath(Aws::String&& value) { SetHealthCheckPath(std::move(value)); return *this;}
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline CreateEndpointGroupRequest& WithHealthCheckPath(const char* value) { SetHealthCheckPath(value); return *this;}
/**
* <p>The time—10 seconds or 30 seconds—between each health check for an endpoint.
* The default value is 30.</p>
*/
inline int GetHealthCheckIntervalSeconds() const{ return m_healthCheckIntervalSeconds; }
/**
* <p>The time—10 seconds or 30 seconds—between each health check for an endpoint.
* The default value is 30.</p>
*/
inline bool HealthCheckIntervalSecondsHasBeenSet() const { return m_healthCheckIntervalSecondsHasBeenSet; }
/**
* <p>The time—10 seconds or 30 seconds—between each health check for an endpoint.
* The default value is 30.</p>
*/
inline void SetHealthCheckIntervalSeconds(int value) { m_healthCheckIntervalSecondsHasBeenSet = true; m_healthCheckIntervalSeconds = value; }
/**
* <p>The time—10 seconds or 30 seconds—between each health check for an endpoint.
* The default value is 30.</p>
*/
inline CreateEndpointGroupRequest& WithHealthCheckIntervalSeconds(int value) { SetHealthCheckIntervalSeconds(value); return *this;}
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline int GetThresholdCount() const{ return m_thresholdCount; }
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline bool ThresholdCountHasBeenSet() const { return m_thresholdCountHasBeenSet; }
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline void SetThresholdCount(int value) { m_thresholdCountHasBeenSet = true; m_thresholdCount = value; }
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline CreateEndpointGroupRequest& WithThresholdCount(int value) { SetThresholdCount(value); return *this;}
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline const Aws::String& GetIdempotencyToken() const{ return m_idempotencyToken; }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline bool IdempotencyTokenHasBeenSet() const { return m_idempotencyTokenHasBeenSet; }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline void SetIdempotencyToken(const Aws::String& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = value; }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline void SetIdempotencyToken(Aws::String&& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = std::move(value); }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline void SetIdempotencyToken(const char* value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken.assign(value); }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline CreateEndpointGroupRequest& WithIdempotencyToken(const Aws::String& value) { SetIdempotencyToken(value); return *this;}
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline CreateEndpointGroupRequest& WithIdempotencyToken(Aws::String&& value) { SetIdempotencyToken(std::move(value)); return *this;}
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline CreateEndpointGroupRequest& WithIdempotencyToken(const char* value) { SetIdempotencyToken(value); return *this;}
private:
Aws::String m_listenerArn;
bool m_listenerArnHasBeenSet;
Aws::String m_endpointGroupRegion;
bool m_endpointGroupRegionHasBeenSet;
Aws::Vector<EndpointConfiguration> m_endpointConfigurations;
bool m_endpointConfigurationsHasBeenSet;
double m_trafficDialPercentage;
bool m_trafficDialPercentageHasBeenSet;
int m_healthCheckPort;
bool m_healthCheckPortHasBeenSet;
HealthCheckProtocol m_healthCheckProtocol;
bool m_healthCheckProtocolHasBeenSet;
Aws::String m_healthCheckPath;
bool m_healthCheckPathHasBeenSet;
int m_healthCheckIntervalSeconds;
bool m_healthCheckIntervalSecondsHasBeenSet;
int m_thresholdCount;
bool m_thresholdCountHasBeenSet;
Aws::String m_idempotencyToken;
bool m_idempotencyTokenHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/EndpointGroup.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API CreateEndpointGroupResult
{
public:
CreateEndpointGroupResult();
CreateEndpointGroupResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateEndpointGroupResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The information about the endpoint group that was created.</p>
*/
inline const EndpointGroup& GetEndpointGroup() const{ return m_endpointGroup; }
/**
* <p>The information about the endpoint group that was created.</p>
*/
inline void SetEndpointGroup(const EndpointGroup& value) { m_endpointGroup = value; }
/**
* <p>The information about the endpoint group that was created.</p>
*/
inline void SetEndpointGroup(EndpointGroup&& value) { m_endpointGroup = std::move(value); }
/**
* <p>The information about the endpoint group that was created.</p>
*/
inline CreateEndpointGroupResult& WithEndpointGroup(const EndpointGroup& value) { SetEndpointGroup(value); return *this;}
/**
* <p>The information about the endpoint group that was created.</p>
*/
inline CreateEndpointGroupResult& WithEndpointGroup(EndpointGroup&& value) { SetEndpointGroup(std::move(value)); return *this;}
private:
EndpointGroup m_endpointGroup;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,352 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/globalaccelerator/model/Protocol.h>
#include <aws/globalaccelerator/model/ClientAffinity.h>
#include <aws/globalaccelerator/model/PortRange.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API CreateListenerRequest : public GlobalAcceleratorRequest
{
public:
CreateListenerRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateListener"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of your accelerator.</p>
*/
inline const Aws::String& GetAcceleratorArn() const{ return m_acceleratorArn; }
/**
* <p>The Amazon Resource Name (ARN) of your accelerator.</p>
*/
inline bool AcceleratorArnHasBeenSet() const { return m_acceleratorArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of your accelerator.</p>
*/
inline void SetAcceleratorArn(const Aws::String& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of your accelerator.</p>
*/
inline void SetAcceleratorArn(Aws::String&& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of your accelerator.</p>
*/
inline void SetAcceleratorArn(const char* value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of your accelerator.</p>
*/
inline CreateListenerRequest& WithAcceleratorArn(const Aws::String& value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of your accelerator.</p>
*/
inline CreateListenerRequest& WithAcceleratorArn(Aws::String&& value) { SetAcceleratorArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of your accelerator.</p>
*/
inline CreateListenerRequest& WithAcceleratorArn(const char* value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The list of port ranges to support for connections from clients to your
* accelerator.</p>
*/
inline const Aws::Vector<PortRange>& GetPortRanges() const{ return m_portRanges; }
/**
* <p>The list of port ranges to support for connections from clients to your
* accelerator.</p>
*/
inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; }
/**
* <p>The list of port ranges to support for connections from clients to your
* accelerator.</p>
*/
inline void SetPortRanges(const Aws::Vector<PortRange>& value) { m_portRangesHasBeenSet = true; m_portRanges = value; }
/**
* <p>The list of port ranges to support for connections from clients to your
* accelerator.</p>
*/
inline void SetPortRanges(Aws::Vector<PortRange>&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); }
/**
* <p>The list of port ranges to support for connections from clients to your
* accelerator.</p>
*/
inline CreateListenerRequest& WithPortRanges(const Aws::Vector<PortRange>& value) { SetPortRanges(value); return *this;}
/**
* <p>The list of port ranges to support for connections from clients to your
* accelerator.</p>
*/
inline CreateListenerRequest& WithPortRanges(Aws::Vector<PortRange>&& value) { SetPortRanges(std::move(value)); return *this;}
/**
* <p>The list of port ranges to support for connections from clients to your
* accelerator.</p>
*/
inline CreateListenerRequest& AddPortRanges(const PortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; }
/**
* <p>The list of port ranges to support for connections from clients to your
* accelerator.</p>
*/
inline CreateListenerRequest& AddPortRanges(PortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; }
/**
* <p>The protocol for connections from clients to your accelerator.</p>
*/
inline const Protocol& GetProtocol() const{ return m_protocol; }
/**
* <p>The protocol for connections from clients to your accelerator.</p>
*/
inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; }
/**
* <p>The protocol for connections from clients to your accelerator.</p>
*/
inline void SetProtocol(const Protocol& value) { m_protocolHasBeenSet = true; m_protocol = value; }
/**
* <p>The protocol for connections from clients to your accelerator.</p>
*/
inline void SetProtocol(Protocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); }
/**
* <p>The protocol for connections from clients to your accelerator.</p>
*/
inline CreateListenerRequest& WithProtocol(const Protocol& value) { SetProtocol(value); return *this;}
/**
* <p>The protocol for connections from clients to your accelerator.</p>
*/
inline CreateListenerRequest& WithProtocol(Protocol&& value) { SetProtocol(std::move(value)); return *this;}
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline const ClientAffinity& GetClientAffinity() const{ return m_clientAffinity; }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline bool ClientAffinityHasBeenSet() const { return m_clientAffinityHasBeenSet; }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline void SetClientAffinity(const ClientAffinity& value) { m_clientAffinityHasBeenSet = true; m_clientAffinity = value; }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline void SetClientAffinity(ClientAffinity&& value) { m_clientAffinityHasBeenSet = true; m_clientAffinity = std::move(value); }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline CreateListenerRequest& WithClientAffinity(const ClientAffinity& value) { SetClientAffinity(value); return *this;}
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline CreateListenerRequest& WithClientAffinity(ClientAffinity&& value) { SetClientAffinity(std::move(value)); return *this;}
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline const Aws::String& GetIdempotencyToken() const{ return m_idempotencyToken; }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline bool IdempotencyTokenHasBeenSet() const { return m_idempotencyTokenHasBeenSet; }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline void SetIdempotencyToken(const Aws::String& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = value; }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline void SetIdempotencyToken(Aws::String&& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = std::move(value); }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline void SetIdempotencyToken(const char* value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken.assign(value); }
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline CreateListenerRequest& WithIdempotencyToken(const Aws::String& value) { SetIdempotencyToken(value); return *this;}
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline CreateListenerRequest& WithIdempotencyToken(Aws::String&& value) { SetIdempotencyToken(std::move(value)); return *this;}
/**
* <p>A unique, case-sensitive identifier that you provide to ensure the
* idempotency—that is, the uniqueness—of the request.</p>
*/
inline CreateListenerRequest& WithIdempotencyToken(const char* value) { SetIdempotencyToken(value); return *this;}
private:
Aws::String m_acceleratorArn;
bool m_acceleratorArnHasBeenSet;
Aws::Vector<PortRange> m_portRanges;
bool m_portRangesHasBeenSet;
Protocol m_protocol;
bool m_protocolHasBeenSet;
ClientAffinity m_clientAffinity;
bool m_clientAffinityHasBeenSet;
Aws::String m_idempotencyToken;
bool m_idempotencyTokenHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/Listener.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API CreateListenerResult
{
public:
CreateListenerResult();
CreateListenerResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateListenerResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The listener that you've created.</p>
*/
inline const Listener& GetListener() const{ return m_listener; }
/**
* <p>The listener that you've created.</p>
*/
inline void SetListener(const Listener& value) { m_listener = value; }
/**
* <p>The listener that you've created.</p>
*/
inline void SetListener(Listener&& value) { m_listener = std::move(value); }
/**
* <p>The listener that you've created.</p>
*/
inline CreateListenerResult& WithListener(const Listener& value) { SetListener(value); return *this;}
/**
* <p>The listener that you've created.</p>
*/
inline CreateListenerResult& WithListener(Listener&& value) { SetListener(std::move(value)); return *this;}
private:
Listener m_listener;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API DeleteAcceleratorRequest : public GlobalAcceleratorRequest
{
public:
DeleteAcceleratorRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteAccelerator"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of an accelerator.</p>
*/
inline const Aws::String& GetAcceleratorArn() const{ return m_acceleratorArn; }
/**
* <p>The Amazon Resource Name (ARN) of an accelerator.</p>
*/
inline bool AcceleratorArnHasBeenSet() const { return m_acceleratorArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of an accelerator.</p>
*/
inline void SetAcceleratorArn(const Aws::String& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of an accelerator.</p>
*/
inline void SetAcceleratorArn(Aws::String&& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of an accelerator.</p>
*/
inline void SetAcceleratorArn(const char* value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of an accelerator.</p>
*/
inline DeleteAcceleratorRequest& WithAcceleratorArn(const Aws::String& value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of an accelerator.</p>
*/
inline DeleteAcceleratorRequest& WithAcceleratorArn(Aws::String&& value) { SetAcceleratorArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of an accelerator.</p>
*/
inline DeleteAcceleratorRequest& WithAcceleratorArn(const char* value) { SetAcceleratorArn(value); return *this;}
private:
Aws::String m_acceleratorArn;
bool m_acceleratorArnHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API DeleteEndpointGroupRequest : public GlobalAcceleratorRequest
{
public:
DeleteEndpointGroupRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteEndpointGroup"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to delete.</p>
*/
inline const Aws::String& GetEndpointGroupArn() const{ return m_endpointGroupArn; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to delete.</p>
*/
inline bool EndpointGroupArnHasBeenSet() const { return m_endpointGroupArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to delete.</p>
*/
inline void SetEndpointGroupArn(const Aws::String& value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to delete.</p>
*/
inline void SetEndpointGroupArn(Aws::String&& value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to delete.</p>
*/
inline void SetEndpointGroupArn(const char* value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to delete.</p>
*/
inline DeleteEndpointGroupRequest& WithEndpointGroupArn(const Aws::String& value) { SetEndpointGroupArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to delete.</p>
*/
inline DeleteEndpointGroupRequest& WithEndpointGroupArn(Aws::String&& value) { SetEndpointGroupArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to delete.</p>
*/
inline DeleteEndpointGroupRequest& WithEndpointGroupArn(const char* value) { SetEndpointGroupArn(value); return *this;}
private:
Aws::String m_endpointGroupArn;
bool m_endpointGroupArnHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API DeleteListenerRequest : public GlobalAcceleratorRequest
{
public:
DeleteListenerRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteListener"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline const Aws::String& GetListenerArn() const{ return m_listenerArn; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline bool ListenerArnHasBeenSet() const { return m_listenerArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(const Aws::String& value) { m_listenerArnHasBeenSet = true; m_listenerArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(Aws::String&& value) { m_listenerArnHasBeenSet = true; m_listenerArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(const char* value) { m_listenerArnHasBeenSet = true; m_listenerArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline DeleteListenerRequest& WithListenerArn(const Aws::String& value) { SetListenerArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline DeleteListenerRequest& WithListenerArn(Aws::String&& value) { SetListenerArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline DeleteListenerRequest& WithListenerArn(const char* value) { SetListenerArn(value); return *this;}
private:
Aws::String m_listenerArn;
bool m_listenerArnHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,93 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API DeprovisionByoipCidrRequest : public GlobalAcceleratorRequest
{
public:
DeprovisionByoipCidrRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeprovisionByoipCidr"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The address range, in CIDR notation. The prefix must be the same prefix that
* you specified when you provisioned the address range.</p>
*/
inline const Aws::String& GetCidr() const{ return m_cidr; }
/**
* <p>The address range, in CIDR notation. The prefix must be the same prefix that
* you specified when you provisioned the address range.</p>
*/
inline bool CidrHasBeenSet() const { return m_cidrHasBeenSet; }
/**
* <p>The address range, in CIDR notation. The prefix must be the same prefix that
* you specified when you provisioned the address range.</p>
*/
inline void SetCidr(const Aws::String& value) { m_cidrHasBeenSet = true; m_cidr = value; }
/**
* <p>The address range, in CIDR notation. The prefix must be the same prefix that
* you specified when you provisioned the address range.</p>
*/
inline void SetCidr(Aws::String&& value) { m_cidrHasBeenSet = true; m_cidr = std::move(value); }
/**
* <p>The address range, in CIDR notation. The prefix must be the same prefix that
* you specified when you provisioned the address range.</p>
*/
inline void SetCidr(const char* value) { m_cidrHasBeenSet = true; m_cidr.assign(value); }
/**
* <p>The address range, in CIDR notation. The prefix must be the same prefix that
* you specified when you provisioned the address range.</p>
*/
inline DeprovisionByoipCidrRequest& WithCidr(const Aws::String& value) { SetCidr(value); return *this;}
/**
* <p>The address range, in CIDR notation. The prefix must be the same prefix that
* you specified when you provisioned the address range.</p>
*/
inline DeprovisionByoipCidrRequest& WithCidr(Aws::String&& value) { SetCidr(std::move(value)); return *this;}
/**
* <p>The address range, in CIDR notation. The prefix must be the same prefix that
* you specified when you provisioned the address range.</p>
*/
inline DeprovisionByoipCidrRequest& WithCidr(const char* value) { SetCidr(value); return *this;}
private:
Aws::String m_cidr;
bool m_cidrHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/ByoipCidr.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API DeprovisionByoipCidrResult
{
public:
DeprovisionByoipCidrResult();
DeprovisionByoipCidrResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeprovisionByoipCidrResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about the address range.</p>
*/
inline const ByoipCidr& GetByoipCidr() const{ return m_byoipCidr; }
/**
* <p>Information about the address range.</p>
*/
inline void SetByoipCidr(const ByoipCidr& value) { m_byoipCidr = value; }
/**
* <p>Information about the address range.</p>
*/
inline void SetByoipCidr(ByoipCidr&& value) { m_byoipCidr = std::move(value); }
/**
* <p>Information about the address range.</p>
*/
inline DeprovisionByoipCidrResult& WithByoipCidr(const ByoipCidr& value) { SetByoipCidr(value); return *this;}
/**
* <p>Information about the address range.</p>
*/
inline DeprovisionByoipCidrResult& WithByoipCidr(ByoipCidr&& value) { SetByoipCidr(std::move(value)); return *this;}
private:
ByoipCidr m_byoipCidr;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,93 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API DescribeAcceleratorAttributesRequest : public GlobalAcceleratorRequest
{
public:
DescribeAcceleratorAttributesRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeAcceleratorAttributes"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the accelerator with the attributes that
* you want to describe.</p>
*/
inline const Aws::String& GetAcceleratorArn() const{ return m_acceleratorArn; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator with the attributes that
* you want to describe.</p>
*/
inline bool AcceleratorArnHasBeenSet() const { return m_acceleratorArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator with the attributes that
* you want to describe.</p>
*/
inline void SetAcceleratorArn(const Aws::String& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator with the attributes that
* you want to describe.</p>
*/
inline void SetAcceleratorArn(Aws::String&& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator with the attributes that
* you want to describe.</p>
*/
inline void SetAcceleratorArn(const char* value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator with the attributes that
* you want to describe.</p>
*/
inline DescribeAcceleratorAttributesRequest& WithAcceleratorArn(const Aws::String& value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator with the attributes that
* you want to describe.</p>
*/
inline DescribeAcceleratorAttributesRequest& WithAcceleratorArn(Aws::String&& value) { SetAcceleratorArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator with the attributes that
* you want to describe.</p>
*/
inline DescribeAcceleratorAttributesRequest& WithAcceleratorArn(const char* value) { SetAcceleratorArn(value); return *this;}
private:
Aws::String m_acceleratorArn;
bool m_acceleratorArnHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/AcceleratorAttributes.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API DescribeAcceleratorAttributesResult
{
public:
DescribeAcceleratorAttributesResult();
DescribeAcceleratorAttributesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeAcceleratorAttributesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The attributes of the accelerator.</p>
*/
inline const AcceleratorAttributes& GetAcceleratorAttributes() const{ return m_acceleratorAttributes; }
/**
* <p>The attributes of the accelerator.</p>
*/
inline void SetAcceleratorAttributes(const AcceleratorAttributes& value) { m_acceleratorAttributes = value; }
/**
* <p>The attributes of the accelerator.</p>
*/
inline void SetAcceleratorAttributes(AcceleratorAttributes&& value) { m_acceleratorAttributes = std::move(value); }
/**
* <p>The attributes of the accelerator.</p>
*/
inline DescribeAcceleratorAttributesResult& WithAcceleratorAttributes(const AcceleratorAttributes& value) { SetAcceleratorAttributes(value); return *this;}
/**
* <p>The attributes of the accelerator.</p>
*/
inline DescribeAcceleratorAttributesResult& WithAcceleratorAttributes(AcceleratorAttributes&& value) { SetAcceleratorAttributes(std::move(value)); return *this;}
private:
AcceleratorAttributes m_acceleratorAttributes;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API DescribeAcceleratorRequest : public GlobalAcceleratorRequest
{
public:
DescribeAcceleratorRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeAccelerator"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to describe.</p>
*/
inline const Aws::String& GetAcceleratorArn() const{ return m_acceleratorArn; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to describe.</p>
*/
inline bool AcceleratorArnHasBeenSet() const { return m_acceleratorArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to describe.</p>
*/
inline void SetAcceleratorArn(const Aws::String& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to describe.</p>
*/
inline void SetAcceleratorArn(Aws::String&& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to describe.</p>
*/
inline void SetAcceleratorArn(const char* value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to describe.</p>
*/
inline DescribeAcceleratorRequest& WithAcceleratorArn(const Aws::String& value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to describe.</p>
*/
inline DescribeAcceleratorRequest& WithAcceleratorArn(Aws::String&& value) { SetAcceleratorArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to describe.</p>
*/
inline DescribeAcceleratorRequest& WithAcceleratorArn(const char* value) { SetAcceleratorArn(value); return *this;}
private:
Aws::String m_acceleratorArn;
bool m_acceleratorArnHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/Accelerator.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API DescribeAcceleratorResult
{
public:
DescribeAcceleratorResult();
DescribeAcceleratorResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeAcceleratorResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The description of the accelerator.</p>
*/
inline const Accelerator& GetAccelerator() const{ return m_accelerator; }
/**
* <p>The description of the accelerator.</p>
*/
inline void SetAccelerator(const Accelerator& value) { m_accelerator = value; }
/**
* <p>The description of the accelerator.</p>
*/
inline void SetAccelerator(Accelerator&& value) { m_accelerator = std::move(value); }
/**
* <p>The description of the accelerator.</p>
*/
inline DescribeAcceleratorResult& WithAccelerator(const Accelerator& value) { SetAccelerator(value); return *this;}
/**
* <p>The description of the accelerator.</p>
*/
inline DescribeAcceleratorResult& WithAccelerator(Accelerator&& value) { SetAccelerator(std::move(value)); return *this;}
private:
Accelerator m_accelerator;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API DescribeEndpointGroupRequest : public GlobalAcceleratorRequest
{
public:
DescribeEndpointGroupRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeEndpointGroup"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to describe.</p>
*/
inline const Aws::String& GetEndpointGroupArn() const{ return m_endpointGroupArn; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to describe.</p>
*/
inline bool EndpointGroupArnHasBeenSet() const { return m_endpointGroupArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to describe.</p>
*/
inline void SetEndpointGroupArn(const Aws::String& value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to describe.</p>
*/
inline void SetEndpointGroupArn(Aws::String&& value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to describe.</p>
*/
inline void SetEndpointGroupArn(const char* value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to describe.</p>
*/
inline DescribeEndpointGroupRequest& WithEndpointGroupArn(const Aws::String& value) { SetEndpointGroupArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to describe.</p>
*/
inline DescribeEndpointGroupRequest& WithEndpointGroupArn(Aws::String&& value) { SetEndpointGroupArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group to describe.</p>
*/
inline DescribeEndpointGroupRequest& WithEndpointGroupArn(const char* value) { SetEndpointGroupArn(value); return *this;}
private:
Aws::String m_endpointGroupArn;
bool m_endpointGroupArnHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/EndpointGroup.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API DescribeEndpointGroupResult
{
public:
DescribeEndpointGroupResult();
DescribeEndpointGroupResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeEndpointGroupResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The description of an endpoint group.</p>
*/
inline const EndpointGroup& GetEndpointGroup() const{ return m_endpointGroup; }
/**
* <p>The description of an endpoint group.</p>
*/
inline void SetEndpointGroup(const EndpointGroup& value) { m_endpointGroup = value; }
/**
* <p>The description of an endpoint group.</p>
*/
inline void SetEndpointGroup(EndpointGroup&& value) { m_endpointGroup = std::move(value); }
/**
* <p>The description of an endpoint group.</p>
*/
inline DescribeEndpointGroupResult& WithEndpointGroup(const EndpointGroup& value) { SetEndpointGroup(value); return *this;}
/**
* <p>The description of an endpoint group.</p>
*/
inline DescribeEndpointGroupResult& WithEndpointGroup(EndpointGroup&& value) { SetEndpointGroup(std::move(value)); return *this;}
private:
EndpointGroup m_endpointGroup;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API DescribeListenerRequest : public GlobalAcceleratorRequest
{
public:
DescribeListenerRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeListener"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the listener to describe.</p>
*/
inline const Aws::String& GetListenerArn() const{ return m_listenerArn; }
/**
* <p>The Amazon Resource Name (ARN) of the listener to describe.</p>
*/
inline bool ListenerArnHasBeenSet() const { return m_listenerArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the listener to describe.</p>
*/
inline void SetListenerArn(const Aws::String& value) { m_listenerArnHasBeenSet = true; m_listenerArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the listener to describe.</p>
*/
inline void SetListenerArn(Aws::String&& value) { m_listenerArnHasBeenSet = true; m_listenerArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener to describe.</p>
*/
inline void SetListenerArn(const char* value) { m_listenerArnHasBeenSet = true; m_listenerArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener to describe.</p>
*/
inline DescribeListenerRequest& WithListenerArn(const Aws::String& value) { SetListenerArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener to describe.</p>
*/
inline DescribeListenerRequest& WithListenerArn(Aws::String&& value) { SetListenerArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener to describe.</p>
*/
inline DescribeListenerRequest& WithListenerArn(const char* value) { SetListenerArn(value); return *this;}
private:
Aws::String m_listenerArn;
bool m_listenerArnHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/Listener.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API DescribeListenerResult
{
public:
DescribeListenerResult();
DescribeListenerResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeListenerResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The description of a listener.</p>
*/
inline const Listener& GetListener() const{ return m_listener; }
/**
* <p>The description of a listener.</p>
*/
inline void SetListener(const Listener& value) { m_listener = value; }
/**
* <p>The description of a listener.</p>
*/
inline void SetListener(Listener&& value) { m_listener = std::move(value); }
/**
* <p>The description of a listener.</p>
*/
inline DescribeListenerResult& WithListener(const Listener& value) { SetListener(value); return *this;}
/**
* <p>The description of a listener.</p>
*/
inline DescribeListenerResult& WithListener(Listener&& value) { SetListener(std::move(value)); return *this;}
private:
Listener m_listener;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,228 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>A complex type for endpoints.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/EndpointConfiguration">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API EndpointConfiguration
{
public:
EndpointConfiguration();
EndpointConfiguration(Aws::Utils::Json::JsonView jsonValue);
EndpointConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline const Aws::String& GetEndpointId() const{ return m_endpointId; }
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline bool EndpointIdHasBeenSet() const { return m_endpointIdHasBeenSet; }
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline void SetEndpointId(const Aws::String& value) { m_endpointIdHasBeenSet = true; m_endpointId = value; }
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline void SetEndpointId(Aws::String&& value) { m_endpointIdHasBeenSet = true; m_endpointId = std::move(value); }
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline void SetEndpointId(const char* value) { m_endpointIdHasBeenSet = true; m_endpointId.assign(value); }
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline EndpointConfiguration& WithEndpointId(const Aws::String& value) { SetEndpointId(value); return *this;}
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline EndpointConfiguration& WithEndpointId(Aws::String&& value) { SetEndpointId(std::move(value)); return *this;}
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline EndpointConfiguration& WithEndpointId(const char* value) { SetEndpointId(value); return *this;}
/**
* <p>The weight associated with the endpoint. When you add weights to endpoints,
* you configure AWS Global Accelerator to route traffic based on proportions that
* you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6
* (sum=20). The result is that 4/20 of your traffic, on average, is routed to the
* first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20
* is routed to the last endpoint. For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html">Endpoint
* Weights</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline int GetWeight() const{ return m_weight; }
/**
* <p>The weight associated with the endpoint. When you add weights to endpoints,
* you configure AWS Global Accelerator to route traffic based on proportions that
* you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6
* (sum=20). The result is that 4/20 of your traffic, on average, is routed to the
* first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20
* is routed to the last endpoint. For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html">Endpoint
* Weights</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline bool WeightHasBeenSet() const { return m_weightHasBeenSet; }
/**
* <p>The weight associated with the endpoint. When you add weights to endpoints,
* you configure AWS Global Accelerator to route traffic based on proportions that
* you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6
* (sum=20). The result is that 4/20 of your traffic, on average, is routed to the
* first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20
* is routed to the last endpoint. For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html">Endpoint
* Weights</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline void SetWeight(int value) { m_weightHasBeenSet = true; m_weight = value; }
/**
* <p>The weight associated with the endpoint. When you add weights to endpoints,
* you configure AWS Global Accelerator to route traffic based on proportions that
* you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6
* (sum=20). The result is that 4/20 of your traffic, on average, is routed to the
* first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20
* is routed to the last endpoint. For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html">Endpoint
* Weights</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline EndpointConfiguration& WithWeight(int value) { SetWeight(value); return *this;}
/**
* <p>Indicates whether client IP address preservation is enabled for an
* Application Load Balancer endpoint. The value is true or false. The default
* value is true for new accelerators. </p> <p>If the value is set to true, the
* client's IP address is preserved in the <code>X-Forwarded-For</code> request
* header as traffic travels to applications on the Application Load Balancer
* endpoint fronted by the accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/preserve-client-ip-address.html">
* Preserve Client IP Addresses in AWS Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline bool GetClientIPPreservationEnabled() const{ return m_clientIPPreservationEnabled; }
/**
* <p>Indicates whether client IP address preservation is enabled for an
* Application Load Balancer endpoint. The value is true or false. The default
* value is true for new accelerators. </p> <p>If the value is set to true, the
* client's IP address is preserved in the <code>X-Forwarded-For</code> request
* header as traffic travels to applications on the Application Load Balancer
* endpoint fronted by the accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/preserve-client-ip-address.html">
* Preserve Client IP Addresses in AWS Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline bool ClientIPPreservationEnabledHasBeenSet() const { return m_clientIPPreservationEnabledHasBeenSet; }
/**
* <p>Indicates whether client IP address preservation is enabled for an
* Application Load Balancer endpoint. The value is true or false. The default
* value is true for new accelerators. </p> <p>If the value is set to true, the
* client's IP address is preserved in the <code>X-Forwarded-For</code> request
* header as traffic travels to applications on the Application Load Balancer
* endpoint fronted by the accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/preserve-client-ip-address.html">
* Preserve Client IP Addresses in AWS Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline void SetClientIPPreservationEnabled(bool value) { m_clientIPPreservationEnabledHasBeenSet = true; m_clientIPPreservationEnabled = value; }
/**
* <p>Indicates whether client IP address preservation is enabled for an
* Application Load Balancer endpoint. The value is true or false. The default
* value is true for new accelerators. </p> <p>If the value is set to true, the
* client's IP address is preserved in the <code>X-Forwarded-For</code> request
* header as traffic travels to applications on the Application Load Balancer
* endpoint fronted by the accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/preserve-client-ip-address.html">
* Preserve Client IP Addresses in AWS Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline EndpointConfiguration& WithClientIPPreservationEnabled(bool value) { SetClientIPPreservationEnabled(value); return *this;}
private:
Aws::String m_endpointId;
bool m_endpointIdHasBeenSet;
int m_weight;
bool m_weightHasBeenSet;
bool m_clientIPPreservationEnabled;
bool m_clientIPPreservationEnabledHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,396 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/globalaccelerator/model/HealthState.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>A complex type for an endpoint. Each endpoint group can include one or more
* endpoints, such as load balancers.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/EndpointDescription">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API EndpointDescription
{
public:
EndpointDescription();
EndpointDescription(Aws::Utils::Json::JsonView jsonValue);
EndpointDescription& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline const Aws::String& GetEndpointId() const{ return m_endpointId; }
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline bool EndpointIdHasBeenSet() const { return m_endpointIdHasBeenSet; }
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline void SetEndpointId(const Aws::String& value) { m_endpointIdHasBeenSet = true; m_endpointId = value; }
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline void SetEndpointId(Aws::String&& value) { m_endpointIdHasBeenSet = true; m_endpointId = std::move(value); }
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline void SetEndpointId(const char* value) { m_endpointIdHasBeenSet = true; m_endpointId.assign(value); }
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline EndpointDescription& WithEndpointId(const Aws::String& value) { SetEndpointId(value); return *this;}
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline EndpointDescription& WithEndpointId(Aws::String&& value) { SetEndpointId(std::move(value)); return *this;}
/**
* <p>An ID for the endpoint. If the endpoint is a Network Load Balancer or
* Application Load Balancer, this is the Amazon Resource Name (ARN) of the
* resource. If the endpoint is an Elastic IP address, this is the Elastic IP
* address allocation ID. For EC2 instances, this is the EC2 instance ID. </p>
* <p>An Application Load Balancer can be either internal or internet-facing.</p>
*/
inline EndpointDescription& WithEndpointId(const char* value) { SetEndpointId(value); return *this;}
/**
* <p>The weight associated with the endpoint. When you add weights to endpoints,
* you configure AWS Global Accelerator to route traffic based on proportions that
* you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6
* (sum=20). The result is that 4/20 of your traffic, on average, is routed to the
* first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20
* is routed to the last endpoint. For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html">Endpoint
* Weights</a> in the <i>AWS Global Accelerator Developer Guide</i>. </p>
*/
inline int GetWeight() const{ return m_weight; }
/**
* <p>The weight associated with the endpoint. When you add weights to endpoints,
* you configure AWS Global Accelerator to route traffic based on proportions that
* you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6
* (sum=20). The result is that 4/20 of your traffic, on average, is routed to the
* first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20
* is routed to the last endpoint. For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html">Endpoint
* Weights</a> in the <i>AWS Global Accelerator Developer Guide</i>. </p>
*/
inline bool WeightHasBeenSet() const { return m_weightHasBeenSet; }
/**
* <p>The weight associated with the endpoint. When you add weights to endpoints,
* you configure AWS Global Accelerator to route traffic based on proportions that
* you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6
* (sum=20). The result is that 4/20 of your traffic, on average, is routed to the
* first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20
* is routed to the last endpoint. For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html">Endpoint
* Weights</a> in the <i>AWS Global Accelerator Developer Guide</i>. </p>
*/
inline void SetWeight(int value) { m_weightHasBeenSet = true; m_weight = value; }
/**
* <p>The weight associated with the endpoint. When you add weights to endpoints,
* you configure AWS Global Accelerator to route traffic based on proportions that
* you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6
* (sum=20). The result is that 4/20 of your traffic, on average, is routed to the
* first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20
* is routed to the last endpoint. For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html">Endpoint
* Weights</a> in the <i>AWS Global Accelerator Developer Guide</i>. </p>
*/
inline EndpointDescription& WithWeight(int value) { SetWeight(value); return *this;}
/**
* <p>The health status of the endpoint.</p>
*/
inline const HealthState& GetHealthState() const{ return m_healthState; }
/**
* <p>The health status of the endpoint.</p>
*/
inline bool HealthStateHasBeenSet() const { return m_healthStateHasBeenSet; }
/**
* <p>The health status of the endpoint.</p>
*/
inline void SetHealthState(const HealthState& value) { m_healthStateHasBeenSet = true; m_healthState = value; }
/**
* <p>The health status of the endpoint.</p>
*/
inline void SetHealthState(HealthState&& value) { m_healthStateHasBeenSet = true; m_healthState = std::move(value); }
/**
* <p>The health status of the endpoint.</p>
*/
inline EndpointDescription& WithHealthState(const HealthState& value) { SetHealthState(value); return *this;}
/**
* <p>The health status of the endpoint.</p>
*/
inline EndpointDescription& WithHealthState(HealthState&& value) { SetHealthState(std::move(value)); return *this;}
/**
* <p>The reason code associated with why the endpoint is not healthy. If the
* endpoint state is healthy, a reason code is not provided.</p> <p>If the endpoint
* state is <b>unhealthy</b>, the reason code can be one of the following
* values:</p> <ul> <li> <p> <b>Timeout</b>: The health check requests to the
* endpoint are timing out before returning a status.</p> </li> <li> <p>
* <b>Failed</b>: The health check failed, for example because the endpoint
* response was invalid (malformed).</p> </li> </ul> <p>If the endpoint state is
* <b>initial</b>, the reason code can be one of the following values:</p> <ul>
* <li> <p> <b>ProvisioningInProgress</b>: The endpoint is in the process of being
* provisioned.</p> </li> <li> <p> <b>InitialHealthChecking</b>: Global Accelerator
* is still setting up the minimum number of health checks for the endpoint that
* are required to determine its health status.</p> </li> </ul>
*/
inline const Aws::String& GetHealthReason() const{ return m_healthReason; }
/**
* <p>The reason code associated with why the endpoint is not healthy. If the
* endpoint state is healthy, a reason code is not provided.</p> <p>If the endpoint
* state is <b>unhealthy</b>, the reason code can be one of the following
* values:</p> <ul> <li> <p> <b>Timeout</b>: The health check requests to the
* endpoint are timing out before returning a status.</p> </li> <li> <p>
* <b>Failed</b>: The health check failed, for example because the endpoint
* response was invalid (malformed).</p> </li> </ul> <p>If the endpoint state is
* <b>initial</b>, the reason code can be one of the following values:</p> <ul>
* <li> <p> <b>ProvisioningInProgress</b>: The endpoint is in the process of being
* provisioned.</p> </li> <li> <p> <b>InitialHealthChecking</b>: Global Accelerator
* is still setting up the minimum number of health checks for the endpoint that
* are required to determine its health status.</p> </li> </ul>
*/
inline bool HealthReasonHasBeenSet() const { return m_healthReasonHasBeenSet; }
/**
* <p>The reason code associated with why the endpoint is not healthy. If the
* endpoint state is healthy, a reason code is not provided.</p> <p>If the endpoint
* state is <b>unhealthy</b>, the reason code can be one of the following
* values:</p> <ul> <li> <p> <b>Timeout</b>: The health check requests to the
* endpoint are timing out before returning a status.</p> </li> <li> <p>
* <b>Failed</b>: The health check failed, for example because the endpoint
* response was invalid (malformed).</p> </li> </ul> <p>If the endpoint state is
* <b>initial</b>, the reason code can be one of the following values:</p> <ul>
* <li> <p> <b>ProvisioningInProgress</b>: The endpoint is in the process of being
* provisioned.</p> </li> <li> <p> <b>InitialHealthChecking</b>: Global Accelerator
* is still setting up the minimum number of health checks for the endpoint that
* are required to determine its health status.</p> </li> </ul>
*/
inline void SetHealthReason(const Aws::String& value) { m_healthReasonHasBeenSet = true; m_healthReason = value; }
/**
* <p>The reason code associated with why the endpoint is not healthy. If the
* endpoint state is healthy, a reason code is not provided.</p> <p>If the endpoint
* state is <b>unhealthy</b>, the reason code can be one of the following
* values:</p> <ul> <li> <p> <b>Timeout</b>: The health check requests to the
* endpoint are timing out before returning a status.</p> </li> <li> <p>
* <b>Failed</b>: The health check failed, for example because the endpoint
* response was invalid (malformed).</p> </li> </ul> <p>If the endpoint state is
* <b>initial</b>, the reason code can be one of the following values:</p> <ul>
* <li> <p> <b>ProvisioningInProgress</b>: The endpoint is in the process of being
* provisioned.</p> </li> <li> <p> <b>InitialHealthChecking</b>: Global Accelerator
* is still setting up the minimum number of health checks for the endpoint that
* are required to determine its health status.</p> </li> </ul>
*/
inline void SetHealthReason(Aws::String&& value) { m_healthReasonHasBeenSet = true; m_healthReason = std::move(value); }
/**
* <p>The reason code associated with why the endpoint is not healthy. If the
* endpoint state is healthy, a reason code is not provided.</p> <p>If the endpoint
* state is <b>unhealthy</b>, the reason code can be one of the following
* values:</p> <ul> <li> <p> <b>Timeout</b>: The health check requests to the
* endpoint are timing out before returning a status.</p> </li> <li> <p>
* <b>Failed</b>: The health check failed, for example because the endpoint
* response was invalid (malformed).</p> </li> </ul> <p>If the endpoint state is
* <b>initial</b>, the reason code can be one of the following values:</p> <ul>
* <li> <p> <b>ProvisioningInProgress</b>: The endpoint is in the process of being
* provisioned.</p> </li> <li> <p> <b>InitialHealthChecking</b>: Global Accelerator
* is still setting up the minimum number of health checks for the endpoint that
* are required to determine its health status.</p> </li> </ul>
*/
inline void SetHealthReason(const char* value) { m_healthReasonHasBeenSet = true; m_healthReason.assign(value); }
/**
* <p>The reason code associated with why the endpoint is not healthy. If the
* endpoint state is healthy, a reason code is not provided.</p> <p>If the endpoint
* state is <b>unhealthy</b>, the reason code can be one of the following
* values:</p> <ul> <li> <p> <b>Timeout</b>: The health check requests to the
* endpoint are timing out before returning a status.</p> </li> <li> <p>
* <b>Failed</b>: The health check failed, for example because the endpoint
* response was invalid (malformed).</p> </li> </ul> <p>If the endpoint state is
* <b>initial</b>, the reason code can be one of the following values:</p> <ul>
* <li> <p> <b>ProvisioningInProgress</b>: The endpoint is in the process of being
* provisioned.</p> </li> <li> <p> <b>InitialHealthChecking</b>: Global Accelerator
* is still setting up the minimum number of health checks for the endpoint that
* are required to determine its health status.</p> </li> </ul>
*/
inline EndpointDescription& WithHealthReason(const Aws::String& value) { SetHealthReason(value); return *this;}
/**
* <p>The reason code associated with why the endpoint is not healthy. If the
* endpoint state is healthy, a reason code is not provided.</p> <p>If the endpoint
* state is <b>unhealthy</b>, the reason code can be one of the following
* values:</p> <ul> <li> <p> <b>Timeout</b>: The health check requests to the
* endpoint are timing out before returning a status.</p> </li> <li> <p>
* <b>Failed</b>: The health check failed, for example because the endpoint
* response was invalid (malformed).</p> </li> </ul> <p>If the endpoint state is
* <b>initial</b>, the reason code can be one of the following values:</p> <ul>
* <li> <p> <b>ProvisioningInProgress</b>: The endpoint is in the process of being
* provisioned.</p> </li> <li> <p> <b>InitialHealthChecking</b>: Global Accelerator
* is still setting up the minimum number of health checks for the endpoint that
* are required to determine its health status.</p> </li> </ul>
*/
inline EndpointDescription& WithHealthReason(Aws::String&& value) { SetHealthReason(std::move(value)); return *this;}
/**
* <p>The reason code associated with why the endpoint is not healthy. If the
* endpoint state is healthy, a reason code is not provided.</p> <p>If the endpoint
* state is <b>unhealthy</b>, the reason code can be one of the following
* values:</p> <ul> <li> <p> <b>Timeout</b>: The health check requests to the
* endpoint are timing out before returning a status.</p> </li> <li> <p>
* <b>Failed</b>: The health check failed, for example because the endpoint
* response was invalid (malformed).</p> </li> </ul> <p>If the endpoint state is
* <b>initial</b>, the reason code can be one of the following values:</p> <ul>
* <li> <p> <b>ProvisioningInProgress</b>: The endpoint is in the process of being
* provisioned.</p> </li> <li> <p> <b>InitialHealthChecking</b>: Global Accelerator
* is still setting up the minimum number of health checks for the endpoint that
* are required to determine its health status.</p> </li> </ul>
*/
inline EndpointDescription& WithHealthReason(const char* value) { SetHealthReason(value); return *this;}
/**
* <p>Indicates whether client IP address preservation is enabled for an
* Application Load Balancer endpoint. The value is true or false. The default
* value is true for new accelerators. </p> <p>If the value is set to true, the
* client's IP address is preserved in the <code>X-Forwarded-For</code> request
* header as traffic travels to applications on the Application Load Balancer
* endpoint fronted by the accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works-client-ip.html">
* Viewing Client IP Addresses in AWS Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline bool GetClientIPPreservationEnabled() const{ return m_clientIPPreservationEnabled; }
/**
* <p>Indicates whether client IP address preservation is enabled for an
* Application Load Balancer endpoint. The value is true or false. The default
* value is true for new accelerators. </p> <p>If the value is set to true, the
* client's IP address is preserved in the <code>X-Forwarded-For</code> request
* header as traffic travels to applications on the Application Load Balancer
* endpoint fronted by the accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works-client-ip.html">
* Viewing Client IP Addresses in AWS Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline bool ClientIPPreservationEnabledHasBeenSet() const { return m_clientIPPreservationEnabledHasBeenSet; }
/**
* <p>Indicates whether client IP address preservation is enabled for an
* Application Load Balancer endpoint. The value is true or false. The default
* value is true for new accelerators. </p> <p>If the value is set to true, the
* client's IP address is preserved in the <code>X-Forwarded-For</code> request
* header as traffic travels to applications on the Application Load Balancer
* endpoint fronted by the accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works-client-ip.html">
* Viewing Client IP Addresses in AWS Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline void SetClientIPPreservationEnabled(bool value) { m_clientIPPreservationEnabledHasBeenSet = true; m_clientIPPreservationEnabled = value; }
/**
* <p>Indicates whether client IP address preservation is enabled for an
* Application Load Balancer endpoint. The value is true or false. The default
* value is true for new accelerators. </p> <p>If the value is set to true, the
* client's IP address is preserved in the <code>X-Forwarded-For</code> request
* header as traffic travels to applications on the Application Load Balancer
* endpoint fronted by the accelerator.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works-client-ip.html">
* Viewing Client IP Addresses in AWS Global Accelerator</a> in the <i>AWS Global
* Accelerator Developer Guide</i>.</p>
*/
inline EndpointDescription& WithClientIPPreservationEnabled(bool value) { SetClientIPPreservationEnabled(value); return *this;}
private:
Aws::String m_endpointId;
bool m_endpointIdHasBeenSet;
int m_weight;
bool m_weightHasBeenSet;
HealthState m_healthState;
bool m_healthStateHasBeenSet;
Aws::String m_healthReason;
bool m_healthReasonHasBeenSet;
bool m_clientIPPreservationEnabled;
bool m_clientIPPreservationEnabledHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,420 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/globalaccelerator/model/HealthCheckProtocol.h>
#include <aws/globalaccelerator/model/EndpointDescription.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>A complex type for the endpoint group. An AWS Region can have only one
* endpoint group for a specific listener. </p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/EndpointGroup">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API EndpointGroup
{
public:
EndpointGroup();
EndpointGroup(Aws::Utils::Json::JsonView jsonValue);
EndpointGroup& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline const Aws::String& GetEndpointGroupArn() const{ return m_endpointGroupArn; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline bool EndpointGroupArnHasBeenSet() const { return m_endpointGroupArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline void SetEndpointGroupArn(const Aws::String& value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline void SetEndpointGroupArn(Aws::String&& value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline void SetEndpointGroupArn(const char* value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline EndpointGroup& WithEndpointGroupArn(const Aws::String& value) { SetEndpointGroupArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline EndpointGroup& WithEndpointGroupArn(Aws::String&& value) { SetEndpointGroupArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline EndpointGroup& WithEndpointGroupArn(const char* value) { SetEndpointGroupArn(value); return *this;}
/**
* <p>The AWS Region that this endpoint group belongs.</p>
*/
inline const Aws::String& GetEndpointGroupRegion() const{ return m_endpointGroupRegion; }
/**
* <p>The AWS Region that this endpoint group belongs.</p>
*/
inline bool EndpointGroupRegionHasBeenSet() const { return m_endpointGroupRegionHasBeenSet; }
/**
* <p>The AWS Region that this endpoint group belongs.</p>
*/
inline void SetEndpointGroupRegion(const Aws::String& value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion = value; }
/**
* <p>The AWS Region that this endpoint group belongs.</p>
*/
inline void SetEndpointGroupRegion(Aws::String&& value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion = std::move(value); }
/**
* <p>The AWS Region that this endpoint group belongs.</p>
*/
inline void SetEndpointGroupRegion(const char* value) { m_endpointGroupRegionHasBeenSet = true; m_endpointGroupRegion.assign(value); }
/**
* <p>The AWS Region that this endpoint group belongs.</p>
*/
inline EndpointGroup& WithEndpointGroupRegion(const Aws::String& value) { SetEndpointGroupRegion(value); return *this;}
/**
* <p>The AWS Region that this endpoint group belongs.</p>
*/
inline EndpointGroup& WithEndpointGroupRegion(Aws::String&& value) { SetEndpointGroupRegion(std::move(value)); return *this;}
/**
* <p>The AWS Region that this endpoint group belongs.</p>
*/
inline EndpointGroup& WithEndpointGroupRegion(const char* value) { SetEndpointGroupRegion(value); return *this;}
/**
* <p>The list of endpoint objects.</p>
*/
inline const Aws::Vector<EndpointDescription>& GetEndpointDescriptions() const{ return m_endpointDescriptions; }
/**
* <p>The list of endpoint objects.</p>
*/
inline bool EndpointDescriptionsHasBeenSet() const { return m_endpointDescriptionsHasBeenSet; }
/**
* <p>The list of endpoint objects.</p>
*/
inline void SetEndpointDescriptions(const Aws::Vector<EndpointDescription>& value) { m_endpointDescriptionsHasBeenSet = true; m_endpointDescriptions = value; }
/**
* <p>The list of endpoint objects.</p>
*/
inline void SetEndpointDescriptions(Aws::Vector<EndpointDescription>&& value) { m_endpointDescriptionsHasBeenSet = true; m_endpointDescriptions = std::move(value); }
/**
* <p>The list of endpoint objects.</p>
*/
inline EndpointGroup& WithEndpointDescriptions(const Aws::Vector<EndpointDescription>& value) { SetEndpointDescriptions(value); return *this;}
/**
* <p>The list of endpoint objects.</p>
*/
inline EndpointGroup& WithEndpointDescriptions(Aws::Vector<EndpointDescription>&& value) { SetEndpointDescriptions(std::move(value)); return *this;}
/**
* <p>The list of endpoint objects.</p>
*/
inline EndpointGroup& AddEndpointDescriptions(const EndpointDescription& value) { m_endpointDescriptionsHasBeenSet = true; m_endpointDescriptions.push_back(value); return *this; }
/**
* <p>The list of endpoint objects.</p>
*/
inline EndpointGroup& AddEndpointDescriptions(EndpointDescription&& value) { m_endpointDescriptionsHasBeenSet = true; m_endpointDescriptions.push_back(std::move(value)); return *this; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline double GetTrafficDialPercentage() const{ return m_trafficDialPercentage; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline bool TrafficDialPercentageHasBeenSet() const { return m_trafficDialPercentageHasBeenSet; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline void SetTrafficDialPercentage(double value) { m_trafficDialPercentageHasBeenSet = true; m_trafficDialPercentage = value; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline EndpointGroup& WithTrafficDialPercentage(double value) { SetTrafficDialPercentage(value); return *this;}
/**
* <p>The port that Global Accelerator uses to perform health checks on endpoints
* that are part of this endpoint group. </p> <p>The default port is the port for
* the listener that this endpoint group is associated with. If the listener port
* is a list, Global Accelerator uses the first specified port in the list of
* ports.</p>
*/
inline int GetHealthCheckPort() const{ return m_healthCheckPort; }
/**
* <p>The port that Global Accelerator uses to perform health checks on endpoints
* that are part of this endpoint group. </p> <p>The default port is the port for
* the listener that this endpoint group is associated with. If the listener port
* is a list, Global Accelerator uses the first specified port in the list of
* ports.</p>
*/
inline bool HealthCheckPortHasBeenSet() const { return m_healthCheckPortHasBeenSet; }
/**
* <p>The port that Global Accelerator uses to perform health checks on endpoints
* that are part of this endpoint group. </p> <p>The default port is the port for
* the listener that this endpoint group is associated with. If the listener port
* is a list, Global Accelerator uses the first specified port in the list of
* ports.</p>
*/
inline void SetHealthCheckPort(int value) { m_healthCheckPortHasBeenSet = true; m_healthCheckPort = value; }
/**
* <p>The port that Global Accelerator uses to perform health checks on endpoints
* that are part of this endpoint group. </p> <p>The default port is the port for
* the listener that this endpoint group is associated with. If the listener port
* is a list, Global Accelerator uses the first specified port in the list of
* ports.</p>
*/
inline EndpointGroup& WithHealthCheckPort(int value) { SetHealthCheckPort(value); return *this;}
/**
* <p>The protocol that Global Accelerator uses to perform health checks on
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline const HealthCheckProtocol& GetHealthCheckProtocol() const{ return m_healthCheckProtocol; }
/**
* <p>The protocol that Global Accelerator uses to perform health checks on
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline bool HealthCheckProtocolHasBeenSet() const { return m_healthCheckProtocolHasBeenSet; }
/**
* <p>The protocol that Global Accelerator uses to perform health checks on
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline void SetHealthCheckProtocol(const HealthCheckProtocol& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = value; }
/**
* <p>The protocol that Global Accelerator uses to perform health checks on
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline void SetHealthCheckProtocol(HealthCheckProtocol&& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = std::move(value); }
/**
* <p>The protocol that Global Accelerator uses to perform health checks on
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline EndpointGroup& WithHealthCheckProtocol(const HealthCheckProtocol& value) { SetHealthCheckProtocol(value); return *this;}
/**
* <p>The protocol that Global Accelerator uses to perform health checks on
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline EndpointGroup& WithHealthCheckProtocol(HealthCheckProtocol&& value) { SetHealthCheckProtocol(std::move(value)); return *this;}
/**
* <p>If the protocol is HTTP/S, then this value provides the ping path that Global
* Accelerator uses for the destination on the endpoints for health checks. The
* default is slash (/).</p>
*/
inline const Aws::String& GetHealthCheckPath() const{ return m_healthCheckPath; }
/**
* <p>If the protocol is HTTP/S, then this value provides the ping path that Global
* Accelerator uses for the destination on the endpoints for health checks. The
* default is slash (/).</p>
*/
inline bool HealthCheckPathHasBeenSet() const { return m_healthCheckPathHasBeenSet; }
/**
* <p>If the protocol is HTTP/S, then this value provides the ping path that Global
* Accelerator uses for the destination on the endpoints for health checks. The
* default is slash (/).</p>
*/
inline void SetHealthCheckPath(const Aws::String& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = value; }
/**
* <p>If the protocol is HTTP/S, then this value provides the ping path that Global
* Accelerator uses for the destination on the endpoints for health checks. The
* default is slash (/).</p>
*/
inline void SetHealthCheckPath(Aws::String&& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = std::move(value); }
/**
* <p>If the protocol is HTTP/S, then this value provides the ping path that Global
* Accelerator uses for the destination on the endpoints for health checks. The
* default is slash (/).</p>
*/
inline void SetHealthCheckPath(const char* value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath.assign(value); }
/**
* <p>If the protocol is HTTP/S, then this value provides the ping path that Global
* Accelerator uses for the destination on the endpoints for health checks. The
* default is slash (/).</p>
*/
inline EndpointGroup& WithHealthCheckPath(const Aws::String& value) { SetHealthCheckPath(value); return *this;}
/**
* <p>If the protocol is HTTP/S, then this value provides the ping path that Global
* Accelerator uses for the destination on the endpoints for health checks. The
* default is slash (/).</p>
*/
inline EndpointGroup& WithHealthCheckPath(Aws::String&& value) { SetHealthCheckPath(std::move(value)); return *this;}
/**
* <p>If the protocol is HTTP/S, then this value provides the ping path that Global
* Accelerator uses for the destination on the endpoints for health checks. The
* default is slash (/).</p>
*/
inline EndpointGroup& WithHealthCheckPath(const char* value) { SetHealthCheckPath(value); return *this;}
/**
* <p>The time—10 seconds or 30 seconds—between health checks for each endpoint.
* The default value is 30.</p>
*/
inline int GetHealthCheckIntervalSeconds() const{ return m_healthCheckIntervalSeconds; }
/**
* <p>The time—10 seconds or 30 seconds—between health checks for each endpoint.
* The default value is 30.</p>
*/
inline bool HealthCheckIntervalSecondsHasBeenSet() const { return m_healthCheckIntervalSecondsHasBeenSet; }
/**
* <p>The time—10 seconds or 30 seconds—between health checks for each endpoint.
* The default value is 30.</p>
*/
inline void SetHealthCheckIntervalSeconds(int value) { m_healthCheckIntervalSecondsHasBeenSet = true; m_healthCheckIntervalSeconds = value; }
/**
* <p>The time—10 seconds or 30 seconds—between health checks for each endpoint.
* The default value is 30.</p>
*/
inline EndpointGroup& WithHealthCheckIntervalSeconds(int value) { SetHealthCheckIntervalSeconds(value); return *this;}
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline int GetThresholdCount() const{ return m_thresholdCount; }
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline bool ThresholdCountHasBeenSet() const { return m_thresholdCountHasBeenSet; }
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline void SetThresholdCount(int value) { m_thresholdCountHasBeenSet = true; m_thresholdCount = value; }
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline EndpointGroup& WithThresholdCount(int value) { SetThresholdCount(value); return *this;}
private:
Aws::String m_endpointGroupArn;
bool m_endpointGroupArnHasBeenSet;
Aws::String m_endpointGroupRegion;
bool m_endpointGroupRegionHasBeenSet;
Aws::Vector<EndpointDescription> m_endpointDescriptions;
bool m_endpointDescriptionsHasBeenSet;
double m_trafficDialPercentage;
bool m_trafficDialPercentageHasBeenSet;
int m_healthCheckPort;
bool m_healthCheckPortHasBeenSet;
HealthCheckProtocol m_healthCheckProtocol;
bool m_healthCheckProtocolHasBeenSet;
Aws::String m_healthCheckPath;
bool m_healthCheckPathHasBeenSet;
int m_healthCheckIntervalSeconds;
bool m_healthCheckIntervalSecondsHasBeenSet;
int m_thresholdCount;
bool m_thresholdCountHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
enum class HealthCheckProtocol
{
NOT_SET,
TCP,
HTTP,
HTTPS
};
namespace HealthCheckProtocolMapper
{
AWS_GLOBALACCELERATOR_API HealthCheckProtocol GetHealthCheckProtocolForName(const Aws::String& name);
AWS_GLOBALACCELERATOR_API Aws::String GetNameForHealthCheckProtocol(HealthCheckProtocol value);
} // namespace HealthCheckProtocolMapper
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
enum class HealthState
{
NOT_SET,
INITIAL,
HEALTHY,
UNHEALTHY
};
namespace HealthStateMapper
{
AWS_GLOBALACCELERATOR_API HealthState GetHealthStateForName(const Aws::String& name);
AWS_GLOBALACCELERATOR_API Aws::String GetNameForHealthState(HealthState value);
} // namespace HealthStateMapper
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
enum class IpAddressType
{
NOT_SET,
IPV4
};
namespace IpAddressTypeMapper
{
AWS_GLOBALACCELERATOR_API IpAddressType GetIpAddressTypeForName(const Aws::String& name);
AWS_GLOBALACCELERATOR_API Aws::String GetNameForIpAddressType(IpAddressType value);
} // namespace IpAddressTypeMapper
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,148 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>A complex type for the set of IP addresses for an accelerator.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/IpSet">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API IpSet
{
public:
IpSet();
IpSet(Aws::Utils::Json::JsonView jsonValue);
IpSet& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The types of IP addresses included in this IP set.</p>
*/
inline const Aws::String& GetIpFamily() const{ return m_ipFamily; }
/**
* <p>The types of IP addresses included in this IP set.</p>
*/
inline bool IpFamilyHasBeenSet() const { return m_ipFamilyHasBeenSet; }
/**
* <p>The types of IP addresses included in this IP set.</p>
*/
inline void SetIpFamily(const Aws::String& value) { m_ipFamilyHasBeenSet = true; m_ipFamily = value; }
/**
* <p>The types of IP addresses included in this IP set.</p>
*/
inline void SetIpFamily(Aws::String&& value) { m_ipFamilyHasBeenSet = true; m_ipFamily = std::move(value); }
/**
* <p>The types of IP addresses included in this IP set.</p>
*/
inline void SetIpFamily(const char* value) { m_ipFamilyHasBeenSet = true; m_ipFamily.assign(value); }
/**
* <p>The types of IP addresses included in this IP set.</p>
*/
inline IpSet& WithIpFamily(const Aws::String& value) { SetIpFamily(value); return *this;}
/**
* <p>The types of IP addresses included in this IP set.</p>
*/
inline IpSet& WithIpFamily(Aws::String&& value) { SetIpFamily(std::move(value)); return *this;}
/**
* <p>The types of IP addresses included in this IP set.</p>
*/
inline IpSet& WithIpFamily(const char* value) { SetIpFamily(value); return *this;}
/**
* <p>The array of IP addresses in the IP address set. An IP address set can have a
* maximum of two IP addresses.</p>
*/
inline const Aws::Vector<Aws::String>& GetIpAddresses() const{ return m_ipAddresses; }
/**
* <p>The array of IP addresses in the IP address set. An IP address set can have a
* maximum of two IP addresses.</p>
*/
inline bool IpAddressesHasBeenSet() const { return m_ipAddressesHasBeenSet; }
/**
* <p>The array of IP addresses in the IP address set. An IP address set can have a
* maximum of two IP addresses.</p>
*/
inline void SetIpAddresses(const Aws::Vector<Aws::String>& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses = value; }
/**
* <p>The array of IP addresses in the IP address set. An IP address set can have a
* maximum of two IP addresses.</p>
*/
inline void SetIpAddresses(Aws::Vector<Aws::String>&& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses = std::move(value); }
/**
* <p>The array of IP addresses in the IP address set. An IP address set can have a
* maximum of two IP addresses.</p>
*/
inline IpSet& WithIpAddresses(const Aws::Vector<Aws::String>& value) { SetIpAddresses(value); return *this;}
/**
* <p>The array of IP addresses in the IP address set. An IP address set can have a
* maximum of two IP addresses.</p>
*/
inline IpSet& WithIpAddresses(Aws::Vector<Aws::String>&& value) { SetIpAddresses(std::move(value)); return *this;}
/**
* <p>The array of IP addresses in the IP address set. An IP address set can have a
* maximum of two IP addresses.</p>
*/
inline IpSet& AddIpAddresses(const Aws::String& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(value); return *this; }
/**
* <p>The array of IP addresses in the IP address set. An IP address set can have a
* maximum of two IP addresses.</p>
*/
inline IpSet& AddIpAddresses(Aws::String&& value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(std::move(value)); return *this; }
/**
* <p>The array of IP addresses in the IP address set. An IP address set can have a
* maximum of two IP addresses.</p>
*/
inline IpSet& AddIpAddresses(const char* value) { m_ipAddressesHasBeenSet = true; m_ipAddresses.push_back(value); return *this; }
private:
Aws::String m_ipFamily;
bool m_ipFamilyHasBeenSet;
Aws::Vector<Aws::String> m_ipAddresses;
bool m_ipAddressesHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,121 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API ListAcceleratorsRequest : public GlobalAcceleratorRequest
{
public:
ListAcceleratorsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListAccelerators"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The number of Global Accelerator objects that you want to return with this
* call. The default value is 10.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The number of Global Accelerator objects that you want to return with this
* call. The default value is 10.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The number of Global Accelerator objects that you want to return with this
* call. The default value is 10.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The number of Global Accelerator objects that you want to return with this
* call. The default value is 10.</p>
*/
inline ListAcceleratorsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListAcceleratorsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListAcceleratorsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListAcceleratorsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,124 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/globalaccelerator/model/Accelerator.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API ListAcceleratorsResult
{
public:
ListAcceleratorsResult();
ListAcceleratorsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListAcceleratorsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The list of accelerators for a customer account.</p>
*/
inline const Aws::Vector<Accelerator>& GetAccelerators() const{ return m_accelerators; }
/**
* <p>The list of accelerators for a customer account.</p>
*/
inline void SetAccelerators(const Aws::Vector<Accelerator>& value) { m_accelerators = value; }
/**
* <p>The list of accelerators for a customer account.</p>
*/
inline void SetAccelerators(Aws::Vector<Accelerator>&& value) { m_accelerators = std::move(value); }
/**
* <p>The list of accelerators for a customer account.</p>
*/
inline ListAcceleratorsResult& WithAccelerators(const Aws::Vector<Accelerator>& value) { SetAccelerators(value); return *this;}
/**
* <p>The list of accelerators for a customer account.</p>
*/
inline ListAcceleratorsResult& WithAccelerators(Aws::Vector<Accelerator>&& value) { SetAccelerators(std::move(value)); return *this;}
/**
* <p>The list of accelerators for a customer account.</p>
*/
inline ListAcceleratorsResult& AddAccelerators(const Accelerator& value) { m_accelerators.push_back(value); return *this; }
/**
* <p>The list of accelerators for a customer account.</p>
*/
inline ListAcceleratorsResult& AddAccelerators(Accelerator&& value) { m_accelerators.push_back(std::move(value)); return *this; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListAcceleratorsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListAcceleratorsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListAcceleratorsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Accelerator> m_accelerators;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API ListByoipCidrsRequest : public GlobalAcceleratorRequest
{
public:
ListByoipCidrsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListByoipCidrs"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The maximum number of results to return with a single call. To retrieve the
* remaining results, make another call with the returned <code>nextToken</code>
* value.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of results to return with a single call. To retrieve the
* remaining results, make another call with the returned <code>nextToken</code>
* value.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of results to return with a single call. To retrieve the
* remaining results, make another call with the returned <code>nextToken</code>
* value.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of results to return with a single call. To retrieve the
* remaining results, make another call with the returned <code>nextToken</code>
* value.</p>
*/
inline ListByoipCidrsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The token for the next page of results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next page of results.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token for the next page of results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token for the next page of results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token for the next page of results.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token for the next page of results.</p>
*/
inline ListByoipCidrsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next page of results.</p>
*/
inline ListByoipCidrsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next page of results.</p>
*/
inline ListByoipCidrsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/globalaccelerator/model/ByoipCidr.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API ListByoipCidrsResult
{
public:
ListByoipCidrsResult();
ListByoipCidrsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListByoipCidrsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about your address ranges.</p>
*/
inline const Aws::Vector<ByoipCidr>& GetByoipCidrs() const{ return m_byoipCidrs; }
/**
* <p>Information about your address ranges.</p>
*/
inline void SetByoipCidrs(const Aws::Vector<ByoipCidr>& value) { m_byoipCidrs = value; }
/**
* <p>Information about your address ranges.</p>
*/
inline void SetByoipCidrs(Aws::Vector<ByoipCidr>&& value) { m_byoipCidrs = std::move(value); }
/**
* <p>Information about your address ranges.</p>
*/
inline ListByoipCidrsResult& WithByoipCidrs(const Aws::Vector<ByoipCidr>& value) { SetByoipCidrs(value); return *this;}
/**
* <p>Information about your address ranges.</p>
*/
inline ListByoipCidrsResult& WithByoipCidrs(Aws::Vector<ByoipCidr>&& value) { SetByoipCidrs(std::move(value)); return *this;}
/**
* <p>Information about your address ranges.</p>
*/
inline ListByoipCidrsResult& AddByoipCidrs(const ByoipCidr& value) { m_byoipCidrs.push_back(value); return *this; }
/**
* <p>Information about your address ranges.</p>
*/
inline ListByoipCidrsResult& AddByoipCidrs(ByoipCidr&& value) { m_byoipCidrs.push_back(std::move(value)); return *this; }
/**
* <p>The token for the next page of results.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next page of results.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token for the next page of results.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token for the next page of results.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token for the next page of results.</p>
*/
inline ListByoipCidrsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next page of results.</p>
*/
inline ListByoipCidrsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next page of results.</p>
*/
inline ListByoipCidrsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<ByoipCidr> m_byoipCidrs;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,165 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API ListEndpointGroupsRequest : public GlobalAcceleratorRequest
{
public:
ListEndpointGroupsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListEndpointGroups"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline const Aws::String& GetListenerArn() const{ return m_listenerArn; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline bool ListenerArnHasBeenSet() const { return m_listenerArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(const Aws::String& value) { m_listenerArnHasBeenSet = true; m_listenerArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(Aws::String&& value) { m_listenerArnHasBeenSet = true; m_listenerArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(const char* value) { m_listenerArnHasBeenSet = true; m_listenerArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline ListEndpointGroupsRequest& WithListenerArn(const Aws::String& value) { SetListenerArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline ListEndpointGroupsRequest& WithListenerArn(Aws::String&& value) { SetListenerArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline ListEndpointGroupsRequest& WithListenerArn(const char* value) { SetListenerArn(value); return *this;}
/**
* <p>The number of endpoint group objects that you want to return with this call.
* The default value is 10.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The number of endpoint group objects that you want to return with this call.
* The default value is 10.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The number of endpoint group objects that you want to return with this call.
* The default value is 10.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The number of endpoint group objects that you want to return with this call.
* The default value is 10.</p>
*/
inline ListEndpointGroupsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListEndpointGroupsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListEndpointGroupsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListEndpointGroupsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::String m_listenerArn;
bool m_listenerArnHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,124 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/globalaccelerator/model/EndpointGroup.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API ListEndpointGroupsResult
{
public:
ListEndpointGroupsResult();
ListEndpointGroupsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListEndpointGroupsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The list of the endpoint groups associated with a listener.</p>
*/
inline const Aws::Vector<EndpointGroup>& GetEndpointGroups() const{ return m_endpointGroups; }
/**
* <p>The list of the endpoint groups associated with a listener.</p>
*/
inline void SetEndpointGroups(const Aws::Vector<EndpointGroup>& value) { m_endpointGroups = value; }
/**
* <p>The list of the endpoint groups associated with a listener.</p>
*/
inline void SetEndpointGroups(Aws::Vector<EndpointGroup>&& value) { m_endpointGroups = std::move(value); }
/**
* <p>The list of the endpoint groups associated with a listener.</p>
*/
inline ListEndpointGroupsResult& WithEndpointGroups(const Aws::Vector<EndpointGroup>& value) { SetEndpointGroups(value); return *this;}
/**
* <p>The list of the endpoint groups associated with a listener.</p>
*/
inline ListEndpointGroupsResult& WithEndpointGroups(Aws::Vector<EndpointGroup>&& value) { SetEndpointGroups(std::move(value)); return *this;}
/**
* <p>The list of the endpoint groups associated with a listener.</p>
*/
inline ListEndpointGroupsResult& AddEndpointGroups(const EndpointGroup& value) { m_endpointGroups.push_back(value); return *this; }
/**
* <p>The list of the endpoint groups associated with a listener.</p>
*/
inline ListEndpointGroupsResult& AddEndpointGroups(EndpointGroup&& value) { m_endpointGroups.push_back(std::move(value)); return *this; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListEndpointGroupsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListEndpointGroupsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListEndpointGroupsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<EndpointGroup> m_endpointGroups;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,173 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API ListListenersRequest : public GlobalAcceleratorRequest
{
public:
ListListenersRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListListeners"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the accelerator for which you want to list
* listener objects.</p>
*/
inline const Aws::String& GetAcceleratorArn() const{ return m_acceleratorArn; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator for which you want to list
* listener objects.</p>
*/
inline bool AcceleratorArnHasBeenSet() const { return m_acceleratorArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator for which you want to list
* listener objects.</p>
*/
inline void SetAcceleratorArn(const Aws::String& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator for which you want to list
* listener objects.</p>
*/
inline void SetAcceleratorArn(Aws::String&& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator for which you want to list
* listener objects.</p>
*/
inline void SetAcceleratorArn(const char* value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator for which you want to list
* listener objects.</p>
*/
inline ListListenersRequest& WithAcceleratorArn(const Aws::String& value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator for which you want to list
* listener objects.</p>
*/
inline ListListenersRequest& WithAcceleratorArn(Aws::String&& value) { SetAcceleratorArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator for which you want to list
* listener objects.</p>
*/
inline ListListenersRequest& WithAcceleratorArn(const char* value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The number of listener objects that you want to return with this call. The
* default value is 10.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The number of listener objects that you want to return with this call. The
* default value is 10.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The number of listener objects that you want to return with this call. The
* default value is 10.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The number of listener objects that you want to return with this call. The
* default value is 10.</p>
*/
inline ListListenersRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListListenersRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListListenersRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListListenersRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::String m_acceleratorArn;
bool m_acceleratorArnHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,124 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/globalaccelerator/model/Listener.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API ListListenersResult
{
public:
ListListenersResult();
ListListenersResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListListenersResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The list of listeners for an accelerator.</p>
*/
inline const Aws::Vector<Listener>& GetListeners() const{ return m_listeners; }
/**
* <p>The list of listeners for an accelerator.</p>
*/
inline void SetListeners(const Aws::Vector<Listener>& value) { m_listeners = value; }
/**
* <p>The list of listeners for an accelerator.</p>
*/
inline void SetListeners(Aws::Vector<Listener>&& value) { m_listeners = std::move(value); }
/**
* <p>The list of listeners for an accelerator.</p>
*/
inline ListListenersResult& WithListeners(const Aws::Vector<Listener>& value) { SetListeners(value); return *this;}
/**
* <p>The list of listeners for an accelerator.</p>
*/
inline ListListenersResult& WithListeners(Aws::Vector<Listener>&& value) { SetListeners(std::move(value)); return *this;}
/**
* <p>The list of listeners for an accelerator.</p>
*/
inline ListListenersResult& AddListeners(const Listener& value) { m_listeners.push_back(value); return *this; }
/**
* <p>The list of listeners for an accelerator.</p>
*/
inline ListListenersResult& AddListeners(Listener&& value) { m_listeners.push_back(std::move(value)); return *this; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListListenersResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListListenersResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next set of results. You receive this token from a previous
* call.</p>
*/
inline ListListenersResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Listener> m_listeners;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,93 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API ListTagsForResourceRequest : public GlobalAcceleratorRequest
{
public:
ListTagsForResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN
* uniquely identifies an accelerator.</p>
*/
inline const Aws::String& GetResourceArn() const{ return m_resourceArn; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN
* uniquely identifies an accelerator.</p>
*/
inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN
* uniquely identifies an accelerator.</p>
*/
inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN
* uniquely identifies an accelerator.</p>
*/
inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN
* uniquely identifies an accelerator.</p>
*/
inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN
* uniquely identifies an accelerator.</p>
*/
inline ListTagsForResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN
* uniquely identifies an accelerator.</p>
*/
inline ListTagsForResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN
* uniquely identifies an accelerator.</p>
*/
inline ListTagsForResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;}
private:
Aws::String m_resourceArn;
bool m_resourceArnHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,78 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/globalaccelerator/model/Tag.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API ListTagsForResourceResult
{
public:
ListTagsForResourceResult();
ListTagsForResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Root level tag for the Tags parameters.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>Root level tag for the Tags parameters.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; }
/**
* <p>Root level tag for the Tags parameters.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); }
/**
* <p>Root level tag for the Tags parameters.</p>
*/
inline ListTagsForResourceResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>Root level tag for the Tags parameters.</p>
*/
inline ListTagsForResourceResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>Root level tag for the Tags parameters.</p>
*/
inline ListTagsForResourceResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; }
/**
* <p>Root level tag for the Tags parameters.</p>
*/
inline ListTagsForResourceResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; }
private:
Aws::Vector<Tag> m_tags;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,302 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/globalaccelerator/model/Protocol.h>
#include <aws/globalaccelerator/model/ClientAffinity.h>
#include <aws/globalaccelerator/model/PortRange.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>A complex type for a listener.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/Listener">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API Listener
{
public:
Listener();
Listener(Aws::Utils::Json::JsonView jsonValue);
Listener& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline const Aws::String& GetListenerArn() const{ return m_listenerArn; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline bool ListenerArnHasBeenSet() const { return m_listenerArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(const Aws::String& value) { m_listenerArnHasBeenSet = true; m_listenerArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(Aws::String&& value) { m_listenerArnHasBeenSet = true; m_listenerArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline void SetListenerArn(const char* value) { m_listenerArnHasBeenSet = true; m_listenerArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline Listener& WithListenerArn(const Aws::String& value) { SetListenerArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline Listener& WithListenerArn(Aws::String&& value) { SetListenerArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener.</p>
*/
inline Listener& WithListenerArn(const char* value) { SetListenerArn(value); return *this;}
/**
* <p>The list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline const Aws::Vector<PortRange>& GetPortRanges() const{ return m_portRanges; }
/**
* <p>The list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; }
/**
* <p>The list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline void SetPortRanges(const Aws::Vector<PortRange>& value) { m_portRangesHasBeenSet = true; m_portRanges = value; }
/**
* <p>The list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline void SetPortRanges(Aws::Vector<PortRange>&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); }
/**
* <p>The list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline Listener& WithPortRanges(const Aws::Vector<PortRange>& value) { SetPortRanges(value); return *this;}
/**
* <p>The list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline Listener& WithPortRanges(Aws::Vector<PortRange>&& value) { SetPortRanges(std::move(value)); return *this;}
/**
* <p>The list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline Listener& AddPortRanges(const PortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; }
/**
* <p>The list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline Listener& AddPortRanges(PortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; }
/**
* <p>The protocol for the connections from clients to the accelerator.</p>
*/
inline const Protocol& GetProtocol() const{ return m_protocol; }
/**
* <p>The protocol for the connections from clients to the accelerator.</p>
*/
inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; }
/**
* <p>The protocol for the connections from clients to the accelerator.</p>
*/
inline void SetProtocol(const Protocol& value) { m_protocolHasBeenSet = true; m_protocol = value; }
/**
* <p>The protocol for the connections from clients to the accelerator.</p>
*/
inline void SetProtocol(Protocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); }
/**
* <p>The protocol for the connections from clients to the accelerator.</p>
*/
inline Listener& WithProtocol(const Protocol& value) { SetProtocol(value); return *this;}
/**
* <p>The protocol for the connections from clients to the accelerator.</p>
*/
inline Listener& WithProtocol(Protocol&& value) { SetProtocol(std::move(value)); return *this;}
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline const ClientAffinity& GetClientAffinity() const{ return m_clientAffinity; }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline bool ClientAffinityHasBeenSet() const { return m_clientAffinityHasBeenSet; }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline void SetClientAffinity(const ClientAffinity& value) { m_clientAffinityHasBeenSet = true; m_clientAffinity = value; }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline void SetClientAffinity(ClientAffinity&& value) { m_clientAffinityHasBeenSet = true; m_clientAffinity = std::move(value); }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline Listener& WithClientAffinity(const ClientAffinity& value) { SetClientAffinity(value); return *this;}
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline Listener& WithClientAffinity(ClientAffinity&& value) { SetClientAffinity(std::move(value)); return *this;}
private:
Aws::String m_listenerArn;
bool m_listenerArnHasBeenSet;
Aws::Vector<PortRange> m_portRanges;
bool m_portRangesHasBeenSet;
Protocol m_protocol;
bool m_protocolHasBeenSet;
ClientAffinity m_clientAffinity;
bool m_clientAffinityHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,91 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>A complex type for a range of ports for a listener.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/PortRange">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API PortRange
{
public:
PortRange();
PortRange(Aws::Utils::Json::JsonView jsonValue);
PortRange& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The first port in the range of ports, inclusive.</p>
*/
inline int GetFromPort() const{ return m_fromPort; }
/**
* <p>The first port in the range of ports, inclusive.</p>
*/
inline bool FromPortHasBeenSet() const { return m_fromPortHasBeenSet; }
/**
* <p>The first port in the range of ports, inclusive.</p>
*/
inline void SetFromPort(int value) { m_fromPortHasBeenSet = true; m_fromPort = value; }
/**
* <p>The first port in the range of ports, inclusive.</p>
*/
inline PortRange& WithFromPort(int value) { SetFromPort(value); return *this;}
/**
* <p>The last port in the range of ports, inclusive.</p>
*/
inline int GetToPort() const{ return m_toPort; }
/**
* <p>The last port in the range of ports, inclusive.</p>
*/
inline bool ToPortHasBeenSet() const { return m_toPortHasBeenSet; }
/**
* <p>The last port in the range of ports, inclusive.</p>
*/
inline void SetToPort(int value) { m_toPortHasBeenSet = true; m_toPort = value; }
/**
* <p>The last port in the range of ports, inclusive.</p>
*/
inline PortRange& WithToPort(int value) { SetToPort(value); return *this;}
private:
int m_fromPort;
bool m_fromPortHasBeenSet;
int m_toPort;
bool m_toPortHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
enum class Protocol
{
NOT_SET,
TCP,
UDP
};
namespace ProtocolMapper
{
AWS_GLOBALACCELERATOR_API Protocol GetProtocolForName(const Aws::String& name);
AWS_GLOBALACCELERATOR_API Aws::String GetNameForProtocol(Protocol value);
} // namespace ProtocolMapper
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,142 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/globalaccelerator/model/CidrAuthorizationContext.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API ProvisionByoipCidrRequest : public GlobalAcceleratorRequest
{
public:
ProvisionByoipCidrRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ProvisionByoipCidr"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The public IPv4 address range, in CIDR notation. The most specific IP prefix
* that you can specify is /24. The address range cannot overlap with another
* address range that you've brought to this or another Region.</p>
*/
inline const Aws::String& GetCidr() const{ return m_cidr; }
/**
* <p>The public IPv4 address range, in CIDR notation. The most specific IP prefix
* that you can specify is /24. The address range cannot overlap with another
* address range that you've brought to this or another Region.</p>
*/
inline bool CidrHasBeenSet() const { return m_cidrHasBeenSet; }
/**
* <p>The public IPv4 address range, in CIDR notation. The most specific IP prefix
* that you can specify is /24. The address range cannot overlap with another
* address range that you've brought to this or another Region.</p>
*/
inline void SetCidr(const Aws::String& value) { m_cidrHasBeenSet = true; m_cidr = value; }
/**
* <p>The public IPv4 address range, in CIDR notation. The most specific IP prefix
* that you can specify is /24. The address range cannot overlap with another
* address range that you've brought to this or another Region.</p>
*/
inline void SetCidr(Aws::String&& value) { m_cidrHasBeenSet = true; m_cidr = std::move(value); }
/**
* <p>The public IPv4 address range, in CIDR notation. The most specific IP prefix
* that you can specify is /24. The address range cannot overlap with another
* address range that you've brought to this or another Region.</p>
*/
inline void SetCidr(const char* value) { m_cidrHasBeenSet = true; m_cidr.assign(value); }
/**
* <p>The public IPv4 address range, in CIDR notation. The most specific IP prefix
* that you can specify is /24. The address range cannot overlap with another
* address range that you've brought to this or another Region.</p>
*/
inline ProvisionByoipCidrRequest& WithCidr(const Aws::String& value) { SetCidr(value); return *this;}
/**
* <p>The public IPv4 address range, in CIDR notation. The most specific IP prefix
* that you can specify is /24. The address range cannot overlap with another
* address range that you've brought to this or another Region.</p>
*/
inline ProvisionByoipCidrRequest& WithCidr(Aws::String&& value) { SetCidr(std::move(value)); return *this;}
/**
* <p>The public IPv4 address range, in CIDR notation. The most specific IP prefix
* that you can specify is /24. The address range cannot overlap with another
* address range that you've brought to this or another Region.</p>
*/
inline ProvisionByoipCidrRequest& WithCidr(const char* value) { SetCidr(value); return *this;}
/**
* <p>A signed document that proves that you are authorized to bring the specified
* IP address range to Amazon using BYOIP. </p>
*/
inline const CidrAuthorizationContext& GetCidrAuthorizationContext() const{ return m_cidrAuthorizationContext; }
/**
* <p>A signed document that proves that you are authorized to bring the specified
* IP address range to Amazon using BYOIP. </p>
*/
inline bool CidrAuthorizationContextHasBeenSet() const { return m_cidrAuthorizationContextHasBeenSet; }
/**
* <p>A signed document that proves that you are authorized to bring the specified
* IP address range to Amazon using BYOIP. </p>
*/
inline void SetCidrAuthorizationContext(const CidrAuthorizationContext& value) { m_cidrAuthorizationContextHasBeenSet = true; m_cidrAuthorizationContext = value; }
/**
* <p>A signed document that proves that you are authorized to bring the specified
* IP address range to Amazon using BYOIP. </p>
*/
inline void SetCidrAuthorizationContext(CidrAuthorizationContext&& value) { m_cidrAuthorizationContextHasBeenSet = true; m_cidrAuthorizationContext = std::move(value); }
/**
* <p>A signed document that proves that you are authorized to bring the specified
* IP address range to Amazon using BYOIP. </p>
*/
inline ProvisionByoipCidrRequest& WithCidrAuthorizationContext(const CidrAuthorizationContext& value) { SetCidrAuthorizationContext(value); return *this;}
/**
* <p>A signed document that proves that you are authorized to bring the specified
* IP address range to Amazon using BYOIP. </p>
*/
inline ProvisionByoipCidrRequest& WithCidrAuthorizationContext(CidrAuthorizationContext&& value) { SetCidrAuthorizationContext(std::move(value)); return *this;}
private:
Aws::String m_cidr;
bool m_cidrHasBeenSet;
CidrAuthorizationContext m_cidrAuthorizationContext;
bool m_cidrAuthorizationContextHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/ByoipCidr.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API ProvisionByoipCidrResult
{
public:
ProvisionByoipCidrResult();
ProvisionByoipCidrResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ProvisionByoipCidrResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about the address range.</p>
*/
inline const ByoipCidr& GetByoipCidr() const{ return m_byoipCidr; }
/**
* <p>Information about the address range.</p>
*/
inline void SetByoipCidr(const ByoipCidr& value) { m_byoipCidr = value; }
/**
* <p>Information about the address range.</p>
*/
inline void SetByoipCidr(ByoipCidr&& value) { m_byoipCidr = std::move(value); }
/**
* <p>Information about the address range.</p>
*/
inline ProvisionByoipCidrResult& WithByoipCidr(const ByoipCidr& value) { SetByoipCidr(value); return *this;}
/**
* <p>Information about the address range.</p>
*/
inline ProvisionByoipCidrResult& WithByoipCidr(ByoipCidr&& value) { SetByoipCidr(std::move(value)); return *this;}
private:
ByoipCidr m_byoipCidr;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,133 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
/**
* <p>A complex type that contains a <code>Tag</code> key and <code>Tag</code>
* value.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/Tag">AWS
* API Reference</a></p>
*/
class AWS_GLOBALACCELERATOR_API Tag
{
public:
Tag();
Tag(Aws::Utils::Json::JsonView jsonValue);
Tag& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A string that contains a <code>Tag</code> key.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
/**
* <p>A string that contains a <code>Tag</code> key.</p>
*/
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
/**
* <p>A string that contains a <code>Tag</code> key.</p>
*/
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
/**
* <p>A string that contains a <code>Tag</code> key.</p>
*/
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
/**
* <p>A string that contains a <code>Tag</code> key.</p>
*/
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
/**
* <p>A string that contains a <code>Tag</code> key.</p>
*/
inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;}
/**
* <p>A string that contains a <code>Tag</code> key.</p>
*/
inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
/**
* <p>A string that contains a <code>Tag</code> key.</p>
*/
inline Tag& WithKey(const char* value) { SetKey(value); return *this;}
/**
* <p>A string that contains a <code>Tag</code> value.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>A string that contains a <code>Tag</code> value.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>A string that contains a <code>Tag</code> value.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>A string that contains a <code>Tag</code> value.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>A string that contains a <code>Tag</code> value.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>A string that contains a <code>Tag</code> value.</p>
*/
inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>A string that contains a <code>Tag</code> value.</p>
*/
inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>A string that contains a <code>Tag</code> value.</p>
*/
inline Tag& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_key;
bool m_keyHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,147 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/globalaccelerator/model/Tag.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API TagResourceRequest : public GlobalAcceleratorRequest
{
public:
TagResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "TagResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags
* to. An ARN uniquely identifies a resource.</p>
*/
inline const Aws::String& GetResourceArn() const{ return m_resourceArn; }
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags
* to. An ARN uniquely identifies a resource.</p>
*/
inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags
* to. An ARN uniquely identifies a resource.</p>
*/
inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags
* to. An ARN uniquely identifies a resource.</p>
*/
inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags
* to. An ARN uniquely identifies a resource.</p>
*/
inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags
* to. An ARN uniquely identifies a resource.</p>
*/
inline TagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags
* to. An ARN uniquely identifies a resource.</p>
*/
inline TagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags
* to. An ARN uniquely identifies a resource.</p>
*/
inline TagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;}
/**
* <p>The tags to add to a resource. A tag consists of a key and a value that you
* define.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The tags to add to a resource. A tag consists of a key and a value that you
* define.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>The tags to add to a resource. A tag consists of a key and a value that you
* define.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>The tags to add to a resource. A tag consists of a key and a value that you
* define.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>The tags to add to a resource. A tag consists of a key and a value that you
* define.</p>
*/
inline TagResourceRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The tags to add to a resource. A tag consists of a key and a value that you
* define.</p>
*/
inline TagResourceRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The tags to add to a resource. A tag consists of a key and a value that you
* define.</p>
*/
inline TagResourceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>The tags to add to a resource. A tag consists of a key and a value that you
* define.</p>
*/
inline TagResourceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_resourceArn;
bool m_resourceArnHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API TagResourceResult
{
public:
TagResourceResult();
TagResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
TagResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,143 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API UntagResourceRequest : public GlobalAcceleratorRequest
{
public:
UntagResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to remove
* tags from. An ARN uniquely identifies a resource.</p>
*/
inline const Aws::String& GetResourceArn() const{ return m_resourceArn; }
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to remove
* tags from. An ARN uniquely identifies a resource.</p>
*/
inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to remove
* tags from. An ARN uniquely identifies a resource.</p>
*/
inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to remove
* tags from. An ARN uniquely identifies a resource.</p>
*/
inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to remove
* tags from. An ARN uniquely identifies a resource.</p>
*/
inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to remove
* tags from. An ARN uniquely identifies a resource.</p>
*/
inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to remove
* tags from. An ARN uniquely identifies a resource.</p>
*/
inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Global Accelerator resource to remove
* tags from. An ARN uniquely identifies a resource.</p>
*/
inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;}
/**
* <p>The tag key pairs that you want to remove from the specified resources.</p>
*/
inline const Aws::Vector<Aws::String>& GetTagKeys() const{ return m_tagKeys; }
/**
* <p>The tag key pairs that you want to remove from the specified resources.</p>
*/
inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; }
/**
* <p>The tag key pairs that you want to remove from the specified resources.</p>
*/
inline void SetTagKeys(const Aws::Vector<Aws::String>& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; }
/**
* <p>The tag key pairs that you want to remove from the specified resources.</p>
*/
inline void SetTagKeys(Aws::Vector<Aws::String>&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); }
/**
* <p>The tag key pairs that you want to remove from the specified resources.</p>
*/
inline UntagResourceRequest& WithTagKeys(const Aws::Vector<Aws::String>& value) { SetTagKeys(value); return *this;}
/**
* <p>The tag key pairs that you want to remove from the specified resources.</p>
*/
inline UntagResourceRequest& WithTagKeys(Aws::Vector<Aws::String>&& value) { SetTagKeys(std::move(value)); return *this;}
/**
* <p>The tag key pairs that you want to remove from the specified resources.</p>
*/
inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
/**
* <p>The tag key pairs that you want to remove from the specified resources.</p>
*/
inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; }
/**
* <p>The tag key pairs that you want to remove from the specified resources.</p>
*/
inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
private:
Aws::String m_resourceArn;
bool m_resourceArnHasBeenSet;
Aws::Vector<Aws::String> m_tagKeys;
bool m_tagKeysHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API UntagResourceResult
{
public:
UntagResourceResult();
UntagResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UntagResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,285 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API UpdateAcceleratorAttributesRequest : public GlobalAcceleratorRequest
{
public:
UpdateAcceleratorAttributesRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateAcceleratorAttributes"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the accelerator that you want to
* update.</p>
*/
inline const Aws::String& GetAcceleratorArn() const{ return m_acceleratorArn; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator that you want to
* update.</p>
*/
inline bool AcceleratorArnHasBeenSet() const { return m_acceleratorArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator that you want to
* update.</p>
*/
inline void SetAcceleratorArn(const Aws::String& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator that you want to
* update.</p>
*/
inline void SetAcceleratorArn(Aws::String&& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator that you want to
* update.</p>
*/
inline void SetAcceleratorArn(const char* value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator that you want to
* update.</p>
*/
inline UpdateAcceleratorAttributesRequest& WithAcceleratorArn(const Aws::String& value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator that you want to
* update.</p>
*/
inline UpdateAcceleratorAttributesRequest& WithAcceleratorArn(Aws::String&& value) { SetAcceleratorArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator that you want to
* update.</p>
*/
inline UpdateAcceleratorAttributesRequest& WithAcceleratorArn(const char* value) { SetAcceleratorArn(value); return *this;}
/**
* <p>Update whether flow logs are enabled. The default value is false. If the
* value is true, <code>FlowLogsS3Bucket</code> and <code>FlowLogsS3Prefix</code>
* must be specified.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html">Flow
* Logs</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline bool GetFlowLogsEnabled() const{ return m_flowLogsEnabled; }
/**
* <p>Update whether flow logs are enabled. The default value is false. If the
* value is true, <code>FlowLogsS3Bucket</code> and <code>FlowLogsS3Prefix</code>
* must be specified.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html">Flow
* Logs</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline bool FlowLogsEnabledHasBeenSet() const { return m_flowLogsEnabledHasBeenSet; }
/**
* <p>Update whether flow logs are enabled. The default value is false. If the
* value is true, <code>FlowLogsS3Bucket</code> and <code>FlowLogsS3Prefix</code>
* must be specified.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html">Flow
* Logs</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline void SetFlowLogsEnabled(bool value) { m_flowLogsEnabledHasBeenSet = true; m_flowLogsEnabled = value; }
/**
* <p>Update whether flow logs are enabled. The default value is false. If the
* value is true, <code>FlowLogsS3Bucket</code> and <code>FlowLogsS3Prefix</code>
* must be specified.</p> <p>For more information, see <a
* href="https://docs.aws.amazon.com/global-accelerator/latest/dg/monitoring-global-accelerator.flow-logs.html">Flow
* Logs</a> in the <i>AWS Global Accelerator Developer Guide</i>.</p>
*/
inline UpdateAcceleratorAttributesRequest& WithFlowLogsEnabled(bool value) { SetFlowLogsEnabled(value); return *this;}
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline const Aws::String& GetFlowLogsS3Bucket() const{ return m_flowLogsS3Bucket; }
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline bool FlowLogsS3BucketHasBeenSet() const { return m_flowLogsS3BucketHasBeenSet; }
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline void SetFlowLogsS3Bucket(const Aws::String& value) { m_flowLogsS3BucketHasBeenSet = true; m_flowLogsS3Bucket = value; }
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline void SetFlowLogsS3Bucket(Aws::String&& value) { m_flowLogsS3BucketHasBeenSet = true; m_flowLogsS3Bucket = std::move(value); }
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline void SetFlowLogsS3Bucket(const char* value) { m_flowLogsS3BucketHasBeenSet = true; m_flowLogsS3Bucket.assign(value); }
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline UpdateAcceleratorAttributesRequest& WithFlowLogsS3Bucket(const Aws::String& value) { SetFlowLogsS3Bucket(value); return *this;}
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline UpdateAcceleratorAttributesRequest& WithFlowLogsS3Bucket(Aws::String&& value) { SetFlowLogsS3Bucket(std::move(value)); return *this;}
/**
* <p>The name of the Amazon S3 bucket for the flow logs. Attribute is required if
* <code>FlowLogsEnabled</code> is <code>true</code>. The bucket must exist and
* have a bucket policy that grants AWS Global Accelerator permission to write to
* the bucket.</p>
*/
inline UpdateAcceleratorAttributesRequest& WithFlowLogsS3Bucket(const char* value) { SetFlowLogsS3Bucket(value); return *this;}
/**
* <p>Update the prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>. </p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline const Aws::String& GetFlowLogsS3Prefix() const{ return m_flowLogsS3Prefix; }
/**
* <p>Update the prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>. </p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline bool FlowLogsS3PrefixHasBeenSet() const { return m_flowLogsS3PrefixHasBeenSet; }
/**
* <p>Update the prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>. </p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline void SetFlowLogsS3Prefix(const Aws::String& value) { m_flowLogsS3PrefixHasBeenSet = true; m_flowLogsS3Prefix = value; }
/**
* <p>Update the prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>. </p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline void SetFlowLogsS3Prefix(Aws::String&& value) { m_flowLogsS3PrefixHasBeenSet = true; m_flowLogsS3Prefix = std::move(value); }
/**
* <p>Update the prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>. </p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline void SetFlowLogsS3Prefix(const char* value) { m_flowLogsS3PrefixHasBeenSet = true; m_flowLogsS3Prefix.assign(value); }
/**
* <p>Update the prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>. </p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline UpdateAcceleratorAttributesRequest& WithFlowLogsS3Prefix(const Aws::String& value) { SetFlowLogsS3Prefix(value); return *this;}
/**
* <p>Update the prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>. </p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline UpdateAcceleratorAttributesRequest& WithFlowLogsS3Prefix(Aws::String&& value) { SetFlowLogsS3Prefix(std::move(value)); return *this;}
/**
* <p>Update the prefix for the location in the Amazon S3 bucket for the flow logs.
* Attribute is required if <code>FlowLogsEnabled</code> is <code>true</code>. </p>
* <p>If you dont specify a prefix, the flow logs are stored in the root of the
* bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket
* folder structure will include a double slash (//), like the following:</p>
* <p>s3-bucket_name//AWSLogs/aws_account_id</p>
*/
inline UpdateAcceleratorAttributesRequest& WithFlowLogsS3Prefix(const char* value) { SetFlowLogsS3Prefix(value); return *this;}
private:
Aws::String m_acceleratorArn;
bool m_acceleratorArnHasBeenSet;
bool m_flowLogsEnabled;
bool m_flowLogsEnabledHasBeenSet;
Aws::String m_flowLogsS3Bucket;
bool m_flowLogsS3BucketHasBeenSet;
Aws::String m_flowLogsS3Prefix;
bool m_flowLogsS3PrefixHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/AcceleratorAttributes.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API UpdateAcceleratorAttributesResult
{
public:
UpdateAcceleratorAttributesResult();
UpdateAcceleratorAttributesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateAcceleratorAttributesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Updated attributes for the accelerator.</p>
*/
inline const AcceleratorAttributes& GetAcceleratorAttributes() const{ return m_acceleratorAttributes; }
/**
* <p>Updated attributes for the accelerator.</p>
*/
inline void SetAcceleratorAttributes(const AcceleratorAttributes& value) { m_acceleratorAttributes = value; }
/**
* <p>Updated attributes for the accelerator.</p>
*/
inline void SetAcceleratorAttributes(AcceleratorAttributes&& value) { m_acceleratorAttributes = std::move(value); }
/**
* <p>Updated attributes for the accelerator.</p>
*/
inline UpdateAcceleratorAttributesResult& WithAcceleratorAttributes(const AcceleratorAttributes& value) { SetAcceleratorAttributes(value); return *this;}
/**
* <p>Updated attributes for the accelerator.</p>
*/
inline UpdateAcceleratorAttributesResult& WithAcceleratorAttributes(AcceleratorAttributes&& value) { SetAcceleratorAttributes(std::move(value)); return *this;}
private:
AcceleratorAttributes m_acceleratorAttributes;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,212 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/globalaccelerator/model/IpAddressType.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API UpdateAcceleratorRequest : public GlobalAcceleratorRequest
{
public:
UpdateAcceleratorRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateAccelerator"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to update.</p>
*/
inline const Aws::String& GetAcceleratorArn() const{ return m_acceleratorArn; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to update.</p>
*/
inline bool AcceleratorArnHasBeenSet() const { return m_acceleratorArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to update.</p>
*/
inline void SetAcceleratorArn(const Aws::String& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to update.</p>
*/
inline void SetAcceleratorArn(Aws::String&& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to update.</p>
*/
inline void SetAcceleratorArn(const char* value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to update.</p>
*/
inline UpdateAcceleratorRequest& WithAcceleratorArn(const Aws::String& value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to update.</p>
*/
inline UpdateAcceleratorRequest& WithAcceleratorArn(Aws::String&& value) { SetAcceleratorArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the accelerator to update.</p>
*/
inline UpdateAcceleratorRequest& WithAcceleratorArn(const char* value) { SetAcceleratorArn(value); return *this;}
/**
* <p>The name of the accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline UpdateAcceleratorRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline UpdateAcceleratorRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the accelerator. The name can have a maximum of 32 characters,
* must contain only alphanumeric characters or hyphens (-), and must not begin or
* end with a hyphen.</p>
*/
inline UpdateAcceleratorRequest& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline const IpAddressType& GetIpAddressType() const{ return m_ipAddressType; }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline void SetIpAddressType(const IpAddressType& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline void SetIpAddressType(IpAddressType&& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = std::move(value); }
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline UpdateAcceleratorRequest& WithIpAddressType(const IpAddressType& value) { SetIpAddressType(value); return *this;}
/**
* <p>The value for the address type must be IPv4. </p>
*/
inline UpdateAcceleratorRequest& WithIpAddressType(IpAddressType&& value) { SetIpAddressType(std::move(value)); return *this;}
/**
* <p>Indicates whether an accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, the accelerator
* cannot be deleted. If set to false, the accelerator can be deleted.</p>
*/
inline bool GetEnabled() const{ return m_enabled; }
/**
* <p>Indicates whether an accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, the accelerator
* cannot be deleted. If set to false, the accelerator can be deleted.</p>
*/
inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
/**
* <p>Indicates whether an accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, the accelerator
* cannot be deleted. If set to false, the accelerator can be deleted.</p>
*/
inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
/**
* <p>Indicates whether an accelerator is enabled. The value is true or false. The
* default value is true. </p> <p>If the value is set to true, the accelerator
* cannot be deleted. If set to false, the accelerator can be deleted.</p>
*/
inline UpdateAcceleratorRequest& WithEnabled(bool value) { SetEnabled(value); return *this;}
private:
Aws::String m_acceleratorArn;
bool m_acceleratorArnHasBeenSet;
Aws::String m_name;
bool m_nameHasBeenSet;
IpAddressType m_ipAddressType;
bool m_ipAddressTypeHasBeenSet;
bool m_enabled;
bool m_enabledHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/Accelerator.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API UpdateAcceleratorResult
{
public:
UpdateAcceleratorResult();
UpdateAcceleratorResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateAcceleratorResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about the updated accelerator.</p>
*/
inline const Accelerator& GetAccelerator() const{ return m_accelerator; }
/**
* <p>Information about the updated accelerator.</p>
*/
inline void SetAccelerator(const Accelerator& value) { m_accelerator = value; }
/**
* <p>Information about the updated accelerator.</p>
*/
inline void SetAccelerator(Accelerator&& value) { m_accelerator = std::move(value); }
/**
* <p>Information about the updated accelerator.</p>
*/
inline UpdateAcceleratorResult& WithAccelerator(const Accelerator& value) { SetAccelerator(value); return *this;}
/**
* <p>Information about the updated accelerator.</p>
*/
inline UpdateAcceleratorResult& WithAccelerator(Accelerator&& value) { SetAccelerator(std::move(value)); return *this;}
private:
Accelerator m_accelerator;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,360 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/globalaccelerator/model/HealthCheckProtocol.h>
#include <aws/globalaccelerator/model/EndpointConfiguration.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API UpdateEndpointGroupRequest : public GlobalAcceleratorRequest
{
public:
UpdateEndpointGroupRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateEndpointGroup"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline const Aws::String& GetEndpointGroupArn() const{ return m_endpointGroupArn; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline bool EndpointGroupArnHasBeenSet() const { return m_endpointGroupArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline void SetEndpointGroupArn(const Aws::String& value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline void SetEndpointGroupArn(Aws::String&& value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline void SetEndpointGroupArn(const char* value) { m_endpointGroupArnHasBeenSet = true; m_endpointGroupArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline UpdateEndpointGroupRequest& WithEndpointGroupArn(const Aws::String& value) { SetEndpointGroupArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline UpdateEndpointGroupRequest& WithEndpointGroupArn(Aws::String&& value) { SetEndpointGroupArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the endpoint group.</p>
*/
inline UpdateEndpointGroupRequest& WithEndpointGroupArn(const char* value) { SetEndpointGroupArn(value); return *this;}
/**
* <p>The list of endpoint objects.</p>
*/
inline const Aws::Vector<EndpointConfiguration>& GetEndpointConfigurations() const{ return m_endpointConfigurations; }
/**
* <p>The list of endpoint objects.</p>
*/
inline bool EndpointConfigurationsHasBeenSet() const { return m_endpointConfigurationsHasBeenSet; }
/**
* <p>The list of endpoint objects.</p>
*/
inline void SetEndpointConfigurations(const Aws::Vector<EndpointConfiguration>& value) { m_endpointConfigurationsHasBeenSet = true; m_endpointConfigurations = value; }
/**
* <p>The list of endpoint objects.</p>
*/
inline void SetEndpointConfigurations(Aws::Vector<EndpointConfiguration>&& value) { m_endpointConfigurationsHasBeenSet = true; m_endpointConfigurations = std::move(value); }
/**
* <p>The list of endpoint objects.</p>
*/
inline UpdateEndpointGroupRequest& WithEndpointConfigurations(const Aws::Vector<EndpointConfiguration>& value) { SetEndpointConfigurations(value); return *this;}
/**
* <p>The list of endpoint objects.</p>
*/
inline UpdateEndpointGroupRequest& WithEndpointConfigurations(Aws::Vector<EndpointConfiguration>&& value) { SetEndpointConfigurations(std::move(value)); return *this;}
/**
* <p>The list of endpoint objects.</p>
*/
inline UpdateEndpointGroupRequest& AddEndpointConfigurations(const EndpointConfiguration& value) { m_endpointConfigurationsHasBeenSet = true; m_endpointConfigurations.push_back(value); return *this; }
/**
* <p>The list of endpoint objects.</p>
*/
inline UpdateEndpointGroupRequest& AddEndpointConfigurations(EndpointConfiguration&& value) { m_endpointConfigurationsHasBeenSet = true; m_endpointConfigurations.push_back(std::move(value)); return *this; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline double GetTrafficDialPercentage() const{ return m_trafficDialPercentage; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline bool TrafficDialPercentageHasBeenSet() const { return m_trafficDialPercentageHasBeenSet; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline void SetTrafficDialPercentage(double value) { m_trafficDialPercentageHasBeenSet = true; m_trafficDialPercentage = value; }
/**
* <p>The percentage of traffic to send to an AWS Region. Additional traffic is
* distributed to other endpoint groups for this listener. </p> <p>Use this action
* to increase (dial up) or decrease (dial down) traffic to a specific Region. The
* percentage is applied to the traffic that would otherwise have been routed to
* the Region based on optimal routing.</p> <p>The default value is 100.</p>
*/
inline UpdateEndpointGroupRequest& WithTrafficDialPercentage(double value) { SetTrafficDialPercentage(value); return *this;}
/**
* <p>The port that AWS Global Accelerator uses to check the health of endpoints
* that are part of this endpoint group. The default port is the listener port that
* this endpoint group is associated with. If the listener port is a list of ports,
* Global Accelerator uses the first port in the list.</p>
*/
inline int GetHealthCheckPort() const{ return m_healthCheckPort; }
/**
* <p>The port that AWS Global Accelerator uses to check the health of endpoints
* that are part of this endpoint group. The default port is the listener port that
* this endpoint group is associated with. If the listener port is a list of ports,
* Global Accelerator uses the first port in the list.</p>
*/
inline bool HealthCheckPortHasBeenSet() const { return m_healthCheckPortHasBeenSet; }
/**
* <p>The port that AWS Global Accelerator uses to check the health of endpoints
* that are part of this endpoint group. The default port is the listener port that
* this endpoint group is associated with. If the listener port is a list of ports,
* Global Accelerator uses the first port in the list.</p>
*/
inline void SetHealthCheckPort(int value) { m_healthCheckPortHasBeenSet = true; m_healthCheckPort = value; }
/**
* <p>The port that AWS Global Accelerator uses to check the health of endpoints
* that are part of this endpoint group. The default port is the listener port that
* this endpoint group is associated with. If the listener port is a list of ports,
* Global Accelerator uses the first port in the list.</p>
*/
inline UpdateEndpointGroupRequest& WithHealthCheckPort(int value) { SetHealthCheckPort(value); return *this;}
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline const HealthCheckProtocol& GetHealthCheckProtocol() const{ return m_healthCheckProtocol; }
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline bool HealthCheckProtocolHasBeenSet() const { return m_healthCheckProtocolHasBeenSet; }
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline void SetHealthCheckProtocol(const HealthCheckProtocol& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = value; }
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline void SetHealthCheckProtocol(HealthCheckProtocol&& value) { m_healthCheckProtocolHasBeenSet = true; m_healthCheckProtocol = std::move(value); }
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline UpdateEndpointGroupRequest& WithHealthCheckProtocol(const HealthCheckProtocol& value) { SetHealthCheckProtocol(value); return *this;}
/**
* <p>The protocol that AWS Global Accelerator uses to check the health of
* endpoints that are part of this endpoint group. The default value is TCP.</p>
*/
inline UpdateEndpointGroupRequest& WithHealthCheckProtocol(HealthCheckProtocol&& value) { SetHealthCheckProtocol(std::move(value)); return *this;}
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline const Aws::String& GetHealthCheckPath() const{ return m_healthCheckPath; }
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline bool HealthCheckPathHasBeenSet() const { return m_healthCheckPathHasBeenSet; }
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline void SetHealthCheckPath(const Aws::String& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = value; }
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline void SetHealthCheckPath(Aws::String&& value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath = std::move(value); }
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline void SetHealthCheckPath(const char* value) { m_healthCheckPathHasBeenSet = true; m_healthCheckPath.assign(value); }
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline UpdateEndpointGroupRequest& WithHealthCheckPath(const Aws::String& value) { SetHealthCheckPath(value); return *this;}
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline UpdateEndpointGroupRequest& WithHealthCheckPath(Aws::String&& value) { SetHealthCheckPath(std::move(value)); return *this;}
/**
* <p>If the protocol is HTTP/S, then this specifies the path that is the
* destination for health check targets. The default value is slash (/).</p>
*/
inline UpdateEndpointGroupRequest& WithHealthCheckPath(const char* value) { SetHealthCheckPath(value); return *this;}
/**
* <p>The time—10 seconds or 30 seconds—between each health check for an endpoint.
* The default value is 30.</p>
*/
inline int GetHealthCheckIntervalSeconds() const{ return m_healthCheckIntervalSeconds; }
/**
* <p>The time—10 seconds or 30 seconds—between each health check for an endpoint.
* The default value is 30.</p>
*/
inline bool HealthCheckIntervalSecondsHasBeenSet() const { return m_healthCheckIntervalSecondsHasBeenSet; }
/**
* <p>The time—10 seconds or 30 seconds—between each health check for an endpoint.
* The default value is 30.</p>
*/
inline void SetHealthCheckIntervalSeconds(int value) { m_healthCheckIntervalSecondsHasBeenSet = true; m_healthCheckIntervalSeconds = value; }
/**
* <p>The time—10 seconds or 30 seconds—between each health check for an endpoint.
* The default value is 30.</p>
*/
inline UpdateEndpointGroupRequest& WithHealthCheckIntervalSeconds(int value) { SetHealthCheckIntervalSeconds(value); return *this;}
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline int GetThresholdCount() const{ return m_thresholdCount; }
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline bool ThresholdCountHasBeenSet() const { return m_thresholdCountHasBeenSet; }
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline void SetThresholdCount(int value) { m_thresholdCountHasBeenSet = true; m_thresholdCount = value; }
/**
* <p>The number of consecutive health checks required to set the state of a
* healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The
* default value is 3.</p>
*/
inline UpdateEndpointGroupRequest& WithThresholdCount(int value) { SetThresholdCount(value); return *this;}
private:
Aws::String m_endpointGroupArn;
bool m_endpointGroupArnHasBeenSet;
Aws::Vector<EndpointConfiguration> m_endpointConfigurations;
bool m_endpointConfigurationsHasBeenSet;
double m_trafficDialPercentage;
bool m_trafficDialPercentageHasBeenSet;
int m_healthCheckPort;
bool m_healthCheckPortHasBeenSet;
HealthCheckProtocol m_healthCheckProtocol;
bool m_healthCheckProtocolHasBeenSet;
Aws::String m_healthCheckPath;
bool m_healthCheckPathHasBeenSet;
int m_healthCheckIntervalSeconds;
bool m_healthCheckIntervalSecondsHasBeenSet;
int m_thresholdCount;
bool m_thresholdCountHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/EndpointGroup.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API UpdateEndpointGroupResult
{
public:
UpdateEndpointGroupResult();
UpdateEndpointGroupResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateEndpointGroupResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The information about the endpoint group that was updated.</p>
*/
inline const EndpointGroup& GetEndpointGroup() const{ return m_endpointGroup; }
/**
* <p>The information about the endpoint group that was updated.</p>
*/
inline void SetEndpointGroup(const EndpointGroup& value) { m_endpointGroup = value; }
/**
* <p>The information about the endpoint group that was updated.</p>
*/
inline void SetEndpointGroup(EndpointGroup&& value) { m_endpointGroup = std::move(value); }
/**
* <p>The information about the endpoint group that was updated.</p>
*/
inline UpdateEndpointGroupResult& WithEndpointGroup(const EndpointGroup& value) { SetEndpointGroup(value); return *this;}
/**
* <p>The information about the endpoint group that was updated.</p>
*/
inline UpdateEndpointGroupResult& WithEndpointGroup(EndpointGroup&& value) { SetEndpointGroup(std::move(value)); return *this;}
private:
EndpointGroup m_endpointGroup;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,299 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/globalaccelerator/model/Protocol.h>
#include <aws/globalaccelerator/model/ClientAffinity.h>
#include <aws/globalaccelerator/model/PortRange.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API UpdateListenerRequest : public GlobalAcceleratorRequest
{
public:
UpdateListenerRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateListener"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The Amazon Resource Name (ARN) of the listener to update.</p>
*/
inline const Aws::String& GetListenerArn() const{ return m_listenerArn; }
/**
* <p>The Amazon Resource Name (ARN) of the listener to update.</p>
*/
inline bool ListenerArnHasBeenSet() const { return m_listenerArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the listener to update.</p>
*/
inline void SetListenerArn(const Aws::String& value) { m_listenerArnHasBeenSet = true; m_listenerArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the listener to update.</p>
*/
inline void SetListenerArn(Aws::String&& value) { m_listenerArnHasBeenSet = true; m_listenerArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener to update.</p>
*/
inline void SetListenerArn(const char* value) { m_listenerArnHasBeenSet = true; m_listenerArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the listener to update.</p>
*/
inline UpdateListenerRequest& WithListenerArn(const Aws::String& value) { SetListenerArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener to update.</p>
*/
inline UpdateListenerRequest& WithListenerArn(Aws::String&& value) { SetListenerArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the listener to update.</p>
*/
inline UpdateListenerRequest& WithListenerArn(const char* value) { SetListenerArn(value); return *this;}
/**
* <p>The updated list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline const Aws::Vector<PortRange>& GetPortRanges() const{ return m_portRanges; }
/**
* <p>The updated list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline bool PortRangesHasBeenSet() const { return m_portRangesHasBeenSet; }
/**
* <p>The updated list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline void SetPortRanges(const Aws::Vector<PortRange>& value) { m_portRangesHasBeenSet = true; m_portRanges = value; }
/**
* <p>The updated list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline void SetPortRanges(Aws::Vector<PortRange>&& value) { m_portRangesHasBeenSet = true; m_portRanges = std::move(value); }
/**
* <p>The updated list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline UpdateListenerRequest& WithPortRanges(const Aws::Vector<PortRange>& value) { SetPortRanges(value); return *this;}
/**
* <p>The updated list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline UpdateListenerRequest& WithPortRanges(Aws::Vector<PortRange>&& value) { SetPortRanges(std::move(value)); return *this;}
/**
* <p>The updated list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline UpdateListenerRequest& AddPortRanges(const PortRange& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(value); return *this; }
/**
* <p>The updated list of port ranges for the connections from clients to the
* accelerator.</p>
*/
inline UpdateListenerRequest& AddPortRanges(PortRange&& value) { m_portRangesHasBeenSet = true; m_portRanges.push_back(std::move(value)); return *this; }
/**
* <p>The updated protocol for the connections from clients to the accelerator.</p>
*/
inline const Protocol& GetProtocol() const{ return m_protocol; }
/**
* <p>The updated protocol for the connections from clients to the accelerator.</p>
*/
inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; }
/**
* <p>The updated protocol for the connections from clients to the accelerator.</p>
*/
inline void SetProtocol(const Protocol& value) { m_protocolHasBeenSet = true; m_protocol = value; }
/**
* <p>The updated protocol for the connections from clients to the accelerator.</p>
*/
inline void SetProtocol(Protocol&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); }
/**
* <p>The updated protocol for the connections from clients to the accelerator.</p>
*/
inline UpdateListenerRequest& WithProtocol(const Protocol& value) { SetProtocol(value); return *this;}
/**
* <p>The updated protocol for the connections from clients to the accelerator.</p>
*/
inline UpdateListenerRequest& WithProtocol(Protocol&& value) { SetProtocol(std::move(value)); return *this;}
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline const ClientAffinity& GetClientAffinity() const{ return m_clientAffinity; }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline bool ClientAffinityHasBeenSet() const { return m_clientAffinityHasBeenSet; }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline void SetClientAffinity(const ClientAffinity& value) { m_clientAffinityHasBeenSet = true; m_clientAffinity = value; }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline void SetClientAffinity(ClientAffinity&& value) { m_clientAffinityHasBeenSet = true; m_clientAffinity = std::move(value); }
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline UpdateListenerRequest& WithClientAffinity(const ClientAffinity& value) { SetClientAffinity(value); return *this;}
/**
* <p>Client affinity lets you direct all requests from a user to the same
* endpoint, if you have stateful applications, regardless of the port and protocol
* of the client request. Clienty affinity gives you control over whether to always
* route each client to the same specific endpoint.</p> <p>AWS Global Accelerator
* uses a consistent-flow hashing algorithm to choose the optimal endpoint for a
* connection. If client affinity is <code>NONE</code>, Global Accelerator uses the
* "five-tuple" (5-tuple) properties—source IP address, source port, destination IP
* address, destination port, and protocol—to select the hash value, and then
* chooses the best endpoint. However, with this setting, if someone uses different
* ports to connect to Global Accelerator, their connections might not be always
* routed to the same endpoint because the hash value changes. </p> <p>If you want
* a given client to always be routed to the same endpoint, set client affinity to
* <code>SOURCE_IP</code> instead. When you use the <code>SOURCE_IP</code> setting,
* Global Accelerator uses the "two-tuple" (2-tuple) properties— source (client) IP
* address and destination IP address—to select the hash value.</p> <p>The default
* value is <code>NONE</code>.</p>
*/
inline UpdateListenerRequest& WithClientAffinity(ClientAffinity&& value) { SetClientAffinity(std::move(value)); return *this;}
private:
Aws::String m_listenerArn;
bool m_listenerArnHasBeenSet;
Aws::Vector<PortRange> m_portRanges;
bool m_portRangesHasBeenSet;
Protocol m_protocol;
bool m_protocolHasBeenSet;
ClientAffinity m_clientAffinity;
bool m_clientAffinityHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/Listener.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API UpdateListenerResult
{
public:
UpdateListenerResult();
UpdateListenerResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateListenerResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information for the updated listener.</p>
*/
inline const Listener& GetListener() const{ return m_listener; }
/**
* <p>Information for the updated listener.</p>
*/
inline void SetListener(const Listener& value) { m_listener = value; }
/**
* <p>Information for the updated listener.</p>
*/
inline void SetListener(Listener&& value) { m_listener = std::move(value); }
/**
* <p>Information for the updated listener.</p>
*/
inline UpdateListenerResult& WithListener(const Listener& value) { SetListener(value); return *this;}
/**
* <p>Information for the updated listener.</p>
*/
inline UpdateListenerResult& WithListener(Listener&& value) { SetListener(std::move(value)); return *this;}
private:
Listener m_listener;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/GlobalAcceleratorRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
/**
*/
class AWS_GLOBALACCELERATOR_API WithdrawByoipCidrRequest : public GlobalAcceleratorRequest
{
public:
WithdrawByoipCidrRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "WithdrawByoipCidr"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The address range, in CIDR notation.</p>
*/
inline const Aws::String& GetCidr() const{ return m_cidr; }
/**
* <p>The address range, in CIDR notation.</p>
*/
inline bool CidrHasBeenSet() const { return m_cidrHasBeenSet; }
/**
* <p>The address range, in CIDR notation.</p>
*/
inline void SetCidr(const Aws::String& value) { m_cidrHasBeenSet = true; m_cidr = value; }
/**
* <p>The address range, in CIDR notation.</p>
*/
inline void SetCidr(Aws::String&& value) { m_cidrHasBeenSet = true; m_cidr = std::move(value); }
/**
* <p>The address range, in CIDR notation.</p>
*/
inline void SetCidr(const char* value) { m_cidrHasBeenSet = true; m_cidr.assign(value); }
/**
* <p>The address range, in CIDR notation.</p>
*/
inline WithdrawByoipCidrRequest& WithCidr(const Aws::String& value) { SetCidr(value); return *this;}
/**
* <p>The address range, in CIDR notation.</p>
*/
inline WithdrawByoipCidrRequest& WithCidr(Aws::String&& value) { SetCidr(std::move(value)); return *this;}
/**
* <p>The address range, in CIDR notation.</p>
*/
inline WithdrawByoipCidrRequest& WithCidr(const char* value) { SetCidr(value); return *this;}
private:
Aws::String m_cidr;
bool m_cidrHasBeenSet;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/globalaccelerator/GlobalAccelerator_EXPORTS.h>
#include <aws/globalaccelerator/model/ByoipCidr.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace GlobalAccelerator
{
namespace Model
{
class AWS_GLOBALACCELERATOR_API WithdrawByoipCidrResult
{
public:
WithdrawByoipCidrResult();
WithdrawByoipCidrResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
WithdrawByoipCidrResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about the address pool.</p>
*/
inline const ByoipCidr& GetByoipCidr() const{ return m_byoipCidr; }
/**
* <p>Information about the address pool.</p>
*/
inline void SetByoipCidr(const ByoipCidr& value) { m_byoipCidr = value; }
/**
* <p>Information about the address pool.</p>
*/
inline void SetByoipCidr(ByoipCidr&& value) { m_byoipCidr = std::move(value); }
/**
* <p>Information about the address pool.</p>
*/
inline WithdrawByoipCidrResult& WithByoipCidr(const ByoipCidr& value) { SetByoipCidr(value); return *this;}
/**
* <p>Information about the address pool.</p>
*/
inline WithdrawByoipCidrResult& WithByoipCidr(ByoipCidr&& value) { SetByoipCidr(std::move(value)); return *this;}
private:
ByoipCidr m_byoipCidr;
};
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,796 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/core/utils/Outcome.h>
#include <aws/core/auth/AWSAuthSigner.h>
#include <aws/core/client/CoreErrors.h>
#include <aws/core/client/RetryStrategy.h>
#include <aws/core/http/HttpClient.h>
#include <aws/core/http/HttpResponse.h>
#include <aws/core/http/HttpClientFactory.h>
#include <aws/core/auth/AWSCredentialsProviderChain.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/utils/memory/stl/AWSStringStream.h>
#include <aws/core/utils/threading/Executor.h>
#include <aws/core/utils/DNS.h>
#include <aws/core/utils/logging/LogMacros.h>
#include <aws/globalaccelerator/GlobalAcceleratorClient.h>
#include <aws/globalaccelerator/GlobalAcceleratorEndpoint.h>
#include <aws/globalaccelerator/GlobalAcceleratorErrorMarshaller.h>
#include <aws/globalaccelerator/model/AdvertiseByoipCidrRequest.h>
#include <aws/globalaccelerator/model/CreateAcceleratorRequest.h>
#include <aws/globalaccelerator/model/CreateEndpointGroupRequest.h>
#include <aws/globalaccelerator/model/CreateListenerRequest.h>
#include <aws/globalaccelerator/model/DeleteAcceleratorRequest.h>
#include <aws/globalaccelerator/model/DeleteEndpointGroupRequest.h>
#include <aws/globalaccelerator/model/DeleteListenerRequest.h>
#include <aws/globalaccelerator/model/DeprovisionByoipCidrRequest.h>
#include <aws/globalaccelerator/model/DescribeAcceleratorRequest.h>
#include <aws/globalaccelerator/model/DescribeAcceleratorAttributesRequest.h>
#include <aws/globalaccelerator/model/DescribeEndpointGroupRequest.h>
#include <aws/globalaccelerator/model/DescribeListenerRequest.h>
#include <aws/globalaccelerator/model/ListAcceleratorsRequest.h>
#include <aws/globalaccelerator/model/ListByoipCidrsRequest.h>
#include <aws/globalaccelerator/model/ListEndpointGroupsRequest.h>
#include <aws/globalaccelerator/model/ListListenersRequest.h>
#include <aws/globalaccelerator/model/ListTagsForResourceRequest.h>
#include <aws/globalaccelerator/model/ProvisionByoipCidrRequest.h>
#include <aws/globalaccelerator/model/TagResourceRequest.h>
#include <aws/globalaccelerator/model/UntagResourceRequest.h>
#include <aws/globalaccelerator/model/UpdateAcceleratorRequest.h>
#include <aws/globalaccelerator/model/UpdateAcceleratorAttributesRequest.h>
#include <aws/globalaccelerator/model/UpdateEndpointGroupRequest.h>
#include <aws/globalaccelerator/model/UpdateListenerRequest.h>
#include <aws/globalaccelerator/model/WithdrawByoipCidrRequest.h>
using namespace Aws;
using namespace Aws::Auth;
using namespace Aws::Client;
using namespace Aws::GlobalAccelerator;
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Http;
using namespace Aws::Utils::Json;
static const char* SERVICE_NAME = "globalaccelerator";
static const char* ALLOCATION_TAG = "GlobalAcceleratorClient";
GlobalAcceleratorClient::GlobalAcceleratorClient(const Client::ClientConfiguration& clientConfiguration) :
BASECLASS(clientConfiguration,
Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG),
SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
Aws::MakeShared<GlobalAcceleratorErrorMarshaller>(ALLOCATION_TAG)),
m_executor(clientConfiguration.executor)
{
init(clientConfiguration);
}
GlobalAcceleratorClient::GlobalAcceleratorClient(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) :
BASECLASS(clientConfiguration,
Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials),
SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
Aws::MakeShared<GlobalAcceleratorErrorMarshaller>(ALLOCATION_TAG)),
m_executor(clientConfiguration.executor)
{
init(clientConfiguration);
}
GlobalAcceleratorClient::GlobalAcceleratorClient(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider,
const Client::ClientConfiguration& clientConfiguration) :
BASECLASS(clientConfiguration,
Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, credentialsProvider,
SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
Aws::MakeShared<GlobalAcceleratorErrorMarshaller>(ALLOCATION_TAG)),
m_executor(clientConfiguration.executor)
{
init(clientConfiguration);
}
GlobalAcceleratorClient::~GlobalAcceleratorClient()
{
}
void GlobalAcceleratorClient::init(const ClientConfiguration& config)
{
SetServiceClientName("Global Accelerator");
m_configScheme = SchemeMapper::ToString(config.scheme);
if (config.endpointOverride.empty())
{
m_uri = m_configScheme + "://" + GlobalAcceleratorEndpoint::ForRegion(config.region, config.useDualStack);
}
else
{
OverrideEndpoint(config.endpointOverride);
}
}
void GlobalAcceleratorClient::OverrideEndpoint(const Aws::String& endpoint)
{
if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0)
{
m_uri = endpoint;
}
else
{
m_uri = m_configScheme + "://" + endpoint;
}
}
AdvertiseByoipCidrOutcome GlobalAcceleratorClient::AdvertiseByoipCidr(const AdvertiseByoipCidrRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return AdvertiseByoipCidrOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
AdvertiseByoipCidrOutcomeCallable GlobalAcceleratorClient::AdvertiseByoipCidrCallable(const AdvertiseByoipCidrRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< AdvertiseByoipCidrOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->AdvertiseByoipCidr(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::AdvertiseByoipCidrAsync(const AdvertiseByoipCidrRequest& request, const AdvertiseByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->AdvertiseByoipCidrAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::AdvertiseByoipCidrAsyncHelper(const AdvertiseByoipCidrRequest& request, const AdvertiseByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, AdvertiseByoipCidr(request), context);
}
CreateAcceleratorOutcome GlobalAcceleratorClient::CreateAccelerator(const CreateAcceleratorRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return CreateAcceleratorOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
CreateAcceleratorOutcomeCallable GlobalAcceleratorClient::CreateAcceleratorCallable(const CreateAcceleratorRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< CreateAcceleratorOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateAccelerator(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::CreateAcceleratorAsync(const CreateAcceleratorRequest& request, const CreateAcceleratorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->CreateAcceleratorAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::CreateAcceleratorAsyncHelper(const CreateAcceleratorRequest& request, const CreateAcceleratorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, CreateAccelerator(request), context);
}
CreateEndpointGroupOutcome GlobalAcceleratorClient::CreateEndpointGroup(const CreateEndpointGroupRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return CreateEndpointGroupOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
CreateEndpointGroupOutcomeCallable GlobalAcceleratorClient::CreateEndpointGroupCallable(const CreateEndpointGroupRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< CreateEndpointGroupOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateEndpointGroup(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::CreateEndpointGroupAsync(const CreateEndpointGroupRequest& request, const CreateEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->CreateEndpointGroupAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::CreateEndpointGroupAsyncHelper(const CreateEndpointGroupRequest& request, const CreateEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, CreateEndpointGroup(request), context);
}
CreateListenerOutcome GlobalAcceleratorClient::CreateListener(const CreateListenerRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return CreateListenerOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
CreateListenerOutcomeCallable GlobalAcceleratorClient::CreateListenerCallable(const CreateListenerRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< CreateListenerOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateListener(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::CreateListenerAsync(const CreateListenerRequest& request, const CreateListenerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->CreateListenerAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::CreateListenerAsyncHelper(const CreateListenerRequest& request, const CreateListenerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, CreateListener(request), context);
}
DeleteAcceleratorOutcome GlobalAcceleratorClient::DeleteAccelerator(const DeleteAcceleratorRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DeleteAcceleratorOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DeleteAcceleratorOutcomeCallable GlobalAcceleratorClient::DeleteAcceleratorCallable(const DeleteAcceleratorRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DeleteAcceleratorOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteAccelerator(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::DeleteAcceleratorAsync(const DeleteAcceleratorRequest& request, const DeleteAcceleratorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DeleteAcceleratorAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::DeleteAcceleratorAsyncHelper(const DeleteAcceleratorRequest& request, const DeleteAcceleratorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DeleteAccelerator(request), context);
}
DeleteEndpointGroupOutcome GlobalAcceleratorClient::DeleteEndpointGroup(const DeleteEndpointGroupRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DeleteEndpointGroupOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DeleteEndpointGroupOutcomeCallable GlobalAcceleratorClient::DeleteEndpointGroupCallable(const DeleteEndpointGroupRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DeleteEndpointGroupOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteEndpointGroup(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::DeleteEndpointGroupAsync(const DeleteEndpointGroupRequest& request, const DeleteEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DeleteEndpointGroupAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::DeleteEndpointGroupAsyncHelper(const DeleteEndpointGroupRequest& request, const DeleteEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DeleteEndpointGroup(request), context);
}
DeleteListenerOutcome GlobalAcceleratorClient::DeleteListener(const DeleteListenerRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DeleteListenerOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DeleteListenerOutcomeCallable GlobalAcceleratorClient::DeleteListenerCallable(const DeleteListenerRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DeleteListenerOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteListener(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::DeleteListenerAsync(const DeleteListenerRequest& request, const DeleteListenerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DeleteListenerAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::DeleteListenerAsyncHelper(const DeleteListenerRequest& request, const DeleteListenerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DeleteListener(request), context);
}
DeprovisionByoipCidrOutcome GlobalAcceleratorClient::DeprovisionByoipCidr(const DeprovisionByoipCidrRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DeprovisionByoipCidrOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DeprovisionByoipCidrOutcomeCallable GlobalAcceleratorClient::DeprovisionByoipCidrCallable(const DeprovisionByoipCidrRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DeprovisionByoipCidrOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeprovisionByoipCidr(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::DeprovisionByoipCidrAsync(const DeprovisionByoipCidrRequest& request, const DeprovisionByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DeprovisionByoipCidrAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::DeprovisionByoipCidrAsyncHelper(const DeprovisionByoipCidrRequest& request, const DeprovisionByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DeprovisionByoipCidr(request), context);
}
DescribeAcceleratorOutcome GlobalAcceleratorClient::DescribeAccelerator(const DescribeAcceleratorRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DescribeAcceleratorOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DescribeAcceleratorOutcomeCallable GlobalAcceleratorClient::DescribeAcceleratorCallable(const DescribeAcceleratorRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DescribeAcceleratorOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeAccelerator(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::DescribeAcceleratorAsync(const DescribeAcceleratorRequest& request, const DescribeAcceleratorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DescribeAcceleratorAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::DescribeAcceleratorAsyncHelper(const DescribeAcceleratorRequest& request, const DescribeAcceleratorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DescribeAccelerator(request), context);
}
DescribeAcceleratorAttributesOutcome GlobalAcceleratorClient::DescribeAcceleratorAttributes(const DescribeAcceleratorAttributesRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DescribeAcceleratorAttributesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DescribeAcceleratorAttributesOutcomeCallable GlobalAcceleratorClient::DescribeAcceleratorAttributesCallable(const DescribeAcceleratorAttributesRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DescribeAcceleratorAttributesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeAcceleratorAttributes(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::DescribeAcceleratorAttributesAsync(const DescribeAcceleratorAttributesRequest& request, const DescribeAcceleratorAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DescribeAcceleratorAttributesAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::DescribeAcceleratorAttributesAsyncHelper(const DescribeAcceleratorAttributesRequest& request, const DescribeAcceleratorAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DescribeAcceleratorAttributes(request), context);
}
DescribeEndpointGroupOutcome GlobalAcceleratorClient::DescribeEndpointGroup(const DescribeEndpointGroupRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DescribeEndpointGroupOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DescribeEndpointGroupOutcomeCallable GlobalAcceleratorClient::DescribeEndpointGroupCallable(const DescribeEndpointGroupRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DescribeEndpointGroupOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeEndpointGroup(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::DescribeEndpointGroupAsync(const DescribeEndpointGroupRequest& request, const DescribeEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DescribeEndpointGroupAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::DescribeEndpointGroupAsyncHelper(const DescribeEndpointGroupRequest& request, const DescribeEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DescribeEndpointGroup(request), context);
}
DescribeListenerOutcome GlobalAcceleratorClient::DescribeListener(const DescribeListenerRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return DescribeListenerOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
DescribeListenerOutcomeCallable GlobalAcceleratorClient::DescribeListenerCallable(const DescribeListenerRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< DescribeListenerOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeListener(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::DescribeListenerAsync(const DescribeListenerRequest& request, const DescribeListenerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->DescribeListenerAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::DescribeListenerAsyncHelper(const DescribeListenerRequest& request, const DescribeListenerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, DescribeListener(request), context);
}
ListAcceleratorsOutcome GlobalAcceleratorClient::ListAccelerators(const ListAcceleratorsRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return ListAcceleratorsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
ListAcceleratorsOutcomeCallable GlobalAcceleratorClient::ListAcceleratorsCallable(const ListAcceleratorsRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< ListAcceleratorsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListAccelerators(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::ListAcceleratorsAsync(const ListAcceleratorsRequest& request, const ListAcceleratorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->ListAcceleratorsAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::ListAcceleratorsAsyncHelper(const ListAcceleratorsRequest& request, const ListAcceleratorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, ListAccelerators(request), context);
}
ListByoipCidrsOutcome GlobalAcceleratorClient::ListByoipCidrs(const ListByoipCidrsRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return ListByoipCidrsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
ListByoipCidrsOutcomeCallable GlobalAcceleratorClient::ListByoipCidrsCallable(const ListByoipCidrsRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< ListByoipCidrsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListByoipCidrs(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::ListByoipCidrsAsync(const ListByoipCidrsRequest& request, const ListByoipCidrsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->ListByoipCidrsAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::ListByoipCidrsAsyncHelper(const ListByoipCidrsRequest& request, const ListByoipCidrsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, ListByoipCidrs(request), context);
}
ListEndpointGroupsOutcome GlobalAcceleratorClient::ListEndpointGroups(const ListEndpointGroupsRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return ListEndpointGroupsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
ListEndpointGroupsOutcomeCallable GlobalAcceleratorClient::ListEndpointGroupsCallable(const ListEndpointGroupsRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< ListEndpointGroupsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListEndpointGroups(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::ListEndpointGroupsAsync(const ListEndpointGroupsRequest& request, const ListEndpointGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->ListEndpointGroupsAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::ListEndpointGroupsAsyncHelper(const ListEndpointGroupsRequest& request, const ListEndpointGroupsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, ListEndpointGroups(request), context);
}
ListListenersOutcome GlobalAcceleratorClient::ListListeners(const ListListenersRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return ListListenersOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
ListListenersOutcomeCallable GlobalAcceleratorClient::ListListenersCallable(const ListListenersRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< ListListenersOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListListeners(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::ListListenersAsync(const ListListenersRequest& request, const ListListenersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->ListListenersAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::ListListenersAsyncHelper(const ListListenersRequest& request, const ListListenersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, ListListeners(request), context);
}
ListTagsForResourceOutcome GlobalAcceleratorClient::ListTagsForResource(const ListTagsForResourceRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return ListTagsForResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
ListTagsForResourceOutcomeCallable GlobalAcceleratorClient::ListTagsForResourceCallable(const ListTagsForResourceRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< ListTagsForResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTagsForResource(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::ListTagsForResourceAsync(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->ListTagsForResourceAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, ListTagsForResource(request), context);
}
ProvisionByoipCidrOutcome GlobalAcceleratorClient::ProvisionByoipCidr(const ProvisionByoipCidrRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return ProvisionByoipCidrOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
ProvisionByoipCidrOutcomeCallable GlobalAcceleratorClient::ProvisionByoipCidrCallable(const ProvisionByoipCidrRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< ProvisionByoipCidrOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ProvisionByoipCidr(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::ProvisionByoipCidrAsync(const ProvisionByoipCidrRequest& request, const ProvisionByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->ProvisionByoipCidrAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::ProvisionByoipCidrAsyncHelper(const ProvisionByoipCidrRequest& request, const ProvisionByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, ProvisionByoipCidr(request), context);
}
TagResourceOutcome GlobalAcceleratorClient::TagResource(const TagResourceRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return TagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
TagResourceOutcomeCallable GlobalAcceleratorClient::TagResourceCallable(const TagResourceRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< TagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->TagResource(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::TagResourceAsync(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->TagResourceAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::TagResourceAsyncHelper(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, TagResource(request), context);
}
UntagResourceOutcome GlobalAcceleratorClient::UntagResource(const UntagResourceRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return UntagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
UntagResourceOutcomeCallable GlobalAcceleratorClient::UntagResourceCallable(const UntagResourceRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< UntagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UntagResource(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::UntagResourceAsync(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->UntagResourceAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::UntagResourceAsyncHelper(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, UntagResource(request), context);
}
UpdateAcceleratorOutcome GlobalAcceleratorClient::UpdateAccelerator(const UpdateAcceleratorRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return UpdateAcceleratorOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
UpdateAcceleratorOutcomeCallable GlobalAcceleratorClient::UpdateAcceleratorCallable(const UpdateAcceleratorRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< UpdateAcceleratorOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateAccelerator(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::UpdateAcceleratorAsync(const UpdateAcceleratorRequest& request, const UpdateAcceleratorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->UpdateAcceleratorAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::UpdateAcceleratorAsyncHelper(const UpdateAcceleratorRequest& request, const UpdateAcceleratorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, UpdateAccelerator(request), context);
}
UpdateAcceleratorAttributesOutcome GlobalAcceleratorClient::UpdateAcceleratorAttributes(const UpdateAcceleratorAttributesRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return UpdateAcceleratorAttributesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
UpdateAcceleratorAttributesOutcomeCallable GlobalAcceleratorClient::UpdateAcceleratorAttributesCallable(const UpdateAcceleratorAttributesRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< UpdateAcceleratorAttributesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateAcceleratorAttributes(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::UpdateAcceleratorAttributesAsync(const UpdateAcceleratorAttributesRequest& request, const UpdateAcceleratorAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->UpdateAcceleratorAttributesAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::UpdateAcceleratorAttributesAsyncHelper(const UpdateAcceleratorAttributesRequest& request, const UpdateAcceleratorAttributesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, UpdateAcceleratorAttributes(request), context);
}
UpdateEndpointGroupOutcome GlobalAcceleratorClient::UpdateEndpointGroup(const UpdateEndpointGroupRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return UpdateEndpointGroupOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
UpdateEndpointGroupOutcomeCallable GlobalAcceleratorClient::UpdateEndpointGroupCallable(const UpdateEndpointGroupRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< UpdateEndpointGroupOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateEndpointGroup(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::UpdateEndpointGroupAsync(const UpdateEndpointGroupRequest& request, const UpdateEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->UpdateEndpointGroupAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::UpdateEndpointGroupAsyncHelper(const UpdateEndpointGroupRequest& request, const UpdateEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, UpdateEndpointGroup(request), context);
}
UpdateListenerOutcome GlobalAcceleratorClient::UpdateListener(const UpdateListenerRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return UpdateListenerOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
UpdateListenerOutcomeCallable GlobalAcceleratorClient::UpdateListenerCallable(const UpdateListenerRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< UpdateListenerOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateListener(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::UpdateListenerAsync(const UpdateListenerRequest& request, const UpdateListenerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->UpdateListenerAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::UpdateListenerAsyncHelper(const UpdateListenerRequest& request, const UpdateListenerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, UpdateListener(request), context);
}
WithdrawByoipCidrOutcome GlobalAcceleratorClient::WithdrawByoipCidr(const WithdrawByoipCidrRequest& request) const
{
Aws::Http::URI uri = m_uri;
Aws::StringStream ss;
ss << "/";
uri.SetPath(uri.GetPath() + ss.str());
return WithdrawByoipCidrOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER));
}
WithdrawByoipCidrOutcomeCallable GlobalAcceleratorClient::WithdrawByoipCidrCallable(const WithdrawByoipCidrRequest& request) const
{
auto task = Aws::MakeShared< std::packaged_task< WithdrawByoipCidrOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->WithdrawByoipCidr(request); } );
auto packagedFunction = [task]() { (*task)(); };
m_executor->Submit(packagedFunction);
return task->get_future();
}
void GlobalAcceleratorClient::WithdrawByoipCidrAsync(const WithdrawByoipCidrRequest& request, const WithdrawByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
m_executor->Submit( [this, request, handler, context](){ this->WithdrawByoipCidrAsyncHelper( request, handler, context ); } );
}
void GlobalAcceleratorClient::WithdrawByoipCidrAsyncHelper(const WithdrawByoipCidrRequest& request, const WithdrawByoipCidrResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
{
handler(this, request, WithdrawByoipCidr(request), context);
}

View File

@@ -0,0 +1,64 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/GlobalAcceleratorEndpoint.h>
#include <aws/core/utils/memory/stl/AWSStringStream.h>
#include <aws/core/utils/HashingUtils.h>
using namespace Aws;
using namespace Aws::GlobalAccelerator;
namespace Aws
{
namespace GlobalAccelerator
{
namespace GlobalAcceleratorEndpoint
{
static const int CN_NORTH_1_HASH = Aws::Utils::HashingUtils::HashString("cn-north-1");
static const int CN_NORTHWEST_1_HASH = Aws::Utils::HashingUtils::HashString("cn-northwest-1");
static const int US_ISO_EAST_1_HASH = Aws::Utils::HashingUtils::HashString("us-iso-east-1");
static const int US_ISOB_EAST_1_HASH = Aws::Utils::HashingUtils::HashString("us-isob-east-1");
Aws::String ForRegion(const Aws::String& regionName, bool useDualStack)
{
// Fallback to us-east-1 if global endpoint does not exists.
Aws::String region = regionName == Aws::Region::AWS_GLOBAL ? Aws::Region::US_EAST_1 : regionName;
auto hash = Aws::Utils::HashingUtils::HashString(region.c_str());
Aws::StringStream ss;
ss << "globalaccelerator" << ".";
if(useDualStack)
{
ss << "dualstack.";
}
ss << region;
if (hash == CN_NORTH_1_HASH || hash == CN_NORTHWEST_1_HASH)
{
ss << ".amazonaws.com.cn";
}
else if (hash == US_ISO_EAST_1_HASH)
{
ss << ".c2s.ic.gov";
}
else if (hash == US_ISOB_EAST_1_HASH)
{
ss << ".sc2s.sgov.gov";
}
else
{
ss << ".amazonaws.com";
}
return ss.str();
}
} // namespace GlobalAcceleratorEndpoint
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,22 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/core/client/AWSError.h>
#include <aws/globalaccelerator/GlobalAcceleratorErrorMarshaller.h>
#include <aws/globalaccelerator/GlobalAcceleratorErrors.h>
using namespace Aws::Client;
using namespace Aws::GlobalAccelerator;
AWSError<CoreErrors> GlobalAcceleratorErrorMarshaller::FindErrorByName(const char* errorName) const
{
AWSError<CoreErrors> error = GlobalAcceleratorErrorMapper::GetErrorForName(errorName);
if(error.GetErrorType() != CoreErrors::UNKNOWN)
{
return error;
}
return AWSErrorMarshaller::FindErrorByName(errorName);
}

View File

@@ -0,0 +1,102 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/core/client/AWSError.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/globalaccelerator/GlobalAcceleratorErrors.h>
using namespace Aws::Client;
using namespace Aws::Utils;
using namespace Aws::GlobalAccelerator;
namespace Aws
{
namespace GlobalAccelerator
{
namespace GlobalAcceleratorErrorMapper
{
static const int LIMIT_EXCEEDED_HASH = HashingUtils::HashString("LimitExceededException");
static const int ACCELERATOR_NOT_FOUND_HASH = HashingUtils::HashString("AcceleratorNotFoundException");
static const int INCORRECT_CIDR_STATE_HASH = HashingUtils::HashString("IncorrectCidrStateException");
static const int INVALID_NEXT_TOKEN_HASH = HashingUtils::HashString("InvalidNextTokenException");
static const int BYOIP_CIDR_NOT_FOUND_HASH = HashingUtils::HashString("ByoipCidrNotFoundException");
static const int LISTENER_NOT_FOUND_HASH = HashingUtils::HashString("ListenerNotFoundException");
static const int ASSOCIATED_LISTENER_FOUND_HASH = HashingUtils::HashString("AssociatedListenerFoundException");
static const int INVALID_PORT_RANGE_HASH = HashingUtils::HashString("InvalidPortRangeException");
static const int ENDPOINT_GROUP_NOT_FOUND_HASH = HashingUtils::HashString("EndpointGroupNotFoundException");
static const int INTERNAL_SERVICE_ERROR_HASH = HashingUtils::HashString("InternalServiceErrorException");
static const int ENDPOINT_GROUP_ALREADY_EXISTS_HASH = HashingUtils::HashString("EndpointGroupAlreadyExistsException");
static const int INVALID_ARGUMENT_HASH = HashingUtils::HashString("InvalidArgumentException");
static const int ASSOCIATED_ENDPOINT_GROUP_FOUND_HASH = HashingUtils::HashString("AssociatedEndpointGroupFoundException");
static const int ACCELERATOR_NOT_DISABLED_HASH = HashingUtils::HashString("AcceleratorNotDisabledException");
AWSError<CoreErrors> GetErrorForName(const char* errorName)
{
int hashCode = HashingUtils::HashString(errorName);
if (hashCode == LIMIT_EXCEEDED_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::LIMIT_EXCEEDED), true);
}
else if (hashCode == ACCELERATOR_NOT_FOUND_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::ACCELERATOR_NOT_FOUND), false);
}
else if (hashCode == INCORRECT_CIDR_STATE_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::INCORRECT_CIDR_STATE), false);
}
else if (hashCode == INVALID_NEXT_TOKEN_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::INVALID_NEXT_TOKEN), false);
}
else if (hashCode == BYOIP_CIDR_NOT_FOUND_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::BYOIP_CIDR_NOT_FOUND), false);
}
else if (hashCode == LISTENER_NOT_FOUND_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::LISTENER_NOT_FOUND), false);
}
else if (hashCode == ASSOCIATED_LISTENER_FOUND_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::ASSOCIATED_LISTENER_FOUND), false);
}
else if (hashCode == INVALID_PORT_RANGE_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::INVALID_PORT_RANGE), false);
}
else if (hashCode == ENDPOINT_GROUP_NOT_FOUND_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::ENDPOINT_GROUP_NOT_FOUND), false);
}
else if (hashCode == INTERNAL_SERVICE_ERROR_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::INTERNAL_SERVICE_ERROR), false);
}
else if (hashCode == ENDPOINT_GROUP_ALREADY_EXISTS_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::ENDPOINT_GROUP_ALREADY_EXISTS), false);
}
else if (hashCode == INVALID_ARGUMENT_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::INVALID_ARGUMENT), false);
}
else if (hashCode == ASSOCIATED_ENDPOINT_GROUP_FOUND_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::ASSOCIATED_ENDPOINT_GROUP_FOUND), false);
}
else if (hashCode == ACCELERATOR_NOT_DISABLED_HASH)
{
return AWSError<CoreErrors>(static_cast<CoreErrors>(GlobalAcceleratorErrors::ACCELERATOR_NOT_DISABLED), false);
}
return AWSError<CoreErrors>(CoreErrors::UNKNOWN, false);
}
} // namespace GlobalAcceleratorErrorMapper
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,189 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/Accelerator.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
Accelerator::Accelerator() :
m_acceleratorArnHasBeenSet(false),
m_nameHasBeenSet(false),
m_ipAddressType(IpAddressType::NOT_SET),
m_ipAddressTypeHasBeenSet(false),
m_enabled(false),
m_enabledHasBeenSet(false),
m_ipSetsHasBeenSet(false),
m_dnsNameHasBeenSet(false),
m_status(AcceleratorStatus::NOT_SET),
m_statusHasBeenSet(false),
m_createdTimeHasBeenSet(false),
m_lastModifiedTimeHasBeenSet(false)
{
}
Accelerator::Accelerator(JsonView jsonValue) :
m_acceleratorArnHasBeenSet(false),
m_nameHasBeenSet(false),
m_ipAddressType(IpAddressType::NOT_SET),
m_ipAddressTypeHasBeenSet(false),
m_enabled(false),
m_enabledHasBeenSet(false),
m_ipSetsHasBeenSet(false),
m_dnsNameHasBeenSet(false),
m_status(AcceleratorStatus::NOT_SET),
m_statusHasBeenSet(false),
m_createdTimeHasBeenSet(false),
m_lastModifiedTimeHasBeenSet(false)
{
*this = jsonValue;
}
Accelerator& Accelerator::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("AcceleratorArn"))
{
m_acceleratorArn = jsonValue.GetString("AcceleratorArn");
m_acceleratorArnHasBeenSet = true;
}
if(jsonValue.ValueExists("Name"))
{
m_name = jsonValue.GetString("Name");
m_nameHasBeenSet = true;
}
if(jsonValue.ValueExists("IpAddressType"))
{
m_ipAddressType = IpAddressTypeMapper::GetIpAddressTypeForName(jsonValue.GetString("IpAddressType"));
m_ipAddressTypeHasBeenSet = true;
}
if(jsonValue.ValueExists("Enabled"))
{
m_enabled = jsonValue.GetBool("Enabled");
m_enabledHasBeenSet = true;
}
if(jsonValue.ValueExists("IpSets"))
{
Array<JsonView> ipSetsJsonList = jsonValue.GetArray("IpSets");
for(unsigned ipSetsIndex = 0; ipSetsIndex < ipSetsJsonList.GetLength(); ++ipSetsIndex)
{
m_ipSets.push_back(ipSetsJsonList[ipSetsIndex].AsObject());
}
m_ipSetsHasBeenSet = true;
}
if(jsonValue.ValueExists("DnsName"))
{
m_dnsName = jsonValue.GetString("DnsName");
m_dnsNameHasBeenSet = true;
}
if(jsonValue.ValueExists("Status"))
{
m_status = AcceleratorStatusMapper::GetAcceleratorStatusForName(jsonValue.GetString("Status"));
m_statusHasBeenSet = true;
}
if(jsonValue.ValueExists("CreatedTime"))
{
m_createdTime = jsonValue.GetDouble("CreatedTime");
m_createdTimeHasBeenSet = true;
}
if(jsonValue.ValueExists("LastModifiedTime"))
{
m_lastModifiedTime = jsonValue.GetDouble("LastModifiedTime");
m_lastModifiedTimeHasBeenSet = true;
}
return *this;
}
JsonValue Accelerator::Jsonize() const
{
JsonValue payload;
if(m_acceleratorArnHasBeenSet)
{
payload.WithString("AcceleratorArn", m_acceleratorArn);
}
if(m_nameHasBeenSet)
{
payload.WithString("Name", m_name);
}
if(m_ipAddressTypeHasBeenSet)
{
payload.WithString("IpAddressType", IpAddressTypeMapper::GetNameForIpAddressType(m_ipAddressType));
}
if(m_enabledHasBeenSet)
{
payload.WithBool("Enabled", m_enabled);
}
if(m_ipSetsHasBeenSet)
{
Array<JsonValue> ipSetsJsonList(m_ipSets.size());
for(unsigned ipSetsIndex = 0; ipSetsIndex < ipSetsJsonList.GetLength(); ++ipSetsIndex)
{
ipSetsJsonList[ipSetsIndex].AsObject(m_ipSets[ipSetsIndex].Jsonize());
}
payload.WithArray("IpSets", std::move(ipSetsJsonList));
}
if(m_dnsNameHasBeenSet)
{
payload.WithString("DnsName", m_dnsName);
}
if(m_statusHasBeenSet)
{
payload.WithString("Status", AcceleratorStatusMapper::GetNameForAcceleratorStatus(m_status));
}
if(m_createdTimeHasBeenSet)
{
payload.WithDouble("CreatedTime", m_createdTime.SecondsWithMSPrecision());
}
if(m_lastModifiedTimeHasBeenSet)
{
payload.WithDouble("LastModifiedTime", m_lastModifiedTime.SecondsWithMSPrecision());
}
return payload;
}
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,91 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/AcceleratorAttributes.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
AcceleratorAttributes::AcceleratorAttributes() :
m_flowLogsEnabled(false),
m_flowLogsEnabledHasBeenSet(false),
m_flowLogsS3BucketHasBeenSet(false),
m_flowLogsS3PrefixHasBeenSet(false)
{
}
AcceleratorAttributes::AcceleratorAttributes(JsonView jsonValue) :
m_flowLogsEnabled(false),
m_flowLogsEnabledHasBeenSet(false),
m_flowLogsS3BucketHasBeenSet(false),
m_flowLogsS3PrefixHasBeenSet(false)
{
*this = jsonValue;
}
AcceleratorAttributes& AcceleratorAttributes::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("FlowLogsEnabled"))
{
m_flowLogsEnabled = jsonValue.GetBool("FlowLogsEnabled");
m_flowLogsEnabledHasBeenSet = true;
}
if(jsonValue.ValueExists("FlowLogsS3Bucket"))
{
m_flowLogsS3Bucket = jsonValue.GetString("FlowLogsS3Bucket");
m_flowLogsS3BucketHasBeenSet = true;
}
if(jsonValue.ValueExists("FlowLogsS3Prefix"))
{
m_flowLogsS3Prefix = jsonValue.GetString("FlowLogsS3Prefix");
m_flowLogsS3PrefixHasBeenSet = true;
}
return *this;
}
JsonValue AcceleratorAttributes::Jsonize() const
{
JsonValue payload;
if(m_flowLogsEnabledHasBeenSet)
{
payload.WithBool("FlowLogsEnabled", m_flowLogsEnabled);
}
if(m_flowLogsS3BucketHasBeenSet)
{
payload.WithString("FlowLogsS3Bucket", m_flowLogsS3Bucket);
}
if(m_flowLogsS3PrefixHasBeenSet)
{
payload.WithString("FlowLogsS3Prefix", m_flowLogsS3Prefix);
}
return payload;
}
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,70 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/AcceleratorStatus.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/core/Globals.h>
#include <aws/core/utils/EnumParseOverflowContainer.h>
using namespace Aws::Utils;
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
namespace AcceleratorStatusMapper
{
static const int DEPLOYED_HASH = HashingUtils::HashString("DEPLOYED");
static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS");
AcceleratorStatus GetAcceleratorStatusForName(const Aws::String& name)
{
int hashCode = HashingUtils::HashString(name.c_str());
if (hashCode == DEPLOYED_HASH)
{
return AcceleratorStatus::DEPLOYED;
}
else if (hashCode == IN_PROGRESS_HASH)
{
return AcceleratorStatus::IN_PROGRESS;
}
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
overflowContainer->StoreOverflow(hashCode, name);
return static_cast<AcceleratorStatus>(hashCode);
}
return AcceleratorStatus::NOT_SET;
}
Aws::String GetNameForAcceleratorStatus(AcceleratorStatus enumValue)
{
switch(enumValue)
{
case AcceleratorStatus::DEPLOYED:
return "DEPLOYED";
case AcceleratorStatus::IN_PROGRESS:
return "IN_PROGRESS";
default:
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
}
return {};
}
}
} // namespace AcceleratorStatusMapper
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,43 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/AdvertiseByoipCidrRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
AdvertiseByoipCidrRequest::AdvertiseByoipCidrRequest() :
m_cidrHasBeenSet(false)
{
}
Aws::String AdvertiseByoipCidrRequest::SerializePayload() const
{
JsonValue payload;
if(m_cidrHasBeenSet)
{
payload.WithString("Cidr", m_cidr);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection AdvertiseByoipCidrRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "GlobalAccelerator_V20180706.AdvertiseByoipCidr"));
return headers;
}

View File

@@ -0,0 +1,40 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/AdvertiseByoipCidrResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
AdvertiseByoipCidrResult::AdvertiseByoipCidrResult()
{
}
AdvertiseByoipCidrResult::AdvertiseByoipCidrResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
AdvertiseByoipCidrResult& AdvertiseByoipCidrResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("ByoipCidr"))
{
m_byoipCidr = jsonValue.GetObject("ByoipCidr");
}
return *this;
}

View File

@@ -0,0 +1,98 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/ByoipCidr.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
ByoipCidr::ByoipCidr() :
m_cidrHasBeenSet(false),
m_state(ByoipCidrState::NOT_SET),
m_stateHasBeenSet(false),
m_eventsHasBeenSet(false)
{
}
ByoipCidr::ByoipCidr(JsonView jsonValue) :
m_cidrHasBeenSet(false),
m_state(ByoipCidrState::NOT_SET),
m_stateHasBeenSet(false),
m_eventsHasBeenSet(false)
{
*this = jsonValue;
}
ByoipCidr& ByoipCidr::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("Cidr"))
{
m_cidr = jsonValue.GetString("Cidr");
m_cidrHasBeenSet = true;
}
if(jsonValue.ValueExists("State"))
{
m_state = ByoipCidrStateMapper::GetByoipCidrStateForName(jsonValue.GetString("State"));
m_stateHasBeenSet = true;
}
if(jsonValue.ValueExists("Events"))
{
Array<JsonView> eventsJsonList = jsonValue.GetArray("Events");
for(unsigned eventsIndex = 0; eventsIndex < eventsJsonList.GetLength(); ++eventsIndex)
{
m_events.push_back(eventsJsonList[eventsIndex].AsObject());
}
m_eventsHasBeenSet = true;
}
return *this;
}
JsonValue ByoipCidr::Jsonize() const
{
JsonValue payload;
if(m_cidrHasBeenSet)
{
payload.WithString("Cidr", m_cidr);
}
if(m_stateHasBeenSet)
{
payload.WithString("State", ByoipCidrStateMapper::GetNameForByoipCidrState(m_state));
}
if(m_eventsHasBeenSet)
{
Array<JsonValue> eventsJsonList(m_events.size());
for(unsigned eventsIndex = 0; eventsIndex < eventsJsonList.GetLength(); ++eventsIndex)
{
eventsJsonList[eventsIndex].AsObject(m_events[eventsIndex].Jsonize());
}
payload.WithArray("Events", std::move(eventsJsonList));
}
return payload;
}
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,73 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/ByoipCidrEvent.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
ByoipCidrEvent::ByoipCidrEvent() :
m_messageHasBeenSet(false),
m_timestampHasBeenSet(false)
{
}
ByoipCidrEvent::ByoipCidrEvent(JsonView jsonValue) :
m_messageHasBeenSet(false),
m_timestampHasBeenSet(false)
{
*this = jsonValue;
}
ByoipCidrEvent& ByoipCidrEvent::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("Message"))
{
m_message = jsonValue.GetString("Message");
m_messageHasBeenSet = true;
}
if(jsonValue.ValueExists("Timestamp"))
{
m_timestamp = jsonValue.GetDouble("Timestamp");
m_timestampHasBeenSet = true;
}
return *this;
}
JsonValue ByoipCidrEvent::Jsonize() const
{
JsonValue payload;
if(m_messageHasBeenSet)
{
payload.WithString("Message", m_message);
}
if(m_timestampHasBeenSet)
{
payload.WithDouble("Timestamp", m_timestamp.SecondsWithMSPrecision());
}
return payload;
}
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,133 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/ByoipCidrState.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/core/Globals.h>
#include <aws/core/utils/EnumParseOverflowContainer.h>
using namespace Aws::Utils;
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
namespace ByoipCidrStateMapper
{
static const int PENDING_PROVISIONING_HASH = HashingUtils::HashString("PENDING_PROVISIONING");
static const int READY_HASH = HashingUtils::HashString("READY");
static const int PENDING_ADVERTISING_HASH = HashingUtils::HashString("PENDING_ADVERTISING");
static const int ADVERTISING_HASH = HashingUtils::HashString("ADVERTISING");
static const int PENDING_WITHDRAWING_HASH = HashingUtils::HashString("PENDING_WITHDRAWING");
static const int PENDING_DEPROVISIONING_HASH = HashingUtils::HashString("PENDING_DEPROVISIONING");
static const int DEPROVISIONED_HASH = HashingUtils::HashString("DEPROVISIONED");
static const int FAILED_PROVISION_HASH = HashingUtils::HashString("FAILED_PROVISION");
static const int FAILED_ADVERTISING_HASH = HashingUtils::HashString("FAILED_ADVERTISING");
static const int FAILED_WITHDRAW_HASH = HashingUtils::HashString("FAILED_WITHDRAW");
static const int FAILED_DEPROVISION_HASH = HashingUtils::HashString("FAILED_DEPROVISION");
ByoipCidrState GetByoipCidrStateForName(const Aws::String& name)
{
int hashCode = HashingUtils::HashString(name.c_str());
if (hashCode == PENDING_PROVISIONING_HASH)
{
return ByoipCidrState::PENDING_PROVISIONING;
}
else if (hashCode == READY_HASH)
{
return ByoipCidrState::READY;
}
else if (hashCode == PENDING_ADVERTISING_HASH)
{
return ByoipCidrState::PENDING_ADVERTISING;
}
else if (hashCode == ADVERTISING_HASH)
{
return ByoipCidrState::ADVERTISING;
}
else if (hashCode == PENDING_WITHDRAWING_HASH)
{
return ByoipCidrState::PENDING_WITHDRAWING;
}
else if (hashCode == PENDING_DEPROVISIONING_HASH)
{
return ByoipCidrState::PENDING_DEPROVISIONING;
}
else if (hashCode == DEPROVISIONED_HASH)
{
return ByoipCidrState::DEPROVISIONED;
}
else if (hashCode == FAILED_PROVISION_HASH)
{
return ByoipCidrState::FAILED_PROVISION;
}
else if (hashCode == FAILED_ADVERTISING_HASH)
{
return ByoipCidrState::FAILED_ADVERTISING;
}
else if (hashCode == FAILED_WITHDRAW_HASH)
{
return ByoipCidrState::FAILED_WITHDRAW;
}
else if (hashCode == FAILED_DEPROVISION_HASH)
{
return ByoipCidrState::FAILED_DEPROVISION;
}
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
overflowContainer->StoreOverflow(hashCode, name);
return static_cast<ByoipCidrState>(hashCode);
}
return ByoipCidrState::NOT_SET;
}
Aws::String GetNameForByoipCidrState(ByoipCidrState enumValue)
{
switch(enumValue)
{
case ByoipCidrState::PENDING_PROVISIONING:
return "PENDING_PROVISIONING";
case ByoipCidrState::READY:
return "READY";
case ByoipCidrState::PENDING_ADVERTISING:
return "PENDING_ADVERTISING";
case ByoipCidrState::ADVERTISING:
return "ADVERTISING";
case ByoipCidrState::PENDING_WITHDRAWING:
return "PENDING_WITHDRAWING";
case ByoipCidrState::PENDING_DEPROVISIONING:
return "PENDING_DEPROVISIONING";
case ByoipCidrState::DEPROVISIONED:
return "DEPROVISIONED";
case ByoipCidrState::FAILED_PROVISION:
return "FAILED_PROVISION";
case ByoipCidrState::FAILED_ADVERTISING:
return "FAILED_ADVERTISING";
case ByoipCidrState::FAILED_WITHDRAW:
return "FAILED_WITHDRAW";
case ByoipCidrState::FAILED_DEPROVISION:
return "FAILED_DEPROVISION";
default:
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
}
return {};
}
}
} // namespace ByoipCidrStateMapper
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,74 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/CidrAuthorizationContext.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
CidrAuthorizationContext::CidrAuthorizationContext() :
m_messageHasBeenSet(false),
m_signatureHasBeenSet(false)
{
}
CidrAuthorizationContext::CidrAuthorizationContext(JsonView jsonValue) :
m_messageHasBeenSet(false),
m_signatureHasBeenSet(false)
{
*this = jsonValue;
}
CidrAuthorizationContext& CidrAuthorizationContext::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("Message"))
{
m_message = jsonValue.GetString("Message");
m_messageHasBeenSet = true;
}
if(jsonValue.ValueExists("Signature"))
{
m_signature = jsonValue.GetString("Signature");
m_signatureHasBeenSet = true;
}
return *this;
}
JsonValue CidrAuthorizationContext::Jsonize() const
{
JsonValue payload;
if(m_messageHasBeenSet)
{
payload.WithString("Message", m_message);
}
if(m_signatureHasBeenSet)
{
payload.WithString("Signature", m_signature);
}
return payload;
}
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,70 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/ClientAffinity.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/core/Globals.h>
#include <aws/core/utils/EnumParseOverflowContainer.h>
using namespace Aws::Utils;
namespace Aws
{
namespace GlobalAccelerator
{
namespace Model
{
namespace ClientAffinityMapper
{
static const int NONE_HASH = HashingUtils::HashString("NONE");
static const int SOURCE_IP_HASH = HashingUtils::HashString("SOURCE_IP");
ClientAffinity GetClientAffinityForName(const Aws::String& name)
{
int hashCode = HashingUtils::HashString(name.c_str());
if (hashCode == NONE_HASH)
{
return ClientAffinity::NONE;
}
else if (hashCode == SOURCE_IP_HASH)
{
return ClientAffinity::SOURCE_IP;
}
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
overflowContainer->StoreOverflow(hashCode, name);
return static_cast<ClientAffinity>(hashCode);
}
return ClientAffinity::NOT_SET;
}
Aws::String GetNameForClientAffinity(ClientAffinity enumValue)
{
switch(enumValue)
{
case ClientAffinity::NONE:
return "NONE";
case ClientAffinity::SOURCE_IP:
return "SOURCE_IP";
default:
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
}
return {};
}
}
} // namespace ClientAffinityMapper
} // namespace Model
} // namespace GlobalAccelerator
} // namespace Aws

View File

@@ -0,0 +1,90 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/CreateAcceleratorRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
CreateAcceleratorRequest::CreateAcceleratorRequest() :
m_nameHasBeenSet(false),
m_ipAddressType(IpAddressType::NOT_SET),
m_ipAddressTypeHasBeenSet(false),
m_ipAddressesHasBeenSet(false),
m_enabled(false),
m_enabledHasBeenSet(false),
m_idempotencyToken(Aws::Utils::UUID::RandomUUID()),
m_idempotencyTokenHasBeenSet(true),
m_tagsHasBeenSet(false)
{
}
Aws::String CreateAcceleratorRequest::SerializePayload() const
{
JsonValue payload;
if(m_nameHasBeenSet)
{
payload.WithString("Name", m_name);
}
if(m_ipAddressTypeHasBeenSet)
{
payload.WithString("IpAddressType", IpAddressTypeMapper::GetNameForIpAddressType(m_ipAddressType));
}
if(m_ipAddressesHasBeenSet)
{
Array<JsonValue> ipAddressesJsonList(m_ipAddresses.size());
for(unsigned ipAddressesIndex = 0; ipAddressesIndex < ipAddressesJsonList.GetLength(); ++ipAddressesIndex)
{
ipAddressesJsonList[ipAddressesIndex].AsString(m_ipAddresses[ipAddressesIndex]);
}
payload.WithArray("IpAddresses", std::move(ipAddressesJsonList));
}
if(m_enabledHasBeenSet)
{
payload.WithBool("Enabled", m_enabled);
}
if(m_idempotencyTokenHasBeenSet)
{
payload.WithString("IdempotencyToken", m_idempotencyToken);
}
if(m_tagsHasBeenSet)
{
Array<JsonValue> tagsJsonList(m_tags.size());
for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex)
{
tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize());
}
payload.WithArray("Tags", std::move(tagsJsonList));
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection CreateAcceleratorRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "GlobalAccelerator_V20180706.CreateAccelerator"));
return headers;
}

View File

@@ -0,0 +1,40 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/CreateAcceleratorResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
CreateAcceleratorResult::CreateAcceleratorResult()
{
}
CreateAcceleratorResult::CreateAcceleratorResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
CreateAcceleratorResult& CreateAcceleratorResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("Accelerator"))
{
m_accelerator = jsonValue.GetObject("Accelerator");
}
return *this;
}

View File

@@ -0,0 +1,116 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/CreateEndpointGroupRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
CreateEndpointGroupRequest::CreateEndpointGroupRequest() :
m_listenerArnHasBeenSet(false),
m_endpointGroupRegionHasBeenSet(false),
m_endpointConfigurationsHasBeenSet(false),
m_trafficDialPercentage(0.0),
m_trafficDialPercentageHasBeenSet(false),
m_healthCheckPort(0),
m_healthCheckPortHasBeenSet(false),
m_healthCheckProtocol(HealthCheckProtocol::NOT_SET),
m_healthCheckProtocolHasBeenSet(false),
m_healthCheckPathHasBeenSet(false),
m_healthCheckIntervalSeconds(0),
m_healthCheckIntervalSecondsHasBeenSet(false),
m_thresholdCount(0),
m_thresholdCountHasBeenSet(false),
m_idempotencyToken(Aws::Utils::UUID::RandomUUID()),
m_idempotencyTokenHasBeenSet(true)
{
}
Aws::String CreateEndpointGroupRequest::SerializePayload() const
{
JsonValue payload;
if(m_listenerArnHasBeenSet)
{
payload.WithString("ListenerArn", m_listenerArn);
}
if(m_endpointGroupRegionHasBeenSet)
{
payload.WithString("EndpointGroupRegion", m_endpointGroupRegion);
}
if(m_endpointConfigurationsHasBeenSet)
{
Array<JsonValue> endpointConfigurationsJsonList(m_endpointConfigurations.size());
for(unsigned endpointConfigurationsIndex = 0; endpointConfigurationsIndex < endpointConfigurationsJsonList.GetLength(); ++endpointConfigurationsIndex)
{
endpointConfigurationsJsonList[endpointConfigurationsIndex].AsObject(m_endpointConfigurations[endpointConfigurationsIndex].Jsonize());
}
payload.WithArray("EndpointConfigurations", std::move(endpointConfigurationsJsonList));
}
if(m_trafficDialPercentageHasBeenSet)
{
payload.WithDouble("TrafficDialPercentage", m_trafficDialPercentage);
}
if(m_healthCheckPortHasBeenSet)
{
payload.WithInteger("HealthCheckPort", m_healthCheckPort);
}
if(m_healthCheckProtocolHasBeenSet)
{
payload.WithString("HealthCheckProtocol", HealthCheckProtocolMapper::GetNameForHealthCheckProtocol(m_healthCheckProtocol));
}
if(m_healthCheckPathHasBeenSet)
{
payload.WithString("HealthCheckPath", m_healthCheckPath);
}
if(m_healthCheckIntervalSecondsHasBeenSet)
{
payload.WithInteger("HealthCheckIntervalSeconds", m_healthCheckIntervalSeconds);
}
if(m_thresholdCountHasBeenSet)
{
payload.WithInteger("ThresholdCount", m_thresholdCount);
}
if(m_idempotencyTokenHasBeenSet)
{
payload.WithString("IdempotencyToken", m_idempotencyToken);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection CreateEndpointGroupRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "GlobalAccelerator_V20180706.CreateEndpointGroup"));
return headers;
}

View File

@@ -0,0 +1,40 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/CreateEndpointGroupResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
CreateEndpointGroupResult::CreateEndpointGroupResult()
{
}
CreateEndpointGroupResult::CreateEndpointGroupResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
CreateEndpointGroupResult& CreateEndpointGroupResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("EndpointGroup"))
{
m_endpointGroup = jsonValue.GetObject("EndpointGroup");
}
return *this;
}

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/CreateListenerRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
CreateListenerRequest::CreateListenerRequest() :
m_acceleratorArnHasBeenSet(false),
m_portRangesHasBeenSet(false),
m_protocol(Protocol::NOT_SET),
m_protocolHasBeenSet(false),
m_clientAffinity(ClientAffinity::NOT_SET),
m_clientAffinityHasBeenSet(false),
m_idempotencyToken(Aws::Utils::UUID::RandomUUID()),
m_idempotencyTokenHasBeenSet(true)
{
}
Aws::String CreateListenerRequest::SerializePayload() const
{
JsonValue payload;
if(m_acceleratorArnHasBeenSet)
{
payload.WithString("AcceleratorArn", m_acceleratorArn);
}
if(m_portRangesHasBeenSet)
{
Array<JsonValue> portRangesJsonList(m_portRanges.size());
for(unsigned portRangesIndex = 0; portRangesIndex < portRangesJsonList.GetLength(); ++portRangesIndex)
{
portRangesJsonList[portRangesIndex].AsObject(m_portRanges[portRangesIndex].Jsonize());
}
payload.WithArray("PortRanges", std::move(portRangesJsonList));
}
if(m_protocolHasBeenSet)
{
payload.WithString("Protocol", ProtocolMapper::GetNameForProtocol(m_protocol));
}
if(m_clientAffinityHasBeenSet)
{
payload.WithString("ClientAffinity", ClientAffinityMapper::GetNameForClientAffinity(m_clientAffinity));
}
if(m_idempotencyTokenHasBeenSet)
{
payload.WithString("IdempotencyToken", m_idempotencyToken);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection CreateListenerRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "GlobalAccelerator_V20180706.CreateListener"));
return headers;
}

View File

@@ -0,0 +1,40 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/CreateListenerResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
CreateListenerResult::CreateListenerResult()
{
}
CreateListenerResult::CreateListenerResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
CreateListenerResult& CreateListenerResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("Listener"))
{
m_listener = jsonValue.GetObject("Listener");
}
return *this;
}

View File

@@ -0,0 +1,43 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/DeleteAcceleratorRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DeleteAcceleratorRequest::DeleteAcceleratorRequest() :
m_acceleratorArnHasBeenSet(false)
{
}
Aws::String DeleteAcceleratorRequest::SerializePayload() const
{
JsonValue payload;
if(m_acceleratorArnHasBeenSet)
{
payload.WithString("AcceleratorArn", m_acceleratorArn);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DeleteAcceleratorRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "GlobalAccelerator_V20180706.DeleteAccelerator"));
return headers;
}

View File

@@ -0,0 +1,43 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/DeleteEndpointGroupRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DeleteEndpointGroupRequest::DeleteEndpointGroupRequest() :
m_endpointGroupArnHasBeenSet(false)
{
}
Aws::String DeleteEndpointGroupRequest::SerializePayload() const
{
JsonValue payload;
if(m_endpointGroupArnHasBeenSet)
{
payload.WithString("EndpointGroupArn", m_endpointGroupArn);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DeleteEndpointGroupRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "GlobalAccelerator_V20180706.DeleteEndpointGroup"));
return headers;
}

View File

@@ -0,0 +1,43 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/DeleteListenerRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DeleteListenerRequest::DeleteListenerRequest() :
m_listenerArnHasBeenSet(false)
{
}
Aws::String DeleteListenerRequest::SerializePayload() const
{
JsonValue payload;
if(m_listenerArnHasBeenSet)
{
payload.WithString("ListenerArn", m_listenerArn);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DeleteListenerRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "GlobalAccelerator_V20180706.DeleteListener"));
return headers;
}

View File

@@ -0,0 +1,43 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/DeprovisionByoipCidrRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DeprovisionByoipCidrRequest::DeprovisionByoipCidrRequest() :
m_cidrHasBeenSet(false)
{
}
Aws::String DeprovisionByoipCidrRequest::SerializePayload() const
{
JsonValue payload;
if(m_cidrHasBeenSet)
{
payload.WithString("Cidr", m_cidr);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DeprovisionByoipCidrRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "GlobalAccelerator_V20180706.DeprovisionByoipCidr"));
return headers;
}

View File

@@ -0,0 +1,40 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/DeprovisionByoipCidrResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
DeprovisionByoipCidrResult::DeprovisionByoipCidrResult()
{
}
DeprovisionByoipCidrResult::DeprovisionByoipCidrResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
DeprovisionByoipCidrResult& DeprovisionByoipCidrResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("ByoipCidr"))
{
m_byoipCidr = jsonValue.GetObject("ByoipCidr");
}
return *this;
}

View File

@@ -0,0 +1,43 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/DescribeAcceleratorAttributesRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
DescribeAcceleratorAttributesRequest::DescribeAcceleratorAttributesRequest() :
m_acceleratorArnHasBeenSet(false)
{
}
Aws::String DescribeAcceleratorAttributesRequest::SerializePayload() const
{
JsonValue payload;
if(m_acceleratorArnHasBeenSet)
{
payload.WithString("AcceleratorArn", m_acceleratorArn);
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection DescribeAcceleratorAttributesRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "GlobalAccelerator_V20180706.DescribeAcceleratorAttributes"));
return headers;
}

View File

@@ -0,0 +1,40 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/globalaccelerator/model/DescribeAcceleratorAttributesResult.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/core/AmazonWebServiceResult.h>
#include <aws/core/utils/StringUtils.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <utility>
using namespace Aws::GlobalAccelerator::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
using namespace Aws;
DescribeAcceleratorAttributesResult::DescribeAcceleratorAttributesResult()
{
}
DescribeAcceleratorAttributesResult::DescribeAcceleratorAttributesResult(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
*this = result;
}
DescribeAcceleratorAttributesResult& DescribeAcceleratorAttributesResult::operator =(const Aws::AmazonWebServiceResult<JsonValue>& result)
{
JsonView jsonValue = result.GetPayload().View();
if(jsonValue.ValueExists("AcceleratorAttributes"))
{
m_acceleratorAttributes = jsonValue.GetObject("AcceleratorAttributes");
}
return *this;
}

Some files were not shown because too many files have changed in this diff Show More