Lesson 35 - Get Compute Auth Token Working

This commit is contained in:
Norman Lansing
2026-02-28 12:32:28 -05:00
parent 1d477ee42a
commit 4fde462bce
7743 changed files with 1397833 additions and 18 deletions

View File

@@ -0,0 +1,73 @@
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
using UnrealBuildTool;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;
public class AWSSDK : ModuleRules
{
private string[] LibraryNames =
{
// AWS SDK
"aws-checksums",
"aws-c-http",
"aws-c-io",
"aws-c-mqtt",
"aws-c-auth",
"aws-c-cal",
"aws-c-common",
"aws-c-compression",
"aws-c-event-stream",
"aws-c-s3",
"aws-c-sdkutils",
"aws-crt-cpp",
"aws-cpp-sdk-apigateway",
"aws-cpp-sdk-cloudformation",
"aws-cpp-sdk-cognito-idp",
"aws-cpp-sdk-core",
"aws-cpp-sdk-lambda",
"aws-cpp-sdk-s3",
"aws-cpp-sdk-secretsmanager",
"aws-cpp-sdk-ssm",
"aws-cpp-sdk-sts",
"aws-cpp-sdk-gamelift",
"aws-cpp-sdk-ecr",
};
// Reference: https://aws.amazon.com/blogs/gametech/how-to-integrate-the-aws-c-sdk-with-unreal-engine/
public AWSSDK(ReadOnlyTargetRules Target) : base(Target)
{
Type = ModuleType.External;
PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "Include"));
PublicDefinitions.Add("USE_IMPORT_EXPORT");
if (Target.Type == TargetRules.TargetType.Editor || Target.Type == TargetRules.TargetType.Client)
{
PublicDefinitions.Add("AWS_USE_IO_COMPLETION_PORTS=1");
PublicDefinitions.Add("__clang_analyzer__=0");
PublicDefinitions.Add("AWS_DEEP_CHECKS=0");
string LibrarysPath = Path.Combine(ModuleDirectory, "Binaries", UnrealTargetPlatform.Win64.ToString());
string OutputDir = Path.Combine("$(ProjectDir)", "Binaries", UnrealTargetPlatform.Win64.ToString());
foreach (string LibName in LibraryNames)
{
string LibFileName = LibName + ".lib";
string DllFileName = LibName + ".dll";
// Add the import library
PublicAdditionalLibraries.Add(Path.Combine(LibrarysPath, LibFileName));
// Do not load the DLL during startup. Delay-load the DLL when it is actually used.
PublicDelayLoadDLLs.Add(DllFileName);
// This stages the DLL next to the executable when you package your game.
RuntimeDependencies.Add(Path.Combine(OutputDir, DllFileName), Path.Combine(LibrarysPath, DllFileName));
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,61 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/client/GenericClientConfiguration.h>
#include <aws/core/endpoint/DefaultEndpointProvider.h>
#include <aws/core/endpoint/EndpointParameter.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/apigateway/APIGatewayEndpointRules.h>
namespace Aws
{
namespace APIGateway
{
namespace Endpoint
{
using EndpointParameters = Aws::Endpoint::EndpointParameters;
using Aws::Endpoint::EndpointProviderBase;
using Aws::Endpoint::DefaultEndpointProvider;
using APIGatewayClientContextParameters = Aws::Endpoint::ClientContextParameters;
using APIGatewayClientConfiguration = Aws::Client::GenericClientConfiguration;
using APIGatewayBuiltInParameters = Aws::Endpoint::BuiltInParameters;
/**
* The type for the APIGateway Client Endpoint Provider.
* Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider.
* The SDK must use service-specific type for each service per specification.
*/
using APIGatewayEndpointProviderBase =
EndpointProviderBase<APIGatewayClientConfiguration, APIGatewayBuiltInParameters, APIGatewayClientContextParameters>;
using APIGatewayDefaultEpProviderBase =
DefaultEndpointProvider<APIGatewayClientConfiguration, APIGatewayBuiltInParameters, APIGatewayClientContextParameters>;
/**
* Default endpoint provider used for this service
*/
class AWS_APIGATEWAY_API APIGatewayEndpointProvider : public APIGatewayDefaultEpProviderBase
{
public:
using APIGatewayResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome;
APIGatewayEndpointProvider()
: APIGatewayDefaultEpProviderBase(Aws::APIGateway::APIGatewayEndpointRules::GetRulesBlob(), Aws::APIGateway::APIGatewayEndpointRules::RulesBlobSize)
{}
~APIGatewayEndpointProvider()
{
}
};
} // namespace Endpoint
} // namespace APIGateway
} // 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 <cstddef>
#include <aws/apigateway/APIGateway_EXPORTS.h>
namespace Aws
{
namespace APIGateway
{
class APIGatewayEndpointRules
{
public:
static const size_t RulesBlobStrLen;
static const size_t RulesBlobSize;
static const char* GetRulesBlob();
};
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/client/AWSErrorMarshaller.h>
namespace Aws
{
namespace Client
{
class AWS_APIGATEWAY_API APIGatewayErrorMarshaller : 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,77 @@
/**
* 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/apigateway/APIGateway_EXPORTS.h>
namespace Aws
{
namespace APIGateway
{
enum class APIGatewayErrors
{
//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,
///////////////////////////////////////////////////////////////////////////////////////////
BAD_REQUEST= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1,
CONFLICT,
LIMIT_EXCEEDED,
NOT_FOUND,
TOO_MANY_REQUESTS,
UNAUTHORIZED
};
class AWS_APIGATEWAY_API APIGatewayError : public Aws::Client::AWSError<APIGatewayErrors>
{
public:
APIGatewayError() {}
APIGatewayError(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<APIGatewayErrors>(rhs) {}
APIGatewayError(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<APIGatewayErrors>(rhs) {}
APIGatewayError(const Aws::Client::AWSError<APIGatewayErrors>& rhs) : Aws::Client::AWSError<APIGatewayErrors>(rhs) {}
APIGatewayError(Aws::Client::AWSError<APIGatewayErrors>&& rhs) : Aws::Client::AWSError<APIGatewayErrors>(rhs) {}
template <typename T>
T GetModeledError();
};
namespace APIGatewayErrorMapper
{
AWS_APIGATEWAY_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName);
}
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,49 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/endpoint/AWSEndpoint.h>
#include <aws/core/AmazonSerializableWebServiceRequest.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <aws/core/http/HttpRequest.h>
#include <aws/core/AmazonStreamingWebServiceRequest.h>
namespace Aws
{
namespace APIGateway
{
class AWS_APIGATEWAY_API APIGatewayRequest : public Aws::AmazonSerializableWebServiceRequest
{
public:
using EndpointParameter = Aws::Endpoint::EndpointParameter;
using EndpointParameters = Aws::Endpoint::EndpointParameters;
virtual ~APIGatewayRequest () {}
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::JSON_CONTENT_TYPE ));
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::ACCEPT_HEADER, "application/json"));
}
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2015-07-09"));
return headers;
}
protected:
virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); }
};
typedef Aws::AmazonStreamingWebServiceRequest StreamingAPIGatewayRequest;
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,662 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
/* Generic header includes */
#include <aws/apigateway/APIGatewayErrors.h>
#include <aws/core/client/GenericClientConfiguration.h>
#include <aws/core/client/AWSError.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/client/AsyncCallerContext.h>
#include <aws/core/http/HttpTypes.h>
#include <aws/apigateway/APIGatewayEndpointProvider.h>
#include <future>
#include <functional>
/* End of generic header includes */
/* Service model headers required in APIGatewayClient header */
#include <aws/apigateway/model/CreateApiKeyResult.h>
#include <aws/apigateway/model/CreateAuthorizerResult.h>
#include <aws/apigateway/model/CreateBasePathMappingResult.h>
#include <aws/apigateway/model/CreateDeploymentResult.h>
#include <aws/apigateway/model/CreateDocumentationPartResult.h>
#include <aws/apigateway/model/CreateDocumentationVersionResult.h>
#include <aws/apigateway/model/CreateDomainNameResult.h>
#include <aws/apigateway/model/CreateModelResult.h>
#include <aws/apigateway/model/CreateRequestValidatorResult.h>
#include <aws/apigateway/model/CreateResourceResult.h>
#include <aws/apigateway/model/CreateRestApiResult.h>
#include <aws/apigateway/model/CreateStageResult.h>
#include <aws/apigateway/model/CreateUsagePlanResult.h>
#include <aws/apigateway/model/CreateUsagePlanKeyResult.h>
#include <aws/apigateway/model/CreateVpcLinkResult.h>
#include <aws/apigateway/model/GenerateClientCertificateResult.h>
#include <aws/apigateway/model/GetAccountResult.h>
#include <aws/apigateway/model/GetApiKeyResult.h>
#include <aws/apigateway/model/GetApiKeysResult.h>
#include <aws/apigateway/model/GetAuthorizerResult.h>
#include <aws/apigateway/model/GetAuthorizersResult.h>
#include <aws/apigateway/model/GetBasePathMappingResult.h>
#include <aws/apigateway/model/GetBasePathMappingsResult.h>
#include <aws/apigateway/model/GetClientCertificateResult.h>
#include <aws/apigateway/model/GetClientCertificatesResult.h>
#include <aws/apigateway/model/GetDeploymentResult.h>
#include <aws/apigateway/model/GetDeploymentsResult.h>
#include <aws/apigateway/model/GetDocumentationPartResult.h>
#include <aws/apigateway/model/GetDocumentationPartsResult.h>
#include <aws/apigateway/model/GetDocumentationVersionResult.h>
#include <aws/apigateway/model/GetDocumentationVersionsResult.h>
#include <aws/apigateway/model/GetDomainNameResult.h>
#include <aws/apigateway/model/GetDomainNamesResult.h>
#include <aws/apigateway/model/GetExportResult.h>
#include <aws/apigateway/model/GetGatewayResponseResult.h>
#include <aws/apigateway/model/GetGatewayResponsesResult.h>
#include <aws/apigateway/model/GetIntegrationResult.h>
#include <aws/apigateway/model/GetIntegrationResponseResult.h>
#include <aws/apigateway/model/GetMethodResult.h>
#include <aws/apigateway/model/GetMethodResponseResult.h>
#include <aws/apigateway/model/GetModelResult.h>
#include <aws/apigateway/model/GetModelTemplateResult.h>
#include <aws/apigateway/model/GetModelsResult.h>
#include <aws/apigateway/model/GetRequestValidatorResult.h>
#include <aws/apigateway/model/GetRequestValidatorsResult.h>
#include <aws/apigateway/model/GetResourceResult.h>
#include <aws/apigateway/model/GetResourcesResult.h>
#include <aws/apigateway/model/GetRestApiResult.h>
#include <aws/apigateway/model/GetRestApisResult.h>
#include <aws/apigateway/model/GetSdkResult.h>
#include <aws/apigateway/model/GetSdkTypeResult.h>
#include <aws/apigateway/model/GetSdkTypesResult.h>
#include <aws/apigateway/model/GetStageResult.h>
#include <aws/apigateway/model/GetStagesResult.h>
#include <aws/apigateway/model/GetTagsResult.h>
#include <aws/apigateway/model/GetUsageResult.h>
#include <aws/apigateway/model/GetUsagePlanResult.h>
#include <aws/apigateway/model/GetUsagePlanKeyResult.h>
#include <aws/apigateway/model/GetUsagePlanKeysResult.h>
#include <aws/apigateway/model/GetUsagePlansResult.h>
#include <aws/apigateway/model/GetVpcLinkResult.h>
#include <aws/apigateway/model/GetVpcLinksResult.h>
#include <aws/apigateway/model/ImportApiKeysResult.h>
#include <aws/apigateway/model/ImportDocumentationPartsResult.h>
#include <aws/apigateway/model/ImportRestApiResult.h>
#include <aws/apigateway/model/PutGatewayResponseResult.h>
#include <aws/apigateway/model/PutIntegrationResult.h>
#include <aws/apigateway/model/PutIntegrationResponseResult.h>
#include <aws/apigateway/model/PutMethodResult.h>
#include <aws/apigateway/model/PutMethodResponseResult.h>
#include <aws/apigateway/model/PutRestApiResult.h>
#include <aws/apigateway/model/TestInvokeAuthorizerResult.h>
#include <aws/apigateway/model/TestInvokeMethodResult.h>
#include <aws/apigateway/model/UpdateAccountResult.h>
#include <aws/apigateway/model/UpdateApiKeyResult.h>
#include <aws/apigateway/model/UpdateAuthorizerResult.h>
#include <aws/apigateway/model/UpdateBasePathMappingResult.h>
#include <aws/apigateway/model/UpdateClientCertificateResult.h>
#include <aws/apigateway/model/UpdateDeploymentResult.h>
#include <aws/apigateway/model/UpdateDocumentationPartResult.h>
#include <aws/apigateway/model/UpdateDocumentationVersionResult.h>
#include <aws/apigateway/model/UpdateDomainNameResult.h>
#include <aws/apigateway/model/UpdateGatewayResponseResult.h>
#include <aws/apigateway/model/UpdateIntegrationResult.h>
#include <aws/apigateway/model/UpdateIntegrationResponseResult.h>
#include <aws/apigateway/model/UpdateMethodResult.h>
#include <aws/apigateway/model/UpdateMethodResponseResult.h>
#include <aws/apigateway/model/UpdateModelResult.h>
#include <aws/apigateway/model/UpdateRequestValidatorResult.h>
#include <aws/apigateway/model/UpdateResourceResult.h>
#include <aws/apigateway/model/UpdateRestApiResult.h>
#include <aws/apigateway/model/UpdateStageResult.h>
#include <aws/apigateway/model/UpdateUsageResult.h>
#include <aws/apigateway/model/UpdateUsagePlanResult.h>
#include <aws/apigateway/model/UpdateVpcLinkResult.h>
#include <aws/apigateway/model/CreateApiKeyRequest.h>
#include <aws/apigateway/model/GetDomainNamesRequest.h>
#include <aws/apigateway/model/GetAccountRequest.h>
#include <aws/apigateway/model/GetUsagePlansRequest.h>
#include <aws/apigateway/model/GetClientCertificatesRequest.h>
#include <aws/apigateway/model/GetSdkTypesRequest.h>
#include <aws/apigateway/model/UpdateAccountRequest.h>
#include <aws/apigateway/model/GetApiKeysRequest.h>
#include <aws/apigateway/model/GetRestApisRequest.h>
#include <aws/apigateway/model/GenerateClientCertificateRequest.h>
#include <aws/apigateway/model/GetVpcLinksRequest.h>
#include <aws/core/NoResult.h>
/* End of service model headers required in APIGatewayClient header */
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace APIGateway
{
using APIGatewayClientConfiguration = Aws::Client::GenericClientConfiguration;
using APIGatewayEndpointProviderBase = Aws::APIGateway::Endpoint::APIGatewayEndpointProviderBase;
using APIGatewayEndpointProvider = Aws::APIGateway::Endpoint::APIGatewayEndpointProvider;
namespace Model
{
/* Service model forward declarations required in APIGatewayClient header */
class CreateApiKeyRequest;
class CreateAuthorizerRequest;
class CreateBasePathMappingRequest;
class CreateDeploymentRequest;
class CreateDocumentationPartRequest;
class CreateDocumentationVersionRequest;
class CreateDomainNameRequest;
class CreateModelRequest;
class CreateRequestValidatorRequest;
class CreateResourceRequest;
class CreateRestApiRequest;
class CreateStageRequest;
class CreateUsagePlanRequest;
class CreateUsagePlanKeyRequest;
class CreateVpcLinkRequest;
class DeleteApiKeyRequest;
class DeleteAuthorizerRequest;
class DeleteBasePathMappingRequest;
class DeleteClientCertificateRequest;
class DeleteDeploymentRequest;
class DeleteDocumentationPartRequest;
class DeleteDocumentationVersionRequest;
class DeleteDomainNameRequest;
class DeleteGatewayResponseRequest;
class DeleteIntegrationRequest;
class DeleteIntegrationResponseRequest;
class DeleteMethodRequest;
class DeleteMethodResponseRequest;
class DeleteModelRequest;
class DeleteRequestValidatorRequest;
class DeleteResourceRequest;
class DeleteRestApiRequest;
class DeleteStageRequest;
class DeleteUsagePlanRequest;
class DeleteUsagePlanKeyRequest;
class DeleteVpcLinkRequest;
class FlushStageAuthorizersCacheRequest;
class FlushStageCacheRequest;
class GenerateClientCertificateRequest;
class GetAccountRequest;
class GetApiKeyRequest;
class GetApiKeysRequest;
class GetAuthorizerRequest;
class GetAuthorizersRequest;
class GetBasePathMappingRequest;
class GetBasePathMappingsRequest;
class GetClientCertificateRequest;
class GetClientCertificatesRequest;
class GetDeploymentRequest;
class GetDeploymentsRequest;
class GetDocumentationPartRequest;
class GetDocumentationPartsRequest;
class GetDocumentationVersionRequest;
class GetDocumentationVersionsRequest;
class GetDomainNameRequest;
class GetDomainNamesRequest;
class GetExportRequest;
class GetGatewayResponseRequest;
class GetGatewayResponsesRequest;
class GetIntegrationRequest;
class GetIntegrationResponseRequest;
class GetMethodRequest;
class GetMethodResponseRequest;
class GetModelRequest;
class GetModelTemplateRequest;
class GetModelsRequest;
class GetRequestValidatorRequest;
class GetRequestValidatorsRequest;
class GetResourceRequest;
class GetResourcesRequest;
class GetRestApiRequest;
class GetRestApisRequest;
class GetSdkRequest;
class GetSdkTypeRequest;
class GetSdkTypesRequest;
class GetStageRequest;
class GetStagesRequest;
class GetTagsRequest;
class GetUsageRequest;
class GetUsagePlanRequest;
class GetUsagePlanKeyRequest;
class GetUsagePlanKeysRequest;
class GetUsagePlansRequest;
class GetVpcLinkRequest;
class GetVpcLinksRequest;
class ImportApiKeysRequest;
class ImportDocumentationPartsRequest;
class ImportRestApiRequest;
class PutGatewayResponseRequest;
class PutIntegrationRequest;
class PutIntegrationResponseRequest;
class PutMethodRequest;
class PutMethodResponseRequest;
class PutRestApiRequest;
class TagResourceRequest;
class TestInvokeAuthorizerRequest;
class TestInvokeMethodRequest;
class UntagResourceRequest;
class UpdateAccountRequest;
class UpdateApiKeyRequest;
class UpdateAuthorizerRequest;
class UpdateBasePathMappingRequest;
class UpdateClientCertificateRequest;
class UpdateDeploymentRequest;
class UpdateDocumentationPartRequest;
class UpdateDocumentationVersionRequest;
class UpdateDomainNameRequest;
class UpdateGatewayResponseRequest;
class UpdateIntegrationRequest;
class UpdateIntegrationResponseRequest;
class UpdateMethodRequest;
class UpdateMethodResponseRequest;
class UpdateModelRequest;
class UpdateRequestValidatorRequest;
class UpdateResourceRequest;
class UpdateRestApiRequest;
class UpdateStageRequest;
class UpdateUsageRequest;
class UpdateUsagePlanRequest;
class UpdateVpcLinkRequest;
/* End of service model forward declarations required in APIGatewayClient header */
/* Service model Outcome class definitions */
typedef Aws::Utils::Outcome<CreateApiKeyResult, APIGatewayError> CreateApiKeyOutcome;
typedef Aws::Utils::Outcome<CreateAuthorizerResult, APIGatewayError> CreateAuthorizerOutcome;
typedef Aws::Utils::Outcome<CreateBasePathMappingResult, APIGatewayError> CreateBasePathMappingOutcome;
typedef Aws::Utils::Outcome<CreateDeploymentResult, APIGatewayError> CreateDeploymentOutcome;
typedef Aws::Utils::Outcome<CreateDocumentationPartResult, APIGatewayError> CreateDocumentationPartOutcome;
typedef Aws::Utils::Outcome<CreateDocumentationVersionResult, APIGatewayError> CreateDocumentationVersionOutcome;
typedef Aws::Utils::Outcome<CreateDomainNameResult, APIGatewayError> CreateDomainNameOutcome;
typedef Aws::Utils::Outcome<CreateModelResult, APIGatewayError> CreateModelOutcome;
typedef Aws::Utils::Outcome<CreateRequestValidatorResult, APIGatewayError> CreateRequestValidatorOutcome;
typedef Aws::Utils::Outcome<CreateResourceResult, APIGatewayError> CreateResourceOutcome;
typedef Aws::Utils::Outcome<CreateRestApiResult, APIGatewayError> CreateRestApiOutcome;
typedef Aws::Utils::Outcome<CreateStageResult, APIGatewayError> CreateStageOutcome;
typedef Aws::Utils::Outcome<CreateUsagePlanResult, APIGatewayError> CreateUsagePlanOutcome;
typedef Aws::Utils::Outcome<CreateUsagePlanKeyResult, APIGatewayError> CreateUsagePlanKeyOutcome;
typedef Aws::Utils::Outcome<CreateVpcLinkResult, APIGatewayError> CreateVpcLinkOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteApiKeyOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteAuthorizerOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteBasePathMappingOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteClientCertificateOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteDeploymentOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteDocumentationPartOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteDocumentationVersionOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteDomainNameOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteGatewayResponseOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteIntegrationOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteIntegrationResponseOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteMethodOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteMethodResponseOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteModelOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteRequestValidatorOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteResourceOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteRestApiOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteStageOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteUsagePlanOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteUsagePlanKeyOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> DeleteVpcLinkOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> FlushStageAuthorizersCacheOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> FlushStageCacheOutcome;
typedef Aws::Utils::Outcome<GenerateClientCertificateResult, APIGatewayError> GenerateClientCertificateOutcome;
typedef Aws::Utils::Outcome<GetAccountResult, APIGatewayError> GetAccountOutcome;
typedef Aws::Utils::Outcome<GetApiKeyResult, APIGatewayError> GetApiKeyOutcome;
typedef Aws::Utils::Outcome<GetApiKeysResult, APIGatewayError> GetApiKeysOutcome;
typedef Aws::Utils::Outcome<GetAuthorizerResult, APIGatewayError> GetAuthorizerOutcome;
typedef Aws::Utils::Outcome<GetAuthorizersResult, APIGatewayError> GetAuthorizersOutcome;
typedef Aws::Utils::Outcome<GetBasePathMappingResult, APIGatewayError> GetBasePathMappingOutcome;
typedef Aws::Utils::Outcome<GetBasePathMappingsResult, APIGatewayError> GetBasePathMappingsOutcome;
typedef Aws::Utils::Outcome<GetClientCertificateResult, APIGatewayError> GetClientCertificateOutcome;
typedef Aws::Utils::Outcome<GetClientCertificatesResult, APIGatewayError> GetClientCertificatesOutcome;
typedef Aws::Utils::Outcome<GetDeploymentResult, APIGatewayError> GetDeploymentOutcome;
typedef Aws::Utils::Outcome<GetDeploymentsResult, APIGatewayError> GetDeploymentsOutcome;
typedef Aws::Utils::Outcome<GetDocumentationPartResult, APIGatewayError> GetDocumentationPartOutcome;
typedef Aws::Utils::Outcome<GetDocumentationPartsResult, APIGatewayError> GetDocumentationPartsOutcome;
typedef Aws::Utils::Outcome<GetDocumentationVersionResult, APIGatewayError> GetDocumentationVersionOutcome;
typedef Aws::Utils::Outcome<GetDocumentationVersionsResult, APIGatewayError> GetDocumentationVersionsOutcome;
typedef Aws::Utils::Outcome<GetDomainNameResult, APIGatewayError> GetDomainNameOutcome;
typedef Aws::Utils::Outcome<GetDomainNamesResult, APIGatewayError> GetDomainNamesOutcome;
typedef Aws::Utils::Outcome<GetExportResult, APIGatewayError> GetExportOutcome;
typedef Aws::Utils::Outcome<GetGatewayResponseResult, APIGatewayError> GetGatewayResponseOutcome;
typedef Aws::Utils::Outcome<GetGatewayResponsesResult, APIGatewayError> GetGatewayResponsesOutcome;
typedef Aws::Utils::Outcome<GetIntegrationResult, APIGatewayError> GetIntegrationOutcome;
typedef Aws::Utils::Outcome<GetIntegrationResponseResult, APIGatewayError> GetIntegrationResponseOutcome;
typedef Aws::Utils::Outcome<GetMethodResult, APIGatewayError> GetMethodOutcome;
typedef Aws::Utils::Outcome<GetMethodResponseResult, APIGatewayError> GetMethodResponseOutcome;
typedef Aws::Utils::Outcome<GetModelResult, APIGatewayError> GetModelOutcome;
typedef Aws::Utils::Outcome<GetModelTemplateResult, APIGatewayError> GetModelTemplateOutcome;
typedef Aws::Utils::Outcome<GetModelsResult, APIGatewayError> GetModelsOutcome;
typedef Aws::Utils::Outcome<GetRequestValidatorResult, APIGatewayError> GetRequestValidatorOutcome;
typedef Aws::Utils::Outcome<GetRequestValidatorsResult, APIGatewayError> GetRequestValidatorsOutcome;
typedef Aws::Utils::Outcome<GetResourceResult, APIGatewayError> GetResourceOutcome;
typedef Aws::Utils::Outcome<GetResourcesResult, APIGatewayError> GetResourcesOutcome;
typedef Aws::Utils::Outcome<GetRestApiResult, APIGatewayError> GetRestApiOutcome;
typedef Aws::Utils::Outcome<GetRestApisResult, APIGatewayError> GetRestApisOutcome;
typedef Aws::Utils::Outcome<GetSdkResult, APIGatewayError> GetSdkOutcome;
typedef Aws::Utils::Outcome<GetSdkTypeResult, APIGatewayError> GetSdkTypeOutcome;
typedef Aws::Utils::Outcome<GetSdkTypesResult, APIGatewayError> GetSdkTypesOutcome;
typedef Aws::Utils::Outcome<GetStageResult, APIGatewayError> GetStageOutcome;
typedef Aws::Utils::Outcome<GetStagesResult, APIGatewayError> GetStagesOutcome;
typedef Aws::Utils::Outcome<GetTagsResult, APIGatewayError> GetTagsOutcome;
typedef Aws::Utils::Outcome<GetUsageResult, APIGatewayError> GetUsageOutcome;
typedef Aws::Utils::Outcome<GetUsagePlanResult, APIGatewayError> GetUsagePlanOutcome;
typedef Aws::Utils::Outcome<GetUsagePlanKeyResult, APIGatewayError> GetUsagePlanKeyOutcome;
typedef Aws::Utils::Outcome<GetUsagePlanKeysResult, APIGatewayError> GetUsagePlanKeysOutcome;
typedef Aws::Utils::Outcome<GetUsagePlansResult, APIGatewayError> GetUsagePlansOutcome;
typedef Aws::Utils::Outcome<GetVpcLinkResult, APIGatewayError> GetVpcLinkOutcome;
typedef Aws::Utils::Outcome<GetVpcLinksResult, APIGatewayError> GetVpcLinksOutcome;
typedef Aws::Utils::Outcome<ImportApiKeysResult, APIGatewayError> ImportApiKeysOutcome;
typedef Aws::Utils::Outcome<ImportDocumentationPartsResult, APIGatewayError> ImportDocumentationPartsOutcome;
typedef Aws::Utils::Outcome<ImportRestApiResult, APIGatewayError> ImportRestApiOutcome;
typedef Aws::Utils::Outcome<PutGatewayResponseResult, APIGatewayError> PutGatewayResponseOutcome;
typedef Aws::Utils::Outcome<PutIntegrationResult, APIGatewayError> PutIntegrationOutcome;
typedef Aws::Utils::Outcome<PutIntegrationResponseResult, APIGatewayError> PutIntegrationResponseOutcome;
typedef Aws::Utils::Outcome<PutMethodResult, APIGatewayError> PutMethodOutcome;
typedef Aws::Utils::Outcome<PutMethodResponseResult, APIGatewayError> PutMethodResponseOutcome;
typedef Aws::Utils::Outcome<PutRestApiResult, APIGatewayError> PutRestApiOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> TagResourceOutcome;
typedef Aws::Utils::Outcome<TestInvokeAuthorizerResult, APIGatewayError> TestInvokeAuthorizerOutcome;
typedef Aws::Utils::Outcome<TestInvokeMethodResult, APIGatewayError> TestInvokeMethodOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, APIGatewayError> UntagResourceOutcome;
typedef Aws::Utils::Outcome<UpdateAccountResult, APIGatewayError> UpdateAccountOutcome;
typedef Aws::Utils::Outcome<UpdateApiKeyResult, APIGatewayError> UpdateApiKeyOutcome;
typedef Aws::Utils::Outcome<UpdateAuthorizerResult, APIGatewayError> UpdateAuthorizerOutcome;
typedef Aws::Utils::Outcome<UpdateBasePathMappingResult, APIGatewayError> UpdateBasePathMappingOutcome;
typedef Aws::Utils::Outcome<UpdateClientCertificateResult, APIGatewayError> UpdateClientCertificateOutcome;
typedef Aws::Utils::Outcome<UpdateDeploymentResult, APIGatewayError> UpdateDeploymentOutcome;
typedef Aws::Utils::Outcome<UpdateDocumentationPartResult, APIGatewayError> UpdateDocumentationPartOutcome;
typedef Aws::Utils::Outcome<UpdateDocumentationVersionResult, APIGatewayError> UpdateDocumentationVersionOutcome;
typedef Aws::Utils::Outcome<UpdateDomainNameResult, APIGatewayError> UpdateDomainNameOutcome;
typedef Aws::Utils::Outcome<UpdateGatewayResponseResult, APIGatewayError> UpdateGatewayResponseOutcome;
typedef Aws::Utils::Outcome<UpdateIntegrationResult, APIGatewayError> UpdateIntegrationOutcome;
typedef Aws::Utils::Outcome<UpdateIntegrationResponseResult, APIGatewayError> UpdateIntegrationResponseOutcome;
typedef Aws::Utils::Outcome<UpdateMethodResult, APIGatewayError> UpdateMethodOutcome;
typedef Aws::Utils::Outcome<UpdateMethodResponseResult, APIGatewayError> UpdateMethodResponseOutcome;
typedef Aws::Utils::Outcome<UpdateModelResult, APIGatewayError> UpdateModelOutcome;
typedef Aws::Utils::Outcome<UpdateRequestValidatorResult, APIGatewayError> UpdateRequestValidatorOutcome;
typedef Aws::Utils::Outcome<UpdateResourceResult, APIGatewayError> UpdateResourceOutcome;
typedef Aws::Utils::Outcome<UpdateRestApiResult, APIGatewayError> UpdateRestApiOutcome;
typedef Aws::Utils::Outcome<UpdateStageResult, APIGatewayError> UpdateStageOutcome;
typedef Aws::Utils::Outcome<UpdateUsageResult, APIGatewayError> UpdateUsageOutcome;
typedef Aws::Utils::Outcome<UpdateUsagePlanResult, APIGatewayError> UpdateUsagePlanOutcome;
typedef Aws::Utils::Outcome<UpdateVpcLinkResult, APIGatewayError> UpdateVpcLinkOutcome;
/* End of service model Outcome class definitions */
/* Service model Outcome callable definitions */
typedef std::future<CreateApiKeyOutcome> CreateApiKeyOutcomeCallable;
typedef std::future<CreateAuthorizerOutcome> CreateAuthorizerOutcomeCallable;
typedef std::future<CreateBasePathMappingOutcome> CreateBasePathMappingOutcomeCallable;
typedef std::future<CreateDeploymentOutcome> CreateDeploymentOutcomeCallable;
typedef std::future<CreateDocumentationPartOutcome> CreateDocumentationPartOutcomeCallable;
typedef std::future<CreateDocumentationVersionOutcome> CreateDocumentationVersionOutcomeCallable;
typedef std::future<CreateDomainNameOutcome> CreateDomainNameOutcomeCallable;
typedef std::future<CreateModelOutcome> CreateModelOutcomeCallable;
typedef std::future<CreateRequestValidatorOutcome> CreateRequestValidatorOutcomeCallable;
typedef std::future<CreateResourceOutcome> CreateResourceOutcomeCallable;
typedef std::future<CreateRestApiOutcome> CreateRestApiOutcomeCallable;
typedef std::future<CreateStageOutcome> CreateStageOutcomeCallable;
typedef std::future<CreateUsagePlanOutcome> CreateUsagePlanOutcomeCallable;
typedef std::future<CreateUsagePlanKeyOutcome> CreateUsagePlanKeyOutcomeCallable;
typedef std::future<CreateVpcLinkOutcome> CreateVpcLinkOutcomeCallable;
typedef std::future<DeleteApiKeyOutcome> DeleteApiKeyOutcomeCallable;
typedef std::future<DeleteAuthorizerOutcome> DeleteAuthorizerOutcomeCallable;
typedef std::future<DeleteBasePathMappingOutcome> DeleteBasePathMappingOutcomeCallable;
typedef std::future<DeleteClientCertificateOutcome> DeleteClientCertificateOutcomeCallable;
typedef std::future<DeleteDeploymentOutcome> DeleteDeploymentOutcomeCallable;
typedef std::future<DeleteDocumentationPartOutcome> DeleteDocumentationPartOutcomeCallable;
typedef std::future<DeleteDocumentationVersionOutcome> DeleteDocumentationVersionOutcomeCallable;
typedef std::future<DeleteDomainNameOutcome> DeleteDomainNameOutcomeCallable;
typedef std::future<DeleteGatewayResponseOutcome> DeleteGatewayResponseOutcomeCallable;
typedef std::future<DeleteIntegrationOutcome> DeleteIntegrationOutcomeCallable;
typedef std::future<DeleteIntegrationResponseOutcome> DeleteIntegrationResponseOutcomeCallable;
typedef std::future<DeleteMethodOutcome> DeleteMethodOutcomeCallable;
typedef std::future<DeleteMethodResponseOutcome> DeleteMethodResponseOutcomeCallable;
typedef std::future<DeleteModelOutcome> DeleteModelOutcomeCallable;
typedef std::future<DeleteRequestValidatorOutcome> DeleteRequestValidatorOutcomeCallable;
typedef std::future<DeleteResourceOutcome> DeleteResourceOutcomeCallable;
typedef std::future<DeleteRestApiOutcome> DeleteRestApiOutcomeCallable;
typedef std::future<DeleteStageOutcome> DeleteStageOutcomeCallable;
typedef std::future<DeleteUsagePlanOutcome> DeleteUsagePlanOutcomeCallable;
typedef std::future<DeleteUsagePlanKeyOutcome> DeleteUsagePlanKeyOutcomeCallable;
typedef std::future<DeleteVpcLinkOutcome> DeleteVpcLinkOutcomeCallable;
typedef std::future<FlushStageAuthorizersCacheOutcome> FlushStageAuthorizersCacheOutcomeCallable;
typedef std::future<FlushStageCacheOutcome> FlushStageCacheOutcomeCallable;
typedef std::future<GenerateClientCertificateOutcome> GenerateClientCertificateOutcomeCallable;
typedef std::future<GetAccountOutcome> GetAccountOutcomeCallable;
typedef std::future<GetApiKeyOutcome> GetApiKeyOutcomeCallable;
typedef std::future<GetApiKeysOutcome> GetApiKeysOutcomeCallable;
typedef std::future<GetAuthorizerOutcome> GetAuthorizerOutcomeCallable;
typedef std::future<GetAuthorizersOutcome> GetAuthorizersOutcomeCallable;
typedef std::future<GetBasePathMappingOutcome> GetBasePathMappingOutcomeCallable;
typedef std::future<GetBasePathMappingsOutcome> GetBasePathMappingsOutcomeCallable;
typedef std::future<GetClientCertificateOutcome> GetClientCertificateOutcomeCallable;
typedef std::future<GetClientCertificatesOutcome> GetClientCertificatesOutcomeCallable;
typedef std::future<GetDeploymentOutcome> GetDeploymentOutcomeCallable;
typedef std::future<GetDeploymentsOutcome> GetDeploymentsOutcomeCallable;
typedef std::future<GetDocumentationPartOutcome> GetDocumentationPartOutcomeCallable;
typedef std::future<GetDocumentationPartsOutcome> GetDocumentationPartsOutcomeCallable;
typedef std::future<GetDocumentationVersionOutcome> GetDocumentationVersionOutcomeCallable;
typedef std::future<GetDocumentationVersionsOutcome> GetDocumentationVersionsOutcomeCallable;
typedef std::future<GetDomainNameOutcome> GetDomainNameOutcomeCallable;
typedef std::future<GetDomainNamesOutcome> GetDomainNamesOutcomeCallable;
typedef std::future<GetExportOutcome> GetExportOutcomeCallable;
typedef std::future<GetGatewayResponseOutcome> GetGatewayResponseOutcomeCallable;
typedef std::future<GetGatewayResponsesOutcome> GetGatewayResponsesOutcomeCallable;
typedef std::future<GetIntegrationOutcome> GetIntegrationOutcomeCallable;
typedef std::future<GetIntegrationResponseOutcome> GetIntegrationResponseOutcomeCallable;
typedef std::future<GetMethodOutcome> GetMethodOutcomeCallable;
typedef std::future<GetMethodResponseOutcome> GetMethodResponseOutcomeCallable;
typedef std::future<GetModelOutcome> GetModelOutcomeCallable;
typedef std::future<GetModelTemplateOutcome> GetModelTemplateOutcomeCallable;
typedef std::future<GetModelsOutcome> GetModelsOutcomeCallable;
typedef std::future<GetRequestValidatorOutcome> GetRequestValidatorOutcomeCallable;
typedef std::future<GetRequestValidatorsOutcome> GetRequestValidatorsOutcomeCallable;
typedef std::future<GetResourceOutcome> GetResourceOutcomeCallable;
typedef std::future<GetResourcesOutcome> GetResourcesOutcomeCallable;
typedef std::future<GetRestApiOutcome> GetRestApiOutcomeCallable;
typedef std::future<GetRestApisOutcome> GetRestApisOutcomeCallable;
typedef std::future<GetSdkOutcome> GetSdkOutcomeCallable;
typedef std::future<GetSdkTypeOutcome> GetSdkTypeOutcomeCallable;
typedef std::future<GetSdkTypesOutcome> GetSdkTypesOutcomeCallable;
typedef std::future<GetStageOutcome> GetStageOutcomeCallable;
typedef std::future<GetStagesOutcome> GetStagesOutcomeCallable;
typedef std::future<GetTagsOutcome> GetTagsOutcomeCallable;
typedef std::future<GetUsageOutcome> GetUsageOutcomeCallable;
typedef std::future<GetUsagePlanOutcome> GetUsagePlanOutcomeCallable;
typedef std::future<GetUsagePlanKeyOutcome> GetUsagePlanKeyOutcomeCallable;
typedef std::future<GetUsagePlanKeysOutcome> GetUsagePlanKeysOutcomeCallable;
typedef std::future<GetUsagePlansOutcome> GetUsagePlansOutcomeCallable;
typedef std::future<GetVpcLinkOutcome> GetVpcLinkOutcomeCallable;
typedef std::future<GetVpcLinksOutcome> GetVpcLinksOutcomeCallable;
typedef std::future<ImportApiKeysOutcome> ImportApiKeysOutcomeCallable;
typedef std::future<ImportDocumentationPartsOutcome> ImportDocumentationPartsOutcomeCallable;
typedef std::future<ImportRestApiOutcome> ImportRestApiOutcomeCallable;
typedef std::future<PutGatewayResponseOutcome> PutGatewayResponseOutcomeCallable;
typedef std::future<PutIntegrationOutcome> PutIntegrationOutcomeCallable;
typedef std::future<PutIntegrationResponseOutcome> PutIntegrationResponseOutcomeCallable;
typedef std::future<PutMethodOutcome> PutMethodOutcomeCallable;
typedef std::future<PutMethodResponseOutcome> PutMethodResponseOutcomeCallable;
typedef std::future<PutRestApiOutcome> PutRestApiOutcomeCallable;
typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable;
typedef std::future<TestInvokeAuthorizerOutcome> TestInvokeAuthorizerOutcomeCallable;
typedef std::future<TestInvokeMethodOutcome> TestInvokeMethodOutcomeCallable;
typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable;
typedef std::future<UpdateAccountOutcome> UpdateAccountOutcomeCallable;
typedef std::future<UpdateApiKeyOutcome> UpdateApiKeyOutcomeCallable;
typedef std::future<UpdateAuthorizerOutcome> UpdateAuthorizerOutcomeCallable;
typedef std::future<UpdateBasePathMappingOutcome> UpdateBasePathMappingOutcomeCallable;
typedef std::future<UpdateClientCertificateOutcome> UpdateClientCertificateOutcomeCallable;
typedef std::future<UpdateDeploymentOutcome> UpdateDeploymentOutcomeCallable;
typedef std::future<UpdateDocumentationPartOutcome> UpdateDocumentationPartOutcomeCallable;
typedef std::future<UpdateDocumentationVersionOutcome> UpdateDocumentationVersionOutcomeCallable;
typedef std::future<UpdateDomainNameOutcome> UpdateDomainNameOutcomeCallable;
typedef std::future<UpdateGatewayResponseOutcome> UpdateGatewayResponseOutcomeCallable;
typedef std::future<UpdateIntegrationOutcome> UpdateIntegrationOutcomeCallable;
typedef std::future<UpdateIntegrationResponseOutcome> UpdateIntegrationResponseOutcomeCallable;
typedef std::future<UpdateMethodOutcome> UpdateMethodOutcomeCallable;
typedef std::future<UpdateMethodResponseOutcome> UpdateMethodResponseOutcomeCallable;
typedef std::future<UpdateModelOutcome> UpdateModelOutcomeCallable;
typedef std::future<UpdateRequestValidatorOutcome> UpdateRequestValidatorOutcomeCallable;
typedef std::future<UpdateResourceOutcome> UpdateResourceOutcomeCallable;
typedef std::future<UpdateRestApiOutcome> UpdateRestApiOutcomeCallable;
typedef std::future<UpdateStageOutcome> UpdateStageOutcomeCallable;
typedef std::future<UpdateUsageOutcome> UpdateUsageOutcomeCallable;
typedef std::future<UpdateUsagePlanOutcome> UpdateUsagePlanOutcomeCallable;
typedef std::future<UpdateVpcLinkOutcome> UpdateVpcLinkOutcomeCallable;
/* End of service model Outcome callable definitions */
} // namespace Model
class APIGatewayClient;
/* Service model async handlers definitions */
typedef std::function<void(const APIGatewayClient*, const Model::CreateApiKeyRequest&, const Model::CreateApiKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateApiKeyResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateAuthorizerRequest&, const Model::CreateAuthorizerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateAuthorizerResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateBasePathMappingRequest&, const Model::CreateBasePathMappingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBasePathMappingResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateDeploymentRequest&, const Model::CreateDeploymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDeploymentResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateDocumentationPartRequest&, const Model::CreateDocumentationPartOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDocumentationPartResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateDocumentationVersionRequest&, const Model::CreateDocumentationVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDocumentationVersionResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateDomainNameRequest&, const Model::CreateDomainNameOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDomainNameResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateModelRequest&, const Model::CreateModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateModelResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateRequestValidatorRequest&, const Model::CreateRequestValidatorOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateRequestValidatorResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateResourceRequest&, const Model::CreateResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateResourceResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateRestApiRequest&, const Model::CreateRestApiOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateRestApiResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateStageRequest&, const Model::CreateStageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateStageResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateUsagePlanRequest&, const Model::CreateUsagePlanOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateUsagePlanResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateUsagePlanKeyRequest&, const Model::CreateUsagePlanKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateUsagePlanKeyResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::CreateVpcLinkRequest&, const Model::CreateVpcLinkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVpcLinkResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteApiKeyRequest&, const Model::DeleteApiKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteApiKeyResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteAuthorizerRequest&, const Model::DeleteAuthorizerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteAuthorizerResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteBasePathMappingRequest&, const Model::DeleteBasePathMappingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBasePathMappingResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteClientCertificateRequest&, const Model::DeleteClientCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteClientCertificateResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteDeploymentRequest&, const Model::DeleteDeploymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDeploymentResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteDocumentationPartRequest&, const Model::DeleteDocumentationPartOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDocumentationPartResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteDocumentationVersionRequest&, const Model::DeleteDocumentationVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDocumentationVersionResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteDomainNameRequest&, const Model::DeleteDomainNameOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDomainNameResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteGatewayResponseRequest&, const Model::DeleteGatewayResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteGatewayResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteIntegrationRequest&, const Model::DeleteIntegrationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteIntegrationResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteIntegrationResponseRequest&, const Model::DeleteIntegrationResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteIntegrationResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteMethodRequest&, const Model::DeleteMethodOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteMethodResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteMethodResponseRequest&, const Model::DeleteMethodResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteMethodResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteModelRequest&, const Model::DeleteModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteModelResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteRequestValidatorRequest&, const Model::DeleteRequestValidatorOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteRequestValidatorResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteResourceRequest&, const Model::DeleteResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteResourceResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteRestApiRequest&, const Model::DeleteRestApiOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteRestApiResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteStageRequest&, const Model::DeleteStageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteStageResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteUsagePlanRequest&, const Model::DeleteUsagePlanOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteUsagePlanResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteUsagePlanKeyRequest&, const Model::DeleteUsagePlanKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteUsagePlanKeyResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::DeleteVpcLinkRequest&, const Model::DeleteVpcLinkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVpcLinkResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::FlushStageAuthorizersCacheRequest&, const Model::FlushStageAuthorizersCacheOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > FlushStageAuthorizersCacheResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::FlushStageCacheRequest&, const Model::FlushStageCacheOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > FlushStageCacheResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GenerateClientCertificateRequest&, const Model::GenerateClientCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GenerateClientCertificateResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetAccountRequest&, const Model::GetAccountOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetAccountResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetApiKeyRequest&, const Model::GetApiKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetApiKeyResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetApiKeysRequest&, const Model::GetApiKeysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetApiKeysResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetAuthorizerRequest&, const Model::GetAuthorizerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetAuthorizerResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetAuthorizersRequest&, const Model::GetAuthorizersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetAuthorizersResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetBasePathMappingRequest&, const Model::GetBasePathMappingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBasePathMappingResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetBasePathMappingsRequest&, const Model::GetBasePathMappingsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBasePathMappingsResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetClientCertificateRequest&, const Model::GetClientCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetClientCertificateResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetClientCertificatesRequest&, const Model::GetClientCertificatesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetClientCertificatesResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetDeploymentRequest&, const Model::GetDeploymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDeploymentResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetDeploymentsRequest&, const Model::GetDeploymentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDeploymentsResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetDocumentationPartRequest&, const Model::GetDocumentationPartOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDocumentationPartResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetDocumentationPartsRequest&, const Model::GetDocumentationPartsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDocumentationPartsResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetDocumentationVersionRequest&, const Model::GetDocumentationVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDocumentationVersionResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetDocumentationVersionsRequest&, const Model::GetDocumentationVersionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDocumentationVersionsResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetDomainNameRequest&, const Model::GetDomainNameOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDomainNameResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetDomainNamesRequest&, const Model::GetDomainNamesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDomainNamesResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetExportRequest&, Model::GetExportOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetExportResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetGatewayResponseRequest&, const Model::GetGatewayResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetGatewayResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetGatewayResponsesRequest&, const Model::GetGatewayResponsesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetGatewayResponsesResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetIntegrationRequest&, const Model::GetIntegrationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetIntegrationResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetIntegrationResponseRequest&, const Model::GetIntegrationResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetIntegrationResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetMethodRequest&, const Model::GetMethodOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetMethodResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetMethodResponseRequest&, const Model::GetMethodResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetMethodResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetModelRequest&, const Model::GetModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetModelResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetModelTemplateRequest&, const Model::GetModelTemplateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetModelTemplateResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetModelsRequest&, const Model::GetModelsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetModelsResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetRequestValidatorRequest&, const Model::GetRequestValidatorOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetRequestValidatorResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetRequestValidatorsRequest&, const Model::GetRequestValidatorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetRequestValidatorsResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetResourceRequest&, const Model::GetResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetResourceResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetResourcesRequest&, const Model::GetResourcesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetResourcesResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetRestApiRequest&, const Model::GetRestApiOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetRestApiResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetRestApisRequest&, const Model::GetRestApisOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetRestApisResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetSdkRequest&, Model::GetSdkOutcome, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSdkResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetSdkTypeRequest&, const Model::GetSdkTypeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSdkTypeResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetSdkTypesRequest&, const Model::GetSdkTypesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSdkTypesResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetStageRequest&, const Model::GetStageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetStageResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetStagesRequest&, const Model::GetStagesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetStagesResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetTagsRequest&, const Model::GetTagsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTagsResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetUsageRequest&, const Model::GetUsageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetUsageResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetUsagePlanRequest&, const Model::GetUsagePlanOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetUsagePlanResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetUsagePlanKeyRequest&, const Model::GetUsagePlanKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetUsagePlanKeyResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetUsagePlanKeysRequest&, const Model::GetUsagePlanKeysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetUsagePlanKeysResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetUsagePlansRequest&, const Model::GetUsagePlansOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetUsagePlansResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetVpcLinkRequest&, const Model::GetVpcLinkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetVpcLinkResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::GetVpcLinksRequest&, const Model::GetVpcLinksOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetVpcLinksResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::ImportApiKeysRequest&, const Model::ImportApiKeysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportApiKeysResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::ImportDocumentationPartsRequest&, const Model::ImportDocumentationPartsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportDocumentationPartsResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::ImportRestApiRequest&, const Model::ImportRestApiOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ImportRestApiResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::PutGatewayResponseRequest&, const Model::PutGatewayResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutGatewayResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::PutIntegrationRequest&, const Model::PutIntegrationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutIntegrationResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::PutIntegrationResponseRequest&, const Model::PutIntegrationResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutIntegrationResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::PutMethodRequest&, const Model::PutMethodOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutMethodResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::PutMethodResponseRequest&, const Model::PutMethodResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutMethodResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::PutRestApiRequest&, const Model::PutRestApiOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutRestApiResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::TestInvokeAuthorizerRequest&, const Model::TestInvokeAuthorizerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TestInvokeAuthorizerResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::TestInvokeMethodRequest&, const Model::TestInvokeMethodOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TestInvokeMethodResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateAccountRequest&, const Model::UpdateAccountOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateAccountResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateApiKeyRequest&, const Model::UpdateApiKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateApiKeyResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateAuthorizerRequest&, const Model::UpdateAuthorizerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateAuthorizerResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateBasePathMappingRequest&, const Model::UpdateBasePathMappingOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateBasePathMappingResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateClientCertificateRequest&, const Model::UpdateClientCertificateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateClientCertificateResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateDeploymentRequest&, const Model::UpdateDeploymentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateDeploymentResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateDocumentationPartRequest&, const Model::UpdateDocumentationPartOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateDocumentationPartResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateDocumentationVersionRequest&, const Model::UpdateDocumentationVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateDocumentationVersionResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateDomainNameRequest&, const Model::UpdateDomainNameOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateDomainNameResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateGatewayResponseRequest&, const Model::UpdateGatewayResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateGatewayResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateIntegrationRequest&, const Model::UpdateIntegrationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateIntegrationResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateIntegrationResponseRequest&, const Model::UpdateIntegrationResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateIntegrationResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateMethodRequest&, const Model::UpdateMethodOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateMethodResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateMethodResponseRequest&, const Model::UpdateMethodResponseOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateMethodResponseResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateModelRequest&, const Model::UpdateModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateModelResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateRequestValidatorRequest&, const Model::UpdateRequestValidatorOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateRequestValidatorResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateResourceRequest&, const Model::UpdateResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateResourceResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateRestApiRequest&, const Model::UpdateRestApiOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateRestApiResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateStageRequest&, const Model::UpdateStageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateStageResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateUsageRequest&, const Model::UpdateUsageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateUsageResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateUsagePlanRequest&, const Model::UpdateUsagePlanOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateUsagePlanResponseReceivedHandler;
typedef std::function<void(const APIGatewayClient*, const Model::UpdateVpcLinkRequest&, const Model::UpdateVpcLinkOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateVpcLinkResponseReceivedHandler;
/* End of service model async handlers definitions */
} // namespace APIGateway
} // 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
#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_APIGATEWAY_EXPORTS
#define AWS_APIGATEWAY_API __declspec(dllexport)
#else
#define AWS_APIGATEWAY_API __declspec(dllimport)
#endif /* AWS_APIGATEWAY_EXPORTS */
#define AWS_APIGATEWAY_EXTERN
#else
#define AWS_APIGATEWAY_API
#define AWS_APIGATEWAY_EXTERN extern
#endif // USE_IMPORT_EXPORT
#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)
#define AWS_APIGATEWAY_API
#define AWS_APIGATEWAY_EXTERN extern
#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)

View File

@@ -0,0 +1,84 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_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 APIGateway
{
namespace Model
{
/**
* <p>Access log settings, including the access log format and access log
* destination ARN.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/AccessLogSettings">AWS
* API Reference</a></p>
*/
class AccessLogSettings
{
public:
AWS_APIGATEWAY_API AccessLogSettings();
AWS_APIGATEWAY_API AccessLogSettings(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API AccessLogSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>A single line format of the access logs of data, as specified by selected
* $context variables. The format must include at least
* <code>$context.requestId</code>.</p>
*/
inline const Aws::String& GetFormat() const{ return m_format; }
inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; }
inline void SetFormat(const Aws::String& value) { m_formatHasBeenSet = true; m_format = value; }
inline void SetFormat(Aws::String&& value) { m_formatHasBeenSet = true; m_format = std::move(value); }
inline void SetFormat(const char* value) { m_formatHasBeenSet = true; m_format.assign(value); }
inline AccessLogSettings& WithFormat(const Aws::String& value) { SetFormat(value); return *this;}
inline AccessLogSettings& WithFormat(Aws::String&& value) { SetFormat(std::move(value)); return *this;}
inline AccessLogSettings& WithFormat(const char* value) { SetFormat(value); return *this;}
///@}
///@{
/**
* <p>The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis
* Data Firehose delivery stream to receive access logs. If you specify a Kinesis
* Data Firehose delivery stream, the stream name must begin with
* <code>amazon-apigateway-</code>.</p>
*/
inline const Aws::String& GetDestinationArn() const{ return m_destinationArn; }
inline bool DestinationArnHasBeenSet() const { return m_destinationArnHasBeenSet; }
inline void SetDestinationArn(const Aws::String& value) { m_destinationArnHasBeenSet = true; m_destinationArn = value; }
inline void SetDestinationArn(Aws::String&& value) { m_destinationArnHasBeenSet = true; m_destinationArn = std::move(value); }
inline void SetDestinationArn(const char* value) { m_destinationArnHasBeenSet = true; m_destinationArn.assign(value); }
inline AccessLogSettings& WithDestinationArn(const Aws::String& value) { SetDestinationArn(value); return *this;}
inline AccessLogSettings& WithDestinationArn(Aws::String&& value) { SetDestinationArn(std::move(value)); return *this;}
inline AccessLogSettings& WithDestinationArn(const char* value) { SetDestinationArn(value); return *this;}
///@}
private:
Aws::String m_format;
bool m_formatHasBeenSet = false;
Aws::String m_destinationArn;
bool m_destinationArnHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,235 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>A resource that can be distributed to callers for executing Method resources
* that require an API key. API keys can be mapped to any Stage on any RestApi,
* which indicates that the callers with the API key can make requests to that
* stage.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/ApiKey">AWS
* API Reference</a></p>
*/
class ApiKey
{
public:
AWS_APIGATEWAY_API ApiKey();
AWS_APIGATEWAY_API ApiKey(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API ApiKey& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The identifier of the API Key.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline ApiKey& WithId(const Aws::String& value) { SetId(value); return *this;}
inline ApiKey& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline ApiKey& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The value of the API Key.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
inline ApiKey& WithValue(const Aws::String& value) { SetValue(value); return *this;}
inline ApiKey& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
inline ApiKey& WithValue(const char* value) { SetValue(value); return *this;}
///@}
///@{
/**
* <p>The name of the API Key.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline ApiKey& WithName(const Aws::String& value) { SetName(value); return *this;}
inline ApiKey& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline ApiKey& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>An Amazon Web Services Marketplace customer identifier, when integrating with
* the Amazon Web Services SaaS Marketplace.</p>
*/
inline const Aws::String& GetCustomerId() const{ return m_customerId; }
inline bool CustomerIdHasBeenSet() const { return m_customerIdHasBeenSet; }
inline void SetCustomerId(const Aws::String& value) { m_customerIdHasBeenSet = true; m_customerId = value; }
inline void SetCustomerId(Aws::String&& value) { m_customerIdHasBeenSet = true; m_customerId = std::move(value); }
inline void SetCustomerId(const char* value) { m_customerIdHasBeenSet = true; m_customerId.assign(value); }
inline ApiKey& WithCustomerId(const Aws::String& value) { SetCustomerId(value); return *this;}
inline ApiKey& WithCustomerId(Aws::String&& value) { SetCustomerId(std::move(value)); return *this;}
inline ApiKey& WithCustomerId(const char* value) { SetCustomerId(value); return *this;}
///@}
///@{
/**
* <p>The description of the API Key.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline ApiKey& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline ApiKey& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline ApiKey& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>Specifies whether the API Key can be used by callers.</p>
*/
inline bool GetEnabled() const{ return m_enabled; }
inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
inline ApiKey& WithEnabled(bool value) { SetEnabled(value); return *this;}
///@}
///@{
/**
* <p>The timestamp when the API Key was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; }
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; }
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); }
inline ApiKey& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline ApiKey& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The timestamp when the API Key was last updated.</p>
*/
inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; }
inline bool LastUpdatedDateHasBeenSet() const { return m_lastUpdatedDateHasBeenSet; }
inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = value; }
inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = std::move(value); }
inline ApiKey& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;}
inline ApiKey& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of Stage resources that are associated with the ApiKey resource.</p>
*/
inline const Aws::Vector<Aws::String>& GetStageKeys() const{ return m_stageKeys; }
inline bool StageKeysHasBeenSet() const { return m_stageKeysHasBeenSet; }
inline void SetStageKeys(const Aws::Vector<Aws::String>& value) { m_stageKeysHasBeenSet = true; m_stageKeys = value; }
inline void SetStageKeys(Aws::Vector<Aws::String>&& value) { m_stageKeysHasBeenSet = true; m_stageKeys = std::move(value); }
inline ApiKey& WithStageKeys(const Aws::Vector<Aws::String>& value) { SetStageKeys(value); return *this;}
inline ApiKey& WithStageKeys(Aws::Vector<Aws::String>&& value) { SetStageKeys(std::move(value)); return *this;}
inline ApiKey& AddStageKeys(const Aws::String& value) { m_stageKeysHasBeenSet = true; m_stageKeys.push_back(value); return *this; }
inline ApiKey& AddStageKeys(Aws::String&& value) { m_stageKeysHasBeenSet = true; m_stageKeys.push_back(std::move(value)); return *this; }
inline ApiKey& AddStageKeys(const char* value) { m_stageKeysHasBeenSet = true; m_stageKeys.push_back(value); return *this; }
///@}
///@{
/**
* <p>The collection of tags. Each tag element is associated with a given
* resource.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline ApiKey& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline ApiKey& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline ApiKey& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
inline ApiKey& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline ApiKey& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline ApiKey& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline ApiKey& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline ApiKey& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline ApiKey& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
inline ApiKey& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline ApiKey& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline ApiKey& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
bool m_idHasBeenSet = false;
Aws::String m_value;
bool m_valueHasBeenSet = false;
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_customerId;
bool m_customerIdHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
bool m_enabled;
bool m_enabledHasBeenSet = false;
Aws::Utils::DateTime m_createdDate;
bool m_createdDateHasBeenSet = false;
Aws::Utils::DateTime m_lastUpdatedDate;
bool m_lastUpdatedDateHasBeenSet = false;
Aws::Vector<Aws::String> m_stageKeys;
bool m_stageKeysHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_tagsHasBeenSet = false;
Aws::String m_requestId;
bool m_requestIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
enum class ApiKeySourceType
{
NOT_SET,
HEADER,
AUTHORIZER
};
namespace ApiKeySourceTypeMapper
{
AWS_APIGATEWAY_API ApiKeySourceType GetApiKeySourceTypeForName(const Aws::String& name);
AWS_APIGATEWAY_API Aws::String GetNameForApiKeySourceType(ApiKeySourceType value);
} // namespace ApiKeySourceTypeMapper
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
enum class ApiKeysFormat
{
NOT_SET,
csv
};
namespace ApiKeysFormatMapper
{
AWS_APIGATEWAY_API ApiKeysFormat GetApiKeysFormatForName(const Aws::String& name);
AWS_APIGATEWAY_API Aws::String GetNameForApiKeysFormat(ApiKeysFormat value);
} // namespace ApiKeysFormatMapper
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,103 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/ThrottleSettings.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>API stage name of the associated API stage in a usage plan.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/ApiStage">AWS
* API Reference</a></p>
*/
class ApiStage
{
public:
AWS_APIGATEWAY_API ApiStage();
AWS_APIGATEWAY_API ApiStage(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API ApiStage& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>API Id of the associated API stage in a usage plan.</p>
*/
inline const Aws::String& GetApiId() const{ return m_apiId; }
inline bool ApiIdHasBeenSet() const { return m_apiIdHasBeenSet; }
inline void SetApiId(const Aws::String& value) { m_apiIdHasBeenSet = true; m_apiId = value; }
inline void SetApiId(Aws::String&& value) { m_apiIdHasBeenSet = true; m_apiId = std::move(value); }
inline void SetApiId(const char* value) { m_apiIdHasBeenSet = true; m_apiId.assign(value); }
inline ApiStage& WithApiId(const Aws::String& value) { SetApiId(value); return *this;}
inline ApiStage& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;}
inline ApiStage& WithApiId(const char* value) { SetApiId(value); return *this;}
///@}
///@{
/**
* <p>API stage name of the associated API stage in a usage plan.</p>
*/
inline const Aws::String& GetStage() const{ return m_stage; }
inline bool StageHasBeenSet() const { return m_stageHasBeenSet; }
inline void SetStage(const Aws::String& value) { m_stageHasBeenSet = true; m_stage = value; }
inline void SetStage(Aws::String&& value) { m_stageHasBeenSet = true; m_stage = std::move(value); }
inline void SetStage(const char* value) { m_stageHasBeenSet = true; m_stage.assign(value); }
inline ApiStage& WithStage(const Aws::String& value) { SetStage(value); return *this;}
inline ApiStage& WithStage(Aws::String&& value) { SetStage(std::move(value)); return *this;}
inline ApiStage& WithStage(const char* value) { SetStage(value); return *this;}
///@}
///@{
/**
* <p>Map containing method level throttling information for API stage in a usage
* plan.</p>
*/
inline const Aws::Map<Aws::String, ThrottleSettings>& GetThrottle() const{ return m_throttle; }
inline bool ThrottleHasBeenSet() const { return m_throttleHasBeenSet; }
inline void SetThrottle(const Aws::Map<Aws::String, ThrottleSettings>& value) { m_throttleHasBeenSet = true; m_throttle = value; }
inline void SetThrottle(Aws::Map<Aws::String, ThrottleSettings>&& value) { m_throttleHasBeenSet = true; m_throttle = std::move(value); }
inline ApiStage& WithThrottle(const Aws::Map<Aws::String, ThrottleSettings>& value) { SetThrottle(value); return *this;}
inline ApiStage& WithThrottle(Aws::Map<Aws::String, ThrottleSettings>&& value) { SetThrottle(std::move(value)); return *this;}
inline ApiStage& AddThrottle(const Aws::String& key, const ThrottleSettings& value) { m_throttleHasBeenSet = true; m_throttle.emplace(key, value); return *this; }
inline ApiStage& AddThrottle(Aws::String&& key, const ThrottleSettings& value) { m_throttleHasBeenSet = true; m_throttle.emplace(std::move(key), value); return *this; }
inline ApiStage& AddThrottle(const Aws::String& key, ThrottleSettings&& value) { m_throttleHasBeenSet = true; m_throttle.emplace(key, std::move(value)); return *this; }
inline ApiStage& AddThrottle(Aws::String&& key, ThrottleSettings&& value) { m_throttleHasBeenSet = true; m_throttle.emplace(std::move(key), std::move(value)); return *this; }
inline ApiStage& AddThrottle(const char* key, ThrottleSettings&& value) { m_throttleHasBeenSet = true; m_throttle.emplace(key, std::move(value)); return *this; }
inline ApiStage& AddThrottle(const char* key, const ThrottleSettings& value) { m_throttleHasBeenSet = true; m_throttle.emplace(key, value); return *this; }
///@}
private:
Aws::String m_apiId;
bool m_apiIdHasBeenSet = false;
Aws::String m_stage;
bool m_stageHasBeenSet = false;
Aws::Map<Aws::String, ThrottleSettings> m_throttle;
bool m_throttleHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,278 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/AuthorizerType.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 APIGateway
{
namespace Model
{
/**
* <p>Represents an authorization layer for methods. If enabled on a method, API
* Gateway will activate the authorizer when a client calls the
* method.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/Authorizer">AWS
* API Reference</a></p>
*/
class Authorizer
{
public:
AWS_APIGATEWAY_API Authorizer();
AWS_APIGATEWAY_API Authorizer(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Authorizer& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The identifier for the authorizer resource.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline Authorizer& WithId(const Aws::String& value) { SetId(value); return *this;}
inline Authorizer& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline Authorizer& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The name of the authorizer.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline Authorizer& WithName(const Aws::String& value) { SetName(value); return *this;}
inline Authorizer& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline Authorizer& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The authorizer type. Valid values are <code>TOKEN</code> for a Lambda
* function using a single authorization token submitted in a custom header,
* <code>REQUEST</code> for a Lambda function using incoming request parameters,
* and <code>COGNITO_USER_POOLS</code> for using an Amazon Cognito user pool.</p>
*/
inline const AuthorizerType& GetType() const{ return m_type; }
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
inline void SetType(const AuthorizerType& value) { m_typeHasBeenSet = true; m_type = value; }
inline void SetType(AuthorizerType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
inline Authorizer& WithType(const AuthorizerType& value) { SetType(value); return *this;}
inline Authorizer& WithType(AuthorizerType&& value) { SetType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of the Amazon Cognito user pool ARNs for the
* <code>COGNITO_USER_POOLS</code> authorizer. Each element is of this format:
* <code>arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}</code>.
* For a <code>TOKEN</code> or <code>REQUEST</code> authorizer, this is not
* defined. </p>
*/
inline const Aws::Vector<Aws::String>& GetProviderARNs() const{ return m_providerARNs; }
inline bool ProviderARNsHasBeenSet() const { return m_providerARNsHasBeenSet; }
inline void SetProviderARNs(const Aws::Vector<Aws::String>& value) { m_providerARNsHasBeenSet = true; m_providerARNs = value; }
inline void SetProviderARNs(Aws::Vector<Aws::String>&& value) { m_providerARNsHasBeenSet = true; m_providerARNs = std::move(value); }
inline Authorizer& WithProviderARNs(const Aws::Vector<Aws::String>& value) { SetProviderARNs(value); return *this;}
inline Authorizer& WithProviderARNs(Aws::Vector<Aws::String>&& value) { SetProviderARNs(std::move(value)); return *this;}
inline Authorizer& AddProviderARNs(const Aws::String& value) { m_providerARNsHasBeenSet = true; m_providerARNs.push_back(value); return *this; }
inline Authorizer& AddProviderARNs(Aws::String&& value) { m_providerARNsHasBeenSet = true; m_providerARNs.push_back(std::move(value)); return *this; }
inline Authorizer& AddProviderARNs(const char* value) { m_providerARNsHasBeenSet = true; m_providerARNs.push_back(value); return *this; }
///@}
///@{
/**
* <p>Optional customer-defined field, used in OpenAPI imports and exports without
* functional impact.</p>
*/
inline const Aws::String& GetAuthType() const{ return m_authType; }
inline bool AuthTypeHasBeenSet() const { return m_authTypeHasBeenSet; }
inline void SetAuthType(const Aws::String& value) { m_authTypeHasBeenSet = true; m_authType = value; }
inline void SetAuthType(Aws::String&& value) { m_authTypeHasBeenSet = true; m_authType = std::move(value); }
inline void SetAuthType(const char* value) { m_authTypeHasBeenSet = true; m_authType.assign(value); }
inline Authorizer& WithAuthType(const Aws::String& value) { SetAuthType(value); return *this;}
inline Authorizer& WithAuthType(Aws::String&& value) { SetAuthType(std::move(value)); return *this;}
inline Authorizer& WithAuthType(const char* value) { SetAuthType(value); return *this;}
///@}
///@{
/**
* <p>Specifies the authorizer's Uniform Resource Identifier (URI). For
* <code>TOKEN</code> or <code>REQUEST</code> authorizers, this must be a
* well-formed Lambda function URI, for example,
* <code>arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations</code>.
* In general, the URI has this form
* <code>arn:aws:apigateway:{region}:lambda:path/{service_api}</code>, where
* <code>{region}</code> is the same as the region hosting the Lambda function,
* <code>path</code> indicates that the remaining substring in the URI should be
* treated as the path to the resource, including the initial <code>/</code>. For
* Lambda functions, this is usually of the form
* <code>/2015-03-31/functions/[FunctionARN]/invocations</code>.</p>
*/
inline const Aws::String& GetAuthorizerUri() const{ return m_authorizerUri; }
inline bool AuthorizerUriHasBeenSet() const { return m_authorizerUriHasBeenSet; }
inline void SetAuthorizerUri(const Aws::String& value) { m_authorizerUriHasBeenSet = true; m_authorizerUri = value; }
inline void SetAuthorizerUri(Aws::String&& value) { m_authorizerUriHasBeenSet = true; m_authorizerUri = std::move(value); }
inline void SetAuthorizerUri(const char* value) { m_authorizerUriHasBeenSet = true; m_authorizerUri.assign(value); }
inline Authorizer& WithAuthorizerUri(const Aws::String& value) { SetAuthorizerUri(value); return *this;}
inline Authorizer& WithAuthorizerUri(Aws::String&& value) { SetAuthorizerUri(std::move(value)); return *this;}
inline Authorizer& WithAuthorizerUri(const char* value) { SetAuthorizerUri(value); return *this;}
///@}
///@{
/**
* <p>Specifies the required credentials as an IAM role for API Gateway to invoke
* the authorizer. To specify an IAM role for API Gateway to assume, use the role's
* Amazon Resource Name (ARN). To use resource-based permissions on the Lambda
* function, specify null.</p>
*/
inline const Aws::String& GetAuthorizerCredentials() const{ return m_authorizerCredentials; }
inline bool AuthorizerCredentialsHasBeenSet() const { return m_authorizerCredentialsHasBeenSet; }
inline void SetAuthorizerCredentials(const Aws::String& value) { m_authorizerCredentialsHasBeenSet = true; m_authorizerCredentials = value; }
inline void SetAuthorizerCredentials(Aws::String&& value) { m_authorizerCredentialsHasBeenSet = true; m_authorizerCredentials = std::move(value); }
inline void SetAuthorizerCredentials(const char* value) { m_authorizerCredentialsHasBeenSet = true; m_authorizerCredentials.assign(value); }
inline Authorizer& WithAuthorizerCredentials(const Aws::String& value) { SetAuthorizerCredentials(value); return *this;}
inline Authorizer& WithAuthorizerCredentials(Aws::String&& value) { SetAuthorizerCredentials(std::move(value)); return *this;}
inline Authorizer& WithAuthorizerCredentials(const char* value) { SetAuthorizerCredentials(value); return *this;}
///@}
///@{
/**
* <p>The identity source for which authorization is requested. For a
* <code>TOKEN</code> or <code>COGNITO_USER_POOLS</code> authorizer, this is
* required and specifies the request header mapping expression for the custom
* header holding the authorization token submitted by the client. For example, if
* the token header name is <code>Auth</code>, the header mapping expression is
* <code>method.request.header.Auth</code>. For the <code>REQUEST</code>
* authorizer, this is required when authorization caching is enabled. The value is
* a comma-separated string of one or more mapping expressions of the specified
* request parameters. For example, if an <code>Auth</code> header, a
* <code>Name</code> query string parameter are defined as identity sources, this
* value is <code>method.request.header.Auth</code>,
* <code>method.request.querystring.Name</code>. These parameters will be used to
* derive the authorization caching key and to perform runtime validation of the
* <code>REQUEST</code> authorizer by verifying all of the identity-related request
* parameters are present, not null and non-empty. Only when this is true does the
* authorizer invoke the authorizer Lambda function, otherwise, it returns a 401
* Unauthorized response without calling the Lambda function. The valid value is a
* string of comma-separated mapping expressions of the specified request
* parameters. When the authorization caching is not enabled, this property is
* optional. </p>
*/
inline const Aws::String& GetIdentitySource() const{ return m_identitySource; }
inline bool IdentitySourceHasBeenSet() const { return m_identitySourceHasBeenSet; }
inline void SetIdentitySource(const Aws::String& value) { m_identitySourceHasBeenSet = true; m_identitySource = value; }
inline void SetIdentitySource(Aws::String&& value) { m_identitySourceHasBeenSet = true; m_identitySource = std::move(value); }
inline void SetIdentitySource(const char* value) { m_identitySourceHasBeenSet = true; m_identitySource.assign(value); }
inline Authorizer& WithIdentitySource(const Aws::String& value) { SetIdentitySource(value); return *this;}
inline Authorizer& WithIdentitySource(Aws::String&& value) { SetIdentitySource(std::move(value)); return *this;}
inline Authorizer& WithIdentitySource(const char* value) { SetIdentitySource(value); return *this;}
///@}
///@{
/**
* <p>A validation expression for the incoming identity token. For
* <code>TOKEN</code> authorizers, this value is a regular expression. For
* <code>COGNITO_USER_POOLS</code> authorizers, API Gateway will match the
* <code>aud</code> field of the incoming token from the client against the
* specified regular expression. It will invoke the authorizer's Lambda function
* when there is a match. Otherwise, it will return a 401 Unauthorized response
* without calling the Lambda function. The validation expression does not apply to
* the <code>REQUEST</code> authorizer.</p>
*/
inline const Aws::String& GetIdentityValidationExpression() const{ return m_identityValidationExpression; }
inline bool IdentityValidationExpressionHasBeenSet() const { return m_identityValidationExpressionHasBeenSet; }
inline void SetIdentityValidationExpression(const Aws::String& value) { m_identityValidationExpressionHasBeenSet = true; m_identityValidationExpression = value; }
inline void SetIdentityValidationExpression(Aws::String&& value) { m_identityValidationExpressionHasBeenSet = true; m_identityValidationExpression = std::move(value); }
inline void SetIdentityValidationExpression(const char* value) { m_identityValidationExpressionHasBeenSet = true; m_identityValidationExpression.assign(value); }
inline Authorizer& WithIdentityValidationExpression(const Aws::String& value) { SetIdentityValidationExpression(value); return *this;}
inline Authorizer& WithIdentityValidationExpression(Aws::String&& value) { SetIdentityValidationExpression(std::move(value)); return *this;}
inline Authorizer& WithIdentityValidationExpression(const char* value) { SetIdentityValidationExpression(value); return *this;}
///@}
///@{
/**
* <p>The TTL in seconds of cached authorizer results. If it equals 0,
* authorization caching is disabled. If it is greater than 0, API Gateway will
* cache authorizer responses. If this field is not set, the default value is 300.
* The maximum value is 3600, or 1 hour.</p>
*/
inline int GetAuthorizerResultTtlInSeconds() const{ return m_authorizerResultTtlInSeconds; }
inline bool AuthorizerResultTtlInSecondsHasBeenSet() const { return m_authorizerResultTtlInSecondsHasBeenSet; }
inline void SetAuthorizerResultTtlInSeconds(int value) { m_authorizerResultTtlInSecondsHasBeenSet = true; m_authorizerResultTtlInSeconds = value; }
inline Authorizer& WithAuthorizerResultTtlInSeconds(int value) { SetAuthorizerResultTtlInSeconds(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
inline Authorizer& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline Authorizer& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline Authorizer& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
bool m_idHasBeenSet = false;
Aws::String m_name;
bool m_nameHasBeenSet = false;
AuthorizerType m_type;
bool m_typeHasBeenSet = false;
Aws::Vector<Aws::String> m_providerARNs;
bool m_providerARNsHasBeenSet = false;
Aws::String m_authType;
bool m_authTypeHasBeenSet = false;
Aws::String m_authorizerUri;
bool m_authorizerUriHasBeenSet = false;
Aws::String m_authorizerCredentials;
bool m_authorizerCredentialsHasBeenSet = false;
Aws::String m_identitySource;
bool m_identitySourceHasBeenSet = false;
Aws::String m_identityValidationExpression;
bool m_identityValidationExpressionHasBeenSet = false;
int m_authorizerResultTtlInSeconds;
bool m_authorizerResultTtlInSecondsHasBeenSet = false;
Aws::String m_requestId;
bool m_requestIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
enum class AuthorizerType
{
NOT_SET,
TOKEN,
REQUEST,
COGNITO_USER_POOLS
};
namespace AuthorizerTypeMapper
{
AWS_APIGATEWAY_API AuthorizerType GetAuthorizerTypeForName(const Aws::String& name);
AWS_APIGATEWAY_API Aws::String GetNameForAuthorizerType(AuthorizerType value);
} // namespace AuthorizerTypeMapper
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,112 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_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 APIGateway
{
namespace Model
{
/**
* <p>Represents the base path that callers of the API must provide as part of the
* URL after the domain name.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/BasePathMapping">AWS
* API Reference</a></p>
*/
class BasePathMapping
{
public:
AWS_APIGATEWAY_API BasePathMapping();
AWS_APIGATEWAY_API BasePathMapping(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API BasePathMapping& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The base path name that callers of the API must provide as part of the URL
* after the domain name.</p>
*/
inline const Aws::String& GetBasePath() const{ return m_basePath; }
inline bool BasePathHasBeenSet() const { return m_basePathHasBeenSet; }
inline void SetBasePath(const Aws::String& value) { m_basePathHasBeenSet = true; m_basePath = value; }
inline void SetBasePath(Aws::String&& value) { m_basePathHasBeenSet = true; m_basePath = std::move(value); }
inline void SetBasePath(const char* value) { m_basePathHasBeenSet = true; m_basePath.assign(value); }
inline BasePathMapping& WithBasePath(const Aws::String& value) { SetBasePath(value); return *this;}
inline BasePathMapping& WithBasePath(Aws::String&& value) { SetBasePath(std::move(value)); return *this;}
inline BasePathMapping& WithBasePath(const char* value) { SetBasePath(value); return *this;}
///@}
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline BasePathMapping& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline BasePathMapping& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline BasePathMapping& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name of the associated stage.</p>
*/
inline const Aws::String& GetStage() const{ return m_stage; }
inline bool StageHasBeenSet() const { return m_stageHasBeenSet; }
inline void SetStage(const Aws::String& value) { m_stageHasBeenSet = true; m_stage = value; }
inline void SetStage(Aws::String&& value) { m_stageHasBeenSet = true; m_stage = std::move(value); }
inline void SetStage(const char* value) { m_stageHasBeenSet = true; m_stage.assign(value); }
inline BasePathMapping& WithStage(const Aws::String& value) { SetStage(value); return *this;}
inline BasePathMapping& WithStage(Aws::String&& value) { SetStage(std::move(value)); return *this;}
inline BasePathMapping& WithStage(const char* value) { SetStage(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
inline BasePathMapping& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline BasePathMapping& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline BasePathMapping& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_basePath;
bool m_basePathHasBeenSet = false;
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_stage;
bool m_stageHasBeenSet = false;
Aws::String m_requestId;
bool m_requestIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,37 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
enum class CacheClusterSize
{
NOT_SET,
_0_5,
_1_6,
_6_1,
_13_5,
_28_4,
_58_2,
_118,
_237
};
namespace CacheClusterSizeMapper
{
AWS_APIGATEWAY_API CacheClusterSize GetCacheClusterSizeForName(const Aws::String& name);
AWS_APIGATEWAY_API Aws::String GetNameForCacheClusterSize(CacheClusterSize value);
} // namespace CacheClusterSizeMapper
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
enum class CacheClusterStatus
{
NOT_SET,
CREATE_IN_PROGRESS,
AVAILABLE,
DELETE_IN_PROGRESS,
NOT_AVAILABLE,
FLUSH_IN_PROGRESS
};
namespace CacheClusterStatusMapper
{
AWS_APIGATEWAY_API CacheClusterStatus GetCacheClusterStatusForName(const Aws::String& name);
AWS_APIGATEWAY_API Aws::String GetNameForCacheClusterStatus(CacheClusterStatus value);
} // namespace CacheClusterStatusMapper
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,113 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Configuration settings of a canary deployment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CanarySettings">AWS
* API Reference</a></p>
*/
class CanarySettings
{
public:
AWS_APIGATEWAY_API CanarySettings();
AWS_APIGATEWAY_API CanarySettings(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API CanarySettings& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The percent (0-100) of traffic diverted to a canary deployment.</p>
*/
inline double GetPercentTraffic() const{ return m_percentTraffic; }
inline bool PercentTrafficHasBeenSet() const { return m_percentTrafficHasBeenSet; }
inline void SetPercentTraffic(double value) { m_percentTrafficHasBeenSet = true; m_percentTraffic = value; }
inline CanarySettings& WithPercentTraffic(double value) { SetPercentTraffic(value); return *this;}
///@}
///@{
/**
* <p>The ID of the canary deployment.</p>
*/
inline const Aws::String& GetDeploymentId() const{ return m_deploymentId; }
inline bool DeploymentIdHasBeenSet() const { return m_deploymentIdHasBeenSet; }
inline void SetDeploymentId(const Aws::String& value) { m_deploymentIdHasBeenSet = true; m_deploymentId = value; }
inline void SetDeploymentId(Aws::String&& value) { m_deploymentIdHasBeenSet = true; m_deploymentId = std::move(value); }
inline void SetDeploymentId(const char* value) { m_deploymentIdHasBeenSet = true; m_deploymentId.assign(value); }
inline CanarySettings& WithDeploymentId(const Aws::String& value) { SetDeploymentId(value); return *this;}
inline CanarySettings& WithDeploymentId(Aws::String&& value) { SetDeploymentId(std::move(value)); return *this;}
inline CanarySettings& WithDeploymentId(const char* value) { SetDeploymentId(value); return *this;}
///@}
///@{
/**
* <p>Stage variables overridden for a canary release deployment, including new
* stage variables introduced in the canary. These stage variables are represented
* as a string-to-string map between stage variable names and their values.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetStageVariableOverrides() const{ return m_stageVariableOverrides; }
inline bool StageVariableOverridesHasBeenSet() const { return m_stageVariableOverridesHasBeenSet; }
inline void SetStageVariableOverrides(const Aws::Map<Aws::String, Aws::String>& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides = value; }
inline void SetStageVariableOverrides(Aws::Map<Aws::String, Aws::String>&& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides = std::move(value); }
inline CanarySettings& WithStageVariableOverrides(const Aws::Map<Aws::String, Aws::String>& value) { SetStageVariableOverrides(value); return *this;}
inline CanarySettings& WithStageVariableOverrides(Aws::Map<Aws::String, Aws::String>&& value) { SetStageVariableOverrides(std::move(value)); return *this;}
inline CanarySettings& AddStageVariableOverrides(const Aws::String& key, const Aws::String& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(key, value); return *this; }
inline CanarySettings& AddStageVariableOverrides(Aws::String&& key, const Aws::String& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(std::move(key), value); return *this; }
inline CanarySettings& AddStageVariableOverrides(const Aws::String& key, Aws::String&& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(key, std::move(value)); return *this; }
inline CanarySettings& AddStageVariableOverrides(Aws::String&& key, Aws::String&& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(std::move(key), std::move(value)); return *this; }
inline CanarySettings& AddStageVariableOverrides(const char* key, Aws::String&& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(key, std::move(value)); return *this; }
inline CanarySettings& AddStageVariableOverrides(Aws::String&& key, const char* value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(std::move(key), value); return *this; }
inline CanarySettings& AddStageVariableOverrides(const char* key, const char* value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>A Boolean flag to indicate whether the canary deployment uses the stage cache
* or not.</p>
*/
inline bool GetUseStageCache() const{ return m_useStageCache; }
inline bool UseStageCacheHasBeenSet() const { return m_useStageCacheHasBeenSet; }
inline void SetUseStageCache(bool value) { m_useStageCacheHasBeenSet = true; m_useStageCache = value; }
inline CanarySettings& WithUseStageCache(bool value) { SetUseStageCache(value); return *this;}
///@}
private:
double m_percentTraffic;
bool m_percentTrafficHasBeenSet = false;
Aws::String m_deploymentId;
bool m_deploymentIdHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_stageVariableOverrides;
bool m_stageVariableOverridesHasBeenSet = false;
bool m_useStageCache;
bool m_useStageCacheHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,168 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a client certificate used to configure client-side SSL
* authentication while sending requests to the integration endpoint.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/ClientCertificate">AWS
* API Reference</a></p>
*/
class ClientCertificate
{
public:
AWS_APIGATEWAY_API ClientCertificate();
AWS_APIGATEWAY_API ClientCertificate(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API ClientCertificate& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The identifier of the client certificate.</p>
*/
inline const Aws::String& GetClientCertificateId() const{ return m_clientCertificateId; }
inline bool ClientCertificateIdHasBeenSet() const { return m_clientCertificateIdHasBeenSet; }
inline void SetClientCertificateId(const Aws::String& value) { m_clientCertificateIdHasBeenSet = true; m_clientCertificateId = value; }
inline void SetClientCertificateId(Aws::String&& value) { m_clientCertificateIdHasBeenSet = true; m_clientCertificateId = std::move(value); }
inline void SetClientCertificateId(const char* value) { m_clientCertificateIdHasBeenSet = true; m_clientCertificateId.assign(value); }
inline ClientCertificate& WithClientCertificateId(const Aws::String& value) { SetClientCertificateId(value); return *this;}
inline ClientCertificate& WithClientCertificateId(Aws::String&& value) { SetClientCertificateId(std::move(value)); return *this;}
inline ClientCertificate& WithClientCertificateId(const char* value) { SetClientCertificateId(value); return *this;}
///@}
///@{
/**
* <p>The description of the client certificate.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline ClientCertificate& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline ClientCertificate& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline ClientCertificate& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The PEM-encoded public key of the client certificate, which can be used to
* configure certificate authentication in the integration endpoint .</p>
*/
inline const Aws::String& GetPemEncodedCertificate() const{ return m_pemEncodedCertificate; }
inline bool PemEncodedCertificateHasBeenSet() const { return m_pemEncodedCertificateHasBeenSet; }
inline void SetPemEncodedCertificate(const Aws::String& value) { m_pemEncodedCertificateHasBeenSet = true; m_pemEncodedCertificate = value; }
inline void SetPemEncodedCertificate(Aws::String&& value) { m_pemEncodedCertificateHasBeenSet = true; m_pemEncodedCertificate = std::move(value); }
inline void SetPemEncodedCertificate(const char* value) { m_pemEncodedCertificateHasBeenSet = true; m_pemEncodedCertificate.assign(value); }
inline ClientCertificate& WithPemEncodedCertificate(const Aws::String& value) { SetPemEncodedCertificate(value); return *this;}
inline ClientCertificate& WithPemEncodedCertificate(Aws::String&& value) { SetPemEncodedCertificate(std::move(value)); return *this;}
inline ClientCertificate& WithPemEncodedCertificate(const char* value) { SetPemEncodedCertificate(value); return *this;}
///@}
///@{
/**
* <p>The timestamp when the client certificate was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; }
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; }
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); }
inline ClientCertificate& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline ClientCertificate& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The timestamp when the client certificate will expire.</p>
*/
inline const Aws::Utils::DateTime& GetExpirationDate() const{ return m_expirationDate; }
inline bool ExpirationDateHasBeenSet() const { return m_expirationDateHasBeenSet; }
inline void SetExpirationDate(const Aws::Utils::DateTime& value) { m_expirationDateHasBeenSet = true; m_expirationDate = value; }
inline void SetExpirationDate(Aws::Utils::DateTime&& value) { m_expirationDateHasBeenSet = true; m_expirationDate = std::move(value); }
inline ClientCertificate& WithExpirationDate(const Aws::Utils::DateTime& value) { SetExpirationDate(value); return *this;}
inline ClientCertificate& WithExpirationDate(Aws::Utils::DateTime&& value) { SetExpirationDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The collection of tags. Each tag element is associated with a given
* resource.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline ClientCertificate& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline ClientCertificate& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline ClientCertificate& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
inline ClientCertificate& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline ClientCertificate& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline ClientCertificate& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline ClientCertificate& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline ClientCertificate& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline ClientCertificate& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
inline ClientCertificate& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline ClientCertificate& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline ClientCertificate& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_clientCertificateId;
bool m_clientCertificateIdHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::String m_pemEncodedCertificate;
bool m_pemEncodedCertificateHasBeenSet = false;
Aws::Utils::DateTime m_createdDate;
bool m_createdDateHasBeenSet = false;
Aws::Utils::DateTime m_expirationDate;
bool m_expirationDateHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_tagsHasBeenSet = false;
Aws::String m_requestId;
bool m_requestIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
enum class ConnectionType
{
NOT_SET,
INTERNET,
VPC_LINK
};
namespace ConnectionTypeMapper
{
AWS_APIGATEWAY_API ConnectionType GetConnectionTypeForName(const Aws::String& name);
AWS_APIGATEWAY_API Aws::String GetNameForConnectionType(ConnectionType value);
} // namespace ConnectionTypeMapper
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
enum class ContentHandlingStrategy
{
NOT_SET,
CONVERT_TO_BINARY,
CONVERT_TO_TEXT
};
namespace ContentHandlingStrategyMapper
{
AWS_APIGATEWAY_API ContentHandlingStrategy GetContentHandlingStrategyForName(const Aws::String& name);
AWS_APIGATEWAY_API Aws::String GetNameForContentHandlingStrategy(ContentHandlingStrategy value);
} // namespace ContentHandlingStrategyMapper
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,184 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/StageKey.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Request to create an ApiKey resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateApiKeyRequest">AWS
* API Reference</a></p>
*/
class CreateApiKeyRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateApiKeyRequest();
// 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 "CreateApiKey"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The name of the ApiKey.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline CreateApiKeyRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateApiKeyRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateApiKeyRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The description of the ApiKey.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateApiKeyRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateApiKeyRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateApiKeyRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>Specifies whether the ApiKey can be used by callers.</p>
*/
inline bool GetEnabled() const{ return m_enabled; }
inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
inline CreateApiKeyRequest& WithEnabled(bool value) { SetEnabled(value); return *this;}
///@}
///@{
/**
* <p>Specifies whether (<code>true</code>) or not (<code>false</code>) the key
* identifier is distinct from the created API key value. This parameter is
* deprecated and should not be used.</p>
*/
inline bool GetGenerateDistinctId() const{ return m_generateDistinctId; }
inline bool GenerateDistinctIdHasBeenSet() const { return m_generateDistinctIdHasBeenSet; }
inline void SetGenerateDistinctId(bool value) { m_generateDistinctIdHasBeenSet = true; m_generateDistinctId = value; }
inline CreateApiKeyRequest& WithGenerateDistinctId(bool value) { SetGenerateDistinctId(value); return *this;}
///@}
///@{
/**
* <p>Specifies a value of the API key.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
inline CreateApiKeyRequest& WithValue(const Aws::String& value) { SetValue(value); return *this;}
inline CreateApiKeyRequest& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
inline CreateApiKeyRequest& WithValue(const char* value) { SetValue(value); return *this;}
///@}
///@{
/**
* <p>DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API
* key.</p>
*/
inline const Aws::Vector<StageKey>& GetStageKeys() const{ return m_stageKeys; }
inline bool StageKeysHasBeenSet() const { return m_stageKeysHasBeenSet; }
inline void SetStageKeys(const Aws::Vector<StageKey>& value) { m_stageKeysHasBeenSet = true; m_stageKeys = value; }
inline void SetStageKeys(Aws::Vector<StageKey>&& value) { m_stageKeysHasBeenSet = true; m_stageKeys = std::move(value); }
inline CreateApiKeyRequest& WithStageKeys(const Aws::Vector<StageKey>& value) { SetStageKeys(value); return *this;}
inline CreateApiKeyRequest& WithStageKeys(Aws::Vector<StageKey>&& value) { SetStageKeys(std::move(value)); return *this;}
inline CreateApiKeyRequest& AddStageKeys(const StageKey& value) { m_stageKeysHasBeenSet = true; m_stageKeys.push_back(value); return *this; }
inline CreateApiKeyRequest& AddStageKeys(StageKey&& value) { m_stageKeysHasBeenSet = true; m_stageKeys.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>An Amazon Web Services Marketplace customer identifier, when integrating with
* the Amazon Web Services SaaS Marketplace.</p>
*/
inline const Aws::String& GetCustomerId() const{ return m_customerId; }
inline bool CustomerIdHasBeenSet() const { return m_customerIdHasBeenSet; }
inline void SetCustomerId(const Aws::String& value) { m_customerIdHasBeenSet = true; m_customerId = value; }
inline void SetCustomerId(Aws::String&& value) { m_customerIdHasBeenSet = true; m_customerId = std::move(value); }
inline void SetCustomerId(const char* value) { m_customerIdHasBeenSet = true; m_customerId.assign(value); }
inline CreateApiKeyRequest& WithCustomerId(const Aws::String& value) { SetCustomerId(value); return *this;}
inline CreateApiKeyRequest& WithCustomerId(Aws::String&& value) { SetCustomerId(std::move(value)); return *this;}
inline CreateApiKeyRequest& WithCustomerId(const char* value) { SetCustomerId(value); return *this;}
///@}
///@{
/**
* <p>The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The
* tag key can be up to 128 characters and must not start with <code>aws:</code>.
* The tag value can be up to 256 characters.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateApiKeyRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateApiKeyRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateApiKeyRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
inline CreateApiKeyRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateApiKeyRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateApiKeyRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateApiKeyRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateApiKeyRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateApiKeyRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
bool m_enabled;
bool m_enabledHasBeenSet = false;
bool m_generateDistinctId;
bool m_generateDistinctIdHasBeenSet = false;
Aws::String m_value;
bool m_valueHasBeenSet = false;
Aws::Vector<StageKey> m_stageKeys;
bool m_stageKeysHasBeenSet = false;
Aws::String m_customerId;
bool m_customerIdHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,213 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>A resource that can be distributed to callers for executing Method resources
* that require an API key. API keys can be mapped to any Stage on any RestApi,
* which indicates that the callers with the API key can make requests to that
* stage.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/ApiKey">AWS
* API Reference</a></p>
*/
class CreateApiKeyResult
{
public:
AWS_APIGATEWAY_API CreateApiKeyResult();
AWS_APIGATEWAY_API CreateApiKeyResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateApiKeyResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The identifier of the API Key.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline CreateApiKeyResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CreateApiKeyResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CreateApiKeyResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The value of the API Key.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
inline void SetValue(const Aws::String& value) { m_value = value; }
inline void SetValue(Aws::String&& value) { m_value = std::move(value); }
inline void SetValue(const char* value) { m_value.assign(value); }
inline CreateApiKeyResult& WithValue(const Aws::String& value) { SetValue(value); return *this;}
inline CreateApiKeyResult& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
inline CreateApiKeyResult& WithValue(const char* value) { SetValue(value); return *this;}
///@}
///@{
/**
* <p>The name of the API Key.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline void SetName(const Aws::String& value) { m_name = value; }
inline void SetName(Aws::String&& value) { m_name = std::move(value); }
inline void SetName(const char* value) { m_name.assign(value); }
inline CreateApiKeyResult& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateApiKeyResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateApiKeyResult& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>An Amazon Web Services Marketplace customer identifier, when integrating with
* the Amazon Web Services SaaS Marketplace.</p>
*/
inline const Aws::String& GetCustomerId() const{ return m_customerId; }
inline void SetCustomerId(const Aws::String& value) { m_customerId = value; }
inline void SetCustomerId(Aws::String&& value) { m_customerId = std::move(value); }
inline void SetCustomerId(const char* value) { m_customerId.assign(value); }
inline CreateApiKeyResult& WithCustomerId(const Aws::String& value) { SetCustomerId(value); return *this;}
inline CreateApiKeyResult& WithCustomerId(Aws::String&& value) { SetCustomerId(std::move(value)); return *this;}
inline CreateApiKeyResult& WithCustomerId(const char* value) { SetCustomerId(value); return *this;}
///@}
///@{
/**
* <p>The description of the API Key.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline void SetDescription(const Aws::String& value) { m_description = value; }
inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
inline void SetDescription(const char* value) { m_description.assign(value); }
inline CreateApiKeyResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateApiKeyResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateApiKeyResult& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>Specifies whether the API Key can be used by callers.</p>
*/
inline bool GetEnabled() const{ return m_enabled; }
inline void SetEnabled(bool value) { m_enabled = value; }
inline CreateApiKeyResult& WithEnabled(bool value) { SetEnabled(value); return *this;}
///@}
///@{
/**
* <p>The timestamp when the API Key was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; }
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); }
inline CreateApiKeyResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline CreateApiKeyResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The timestamp when the API Key was last updated.</p>
*/
inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; }
inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDate = value; }
inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDate = std::move(value); }
inline CreateApiKeyResult& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;}
inline CreateApiKeyResult& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of Stage resources that are associated with the ApiKey resource.</p>
*/
inline const Aws::Vector<Aws::String>& GetStageKeys() const{ return m_stageKeys; }
inline void SetStageKeys(const Aws::Vector<Aws::String>& value) { m_stageKeys = value; }
inline void SetStageKeys(Aws::Vector<Aws::String>&& value) { m_stageKeys = std::move(value); }
inline CreateApiKeyResult& WithStageKeys(const Aws::Vector<Aws::String>& value) { SetStageKeys(value); return *this;}
inline CreateApiKeyResult& WithStageKeys(Aws::Vector<Aws::String>&& value) { SetStageKeys(std::move(value)); return *this;}
inline CreateApiKeyResult& AddStageKeys(const Aws::String& value) { m_stageKeys.push_back(value); return *this; }
inline CreateApiKeyResult& AddStageKeys(Aws::String&& value) { m_stageKeys.push_back(std::move(value)); return *this; }
inline CreateApiKeyResult& AddStageKeys(const char* value) { m_stageKeys.push_back(value); return *this; }
///@}
///@{
/**
* <p>The collection of tags. Each tag element is associated with a given
* resource.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
inline CreateApiKeyResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateApiKeyResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateApiKeyResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
inline CreateApiKeyResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateApiKeyResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateApiKeyResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateApiKeyResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateApiKeyResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateApiKeyResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateApiKeyResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateApiKeyResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateApiKeyResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_value;
Aws::String m_name;
Aws::String m_customerId;
Aws::String m_description;
bool m_enabled;
Aws::Utils::DateTime m_createdDate;
Aws::Utils::DateTime m_lastUpdatedDate;
Aws::Vector<Aws::String> m_stageKeys;
Aws::Map<Aws::String, Aws::String> m_tags;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,260 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/AuthorizerType.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Request to add a new Authorizer to an existing RestApi
* resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateAuthorizerRequest">AWS
* API Reference</a></p>
*/
class CreateAuthorizerRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateAuthorizerRequest();
// 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 "CreateAuthorizer"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline CreateAuthorizerRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline CreateAuthorizerRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline CreateAuthorizerRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name of the authorizer.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline CreateAuthorizerRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateAuthorizerRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateAuthorizerRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The authorizer type. Valid values are <code>TOKEN</code> for a Lambda
* function using a single authorization token submitted in a custom header,
* <code>REQUEST</code> for a Lambda function using incoming request parameters,
* and <code>COGNITO_USER_POOLS</code> for using an Amazon Cognito user pool.</p>
*/
inline const AuthorizerType& GetType() const{ return m_type; }
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
inline void SetType(const AuthorizerType& value) { m_typeHasBeenSet = true; m_type = value; }
inline void SetType(AuthorizerType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
inline CreateAuthorizerRequest& WithType(const AuthorizerType& value) { SetType(value); return *this;}
inline CreateAuthorizerRequest& WithType(AuthorizerType&& value) { SetType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of the Amazon Cognito user pool ARNs for the
* <code>COGNITO_USER_POOLS</code> authorizer. Each element is of this format:
* <code>arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}</code>.
* For a <code>TOKEN</code> or <code>REQUEST</code> authorizer, this is not
* defined. </p>
*/
inline const Aws::Vector<Aws::String>& GetProviderARNs() const{ return m_providerARNs; }
inline bool ProviderARNsHasBeenSet() const { return m_providerARNsHasBeenSet; }
inline void SetProviderARNs(const Aws::Vector<Aws::String>& value) { m_providerARNsHasBeenSet = true; m_providerARNs = value; }
inline void SetProviderARNs(Aws::Vector<Aws::String>&& value) { m_providerARNsHasBeenSet = true; m_providerARNs = std::move(value); }
inline CreateAuthorizerRequest& WithProviderARNs(const Aws::Vector<Aws::String>& value) { SetProviderARNs(value); return *this;}
inline CreateAuthorizerRequest& WithProviderARNs(Aws::Vector<Aws::String>&& value) { SetProviderARNs(std::move(value)); return *this;}
inline CreateAuthorizerRequest& AddProviderARNs(const Aws::String& value) { m_providerARNsHasBeenSet = true; m_providerARNs.push_back(value); return *this; }
inline CreateAuthorizerRequest& AddProviderARNs(Aws::String&& value) { m_providerARNsHasBeenSet = true; m_providerARNs.push_back(std::move(value)); return *this; }
inline CreateAuthorizerRequest& AddProviderARNs(const char* value) { m_providerARNsHasBeenSet = true; m_providerARNs.push_back(value); return *this; }
///@}
///@{
/**
* <p>Optional customer-defined field, used in OpenAPI imports and exports without
* functional impact.</p>
*/
inline const Aws::String& GetAuthType() const{ return m_authType; }
inline bool AuthTypeHasBeenSet() const { return m_authTypeHasBeenSet; }
inline void SetAuthType(const Aws::String& value) { m_authTypeHasBeenSet = true; m_authType = value; }
inline void SetAuthType(Aws::String&& value) { m_authTypeHasBeenSet = true; m_authType = std::move(value); }
inline void SetAuthType(const char* value) { m_authTypeHasBeenSet = true; m_authType.assign(value); }
inline CreateAuthorizerRequest& WithAuthType(const Aws::String& value) { SetAuthType(value); return *this;}
inline CreateAuthorizerRequest& WithAuthType(Aws::String&& value) { SetAuthType(std::move(value)); return *this;}
inline CreateAuthorizerRequest& WithAuthType(const char* value) { SetAuthType(value); return *this;}
///@}
///@{
/**
* <p>Specifies the authorizer's Uniform Resource Identifier (URI). For
* <code>TOKEN</code> or <code>REQUEST</code> authorizers, this must be a
* well-formed Lambda function URI, for example,
* <code>arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations</code>.
* In general, the URI has this form
* <code>arn:aws:apigateway:{region}:lambda:path/{service_api}</code>, where
* <code>{region}</code> is the same as the region hosting the Lambda function,
* <code>path</code> indicates that the remaining substring in the URI should be
* treated as the path to the resource, including the initial <code>/</code>. For
* Lambda functions, this is usually of the form
* <code>/2015-03-31/functions/[FunctionARN]/invocations</code>.</p>
*/
inline const Aws::String& GetAuthorizerUri() const{ return m_authorizerUri; }
inline bool AuthorizerUriHasBeenSet() const { return m_authorizerUriHasBeenSet; }
inline void SetAuthorizerUri(const Aws::String& value) { m_authorizerUriHasBeenSet = true; m_authorizerUri = value; }
inline void SetAuthorizerUri(Aws::String&& value) { m_authorizerUriHasBeenSet = true; m_authorizerUri = std::move(value); }
inline void SetAuthorizerUri(const char* value) { m_authorizerUriHasBeenSet = true; m_authorizerUri.assign(value); }
inline CreateAuthorizerRequest& WithAuthorizerUri(const Aws::String& value) { SetAuthorizerUri(value); return *this;}
inline CreateAuthorizerRequest& WithAuthorizerUri(Aws::String&& value) { SetAuthorizerUri(std::move(value)); return *this;}
inline CreateAuthorizerRequest& WithAuthorizerUri(const char* value) { SetAuthorizerUri(value); return *this;}
///@}
///@{
/**
* <p>Specifies the required credentials as an IAM role for API Gateway to invoke
* the authorizer. To specify an IAM role for API Gateway to assume, use the role's
* Amazon Resource Name (ARN). To use resource-based permissions on the Lambda
* function, specify null.</p>
*/
inline const Aws::String& GetAuthorizerCredentials() const{ return m_authorizerCredentials; }
inline bool AuthorizerCredentialsHasBeenSet() const { return m_authorizerCredentialsHasBeenSet; }
inline void SetAuthorizerCredentials(const Aws::String& value) { m_authorizerCredentialsHasBeenSet = true; m_authorizerCredentials = value; }
inline void SetAuthorizerCredentials(Aws::String&& value) { m_authorizerCredentialsHasBeenSet = true; m_authorizerCredentials = std::move(value); }
inline void SetAuthorizerCredentials(const char* value) { m_authorizerCredentialsHasBeenSet = true; m_authorizerCredentials.assign(value); }
inline CreateAuthorizerRequest& WithAuthorizerCredentials(const Aws::String& value) { SetAuthorizerCredentials(value); return *this;}
inline CreateAuthorizerRequest& WithAuthorizerCredentials(Aws::String&& value) { SetAuthorizerCredentials(std::move(value)); return *this;}
inline CreateAuthorizerRequest& WithAuthorizerCredentials(const char* value) { SetAuthorizerCredentials(value); return *this;}
///@}
///@{
/**
* <p>The identity source for which authorization is requested. For a
* <code>TOKEN</code> or <code>COGNITO_USER_POOLS</code> authorizer, this is
* required and specifies the request header mapping expression for the custom
* header holding the authorization token submitted by the client. For example, if
* the token header name is <code>Auth</code>, the header mapping expression is
* <code>method.request.header.Auth</code>. For the <code>REQUEST</code>
* authorizer, this is required when authorization caching is enabled. The value is
* a comma-separated string of one or more mapping expressions of the specified
* request parameters. For example, if an <code>Auth</code> header, a
* <code>Name</code> query string parameter are defined as identity sources, this
* value is <code>method.request.header.Auth,
* method.request.querystring.Name</code>. These parameters will be used to derive
* the authorization caching key and to perform runtime validation of the
* <code>REQUEST</code> authorizer by verifying all of the identity-related request
* parameters are present, not null and non-empty. Only when this is true does the
* authorizer invoke the authorizer Lambda function, otherwise, it returns a 401
* Unauthorized response without calling the Lambda function. The valid value is a
* string of comma-separated mapping expressions of the specified request
* parameters. When the authorization caching is not enabled, this property is
* optional.</p>
*/
inline const Aws::String& GetIdentitySource() const{ return m_identitySource; }
inline bool IdentitySourceHasBeenSet() const { return m_identitySourceHasBeenSet; }
inline void SetIdentitySource(const Aws::String& value) { m_identitySourceHasBeenSet = true; m_identitySource = value; }
inline void SetIdentitySource(Aws::String&& value) { m_identitySourceHasBeenSet = true; m_identitySource = std::move(value); }
inline void SetIdentitySource(const char* value) { m_identitySourceHasBeenSet = true; m_identitySource.assign(value); }
inline CreateAuthorizerRequest& WithIdentitySource(const Aws::String& value) { SetIdentitySource(value); return *this;}
inline CreateAuthorizerRequest& WithIdentitySource(Aws::String&& value) { SetIdentitySource(std::move(value)); return *this;}
inline CreateAuthorizerRequest& WithIdentitySource(const char* value) { SetIdentitySource(value); return *this;}
///@}
///@{
/**
* <p>A validation expression for the incoming identity token. For
* <code>TOKEN</code> authorizers, this value is a regular expression. For
* <code>COGNITO_USER_POOLS</code> authorizers, API Gateway will match the
* <code>aud</code> field of the incoming token from the client against the
* specified regular expression. It will invoke the authorizer's Lambda function
* when there is a match. Otherwise, it will return a 401 Unauthorized response
* without calling the Lambda function. The validation expression does not apply to
* the <code>REQUEST</code> authorizer.</p>
*/
inline const Aws::String& GetIdentityValidationExpression() const{ return m_identityValidationExpression; }
inline bool IdentityValidationExpressionHasBeenSet() const { return m_identityValidationExpressionHasBeenSet; }
inline void SetIdentityValidationExpression(const Aws::String& value) { m_identityValidationExpressionHasBeenSet = true; m_identityValidationExpression = value; }
inline void SetIdentityValidationExpression(Aws::String&& value) { m_identityValidationExpressionHasBeenSet = true; m_identityValidationExpression = std::move(value); }
inline void SetIdentityValidationExpression(const char* value) { m_identityValidationExpressionHasBeenSet = true; m_identityValidationExpression.assign(value); }
inline CreateAuthorizerRequest& WithIdentityValidationExpression(const Aws::String& value) { SetIdentityValidationExpression(value); return *this;}
inline CreateAuthorizerRequest& WithIdentityValidationExpression(Aws::String&& value) { SetIdentityValidationExpression(std::move(value)); return *this;}
inline CreateAuthorizerRequest& WithIdentityValidationExpression(const char* value) { SetIdentityValidationExpression(value); return *this;}
///@}
///@{
/**
* <p>The TTL in seconds of cached authorizer results. If it equals 0,
* authorization caching is disabled. If it is greater than 0, API Gateway will
* cache authorizer responses. If this field is not set, the default value is 300.
* The maximum value is 3600, or 1 hour.</p>
*/
inline int GetAuthorizerResultTtlInSeconds() const{ return m_authorizerResultTtlInSeconds; }
inline bool AuthorizerResultTtlInSecondsHasBeenSet() const { return m_authorizerResultTtlInSecondsHasBeenSet; }
inline void SetAuthorizerResultTtlInSeconds(int value) { m_authorizerResultTtlInSecondsHasBeenSet = true; m_authorizerResultTtlInSeconds = value; }
inline CreateAuthorizerRequest& WithAuthorizerResultTtlInSeconds(int value) { SetAuthorizerResultTtlInSeconds(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_name;
bool m_nameHasBeenSet = false;
AuthorizerType m_type;
bool m_typeHasBeenSet = false;
Aws::Vector<Aws::String> m_providerARNs;
bool m_providerARNsHasBeenSet = false;
Aws::String m_authType;
bool m_authTypeHasBeenSet = false;
Aws::String m_authorizerUri;
bool m_authorizerUriHasBeenSet = false;
Aws::String m_authorizerCredentials;
bool m_authorizerCredentialsHasBeenSet = false;
Aws::String m_identitySource;
bool m_identitySourceHasBeenSet = false;
Aws::String m_identityValidationExpression;
bool m_identityValidationExpressionHasBeenSet = false;
int m_authorizerResultTtlInSeconds;
bool m_authorizerResultTtlInSecondsHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,256 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/AuthorizerType.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents an authorization layer for methods. If enabled on a method, API
* Gateway will activate the authorizer when a client calls the
* method.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/Authorizer">AWS
* API Reference</a></p>
*/
class CreateAuthorizerResult
{
public:
AWS_APIGATEWAY_API CreateAuthorizerResult();
AWS_APIGATEWAY_API CreateAuthorizerResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateAuthorizerResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The identifier for the authorizer resource.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline CreateAuthorizerResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CreateAuthorizerResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CreateAuthorizerResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The name of the authorizer.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline void SetName(const Aws::String& value) { m_name = value; }
inline void SetName(Aws::String&& value) { m_name = std::move(value); }
inline void SetName(const char* value) { m_name.assign(value); }
inline CreateAuthorizerResult& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateAuthorizerResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateAuthorizerResult& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The authorizer type. Valid values are <code>TOKEN</code> for a Lambda
* function using a single authorization token submitted in a custom header,
* <code>REQUEST</code> for a Lambda function using incoming request parameters,
* and <code>COGNITO_USER_POOLS</code> for using an Amazon Cognito user pool.</p>
*/
inline const AuthorizerType& GetType() const{ return m_type; }
inline void SetType(const AuthorizerType& value) { m_type = value; }
inline void SetType(AuthorizerType&& value) { m_type = std::move(value); }
inline CreateAuthorizerResult& WithType(const AuthorizerType& value) { SetType(value); return *this;}
inline CreateAuthorizerResult& WithType(AuthorizerType&& value) { SetType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of the Amazon Cognito user pool ARNs for the
* <code>COGNITO_USER_POOLS</code> authorizer. Each element is of this format:
* <code>arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}</code>.
* For a <code>TOKEN</code> or <code>REQUEST</code> authorizer, this is not
* defined. </p>
*/
inline const Aws::Vector<Aws::String>& GetProviderARNs() const{ return m_providerARNs; }
inline void SetProviderARNs(const Aws::Vector<Aws::String>& value) { m_providerARNs = value; }
inline void SetProviderARNs(Aws::Vector<Aws::String>&& value) { m_providerARNs = std::move(value); }
inline CreateAuthorizerResult& WithProviderARNs(const Aws::Vector<Aws::String>& value) { SetProviderARNs(value); return *this;}
inline CreateAuthorizerResult& WithProviderARNs(Aws::Vector<Aws::String>&& value) { SetProviderARNs(std::move(value)); return *this;}
inline CreateAuthorizerResult& AddProviderARNs(const Aws::String& value) { m_providerARNs.push_back(value); return *this; }
inline CreateAuthorizerResult& AddProviderARNs(Aws::String&& value) { m_providerARNs.push_back(std::move(value)); return *this; }
inline CreateAuthorizerResult& AddProviderARNs(const char* value) { m_providerARNs.push_back(value); return *this; }
///@}
///@{
/**
* <p>Optional customer-defined field, used in OpenAPI imports and exports without
* functional impact.</p>
*/
inline const Aws::String& GetAuthType() const{ return m_authType; }
inline void SetAuthType(const Aws::String& value) { m_authType = value; }
inline void SetAuthType(Aws::String&& value) { m_authType = std::move(value); }
inline void SetAuthType(const char* value) { m_authType.assign(value); }
inline CreateAuthorizerResult& WithAuthType(const Aws::String& value) { SetAuthType(value); return *this;}
inline CreateAuthorizerResult& WithAuthType(Aws::String&& value) { SetAuthType(std::move(value)); return *this;}
inline CreateAuthorizerResult& WithAuthType(const char* value) { SetAuthType(value); return *this;}
///@}
///@{
/**
* <p>Specifies the authorizer's Uniform Resource Identifier (URI). For
* <code>TOKEN</code> or <code>REQUEST</code> authorizers, this must be a
* well-formed Lambda function URI, for example,
* <code>arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations</code>.
* In general, the URI has this form
* <code>arn:aws:apigateway:{region}:lambda:path/{service_api}</code>, where
* <code>{region}</code> is the same as the region hosting the Lambda function,
* <code>path</code> indicates that the remaining substring in the URI should be
* treated as the path to the resource, including the initial <code>/</code>. For
* Lambda functions, this is usually of the form
* <code>/2015-03-31/functions/[FunctionARN]/invocations</code>.</p>
*/
inline const Aws::String& GetAuthorizerUri() const{ return m_authorizerUri; }
inline void SetAuthorizerUri(const Aws::String& value) { m_authorizerUri = value; }
inline void SetAuthorizerUri(Aws::String&& value) { m_authorizerUri = std::move(value); }
inline void SetAuthorizerUri(const char* value) { m_authorizerUri.assign(value); }
inline CreateAuthorizerResult& WithAuthorizerUri(const Aws::String& value) { SetAuthorizerUri(value); return *this;}
inline CreateAuthorizerResult& WithAuthorizerUri(Aws::String&& value) { SetAuthorizerUri(std::move(value)); return *this;}
inline CreateAuthorizerResult& WithAuthorizerUri(const char* value) { SetAuthorizerUri(value); return *this;}
///@}
///@{
/**
* <p>Specifies the required credentials as an IAM role for API Gateway to invoke
* the authorizer. To specify an IAM role for API Gateway to assume, use the role's
* Amazon Resource Name (ARN). To use resource-based permissions on the Lambda
* function, specify null.</p>
*/
inline const Aws::String& GetAuthorizerCredentials() const{ return m_authorizerCredentials; }
inline void SetAuthorizerCredentials(const Aws::String& value) { m_authorizerCredentials = value; }
inline void SetAuthorizerCredentials(Aws::String&& value) { m_authorizerCredentials = std::move(value); }
inline void SetAuthorizerCredentials(const char* value) { m_authorizerCredentials.assign(value); }
inline CreateAuthorizerResult& WithAuthorizerCredentials(const Aws::String& value) { SetAuthorizerCredentials(value); return *this;}
inline CreateAuthorizerResult& WithAuthorizerCredentials(Aws::String&& value) { SetAuthorizerCredentials(std::move(value)); return *this;}
inline CreateAuthorizerResult& WithAuthorizerCredentials(const char* value) { SetAuthorizerCredentials(value); return *this;}
///@}
///@{
/**
* <p>The identity source for which authorization is requested. For a
* <code>TOKEN</code> or <code>COGNITO_USER_POOLS</code> authorizer, this is
* required and specifies the request header mapping expression for the custom
* header holding the authorization token submitted by the client. For example, if
* the token header name is <code>Auth</code>, the header mapping expression is
* <code>method.request.header.Auth</code>. For the <code>REQUEST</code>
* authorizer, this is required when authorization caching is enabled. The value is
* a comma-separated string of one or more mapping expressions of the specified
* request parameters. For example, if an <code>Auth</code> header, a
* <code>Name</code> query string parameter are defined as identity sources, this
* value is <code>method.request.header.Auth</code>,
* <code>method.request.querystring.Name</code>. These parameters will be used to
* derive the authorization caching key and to perform runtime validation of the
* <code>REQUEST</code> authorizer by verifying all of the identity-related request
* parameters are present, not null and non-empty. Only when this is true does the
* authorizer invoke the authorizer Lambda function, otherwise, it returns a 401
* Unauthorized response without calling the Lambda function. The valid value is a
* string of comma-separated mapping expressions of the specified request
* parameters. When the authorization caching is not enabled, this property is
* optional. </p>
*/
inline const Aws::String& GetIdentitySource() const{ return m_identitySource; }
inline void SetIdentitySource(const Aws::String& value) { m_identitySource = value; }
inline void SetIdentitySource(Aws::String&& value) { m_identitySource = std::move(value); }
inline void SetIdentitySource(const char* value) { m_identitySource.assign(value); }
inline CreateAuthorizerResult& WithIdentitySource(const Aws::String& value) { SetIdentitySource(value); return *this;}
inline CreateAuthorizerResult& WithIdentitySource(Aws::String&& value) { SetIdentitySource(std::move(value)); return *this;}
inline CreateAuthorizerResult& WithIdentitySource(const char* value) { SetIdentitySource(value); return *this;}
///@}
///@{
/**
* <p>A validation expression for the incoming identity token. For
* <code>TOKEN</code> authorizers, this value is a regular expression. For
* <code>COGNITO_USER_POOLS</code> authorizers, API Gateway will match the
* <code>aud</code> field of the incoming token from the client against the
* specified regular expression. It will invoke the authorizer's Lambda function
* when there is a match. Otherwise, it will return a 401 Unauthorized response
* without calling the Lambda function. The validation expression does not apply to
* the <code>REQUEST</code> authorizer.</p>
*/
inline const Aws::String& GetIdentityValidationExpression() const{ return m_identityValidationExpression; }
inline void SetIdentityValidationExpression(const Aws::String& value) { m_identityValidationExpression = value; }
inline void SetIdentityValidationExpression(Aws::String&& value) { m_identityValidationExpression = std::move(value); }
inline void SetIdentityValidationExpression(const char* value) { m_identityValidationExpression.assign(value); }
inline CreateAuthorizerResult& WithIdentityValidationExpression(const Aws::String& value) { SetIdentityValidationExpression(value); return *this;}
inline CreateAuthorizerResult& WithIdentityValidationExpression(Aws::String&& value) { SetIdentityValidationExpression(std::move(value)); return *this;}
inline CreateAuthorizerResult& WithIdentityValidationExpression(const char* value) { SetIdentityValidationExpression(value); return *this;}
///@}
///@{
/**
* <p>The TTL in seconds of cached authorizer results. If it equals 0,
* authorization caching is disabled. If it is greater than 0, API Gateway will
* cache authorizer responses. If this field is not set, the default value is 300.
* The maximum value is 3600, or 1 hour.</p>
*/
inline int GetAuthorizerResultTtlInSeconds() const{ return m_authorizerResultTtlInSeconds; }
inline void SetAuthorizerResultTtlInSeconds(int value) { m_authorizerResultTtlInSeconds = value; }
inline CreateAuthorizerResult& WithAuthorizerResultTtlInSeconds(int value) { SetAuthorizerResultTtlInSeconds(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateAuthorizerResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateAuthorizerResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateAuthorizerResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_name;
AuthorizerType m_type;
Aws::Vector<Aws::String> m_providerARNs;
Aws::String m_authType;
Aws::String m_authorizerUri;
Aws::String m_authorizerCredentials;
Aws::String m_identitySource;
Aws::String m_identityValidationExpression;
int m_authorizerResultTtlInSeconds;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,116 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Requests API Gateway to create a new BasePathMapping resource.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateBasePathMappingRequest">AWS
* API Reference</a></p>
*/
class CreateBasePathMappingRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateBasePathMappingRequest();
// 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 "CreateBasePathMapping"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The domain name of the BasePathMapping resource to create.</p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
inline CreateBasePathMappingRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
inline CreateBasePathMappingRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
inline CreateBasePathMappingRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;}
///@}
///@{
/**
* <p>The base path name that callers of the API must provide as part of the URL
* after the domain name. This value must be unique for all of the mappings across
* a single API. Specify '(none)' if you do not want callers to specify a base path
* name after the domain name.</p>
*/
inline const Aws::String& GetBasePath() const{ return m_basePath; }
inline bool BasePathHasBeenSet() const { return m_basePathHasBeenSet; }
inline void SetBasePath(const Aws::String& value) { m_basePathHasBeenSet = true; m_basePath = value; }
inline void SetBasePath(Aws::String&& value) { m_basePathHasBeenSet = true; m_basePath = std::move(value); }
inline void SetBasePath(const char* value) { m_basePathHasBeenSet = true; m_basePath.assign(value); }
inline CreateBasePathMappingRequest& WithBasePath(const Aws::String& value) { SetBasePath(value); return *this;}
inline CreateBasePathMappingRequest& WithBasePath(Aws::String&& value) { SetBasePath(std::move(value)); return *this;}
inline CreateBasePathMappingRequest& WithBasePath(const char* value) { SetBasePath(value); return *this;}
///@}
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline CreateBasePathMappingRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline CreateBasePathMappingRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline CreateBasePathMappingRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name of the API's stage that you want to use for this mapping. Specify
* '(none)' if you want callers to explicitly specify the stage name after any base
* path name.</p>
*/
inline const Aws::String& GetStage() const{ return m_stage; }
inline bool StageHasBeenSet() const { return m_stageHasBeenSet; }
inline void SetStage(const Aws::String& value) { m_stageHasBeenSet = true; m_stage = value; }
inline void SetStage(Aws::String&& value) { m_stageHasBeenSet = true; m_stage = std::move(value); }
inline void SetStage(const char* value) { m_stageHasBeenSet = true; m_stage.assign(value); }
inline CreateBasePathMappingRequest& WithStage(const Aws::String& value) { SetStage(value); return *this;}
inline CreateBasePathMappingRequest& WithStage(Aws::String&& value) { SetStage(std::move(value)); return *this;}
inline CreateBasePathMappingRequest& WithStage(const char* value) { SetStage(value); return *this;}
///@}
private:
Aws::String m_domainName;
bool m_domainNameHasBeenSet = false;
Aws::String m_basePath;
bool m_basePathHasBeenSet = false;
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_stage;
bool m_stageHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,104 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents the base path that callers of the API must provide as part of the
* URL after the domain name.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/BasePathMapping">AWS
* API Reference</a></p>
*/
class CreateBasePathMappingResult
{
public:
AWS_APIGATEWAY_API CreateBasePathMappingResult();
AWS_APIGATEWAY_API CreateBasePathMappingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateBasePathMappingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The base path name that callers of the API must provide as part of the URL
* after the domain name.</p>
*/
inline const Aws::String& GetBasePath() const{ return m_basePath; }
inline void SetBasePath(const Aws::String& value) { m_basePath = value; }
inline void SetBasePath(Aws::String&& value) { m_basePath = std::move(value); }
inline void SetBasePath(const char* value) { m_basePath.assign(value); }
inline CreateBasePathMappingResult& WithBasePath(const Aws::String& value) { SetBasePath(value); return *this;}
inline CreateBasePathMappingResult& WithBasePath(Aws::String&& value) { SetBasePath(std::move(value)); return *this;}
inline CreateBasePathMappingResult& WithBasePath(const char* value) { SetBasePath(value); return *this;}
///@}
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline void SetRestApiId(const Aws::String& value) { m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiId.assign(value); }
inline CreateBasePathMappingResult& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline CreateBasePathMappingResult& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline CreateBasePathMappingResult& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name of the associated stage.</p>
*/
inline const Aws::String& GetStage() const{ return m_stage; }
inline void SetStage(const Aws::String& value) { m_stage = value; }
inline void SetStage(Aws::String&& value) { m_stage = std::move(value); }
inline void SetStage(const char* value) { m_stage.assign(value); }
inline CreateBasePathMappingResult& WithStage(const Aws::String& value) { SetStage(value); return *this;}
inline CreateBasePathMappingResult& WithStage(Aws::String&& value) { SetStage(std::move(value)); return *this;}
inline CreateBasePathMappingResult& WithStage(const char* value) { SetStage(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateBasePathMappingResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateBasePathMappingResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateBasePathMappingResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_basePath;
Aws::String m_restApiId;
Aws::String m_stage;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,200 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/CacheClusterSize.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/DeploymentCanarySettings.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Requests API Gateway to create a Deployment resource.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateDeploymentRequest">AWS
* API Reference</a></p>
*/
class CreateDeploymentRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateDeploymentRequest();
// 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 "CreateDeployment"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline CreateDeploymentRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline CreateDeploymentRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline CreateDeploymentRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name of the Stage resource for the Deployment resource to create.</p>
*/
inline const Aws::String& GetStageName() const{ return m_stageName; }
inline bool StageNameHasBeenSet() const { return m_stageNameHasBeenSet; }
inline void SetStageName(const Aws::String& value) { m_stageNameHasBeenSet = true; m_stageName = value; }
inline void SetStageName(Aws::String&& value) { m_stageNameHasBeenSet = true; m_stageName = std::move(value); }
inline void SetStageName(const char* value) { m_stageNameHasBeenSet = true; m_stageName.assign(value); }
inline CreateDeploymentRequest& WithStageName(const Aws::String& value) { SetStageName(value); return *this;}
inline CreateDeploymentRequest& WithStageName(Aws::String&& value) { SetStageName(std::move(value)); return *this;}
inline CreateDeploymentRequest& WithStageName(const char* value) { SetStageName(value); return *this;}
///@}
///@{
/**
* <p>The description of the Stage resource for the Deployment resource to
* create.</p>
*/
inline const Aws::String& GetStageDescription() const{ return m_stageDescription; }
inline bool StageDescriptionHasBeenSet() const { return m_stageDescriptionHasBeenSet; }
inline void SetStageDescription(const Aws::String& value) { m_stageDescriptionHasBeenSet = true; m_stageDescription = value; }
inline void SetStageDescription(Aws::String&& value) { m_stageDescriptionHasBeenSet = true; m_stageDescription = std::move(value); }
inline void SetStageDescription(const char* value) { m_stageDescriptionHasBeenSet = true; m_stageDescription.assign(value); }
inline CreateDeploymentRequest& WithStageDescription(const Aws::String& value) { SetStageDescription(value); return *this;}
inline CreateDeploymentRequest& WithStageDescription(Aws::String&& value) { SetStageDescription(std::move(value)); return *this;}
inline CreateDeploymentRequest& WithStageDescription(const char* value) { SetStageDescription(value); return *this;}
///@}
///@{
/**
* <p>The description for the Deployment resource to create.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateDeploymentRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateDeploymentRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateDeploymentRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>Enables a cache cluster for the Stage resource specified in the input.</p>
*/
inline bool GetCacheClusterEnabled() const{ return m_cacheClusterEnabled; }
inline bool CacheClusterEnabledHasBeenSet() const { return m_cacheClusterEnabledHasBeenSet; }
inline void SetCacheClusterEnabled(bool value) { m_cacheClusterEnabledHasBeenSet = true; m_cacheClusterEnabled = value; }
inline CreateDeploymentRequest& WithCacheClusterEnabled(bool value) { SetCacheClusterEnabled(value); return *this;}
///@}
///@{
/**
* <p>The stage's cache capacity in GB. For more information about choosing a cache
* size, see <a
* href="https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html">Enabling
* API caching to enhance responsiveness</a>.</p>
*/
inline const CacheClusterSize& GetCacheClusterSize() const{ return m_cacheClusterSize; }
inline bool CacheClusterSizeHasBeenSet() const { return m_cacheClusterSizeHasBeenSet; }
inline void SetCacheClusterSize(const CacheClusterSize& value) { m_cacheClusterSizeHasBeenSet = true; m_cacheClusterSize = value; }
inline void SetCacheClusterSize(CacheClusterSize&& value) { m_cacheClusterSizeHasBeenSet = true; m_cacheClusterSize = std::move(value); }
inline CreateDeploymentRequest& WithCacheClusterSize(const CacheClusterSize& value) { SetCacheClusterSize(value); return *this;}
inline CreateDeploymentRequest& WithCacheClusterSize(CacheClusterSize&& value) { SetCacheClusterSize(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A map that defines the stage variables for the Stage resource that is
* associated with the new deployment. Variable names can have alphanumeric and
* underscore characters, and the values must match
* <code>[A-Za-z0-9-._~:/?#&amp;=,]+</code>.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetVariables() const{ return m_variables; }
inline bool VariablesHasBeenSet() const { return m_variablesHasBeenSet; }
inline void SetVariables(const Aws::Map<Aws::String, Aws::String>& value) { m_variablesHasBeenSet = true; m_variables = value; }
inline void SetVariables(Aws::Map<Aws::String, Aws::String>&& value) { m_variablesHasBeenSet = true; m_variables = std::move(value); }
inline CreateDeploymentRequest& WithVariables(const Aws::Map<Aws::String, Aws::String>& value) { SetVariables(value); return *this;}
inline CreateDeploymentRequest& WithVariables(Aws::Map<Aws::String, Aws::String>&& value) { SetVariables(std::move(value)); return *this;}
inline CreateDeploymentRequest& AddVariables(const Aws::String& key, const Aws::String& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, value); return *this; }
inline CreateDeploymentRequest& AddVariables(Aws::String&& key, const Aws::String& value) { m_variablesHasBeenSet = true; m_variables.emplace(std::move(key), value); return *this; }
inline CreateDeploymentRequest& AddVariables(const Aws::String& key, Aws::String&& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, std::move(value)); return *this; }
inline CreateDeploymentRequest& AddVariables(Aws::String&& key, Aws::String&& value) { m_variablesHasBeenSet = true; m_variables.emplace(std::move(key), std::move(value)); return *this; }
inline CreateDeploymentRequest& AddVariables(const char* key, Aws::String&& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, std::move(value)); return *this; }
inline CreateDeploymentRequest& AddVariables(Aws::String&& key, const char* value) { m_variablesHasBeenSet = true; m_variables.emplace(std::move(key), value); return *this; }
inline CreateDeploymentRequest& AddVariables(const char* key, const char* value) { m_variablesHasBeenSet = true; m_variables.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The input configuration for the canary deployment when the deployment is a
* canary release deployment. </p>
*/
inline const DeploymentCanarySettings& GetCanarySettings() const{ return m_canarySettings; }
inline bool CanarySettingsHasBeenSet() const { return m_canarySettingsHasBeenSet; }
inline void SetCanarySettings(const DeploymentCanarySettings& value) { m_canarySettingsHasBeenSet = true; m_canarySettings = value; }
inline void SetCanarySettings(DeploymentCanarySettings&& value) { m_canarySettingsHasBeenSet = true; m_canarySettings = std::move(value); }
inline CreateDeploymentRequest& WithCanarySettings(const DeploymentCanarySettings& value) { SetCanarySettings(value); return *this;}
inline CreateDeploymentRequest& WithCanarySettings(DeploymentCanarySettings&& value) { SetCanarySettings(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specifies whether active tracing with X-ray is enabled for the Stage.</p>
*/
inline bool GetTracingEnabled() const{ return m_tracingEnabled; }
inline bool TracingEnabledHasBeenSet() const { return m_tracingEnabledHasBeenSet; }
inline void SetTracingEnabled(bool value) { m_tracingEnabledHasBeenSet = true; m_tracingEnabled = value; }
inline CreateDeploymentRequest& WithTracingEnabled(bool value) { SetTracingEnabled(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_stageName;
bool m_stageNameHasBeenSet = false;
Aws::String m_stageDescription;
bool m_stageDescriptionHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
bool m_cacheClusterEnabled;
bool m_cacheClusterEnabledHasBeenSet = false;
CacheClusterSize m_cacheClusterSize;
bool m_cacheClusterSizeHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_variables;
bool m_variablesHasBeenSet = false;
DeploymentCanarySettings m_canarySettings;
bool m_canarySettingsHasBeenSet = false;
bool m_tracingEnabled;
bool m_tracingEnabledHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,125 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/MethodSnapshot.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>An immutable representation of a RestApi resource that can be called by users
* using Stages. A deployment must be associated with a Stage for it to be callable
* over the Internet.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/Deployment">AWS
* API Reference</a></p>
*/
class CreateDeploymentResult
{
public:
AWS_APIGATEWAY_API CreateDeploymentResult();
AWS_APIGATEWAY_API CreateDeploymentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateDeploymentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The identifier for the deployment resource.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline CreateDeploymentResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CreateDeploymentResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CreateDeploymentResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The description for the deployment resource.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline void SetDescription(const Aws::String& value) { m_description = value; }
inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
inline void SetDescription(const char* value) { m_description.assign(value); }
inline CreateDeploymentResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateDeploymentResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateDeploymentResult& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The date and time that the deployment resource was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; }
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); }
inline CreateDeploymentResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline CreateDeploymentResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A summary of the RestApi at the date and time that the deployment resource
* was created.</p>
*/
inline const Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>>& GetApiSummary() const{ return m_apiSummary; }
inline void SetApiSummary(const Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>>& value) { m_apiSummary = value; }
inline void SetApiSummary(Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>>&& value) { m_apiSummary = std::move(value); }
inline CreateDeploymentResult& WithApiSummary(const Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>>& value) { SetApiSummary(value); return *this;}
inline CreateDeploymentResult& WithApiSummary(Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>>&& value) { SetApiSummary(std::move(value)); return *this;}
inline CreateDeploymentResult& AddApiSummary(const Aws::String& key, const Aws::Map<Aws::String, MethodSnapshot>& value) { m_apiSummary.emplace(key, value); return *this; }
inline CreateDeploymentResult& AddApiSummary(Aws::String&& key, const Aws::Map<Aws::String, MethodSnapshot>& value) { m_apiSummary.emplace(std::move(key), value); return *this; }
inline CreateDeploymentResult& AddApiSummary(const Aws::String& key, Aws::Map<Aws::String, MethodSnapshot>&& value) { m_apiSummary.emplace(key, std::move(value)); return *this; }
inline CreateDeploymentResult& AddApiSummary(Aws::String&& key, Aws::Map<Aws::String, MethodSnapshot>&& value) { m_apiSummary.emplace(std::move(key), std::move(value)); return *this; }
inline CreateDeploymentResult& AddApiSummary(const char* key, Aws::Map<Aws::String, MethodSnapshot>&& value) { m_apiSummary.emplace(key, std::move(value)); return *this; }
inline CreateDeploymentResult& AddApiSummary(const char* key, const Aws::Map<Aws::String, MethodSnapshot>& value) { m_apiSummary.emplace(key, value); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateDeploymentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateDeploymentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateDeploymentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_description;
Aws::Utils::DateTime m_createdDate;
Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>> m_apiSummary;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,96 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/DocumentationPartLocation.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Creates a new documentation part of a given API.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateDocumentationPartRequest">AWS
* API Reference</a></p>
*/
class CreateDocumentationPartRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateDocumentationPartRequest();
// 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 "CreateDocumentationPart"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline CreateDocumentationPartRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline CreateDocumentationPartRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline CreateDocumentationPartRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The location of the targeted API entity of the to-be-created documentation
* part.</p>
*/
inline const DocumentationPartLocation& GetLocation() const{ return m_location; }
inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
inline void SetLocation(const DocumentationPartLocation& value) { m_locationHasBeenSet = true; m_location = value; }
inline void SetLocation(DocumentationPartLocation&& value) { m_locationHasBeenSet = true; m_location = std::move(value); }
inline CreateDocumentationPartRequest& WithLocation(const DocumentationPartLocation& value) { SetLocation(value); return *this;}
inline CreateDocumentationPartRequest& WithLocation(DocumentationPartLocation&& value) { SetLocation(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The new documentation content map of the targeted API entity. Enclosed
* key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can
* be exported and, hence, published.</p>
*/
inline const Aws::String& GetProperties() const{ return m_properties; }
inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; }
inline void SetProperties(const Aws::String& value) { m_propertiesHasBeenSet = true; m_properties = value; }
inline void SetProperties(Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties = std::move(value); }
inline void SetProperties(const char* value) { m_propertiesHasBeenSet = true; m_properties.assign(value); }
inline CreateDocumentationPartRequest& WithProperties(const Aws::String& value) { SetProperties(value); return *this;}
inline CreateDocumentationPartRequest& WithProperties(Aws::String&& value) { SetProperties(std::move(value)); return *this;}
inline CreateDocumentationPartRequest& WithProperties(const char* value) { SetProperties(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
DocumentationPartLocation m_location;
bool m_locationHasBeenSet = false;
Aws::String m_properties;
bool m_propertiesHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,112 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/DocumentationPartLocation.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>A documentation part for a targeted API entity.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DocumentationPart">AWS
* API Reference</a></p>
*/
class CreateDocumentationPartResult
{
public:
AWS_APIGATEWAY_API CreateDocumentationPartResult();
AWS_APIGATEWAY_API CreateDocumentationPartResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateDocumentationPartResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The DocumentationPart identifier, generated by API Gateway when the
* <code>DocumentationPart</code> is created.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline CreateDocumentationPartResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CreateDocumentationPartResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CreateDocumentationPartResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The location of the API entity to which the documentation applies. Valid
* fields depend on the targeted API entity type. All the valid location fields are
* not required. If not explicitly specified, a valid location field is treated as
* a wildcard and associated documentation content may be inherited by matching
* entities, unless overridden.</p>
*/
inline const DocumentationPartLocation& GetLocation() const{ return m_location; }
inline void SetLocation(const DocumentationPartLocation& value) { m_location = value; }
inline void SetLocation(DocumentationPartLocation&& value) { m_location = std::move(value); }
inline CreateDocumentationPartResult& WithLocation(const DocumentationPartLocation& value) { SetLocation(value); return *this;}
inline CreateDocumentationPartResult& WithLocation(DocumentationPartLocation&& value) { SetLocation(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A content map of API-specific key-value pairs describing the targeted API
* entity. The map must be encoded as a JSON string, e.g., <code>"{
* \"description\": \"The API does ...\" }"</code>. Only OpenAPI-compliant
* documentation-related fields from the properties map are exported and, hence,
* published as part of the API entity definitions, while the original
* documentation parts are exported in a OpenAPI extension of
* <code>x-amazon-apigateway-documentation</code>.</p>
*/
inline const Aws::String& GetProperties() const{ return m_properties; }
inline void SetProperties(const Aws::String& value) { m_properties = value; }
inline void SetProperties(Aws::String&& value) { m_properties = std::move(value); }
inline void SetProperties(const char* value) { m_properties.assign(value); }
inline CreateDocumentationPartResult& WithProperties(const Aws::String& value) { SetProperties(value); return *this;}
inline CreateDocumentationPartResult& WithProperties(Aws::String&& value) { SetProperties(std::move(value)); return *this;}
inline CreateDocumentationPartResult& WithProperties(const char* value) { SetProperties(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateDocumentationPartResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateDocumentationPartResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateDocumentationPartResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
DocumentationPartLocation m_location;
Aws::String m_properties;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,111 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Creates a new documentation version of a given API.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateDocumentationVersionRequest">AWS
* API Reference</a></p>
*/
class CreateDocumentationVersionRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateDocumentationVersionRequest();
// 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 "CreateDocumentationVersion"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline CreateDocumentationVersionRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline CreateDocumentationVersionRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline CreateDocumentationVersionRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The version identifier of the new snapshot.</p>
*/
inline const Aws::String& GetDocumentationVersion() const{ return m_documentationVersion; }
inline bool DocumentationVersionHasBeenSet() const { return m_documentationVersionHasBeenSet; }
inline void SetDocumentationVersion(const Aws::String& value) { m_documentationVersionHasBeenSet = true; m_documentationVersion = value; }
inline void SetDocumentationVersion(Aws::String&& value) { m_documentationVersionHasBeenSet = true; m_documentationVersion = std::move(value); }
inline void SetDocumentationVersion(const char* value) { m_documentationVersionHasBeenSet = true; m_documentationVersion.assign(value); }
inline CreateDocumentationVersionRequest& WithDocumentationVersion(const Aws::String& value) { SetDocumentationVersion(value); return *this;}
inline CreateDocumentationVersionRequest& WithDocumentationVersion(Aws::String&& value) { SetDocumentationVersion(std::move(value)); return *this;}
inline CreateDocumentationVersionRequest& WithDocumentationVersion(const char* value) { SetDocumentationVersion(value); return *this;}
///@}
///@{
/**
* <p>The stage name to be associated with the new documentation snapshot.</p>
*/
inline const Aws::String& GetStageName() const{ return m_stageName; }
inline bool StageNameHasBeenSet() const { return m_stageNameHasBeenSet; }
inline void SetStageName(const Aws::String& value) { m_stageNameHasBeenSet = true; m_stageName = value; }
inline void SetStageName(Aws::String&& value) { m_stageNameHasBeenSet = true; m_stageName = std::move(value); }
inline void SetStageName(const char* value) { m_stageNameHasBeenSet = true; m_stageName.assign(value); }
inline CreateDocumentationVersionRequest& WithStageName(const Aws::String& value) { SetStageName(value); return *this;}
inline CreateDocumentationVersionRequest& WithStageName(Aws::String&& value) { SetStageName(std::move(value)); return *this;}
inline CreateDocumentationVersionRequest& WithStageName(const char* value) { SetStageName(value); return *this;}
///@}
///@{
/**
* <p>A description about the new documentation snapshot.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateDocumentationVersionRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateDocumentationVersionRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateDocumentationVersionRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_documentationVersion;
bool m_documentationVersionHasBeenSet = false;
Aws::String m_stageName;
bool m_stageNameHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,101 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>A snapshot of the documentation of an API.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DocumentationVersion">AWS
* API Reference</a></p>
*/
class CreateDocumentationVersionResult
{
public:
AWS_APIGATEWAY_API CreateDocumentationVersionResult();
AWS_APIGATEWAY_API CreateDocumentationVersionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateDocumentationVersionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The version identifier of the API documentation snapshot.</p>
*/
inline const Aws::String& GetVersion() const{ return m_version; }
inline void SetVersion(const Aws::String& value) { m_version = value; }
inline void SetVersion(Aws::String&& value) { m_version = std::move(value); }
inline void SetVersion(const char* value) { m_version.assign(value); }
inline CreateDocumentationVersionResult& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
inline CreateDocumentationVersionResult& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
inline CreateDocumentationVersionResult& WithVersion(const char* value) { SetVersion(value); return *this;}
///@}
///@{
/**
* <p>The date when the API documentation snapshot is created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; }
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); }
inline CreateDocumentationVersionResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline CreateDocumentationVersionResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The description of the API documentation snapshot.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline void SetDescription(const Aws::String& value) { m_description = value; }
inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
inline void SetDescription(const char* value) { m_description.assign(value); }
inline CreateDocumentationVersionResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateDocumentationVersionResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateDocumentationVersionResult& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateDocumentationVersionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateDocumentationVersionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateDocumentationVersionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_version;
Aws::Utils::DateTime m_createdDate;
Aws::String m_description;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,286 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/EndpointConfiguration.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/SecurityPolicy.h>
#include <aws/apigateway/model/MutualTlsAuthenticationInput.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>A request to create a new domain name.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateDomainNameRequest">AWS
* API Reference</a></p>
*/
class CreateDomainNameRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateDomainNameRequest();
// 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 "CreateDomainName"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The name of the DomainName resource.</p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
inline CreateDomainNameRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
inline CreateDomainNameRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
inline CreateDomainNameRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;}
///@}
///@{
/**
* <p>The user-friendly name of the certificate that will be used by edge-optimized
* endpoint for this domain name.</p>
*/
inline const Aws::String& GetCertificateName() const{ return m_certificateName; }
inline bool CertificateNameHasBeenSet() const { return m_certificateNameHasBeenSet; }
inline void SetCertificateName(const Aws::String& value) { m_certificateNameHasBeenSet = true; m_certificateName = value; }
inline void SetCertificateName(Aws::String&& value) { m_certificateNameHasBeenSet = true; m_certificateName = std::move(value); }
inline void SetCertificateName(const char* value) { m_certificateNameHasBeenSet = true; m_certificateName.assign(value); }
inline CreateDomainNameRequest& WithCertificateName(const Aws::String& value) { SetCertificateName(value); return *this;}
inline CreateDomainNameRequest& WithCertificateName(Aws::String&& value) { SetCertificateName(std::move(value)); return *this;}
inline CreateDomainNameRequest& WithCertificateName(const char* value) { SetCertificateName(value); return *this;}
///@}
///@{
/**
* <p>[Deprecated] The body of the server certificate that will be used by
* edge-optimized endpoint for this domain name provided by your certificate
* authority.</p>
*/
inline const Aws::String& GetCertificateBody() const{ return m_certificateBody; }
inline bool CertificateBodyHasBeenSet() const { return m_certificateBodyHasBeenSet; }
inline void SetCertificateBody(const Aws::String& value) { m_certificateBodyHasBeenSet = true; m_certificateBody = value; }
inline void SetCertificateBody(Aws::String&& value) { m_certificateBodyHasBeenSet = true; m_certificateBody = std::move(value); }
inline void SetCertificateBody(const char* value) { m_certificateBodyHasBeenSet = true; m_certificateBody.assign(value); }
inline CreateDomainNameRequest& WithCertificateBody(const Aws::String& value) { SetCertificateBody(value); return *this;}
inline CreateDomainNameRequest& WithCertificateBody(Aws::String&& value) { SetCertificateBody(std::move(value)); return *this;}
inline CreateDomainNameRequest& WithCertificateBody(const char* value) { SetCertificateBody(value); return *this;}
///@}
///@{
/**
* <p>[Deprecated] Your edge-optimized endpoint's domain name certificate's private
* key.</p>
*/
inline const Aws::String& GetCertificatePrivateKey() const{ return m_certificatePrivateKey; }
inline bool CertificatePrivateKeyHasBeenSet() const { return m_certificatePrivateKeyHasBeenSet; }
inline void SetCertificatePrivateKey(const Aws::String& value) { m_certificatePrivateKeyHasBeenSet = true; m_certificatePrivateKey = value; }
inline void SetCertificatePrivateKey(Aws::String&& value) { m_certificatePrivateKeyHasBeenSet = true; m_certificatePrivateKey = std::move(value); }
inline void SetCertificatePrivateKey(const char* value) { m_certificatePrivateKeyHasBeenSet = true; m_certificatePrivateKey.assign(value); }
inline CreateDomainNameRequest& WithCertificatePrivateKey(const Aws::String& value) { SetCertificatePrivateKey(value); return *this;}
inline CreateDomainNameRequest& WithCertificatePrivateKey(Aws::String&& value) { SetCertificatePrivateKey(std::move(value)); return *this;}
inline CreateDomainNameRequest& WithCertificatePrivateKey(const char* value) { SetCertificatePrivateKey(value); return *this;}
///@}
///@{
/**
* <p>[Deprecated] The intermediate certificates and optionally the root
* certificate, one after the other without any blank lines, used by an
* edge-optimized endpoint for this domain name. If you include the root
* certificate, your certificate chain must start with intermediate certificates
* and end with the root certificate. Use the intermediate certificates that were
* provided by your certificate authority. Do not include any intermediaries that
* are not in the chain of trust path.</p>
*/
inline const Aws::String& GetCertificateChain() const{ return m_certificateChain; }
inline bool CertificateChainHasBeenSet() const { return m_certificateChainHasBeenSet; }
inline void SetCertificateChain(const Aws::String& value) { m_certificateChainHasBeenSet = true; m_certificateChain = value; }
inline void SetCertificateChain(Aws::String&& value) { m_certificateChainHasBeenSet = true; m_certificateChain = std::move(value); }
inline void SetCertificateChain(const char* value) { m_certificateChainHasBeenSet = true; m_certificateChain.assign(value); }
inline CreateDomainNameRequest& WithCertificateChain(const Aws::String& value) { SetCertificateChain(value); return *this;}
inline CreateDomainNameRequest& WithCertificateChain(Aws::String&& value) { SetCertificateChain(std::move(value)); return *this;}
inline CreateDomainNameRequest& WithCertificateChain(const char* value) { SetCertificateChain(value); return *this;}
///@}
///@{
/**
* <p>The reference to an Amazon Web Services-managed certificate that will be used
* by edge-optimized endpoint for this domain name. Certificate Manager is the only
* supported source.</p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
inline CreateDomainNameRequest& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
inline CreateDomainNameRequest& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
inline CreateDomainNameRequest& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
///@}
///@{
/**
* <p>The user-friendly name of the certificate that will be used by regional
* endpoint for this domain name.</p>
*/
inline const Aws::String& GetRegionalCertificateName() const{ return m_regionalCertificateName; }
inline bool RegionalCertificateNameHasBeenSet() const { return m_regionalCertificateNameHasBeenSet; }
inline void SetRegionalCertificateName(const Aws::String& value) { m_regionalCertificateNameHasBeenSet = true; m_regionalCertificateName = value; }
inline void SetRegionalCertificateName(Aws::String&& value) { m_regionalCertificateNameHasBeenSet = true; m_regionalCertificateName = std::move(value); }
inline void SetRegionalCertificateName(const char* value) { m_regionalCertificateNameHasBeenSet = true; m_regionalCertificateName.assign(value); }
inline CreateDomainNameRequest& WithRegionalCertificateName(const Aws::String& value) { SetRegionalCertificateName(value); return *this;}
inline CreateDomainNameRequest& WithRegionalCertificateName(Aws::String&& value) { SetRegionalCertificateName(std::move(value)); return *this;}
inline CreateDomainNameRequest& WithRegionalCertificateName(const char* value) { SetRegionalCertificateName(value); return *this;}
///@}
///@{
/**
* <p>The reference to an Amazon Web Services-managed certificate that will be used
* by regional endpoint for this domain name. Certificate Manager is the only
* supported source.</p>
*/
inline const Aws::String& GetRegionalCertificateArn() const{ return m_regionalCertificateArn; }
inline bool RegionalCertificateArnHasBeenSet() const { return m_regionalCertificateArnHasBeenSet; }
inline void SetRegionalCertificateArn(const Aws::String& value) { m_regionalCertificateArnHasBeenSet = true; m_regionalCertificateArn = value; }
inline void SetRegionalCertificateArn(Aws::String&& value) { m_regionalCertificateArnHasBeenSet = true; m_regionalCertificateArn = std::move(value); }
inline void SetRegionalCertificateArn(const char* value) { m_regionalCertificateArnHasBeenSet = true; m_regionalCertificateArn.assign(value); }
inline CreateDomainNameRequest& WithRegionalCertificateArn(const Aws::String& value) { SetRegionalCertificateArn(value); return *this;}
inline CreateDomainNameRequest& WithRegionalCertificateArn(Aws::String&& value) { SetRegionalCertificateArn(std::move(value)); return *this;}
inline CreateDomainNameRequest& WithRegionalCertificateArn(const char* value) { SetRegionalCertificateArn(value); return *this;}
///@}
///@{
/**
* <p>The endpoint configuration of this DomainName showing the endpoint types of
* the domain name. </p>
*/
inline const EndpointConfiguration& GetEndpointConfiguration() const{ return m_endpointConfiguration; }
inline bool EndpointConfigurationHasBeenSet() const { return m_endpointConfigurationHasBeenSet; }
inline void SetEndpointConfiguration(const EndpointConfiguration& value) { m_endpointConfigurationHasBeenSet = true; m_endpointConfiguration = value; }
inline void SetEndpointConfiguration(EndpointConfiguration&& value) { m_endpointConfigurationHasBeenSet = true; m_endpointConfiguration = std::move(value); }
inline CreateDomainNameRequest& WithEndpointConfiguration(const EndpointConfiguration& value) { SetEndpointConfiguration(value); return *this;}
inline CreateDomainNameRequest& WithEndpointConfiguration(EndpointConfiguration&& value) { SetEndpointConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The
* tag key can be up to 128 characters and must not start with <code>aws:</code>.
* The tag value can be up to 256 characters.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateDomainNameRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateDomainNameRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateDomainNameRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
inline CreateDomainNameRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateDomainNameRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateDomainNameRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateDomainNameRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateDomainNameRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateDomainNameRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The Transport Layer Security (TLS) version + cipher suite for this
* DomainName. The valid values are <code>TLS_1_0</code> and
* <code>TLS_1_2</code>.</p>
*/
inline const SecurityPolicy& GetSecurityPolicy() const{ return m_securityPolicy; }
inline bool SecurityPolicyHasBeenSet() const { return m_securityPolicyHasBeenSet; }
inline void SetSecurityPolicy(const SecurityPolicy& value) { m_securityPolicyHasBeenSet = true; m_securityPolicy = value; }
inline void SetSecurityPolicy(SecurityPolicy&& value) { m_securityPolicyHasBeenSet = true; m_securityPolicy = std::move(value); }
inline CreateDomainNameRequest& WithSecurityPolicy(const SecurityPolicy& value) { SetSecurityPolicy(value); return *this;}
inline CreateDomainNameRequest& WithSecurityPolicy(SecurityPolicy&& value) { SetSecurityPolicy(std::move(value)); return *this;}
///@}
///@{
inline const MutualTlsAuthenticationInput& GetMutualTlsAuthentication() const{ return m_mutualTlsAuthentication; }
inline bool MutualTlsAuthenticationHasBeenSet() const { return m_mutualTlsAuthenticationHasBeenSet; }
inline void SetMutualTlsAuthentication(const MutualTlsAuthenticationInput& value) { m_mutualTlsAuthenticationHasBeenSet = true; m_mutualTlsAuthentication = value; }
inline void SetMutualTlsAuthentication(MutualTlsAuthenticationInput&& value) { m_mutualTlsAuthenticationHasBeenSet = true; m_mutualTlsAuthentication = std::move(value); }
inline CreateDomainNameRequest& WithMutualTlsAuthentication(const MutualTlsAuthenticationInput& value) { SetMutualTlsAuthentication(value); return *this;}
inline CreateDomainNameRequest& WithMutualTlsAuthentication(MutualTlsAuthenticationInput&& value) { SetMutualTlsAuthentication(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The ARN of the public certificate issued by ACM to validate ownership of your
* custom domain. Only required when configuring mutual TLS and using an ACM
* imported or private CA certificate ARN as the regionalCertificateArn.</p>
*/
inline const Aws::String& GetOwnershipVerificationCertificateArn() const{ return m_ownershipVerificationCertificateArn; }
inline bool OwnershipVerificationCertificateArnHasBeenSet() const { return m_ownershipVerificationCertificateArnHasBeenSet; }
inline void SetOwnershipVerificationCertificateArn(const Aws::String& value) { m_ownershipVerificationCertificateArnHasBeenSet = true; m_ownershipVerificationCertificateArn = value; }
inline void SetOwnershipVerificationCertificateArn(Aws::String&& value) { m_ownershipVerificationCertificateArnHasBeenSet = true; m_ownershipVerificationCertificateArn = std::move(value); }
inline void SetOwnershipVerificationCertificateArn(const char* value) { m_ownershipVerificationCertificateArnHasBeenSet = true; m_ownershipVerificationCertificateArn.assign(value); }
inline CreateDomainNameRequest& WithOwnershipVerificationCertificateArn(const Aws::String& value) { SetOwnershipVerificationCertificateArn(value); return *this;}
inline CreateDomainNameRequest& WithOwnershipVerificationCertificateArn(Aws::String&& value) { SetOwnershipVerificationCertificateArn(std::move(value)); return *this;}
inline CreateDomainNameRequest& WithOwnershipVerificationCertificateArn(const char* value) { SetOwnershipVerificationCertificateArn(value); return *this;}
///@}
private:
Aws::String m_domainName;
bool m_domainNameHasBeenSet = false;
Aws::String m_certificateName;
bool m_certificateNameHasBeenSet = false;
Aws::String m_certificateBody;
bool m_certificateBodyHasBeenSet = false;
Aws::String m_certificatePrivateKey;
bool m_certificatePrivateKeyHasBeenSet = false;
Aws::String m_certificateChain;
bool m_certificateChainHasBeenSet = false;
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet = false;
Aws::String m_regionalCertificateName;
bool m_regionalCertificateNameHasBeenSet = false;
Aws::String m_regionalCertificateArn;
bool m_regionalCertificateArnHasBeenSet = false;
EndpointConfiguration m_endpointConfiguration;
bool m_endpointConfigurationHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_tagsHasBeenSet = false;
SecurityPolicy m_securityPolicy;
bool m_securityPolicyHasBeenSet = false;
MutualTlsAuthenticationInput m_mutualTlsAuthentication;
bool m_mutualTlsAuthenticationHasBeenSet = false;
Aws::String m_ownershipVerificationCertificateArn;
bool m_ownershipVerificationCertificateArnHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,348 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/apigateway/model/EndpointConfiguration.h>
#include <aws/apigateway/model/DomainNameStatus.h>
#include <aws/apigateway/model/SecurityPolicy.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/MutualTlsAuthentication.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a custom domain name as a user-friendly host name of an API
* (RestApi).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DomainName">AWS
* API Reference</a></p>
*/
class CreateDomainNameResult
{
public:
AWS_APIGATEWAY_API CreateDomainNameResult();
AWS_APIGATEWAY_API CreateDomainNameResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateDomainNameResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The custom domain name as an API host name, for example,
* <code>my-api.example.com</code>.</p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
inline void SetDomainName(const Aws::String& value) { m_domainName = value; }
inline void SetDomainName(Aws::String&& value) { m_domainName = std::move(value); }
inline void SetDomainName(const char* value) { m_domainName.assign(value); }
inline CreateDomainNameResult& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
inline CreateDomainNameResult& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
inline CreateDomainNameResult& WithDomainName(const char* value) { SetDomainName(value); return *this;}
///@}
///@{
/**
* <p>The name of the certificate that will be used by edge-optimized endpoint for
* this domain name.</p>
*/
inline const Aws::String& GetCertificateName() const{ return m_certificateName; }
inline void SetCertificateName(const Aws::String& value) { m_certificateName = value; }
inline void SetCertificateName(Aws::String&& value) { m_certificateName = std::move(value); }
inline void SetCertificateName(const char* value) { m_certificateName.assign(value); }
inline CreateDomainNameResult& WithCertificateName(const Aws::String& value) { SetCertificateName(value); return *this;}
inline CreateDomainNameResult& WithCertificateName(Aws::String&& value) { SetCertificateName(std::move(value)); return *this;}
inline CreateDomainNameResult& WithCertificateName(const char* value) { SetCertificateName(value); return *this;}
///@}
///@{
/**
* <p>The reference to an Amazon Web Services-managed certificate that will be used
* by edge-optimized endpoint for this domain name. Certificate Manager is the only
* supported source.</p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
inline void SetCertificateArn(const Aws::String& value) { m_certificateArn = value; }
inline void SetCertificateArn(Aws::String&& value) { m_certificateArn = std::move(value); }
inline void SetCertificateArn(const char* value) { m_certificateArn.assign(value); }
inline CreateDomainNameResult& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
inline CreateDomainNameResult& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
inline CreateDomainNameResult& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
///@}
///@{
/**
* <p>The timestamp when the certificate that was used by edge-optimized endpoint
* for this domain name was uploaded. API Gateway doesn't change this value if you
* update the certificate.</p>
*/
inline const Aws::Utils::DateTime& GetCertificateUploadDate() const{ return m_certificateUploadDate; }
inline void SetCertificateUploadDate(const Aws::Utils::DateTime& value) { m_certificateUploadDate = value; }
inline void SetCertificateUploadDate(Aws::Utils::DateTime&& value) { m_certificateUploadDate = std::move(value); }
inline CreateDomainNameResult& WithCertificateUploadDate(const Aws::Utils::DateTime& value) { SetCertificateUploadDate(value); return *this;}
inline CreateDomainNameResult& WithCertificateUploadDate(Aws::Utils::DateTime&& value) { SetCertificateUploadDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The domain name associated with the regional endpoint for this custom domain
* name. You set up this association by adding a DNS record that points the custom
* domain name to this regional domain name. The regional domain name is returned
* by API Gateway when you create a regional endpoint.</p>
*/
inline const Aws::String& GetRegionalDomainName() const{ return m_regionalDomainName; }
inline void SetRegionalDomainName(const Aws::String& value) { m_regionalDomainName = value; }
inline void SetRegionalDomainName(Aws::String&& value) { m_regionalDomainName = std::move(value); }
inline void SetRegionalDomainName(const char* value) { m_regionalDomainName.assign(value); }
inline CreateDomainNameResult& WithRegionalDomainName(const Aws::String& value) { SetRegionalDomainName(value); return *this;}
inline CreateDomainNameResult& WithRegionalDomainName(Aws::String&& value) { SetRegionalDomainName(std::move(value)); return *this;}
inline CreateDomainNameResult& WithRegionalDomainName(const char* value) { SetRegionalDomainName(value); return *this;}
///@}
///@{
/**
* <p>The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
* For more information, see Set up a Regional Custom Domain Name and AWS Regions
* and Endpoints for API Gateway. </p>
*/
inline const Aws::String& GetRegionalHostedZoneId() const{ return m_regionalHostedZoneId; }
inline void SetRegionalHostedZoneId(const Aws::String& value) { m_regionalHostedZoneId = value; }
inline void SetRegionalHostedZoneId(Aws::String&& value) { m_regionalHostedZoneId = std::move(value); }
inline void SetRegionalHostedZoneId(const char* value) { m_regionalHostedZoneId.assign(value); }
inline CreateDomainNameResult& WithRegionalHostedZoneId(const Aws::String& value) { SetRegionalHostedZoneId(value); return *this;}
inline CreateDomainNameResult& WithRegionalHostedZoneId(Aws::String&& value) { SetRegionalHostedZoneId(std::move(value)); return *this;}
inline CreateDomainNameResult& WithRegionalHostedZoneId(const char* value) { SetRegionalHostedZoneId(value); return *this;}
///@}
///@{
/**
* <p>The name of the certificate that will be used for validating the regional
* domain name.</p>
*/
inline const Aws::String& GetRegionalCertificateName() const{ return m_regionalCertificateName; }
inline void SetRegionalCertificateName(const Aws::String& value) { m_regionalCertificateName = value; }
inline void SetRegionalCertificateName(Aws::String&& value) { m_regionalCertificateName = std::move(value); }
inline void SetRegionalCertificateName(const char* value) { m_regionalCertificateName.assign(value); }
inline CreateDomainNameResult& WithRegionalCertificateName(const Aws::String& value) { SetRegionalCertificateName(value); return *this;}
inline CreateDomainNameResult& WithRegionalCertificateName(Aws::String&& value) { SetRegionalCertificateName(std::move(value)); return *this;}
inline CreateDomainNameResult& WithRegionalCertificateName(const char* value) { SetRegionalCertificateName(value); return *this;}
///@}
///@{
/**
* <p>The reference to an Amazon Web Services-managed certificate that will be used
* for validating the regional domain name. Certificate Manager is the only
* supported source.</p>
*/
inline const Aws::String& GetRegionalCertificateArn() const{ return m_regionalCertificateArn; }
inline void SetRegionalCertificateArn(const Aws::String& value) { m_regionalCertificateArn = value; }
inline void SetRegionalCertificateArn(Aws::String&& value) { m_regionalCertificateArn = std::move(value); }
inline void SetRegionalCertificateArn(const char* value) { m_regionalCertificateArn.assign(value); }
inline CreateDomainNameResult& WithRegionalCertificateArn(const Aws::String& value) { SetRegionalCertificateArn(value); return *this;}
inline CreateDomainNameResult& WithRegionalCertificateArn(Aws::String&& value) { SetRegionalCertificateArn(std::move(value)); return *this;}
inline CreateDomainNameResult& WithRegionalCertificateArn(const char* value) { SetRegionalCertificateArn(value); return *this;}
///@}
///@{
/**
* <p>The domain name of the Amazon CloudFront distribution associated with this
* custom domain name for an edge-optimized endpoint. You set up this association
* when adding a DNS record pointing the custom domain name to this distribution
* name. For more information about CloudFront distributions, see the Amazon
* CloudFront documentation.</p>
*/
inline const Aws::String& GetDistributionDomainName() const{ return m_distributionDomainName; }
inline void SetDistributionDomainName(const Aws::String& value) { m_distributionDomainName = value; }
inline void SetDistributionDomainName(Aws::String&& value) { m_distributionDomainName = std::move(value); }
inline void SetDistributionDomainName(const char* value) { m_distributionDomainName.assign(value); }
inline CreateDomainNameResult& WithDistributionDomainName(const Aws::String& value) { SetDistributionDomainName(value); return *this;}
inline CreateDomainNameResult& WithDistributionDomainName(Aws::String&& value) { SetDistributionDomainName(std::move(value)); return *this;}
inline CreateDomainNameResult& WithDistributionDomainName(const char* value) { SetDistributionDomainName(value); return *this;}
///@}
///@{
/**
* <p>The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized
* endpoint. The valid value is <code>Z2FDTNDATAQYW2</code> for all the regions.
* For more information, see Set up a Regional Custom Domain Name and AWS Regions
* and Endpoints for API Gateway. </p>
*/
inline const Aws::String& GetDistributionHostedZoneId() const{ return m_distributionHostedZoneId; }
inline void SetDistributionHostedZoneId(const Aws::String& value) { m_distributionHostedZoneId = value; }
inline void SetDistributionHostedZoneId(Aws::String&& value) { m_distributionHostedZoneId = std::move(value); }
inline void SetDistributionHostedZoneId(const char* value) { m_distributionHostedZoneId.assign(value); }
inline CreateDomainNameResult& WithDistributionHostedZoneId(const Aws::String& value) { SetDistributionHostedZoneId(value); return *this;}
inline CreateDomainNameResult& WithDistributionHostedZoneId(Aws::String&& value) { SetDistributionHostedZoneId(std::move(value)); return *this;}
inline CreateDomainNameResult& WithDistributionHostedZoneId(const char* value) { SetDistributionHostedZoneId(value); return *this;}
///@}
///@{
/**
* <p>The endpoint configuration of this DomainName showing the endpoint types of
* the domain name. </p>
*/
inline const EndpointConfiguration& GetEndpointConfiguration() const{ return m_endpointConfiguration; }
inline void SetEndpointConfiguration(const EndpointConfiguration& value) { m_endpointConfiguration = value; }
inline void SetEndpointConfiguration(EndpointConfiguration&& value) { m_endpointConfiguration = std::move(value); }
inline CreateDomainNameResult& WithEndpointConfiguration(const EndpointConfiguration& value) { SetEndpointConfiguration(value); return *this;}
inline CreateDomainNameResult& WithEndpointConfiguration(EndpointConfiguration&& value) { SetEndpointConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The status of the DomainName migration. The valid values are
* <code>AVAILABLE</code> and <code>UPDATING</code>. If the status is
* <code>UPDATING</code>, the domain cannot be modified further until the existing
* operation is complete. If it is <code>AVAILABLE</code>, the domain can be
* updated.</p>
*/
inline const DomainNameStatus& GetDomainNameStatus() const{ return m_domainNameStatus; }
inline void SetDomainNameStatus(const DomainNameStatus& value) { m_domainNameStatus = value; }
inline void SetDomainNameStatus(DomainNameStatus&& value) { m_domainNameStatus = std::move(value); }
inline CreateDomainNameResult& WithDomainNameStatus(const DomainNameStatus& value) { SetDomainNameStatus(value); return *this;}
inline CreateDomainNameResult& WithDomainNameStatus(DomainNameStatus&& value) { SetDomainNameStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>An optional text message containing detailed information about status of the
* DomainName migration.</p>
*/
inline const Aws::String& GetDomainNameStatusMessage() const{ return m_domainNameStatusMessage; }
inline void SetDomainNameStatusMessage(const Aws::String& value) { m_domainNameStatusMessage = value; }
inline void SetDomainNameStatusMessage(Aws::String&& value) { m_domainNameStatusMessage = std::move(value); }
inline void SetDomainNameStatusMessage(const char* value) { m_domainNameStatusMessage.assign(value); }
inline CreateDomainNameResult& WithDomainNameStatusMessage(const Aws::String& value) { SetDomainNameStatusMessage(value); return *this;}
inline CreateDomainNameResult& WithDomainNameStatusMessage(Aws::String&& value) { SetDomainNameStatusMessage(std::move(value)); return *this;}
inline CreateDomainNameResult& WithDomainNameStatusMessage(const char* value) { SetDomainNameStatusMessage(value); return *this;}
///@}
///@{
/**
* <p>The Transport Layer Security (TLS) version + cipher suite for this
* DomainName. The valid values are <code>TLS_1_0</code> and
* <code>TLS_1_2</code>.</p>
*/
inline const SecurityPolicy& GetSecurityPolicy() const{ return m_securityPolicy; }
inline void SetSecurityPolicy(const SecurityPolicy& value) { m_securityPolicy = value; }
inline void SetSecurityPolicy(SecurityPolicy&& value) { m_securityPolicy = std::move(value); }
inline CreateDomainNameResult& WithSecurityPolicy(const SecurityPolicy& value) { SetSecurityPolicy(value); return *this;}
inline CreateDomainNameResult& WithSecurityPolicy(SecurityPolicy&& value) { SetSecurityPolicy(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The collection of tags. Each tag element is associated with a given
* resource.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
inline CreateDomainNameResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateDomainNameResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateDomainNameResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
inline CreateDomainNameResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateDomainNameResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateDomainNameResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateDomainNameResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateDomainNameResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateDomainNameResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The mutual TLS authentication configuration for a custom domain name. If
* specified, API Gateway performs two-way authentication between the client and
* the server. Clients must present a trusted certificate to access your API.</p>
*/
inline const MutualTlsAuthentication& GetMutualTlsAuthentication() const{ return m_mutualTlsAuthentication; }
inline void SetMutualTlsAuthentication(const MutualTlsAuthentication& value) { m_mutualTlsAuthentication = value; }
inline void SetMutualTlsAuthentication(MutualTlsAuthentication&& value) { m_mutualTlsAuthentication = std::move(value); }
inline CreateDomainNameResult& WithMutualTlsAuthentication(const MutualTlsAuthentication& value) { SetMutualTlsAuthentication(value); return *this;}
inline CreateDomainNameResult& WithMutualTlsAuthentication(MutualTlsAuthentication&& value) { SetMutualTlsAuthentication(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The ARN of the public certificate issued by ACM to validate ownership of your
* custom domain. Only required when configuring mutual TLS and using an ACM
* imported or private CA certificate ARN as the regionalCertificateArn.</p>
*/
inline const Aws::String& GetOwnershipVerificationCertificateArn() const{ return m_ownershipVerificationCertificateArn; }
inline void SetOwnershipVerificationCertificateArn(const Aws::String& value) { m_ownershipVerificationCertificateArn = value; }
inline void SetOwnershipVerificationCertificateArn(Aws::String&& value) { m_ownershipVerificationCertificateArn = std::move(value); }
inline void SetOwnershipVerificationCertificateArn(const char* value) { m_ownershipVerificationCertificateArn.assign(value); }
inline CreateDomainNameResult& WithOwnershipVerificationCertificateArn(const Aws::String& value) { SetOwnershipVerificationCertificateArn(value); return *this;}
inline CreateDomainNameResult& WithOwnershipVerificationCertificateArn(Aws::String&& value) { SetOwnershipVerificationCertificateArn(std::move(value)); return *this;}
inline CreateDomainNameResult& WithOwnershipVerificationCertificateArn(const char* value) { SetOwnershipVerificationCertificateArn(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateDomainNameResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateDomainNameResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateDomainNameResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_domainName;
Aws::String m_certificateName;
Aws::String m_certificateArn;
Aws::Utils::DateTime m_certificateUploadDate;
Aws::String m_regionalDomainName;
Aws::String m_regionalHostedZoneId;
Aws::String m_regionalCertificateName;
Aws::String m_regionalCertificateArn;
Aws::String m_distributionDomainName;
Aws::String m_distributionHostedZoneId;
EndpointConfiguration m_endpointConfiguration;
DomainNameStatus m_domainNameStatus;
Aws::String m_domainNameStatusMessage;
SecurityPolicy m_securityPolicy;
Aws::Map<Aws::String, Aws::String> m_tags;
MutualTlsAuthentication m_mutualTlsAuthentication;
Aws::String m_ownershipVerificationCertificateArn;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,130 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Request to add a new Model to an existing RestApi resource.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateModelRequest">AWS
* API Reference</a></p>
*/
class CreateModelRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateModelRequest();
// 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 "CreateModel"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The RestApi identifier under which the Model will be created.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline CreateModelRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline CreateModelRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline CreateModelRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name of the model. Must be alphanumeric.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline CreateModelRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateModelRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateModelRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The description of the model.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateModelRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateModelRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateModelRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The schema for the model. For <code>application/json</code> models, this
* should be JSON schema draft 4 model. The maximum size of the model is 400
* KB.</p>
*/
inline const Aws::String& GetSchema() const{ return m_schema; }
inline bool SchemaHasBeenSet() const { return m_schemaHasBeenSet; }
inline void SetSchema(const Aws::String& value) { m_schemaHasBeenSet = true; m_schema = value; }
inline void SetSchema(Aws::String&& value) { m_schemaHasBeenSet = true; m_schema = std::move(value); }
inline void SetSchema(const char* value) { m_schemaHasBeenSet = true; m_schema.assign(value); }
inline CreateModelRequest& WithSchema(const Aws::String& value) { SetSchema(value); return *this;}
inline CreateModelRequest& WithSchema(Aws::String&& value) { SetSchema(std::move(value)); return *this;}
inline CreateModelRequest& WithSchema(const char* value) { SetSchema(value); return *this;}
///@}
///@{
/**
* <p>The content-type for the model.</p>
*/
inline const Aws::String& GetContentType() const{ return m_contentType; }
inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; }
inline void SetContentType(const Aws::String& value) { m_contentTypeHasBeenSet = true; m_contentType = value; }
inline void SetContentType(Aws::String&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); }
inline void SetContentType(const char* value) { m_contentTypeHasBeenSet = true; m_contentType.assign(value); }
inline CreateModelRequest& WithContentType(const Aws::String& value) { SetContentType(value); return *this;}
inline CreateModelRequest& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;}
inline CreateModelRequest& WithContentType(const char* value) { SetContentType(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::String m_schema;
bool m_schemaHasBeenSet = false;
Aws::String m_contentType;
bool m_contentTypeHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,138 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents the data structure of a method's request or response
* payload.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/Model">AWS
* API Reference</a></p>
*/
class CreateModelResult
{
public:
AWS_APIGATEWAY_API CreateModelResult();
AWS_APIGATEWAY_API CreateModelResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateModelResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The identifier for the model resource.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline CreateModelResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CreateModelResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CreateModelResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The name of the model. Must be an alphanumeric string.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline void SetName(const Aws::String& value) { m_name = value; }
inline void SetName(Aws::String&& value) { m_name = std::move(value); }
inline void SetName(const char* value) { m_name.assign(value); }
inline CreateModelResult& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateModelResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateModelResult& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The description of the model.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline void SetDescription(const Aws::String& value) { m_description = value; }
inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
inline void SetDescription(const char* value) { m_description.assign(value); }
inline CreateModelResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateModelResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateModelResult& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The schema for the model. For <code>application/json</code> models, this
* should be JSON schema draft 4 model. Do not include "\* /" characters in the
* description of any properties because such "\* /" characters may be interpreted
* as the closing marker for comments in some languages, such as Java or
* JavaScript, causing the installation of your API's SDK generated by API Gateway
* to fail.</p>
*/
inline const Aws::String& GetSchema() const{ return m_schema; }
inline void SetSchema(const Aws::String& value) { m_schema = value; }
inline void SetSchema(Aws::String&& value) { m_schema = std::move(value); }
inline void SetSchema(const char* value) { m_schema.assign(value); }
inline CreateModelResult& WithSchema(const Aws::String& value) { SetSchema(value); return *this;}
inline CreateModelResult& WithSchema(Aws::String&& value) { SetSchema(std::move(value)); return *this;}
inline CreateModelResult& WithSchema(const char* value) { SetSchema(value); return *this;}
///@}
///@{
/**
* <p>The content-type for the model.</p>
*/
inline const Aws::String& GetContentType() const{ return m_contentType; }
inline void SetContentType(const Aws::String& value) { m_contentType = value; }
inline void SetContentType(Aws::String&& value) { m_contentType = std::move(value); }
inline void SetContentType(const char* value) { m_contentType.assign(value); }
inline CreateModelResult& WithContentType(const Aws::String& value) { SetContentType(value); return *this;}
inline CreateModelResult& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;}
inline CreateModelResult& WithContentType(const char* value) { SetContentType(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateModelResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateModelResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateModelResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_name;
Aws::String m_description;
Aws::String m_schema;
Aws::String m_contentType;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,105 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Creates a RequestValidator of a given RestApi.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateRequestValidatorRequest">AWS
* API Reference</a></p>
*/
class CreateRequestValidatorRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateRequestValidatorRequest();
// 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 "CreateRequestValidator"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline CreateRequestValidatorRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline CreateRequestValidatorRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline CreateRequestValidatorRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name of the to-be-created RequestValidator.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline CreateRequestValidatorRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateRequestValidatorRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateRequestValidatorRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>A Boolean flag to indicate whether to validate request body according to the
* configured model schema for the method (<code>true</code>) or not
* (<code>false</code>).</p>
*/
inline bool GetValidateRequestBody() const{ return m_validateRequestBody; }
inline bool ValidateRequestBodyHasBeenSet() const { return m_validateRequestBodyHasBeenSet; }
inline void SetValidateRequestBody(bool value) { m_validateRequestBodyHasBeenSet = true; m_validateRequestBody = value; }
inline CreateRequestValidatorRequest& WithValidateRequestBody(bool value) { SetValidateRequestBody(value); return *this;}
///@}
///@{
/**
* <p>A Boolean flag to indicate whether to validate request parameters,
* <code>true</code>, or not <code>false</code>.</p>
*/
inline bool GetValidateRequestParameters() const{ return m_validateRequestParameters; }
inline bool ValidateRequestParametersHasBeenSet() const { return m_validateRequestParametersHasBeenSet; }
inline void SetValidateRequestParameters(bool value) { m_validateRequestParametersHasBeenSet = true; m_validateRequestParameters = value; }
inline CreateRequestValidatorRequest& WithValidateRequestParameters(bool value) { SetValidateRequestParameters(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_name;
bool m_nameHasBeenSet = false;
bool m_validateRequestBody;
bool m_validateRequestBodyHasBeenSet = false;
bool m_validateRequestParameters;
bool m_validateRequestParametersHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,112 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>A set of validation rules for incoming Method requests.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/RequestValidator">AWS
* API Reference</a></p>
*/
class CreateRequestValidatorResult
{
public:
AWS_APIGATEWAY_API CreateRequestValidatorResult();
AWS_APIGATEWAY_API CreateRequestValidatorResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateRequestValidatorResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The identifier of this RequestValidator.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline CreateRequestValidatorResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CreateRequestValidatorResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CreateRequestValidatorResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The name of this RequestValidator</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline void SetName(const Aws::String& value) { m_name = value; }
inline void SetName(Aws::String&& value) { m_name = std::move(value); }
inline void SetName(const char* value) { m_name.assign(value); }
inline CreateRequestValidatorResult& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateRequestValidatorResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateRequestValidatorResult& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>A Boolean flag to indicate whether to validate a request body according to
* the configured Model schema.</p>
*/
inline bool GetValidateRequestBody() const{ return m_validateRequestBody; }
inline void SetValidateRequestBody(bool value) { m_validateRequestBody = value; }
inline CreateRequestValidatorResult& WithValidateRequestBody(bool value) { SetValidateRequestBody(value); return *this;}
///@}
///@{
/**
* <p>A Boolean flag to indicate whether to validate request parameters
* (<code>true</code>) or not (<code>false</code>).</p>
*/
inline bool GetValidateRequestParameters() const{ return m_validateRequestParameters; }
inline void SetValidateRequestParameters(bool value) { m_validateRequestParameters = value; }
inline CreateRequestValidatorResult& WithValidateRequestParameters(bool value) { SetValidateRequestParameters(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateRequestValidatorResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateRequestValidatorResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateRequestValidatorResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_name;
bool m_validateRequestBody;
bool m_validateRequestParameters;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,94 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Requests API Gateway to create a Resource resource.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateResourceRequest">AWS
* API Reference</a></p>
*/
class CreateResourceRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateResourceRequest();
// 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 "CreateResource"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline CreateResourceRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline CreateResourceRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline CreateResourceRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The parent resource's identifier.</p>
*/
inline const Aws::String& GetParentId() const{ return m_parentId; }
inline bool ParentIdHasBeenSet() const { return m_parentIdHasBeenSet; }
inline void SetParentId(const Aws::String& value) { m_parentIdHasBeenSet = true; m_parentId = value; }
inline void SetParentId(Aws::String&& value) { m_parentIdHasBeenSet = true; m_parentId = std::move(value); }
inline void SetParentId(const char* value) { m_parentIdHasBeenSet = true; m_parentId.assign(value); }
inline CreateResourceRequest& WithParentId(const Aws::String& value) { SetParentId(value); return *this;}
inline CreateResourceRequest& WithParentId(Aws::String&& value) { SetParentId(std::move(value)); return *this;}
inline CreateResourceRequest& WithParentId(const char* value) { SetParentId(value); return *this;}
///@}
///@{
/**
* <p>The last path segment for this resource.</p>
*/
inline const Aws::String& GetPathPart() const{ return m_pathPart; }
inline bool PathPartHasBeenSet() const { return m_pathPartHasBeenSet; }
inline void SetPathPart(const Aws::String& value) { m_pathPartHasBeenSet = true; m_pathPart = value; }
inline void SetPathPart(Aws::String&& value) { m_pathPartHasBeenSet = true; m_pathPart = std::move(value); }
inline void SetPathPart(const char* value) { m_pathPartHasBeenSet = true; m_pathPart.assign(value); }
inline CreateResourceRequest& WithPathPart(const Aws::String& value) { SetPathPart(value); return *this;}
inline CreateResourceRequest& WithPathPart(Aws::String&& value) { SetPathPart(std::move(value)); return *this;}
inline CreateResourceRequest& WithPathPart(const char* value) { SetPathPart(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_parentId;
bool m_parentIdHasBeenSet = false;
Aws::String m_pathPart;
bool m_pathPartHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,138 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/Method.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents an API resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/Resource">AWS
* API Reference</a></p>
*/
class CreateResourceResult
{
public:
AWS_APIGATEWAY_API CreateResourceResult();
AWS_APIGATEWAY_API CreateResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The resource's identifier.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline CreateResourceResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CreateResourceResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CreateResourceResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The parent resource's identifier.</p>
*/
inline const Aws::String& GetParentId() const{ return m_parentId; }
inline void SetParentId(const Aws::String& value) { m_parentId = value; }
inline void SetParentId(Aws::String&& value) { m_parentId = std::move(value); }
inline void SetParentId(const char* value) { m_parentId.assign(value); }
inline CreateResourceResult& WithParentId(const Aws::String& value) { SetParentId(value); return *this;}
inline CreateResourceResult& WithParentId(Aws::String&& value) { SetParentId(std::move(value)); return *this;}
inline CreateResourceResult& WithParentId(const char* value) { SetParentId(value); return *this;}
///@}
///@{
/**
* <p>The last path segment for this resource.</p>
*/
inline const Aws::String& GetPathPart() const{ return m_pathPart; }
inline void SetPathPart(const Aws::String& value) { m_pathPart = value; }
inline void SetPathPart(Aws::String&& value) { m_pathPart = std::move(value); }
inline void SetPathPart(const char* value) { m_pathPart.assign(value); }
inline CreateResourceResult& WithPathPart(const Aws::String& value) { SetPathPart(value); return *this;}
inline CreateResourceResult& WithPathPart(Aws::String&& value) { SetPathPart(std::move(value)); return *this;}
inline CreateResourceResult& WithPathPart(const char* value) { SetPathPart(value); return *this;}
///@}
///@{
/**
* <p>The full path for this resource.</p>
*/
inline const Aws::String& GetPath() const{ return m_path; }
inline void SetPath(const Aws::String& value) { m_path = value; }
inline void SetPath(Aws::String&& value) { m_path = std::move(value); }
inline void SetPath(const char* value) { m_path.assign(value); }
inline CreateResourceResult& WithPath(const Aws::String& value) { SetPath(value); return *this;}
inline CreateResourceResult& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;}
inline CreateResourceResult& WithPath(const char* value) { SetPath(value); return *this;}
///@}
///@{
/**
* <p>Gets an API resource's method of a given HTTP verb.</p>
*/
inline const Aws::Map<Aws::String, Method>& GetResourceMethods() const{ return m_resourceMethods; }
inline void SetResourceMethods(const Aws::Map<Aws::String, Method>& value) { m_resourceMethods = value; }
inline void SetResourceMethods(Aws::Map<Aws::String, Method>&& value) { m_resourceMethods = std::move(value); }
inline CreateResourceResult& WithResourceMethods(const Aws::Map<Aws::String, Method>& value) { SetResourceMethods(value); return *this;}
inline CreateResourceResult& WithResourceMethods(Aws::Map<Aws::String, Method>&& value) { SetResourceMethods(std::move(value)); return *this;}
inline CreateResourceResult& AddResourceMethods(const Aws::String& key, const Method& value) { m_resourceMethods.emplace(key, value); return *this; }
inline CreateResourceResult& AddResourceMethods(Aws::String&& key, const Method& value) { m_resourceMethods.emplace(std::move(key), value); return *this; }
inline CreateResourceResult& AddResourceMethods(const Aws::String& key, Method&& value) { m_resourceMethods.emplace(key, std::move(value)); return *this; }
inline CreateResourceResult& AddResourceMethods(Aws::String&& key, Method&& value) { m_resourceMethods.emplace(std::move(key), std::move(value)); return *this; }
inline CreateResourceResult& AddResourceMethods(const char* key, Method&& value) { m_resourceMethods.emplace(key, std::move(value)); return *this; }
inline CreateResourceResult& AddResourceMethods(const char* key, const Method& value) { m_resourceMethods.emplace(key, value); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateResourceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateResourceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateResourceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_parentId;
Aws::String m_pathPart;
Aws::String m_path;
Aws::Map<Aws::String, Method> m_resourceMethods;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,244 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/apigateway/model/ApiKeySourceType.h>
#include <aws/apigateway/model/EndpointConfiguration.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>The POST Request to add a new RestApi resource to your
* collection.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateRestApiRequest">AWS
* API Reference</a></p>
*/
class CreateRestApiRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateRestApiRequest();
// 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 "CreateRestApi"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The name of the RestApi.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline CreateRestApiRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateRestApiRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateRestApiRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The description of the RestApi.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateRestApiRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateRestApiRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateRestApiRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>A version identifier for the API.</p>
*/
inline const Aws::String& GetVersion() const{ return m_version; }
inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
inline CreateRestApiRequest& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
inline CreateRestApiRequest& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
inline CreateRestApiRequest& WithVersion(const char* value) { SetVersion(value); return *this;}
///@}
///@{
/**
* <p>The ID of the RestApi that you want to clone from.</p>
*/
inline const Aws::String& GetCloneFrom() const{ return m_cloneFrom; }
inline bool CloneFromHasBeenSet() const { return m_cloneFromHasBeenSet; }
inline void SetCloneFrom(const Aws::String& value) { m_cloneFromHasBeenSet = true; m_cloneFrom = value; }
inline void SetCloneFrom(Aws::String&& value) { m_cloneFromHasBeenSet = true; m_cloneFrom = std::move(value); }
inline void SetCloneFrom(const char* value) { m_cloneFromHasBeenSet = true; m_cloneFrom.assign(value); }
inline CreateRestApiRequest& WithCloneFrom(const Aws::String& value) { SetCloneFrom(value); return *this;}
inline CreateRestApiRequest& WithCloneFrom(Aws::String&& value) { SetCloneFrom(std::move(value)); return *this;}
inline CreateRestApiRequest& WithCloneFrom(const char* value) { SetCloneFrom(value); return *this;}
///@}
///@{
/**
* <p>The list of binary media types supported by the RestApi. By default, the
* RestApi supports only UTF-8-encoded text payloads.</p>
*/
inline const Aws::Vector<Aws::String>& GetBinaryMediaTypes() const{ return m_binaryMediaTypes; }
inline bool BinaryMediaTypesHasBeenSet() const { return m_binaryMediaTypesHasBeenSet; }
inline void SetBinaryMediaTypes(const Aws::Vector<Aws::String>& value) { m_binaryMediaTypesHasBeenSet = true; m_binaryMediaTypes = value; }
inline void SetBinaryMediaTypes(Aws::Vector<Aws::String>&& value) { m_binaryMediaTypesHasBeenSet = true; m_binaryMediaTypes = std::move(value); }
inline CreateRestApiRequest& WithBinaryMediaTypes(const Aws::Vector<Aws::String>& value) { SetBinaryMediaTypes(value); return *this;}
inline CreateRestApiRequest& WithBinaryMediaTypes(Aws::Vector<Aws::String>&& value) { SetBinaryMediaTypes(std::move(value)); return *this;}
inline CreateRestApiRequest& AddBinaryMediaTypes(const Aws::String& value) { m_binaryMediaTypesHasBeenSet = true; m_binaryMediaTypes.push_back(value); return *this; }
inline CreateRestApiRequest& AddBinaryMediaTypes(Aws::String&& value) { m_binaryMediaTypesHasBeenSet = true; m_binaryMediaTypes.push_back(std::move(value)); return *this; }
inline CreateRestApiRequest& AddBinaryMediaTypes(const char* value) { m_binaryMediaTypesHasBeenSet = true; m_binaryMediaTypes.push_back(value); return *this; }
///@}
///@{
/**
* <p>A nullable integer that is used to enable compression (with non-negative
* between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a
* null value) on an API. When compression is enabled, compression or decompression
* is not applied on the payload if the payload size is smaller than this value.
* Setting it to zero allows compression for any payload size.</p>
*/
inline int GetMinimumCompressionSize() const{ return m_minimumCompressionSize; }
inline bool MinimumCompressionSizeHasBeenSet() const { return m_minimumCompressionSizeHasBeenSet; }
inline void SetMinimumCompressionSize(int value) { m_minimumCompressionSizeHasBeenSet = true; m_minimumCompressionSize = value; }
inline CreateRestApiRequest& WithMinimumCompressionSize(int value) { SetMinimumCompressionSize(value); return *this;}
///@}
///@{
/**
* <p>The source of the API key for metering requests according to a usage plan.
* Valid values are: <code>HEADER</code> to read the API key from the
* <code>X-API-Key</code> header of a request. <code>AUTHORIZER</code> to read the
* API key from the <code>UsageIdentifierKey</code> from a custom authorizer.</p>
*/
inline const ApiKeySourceType& GetApiKeySource() const{ return m_apiKeySource; }
inline bool ApiKeySourceHasBeenSet() const { return m_apiKeySourceHasBeenSet; }
inline void SetApiKeySource(const ApiKeySourceType& value) { m_apiKeySourceHasBeenSet = true; m_apiKeySource = value; }
inline void SetApiKeySource(ApiKeySourceType&& value) { m_apiKeySourceHasBeenSet = true; m_apiKeySource = std::move(value); }
inline CreateRestApiRequest& WithApiKeySource(const ApiKeySourceType& value) { SetApiKeySource(value); return *this;}
inline CreateRestApiRequest& WithApiKeySource(ApiKeySourceType&& value) { SetApiKeySource(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The endpoint configuration of this RestApi showing the endpoint types of the
* API. </p>
*/
inline const EndpointConfiguration& GetEndpointConfiguration() const{ return m_endpointConfiguration; }
inline bool EndpointConfigurationHasBeenSet() const { return m_endpointConfigurationHasBeenSet; }
inline void SetEndpointConfiguration(const EndpointConfiguration& value) { m_endpointConfigurationHasBeenSet = true; m_endpointConfiguration = value; }
inline void SetEndpointConfiguration(EndpointConfiguration&& value) { m_endpointConfigurationHasBeenSet = true; m_endpointConfiguration = std::move(value); }
inline CreateRestApiRequest& WithEndpointConfiguration(const EndpointConfiguration& value) { SetEndpointConfiguration(value); return *this;}
inline CreateRestApiRequest& WithEndpointConfiguration(EndpointConfiguration&& value) { SetEndpointConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A stringified JSON policy document that applies to this RestApi regardless of
* the caller and Method configuration.</p>
*/
inline const Aws::String& GetPolicy() const{ return m_policy; }
inline bool PolicyHasBeenSet() const { return m_policyHasBeenSet; }
inline void SetPolicy(const Aws::String& value) { m_policyHasBeenSet = true; m_policy = value; }
inline void SetPolicy(Aws::String&& value) { m_policyHasBeenSet = true; m_policy = std::move(value); }
inline void SetPolicy(const char* value) { m_policyHasBeenSet = true; m_policy.assign(value); }
inline CreateRestApiRequest& WithPolicy(const Aws::String& value) { SetPolicy(value); return *this;}
inline CreateRestApiRequest& WithPolicy(Aws::String&& value) { SetPolicy(std::move(value)); return *this;}
inline CreateRestApiRequest& WithPolicy(const char* value) { SetPolicy(value); return *this;}
///@}
///@{
/**
* <p>The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The
* tag key can be up to 128 characters and must not start with <code>aws:</code>.
* The tag value can be up to 256 characters.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateRestApiRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateRestApiRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateRestApiRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
inline CreateRestApiRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateRestApiRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateRestApiRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateRestApiRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateRestApiRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateRestApiRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>Specifies whether clients can invoke your API by using the default
* <code>execute-api</code> endpoint. By default, clients can invoke your API with
* the default <code>https://{api_id}.execute-api.{region}.amazonaws.com</code>
* endpoint. To require that clients use a custom domain name to invoke your API,
* disable the default endpoint</p>
*/
inline bool GetDisableExecuteApiEndpoint() const{ return m_disableExecuteApiEndpoint; }
inline bool DisableExecuteApiEndpointHasBeenSet() const { return m_disableExecuteApiEndpointHasBeenSet; }
inline void SetDisableExecuteApiEndpoint(bool value) { m_disableExecuteApiEndpointHasBeenSet = true; m_disableExecuteApiEndpoint = value; }
inline CreateRestApiRequest& WithDisableExecuteApiEndpoint(bool value) { SetDisableExecuteApiEndpoint(value); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::String m_version;
bool m_versionHasBeenSet = false;
Aws::String m_cloneFrom;
bool m_cloneFromHasBeenSet = false;
Aws::Vector<Aws::String> m_binaryMediaTypes;
bool m_binaryMediaTypesHasBeenSet = false;
int m_minimumCompressionSize;
bool m_minimumCompressionSizeHasBeenSet = false;
ApiKeySourceType m_apiKeySource;
bool m_apiKeySourceHasBeenSet = false;
EndpointConfiguration m_endpointConfiguration;
bool m_endpointConfigurationHasBeenSet = false;
Aws::String m_policy;
bool m_policyHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_tagsHasBeenSet = false;
bool m_disableExecuteApiEndpoint;
bool m_disableExecuteApiEndpointHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,282 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/apigateway/model/ApiKeySourceType.h>
#include <aws/apigateway/model/EndpointConfiguration.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a REST API.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/RestApi">AWS
* API Reference</a></p>
*/
class CreateRestApiResult
{
public:
AWS_APIGATEWAY_API CreateRestApiResult();
AWS_APIGATEWAY_API CreateRestApiResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateRestApiResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The API's identifier. This identifier is unique across all of your APIs in
* API Gateway.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline CreateRestApiResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CreateRestApiResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CreateRestApiResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The API's name.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline void SetName(const Aws::String& value) { m_name = value; }
inline void SetName(Aws::String&& value) { m_name = std::move(value); }
inline void SetName(const char* value) { m_name.assign(value); }
inline CreateRestApiResult& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateRestApiResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateRestApiResult& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The API's description.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline void SetDescription(const Aws::String& value) { m_description = value; }
inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
inline void SetDescription(const char* value) { m_description.assign(value); }
inline CreateRestApiResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateRestApiResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateRestApiResult& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The timestamp when the API was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; }
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); }
inline CreateRestApiResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline CreateRestApiResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A version identifier for the API.</p>
*/
inline const Aws::String& GetVersion() const{ return m_version; }
inline void SetVersion(const Aws::String& value) { m_version = value; }
inline void SetVersion(Aws::String&& value) { m_version = std::move(value); }
inline void SetVersion(const char* value) { m_version.assign(value); }
inline CreateRestApiResult& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
inline CreateRestApiResult& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
inline CreateRestApiResult& WithVersion(const char* value) { SetVersion(value); return *this;}
///@}
///@{
/**
* <p>The warning messages reported when <code>failonwarnings</code> is turned on
* during API import.</p>
*/
inline const Aws::Vector<Aws::String>& GetWarnings() const{ return m_warnings; }
inline void SetWarnings(const Aws::Vector<Aws::String>& value) { m_warnings = value; }
inline void SetWarnings(Aws::Vector<Aws::String>&& value) { m_warnings = std::move(value); }
inline CreateRestApiResult& WithWarnings(const Aws::Vector<Aws::String>& value) { SetWarnings(value); return *this;}
inline CreateRestApiResult& WithWarnings(Aws::Vector<Aws::String>&& value) { SetWarnings(std::move(value)); return *this;}
inline CreateRestApiResult& AddWarnings(const Aws::String& value) { m_warnings.push_back(value); return *this; }
inline CreateRestApiResult& AddWarnings(Aws::String&& value) { m_warnings.push_back(std::move(value)); return *this; }
inline CreateRestApiResult& AddWarnings(const char* value) { m_warnings.push_back(value); return *this; }
///@}
///@{
/**
* <p>The list of binary media types supported by the RestApi. By default, the
* RestApi supports only UTF-8-encoded text payloads.</p>
*/
inline const Aws::Vector<Aws::String>& GetBinaryMediaTypes() const{ return m_binaryMediaTypes; }
inline void SetBinaryMediaTypes(const Aws::Vector<Aws::String>& value) { m_binaryMediaTypes = value; }
inline void SetBinaryMediaTypes(Aws::Vector<Aws::String>&& value) { m_binaryMediaTypes = std::move(value); }
inline CreateRestApiResult& WithBinaryMediaTypes(const Aws::Vector<Aws::String>& value) { SetBinaryMediaTypes(value); return *this;}
inline CreateRestApiResult& WithBinaryMediaTypes(Aws::Vector<Aws::String>&& value) { SetBinaryMediaTypes(std::move(value)); return *this;}
inline CreateRestApiResult& AddBinaryMediaTypes(const Aws::String& value) { m_binaryMediaTypes.push_back(value); return *this; }
inline CreateRestApiResult& AddBinaryMediaTypes(Aws::String&& value) { m_binaryMediaTypes.push_back(std::move(value)); return *this; }
inline CreateRestApiResult& AddBinaryMediaTypes(const char* value) { m_binaryMediaTypes.push_back(value); return *this; }
///@}
///@{
/**
* <p>A nullable integer that is used to enable compression (with non-negative
* between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a
* null value) on an API. When compression is enabled, compression or decompression
* is not applied on the payload if the payload size is smaller than this value.
* Setting it to zero allows compression for any payload size.</p>
*/
inline int GetMinimumCompressionSize() const{ return m_minimumCompressionSize; }
inline void SetMinimumCompressionSize(int value) { m_minimumCompressionSize = value; }
inline CreateRestApiResult& WithMinimumCompressionSize(int value) { SetMinimumCompressionSize(value); return *this;}
///@}
///@{
/**
* <p>The source of the API key for metering requests according to a usage plan.
* Valid values are: &gt;<code>HEADER</code> to read the API key from the
* <code>X-API-Key</code> header of a request. <code>AUTHORIZER</code> to read the
* API key from the <code>UsageIdentifierKey</code> from a custom authorizer.</p>
*/
inline const ApiKeySourceType& GetApiKeySource() const{ return m_apiKeySource; }
inline void SetApiKeySource(const ApiKeySourceType& value) { m_apiKeySource = value; }
inline void SetApiKeySource(ApiKeySourceType&& value) { m_apiKeySource = std::move(value); }
inline CreateRestApiResult& WithApiKeySource(const ApiKeySourceType& value) { SetApiKeySource(value); return *this;}
inline CreateRestApiResult& WithApiKeySource(ApiKeySourceType&& value) { SetApiKeySource(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The endpoint configuration of this RestApi showing the endpoint types of the
* API. </p>
*/
inline const EndpointConfiguration& GetEndpointConfiguration() const{ return m_endpointConfiguration; }
inline void SetEndpointConfiguration(const EndpointConfiguration& value) { m_endpointConfiguration = value; }
inline void SetEndpointConfiguration(EndpointConfiguration&& value) { m_endpointConfiguration = std::move(value); }
inline CreateRestApiResult& WithEndpointConfiguration(const EndpointConfiguration& value) { SetEndpointConfiguration(value); return *this;}
inline CreateRestApiResult& WithEndpointConfiguration(EndpointConfiguration&& value) { SetEndpointConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A stringified JSON policy document that applies to this RestApi regardless of
* the caller and Method configuration.</p>
*/
inline const Aws::String& GetPolicy() const{ return m_policy; }
inline void SetPolicy(const Aws::String& value) { m_policy = value; }
inline void SetPolicy(Aws::String&& value) { m_policy = std::move(value); }
inline void SetPolicy(const char* value) { m_policy.assign(value); }
inline CreateRestApiResult& WithPolicy(const Aws::String& value) { SetPolicy(value); return *this;}
inline CreateRestApiResult& WithPolicy(Aws::String&& value) { SetPolicy(std::move(value)); return *this;}
inline CreateRestApiResult& WithPolicy(const char* value) { SetPolicy(value); return *this;}
///@}
///@{
/**
* <p>The collection of tags. Each tag element is associated with a given
* resource.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
inline CreateRestApiResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateRestApiResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateRestApiResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
inline CreateRestApiResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateRestApiResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateRestApiResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateRestApiResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateRestApiResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateRestApiResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>Specifies whether clients can invoke your API by using the default
* <code>execute-api</code> endpoint. By default, clients can invoke your API with
* the default <code>https://{api_id}.execute-api.{region}.amazonaws.com</code>
* endpoint. To require that clients use a custom domain name to invoke your API,
* disable the default endpoint.</p>
*/
inline bool GetDisableExecuteApiEndpoint() const{ return m_disableExecuteApiEndpoint; }
inline void SetDisableExecuteApiEndpoint(bool value) { m_disableExecuteApiEndpoint = value; }
inline CreateRestApiResult& WithDisableExecuteApiEndpoint(bool value) { SetDisableExecuteApiEndpoint(value); return *this;}
///@}
///@{
/**
* <p>The API's root resource ID.</p>
*/
inline const Aws::String& GetRootResourceId() const{ return m_rootResourceId; }
inline void SetRootResourceId(const Aws::String& value) { m_rootResourceId = value; }
inline void SetRootResourceId(Aws::String&& value) { m_rootResourceId = std::move(value); }
inline void SetRootResourceId(const char* value) { m_rootResourceId.assign(value); }
inline CreateRestApiResult& WithRootResourceId(const Aws::String& value) { SetRootResourceId(value); return *this;}
inline CreateRestApiResult& WithRootResourceId(Aws::String&& value) { SetRootResourceId(std::move(value)); return *this;}
inline CreateRestApiResult& WithRootResourceId(const char* value) { SetRootResourceId(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateRestApiResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateRestApiResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateRestApiResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_name;
Aws::String m_description;
Aws::Utils::DateTime m_createdDate;
Aws::String m_version;
Aws::Vector<Aws::String> m_warnings;
Aws::Vector<Aws::String> m_binaryMediaTypes;
int m_minimumCompressionSize;
ApiKeySourceType m_apiKeySource;
EndpointConfiguration m_endpointConfiguration;
Aws::String m_policy;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_disableExecuteApiEndpoint;
Aws::String m_rootResourceId;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,239 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/CacheClusterSize.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/CanarySettings.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Requests API Gateway to create a Stage resource.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateStageRequest">AWS
* API Reference</a></p>
*/
class CreateStageRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateStageRequest();
// 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 "CreateStage"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline CreateStageRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline CreateStageRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline CreateStageRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name for the Stage resource. Stage names can only contain alphanumeric
* characters, hyphens, and underscores. Maximum length is 128 characters.</p>
*/
inline const Aws::String& GetStageName() const{ return m_stageName; }
inline bool StageNameHasBeenSet() const { return m_stageNameHasBeenSet; }
inline void SetStageName(const Aws::String& value) { m_stageNameHasBeenSet = true; m_stageName = value; }
inline void SetStageName(Aws::String&& value) { m_stageNameHasBeenSet = true; m_stageName = std::move(value); }
inline void SetStageName(const char* value) { m_stageNameHasBeenSet = true; m_stageName.assign(value); }
inline CreateStageRequest& WithStageName(const Aws::String& value) { SetStageName(value); return *this;}
inline CreateStageRequest& WithStageName(Aws::String&& value) { SetStageName(std::move(value)); return *this;}
inline CreateStageRequest& WithStageName(const char* value) { SetStageName(value); return *this;}
///@}
///@{
/**
* <p>The identifier of the Deployment resource for the Stage resource.</p>
*/
inline const Aws::String& GetDeploymentId() const{ return m_deploymentId; }
inline bool DeploymentIdHasBeenSet() const { return m_deploymentIdHasBeenSet; }
inline void SetDeploymentId(const Aws::String& value) { m_deploymentIdHasBeenSet = true; m_deploymentId = value; }
inline void SetDeploymentId(Aws::String&& value) { m_deploymentIdHasBeenSet = true; m_deploymentId = std::move(value); }
inline void SetDeploymentId(const char* value) { m_deploymentIdHasBeenSet = true; m_deploymentId.assign(value); }
inline CreateStageRequest& WithDeploymentId(const Aws::String& value) { SetDeploymentId(value); return *this;}
inline CreateStageRequest& WithDeploymentId(Aws::String&& value) { SetDeploymentId(std::move(value)); return *this;}
inline CreateStageRequest& WithDeploymentId(const char* value) { SetDeploymentId(value); return *this;}
///@}
///@{
/**
* <p>The description of the Stage resource.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateStageRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateStageRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateStageRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>Whether cache clustering is enabled for the stage.</p>
*/
inline bool GetCacheClusterEnabled() const{ return m_cacheClusterEnabled; }
inline bool CacheClusterEnabledHasBeenSet() const { return m_cacheClusterEnabledHasBeenSet; }
inline void SetCacheClusterEnabled(bool value) { m_cacheClusterEnabledHasBeenSet = true; m_cacheClusterEnabled = value; }
inline CreateStageRequest& WithCacheClusterEnabled(bool value) { SetCacheClusterEnabled(value); return *this;}
///@}
///@{
/**
* <p>The stage's cache capacity in GB. For more information about choosing a cache
* size, see <a
* href="https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html">Enabling
* API caching to enhance responsiveness</a>.</p>
*/
inline const CacheClusterSize& GetCacheClusterSize() const{ return m_cacheClusterSize; }
inline bool CacheClusterSizeHasBeenSet() const { return m_cacheClusterSizeHasBeenSet; }
inline void SetCacheClusterSize(const CacheClusterSize& value) { m_cacheClusterSizeHasBeenSet = true; m_cacheClusterSize = value; }
inline void SetCacheClusterSize(CacheClusterSize&& value) { m_cacheClusterSizeHasBeenSet = true; m_cacheClusterSize = std::move(value); }
inline CreateStageRequest& WithCacheClusterSize(const CacheClusterSize& value) { SetCacheClusterSize(value); return *this;}
inline CreateStageRequest& WithCacheClusterSize(CacheClusterSize&& value) { SetCacheClusterSize(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A map that defines the stage variables for the new Stage resource. Variable
* names can have alphanumeric and underscore characters, and the values must match
* <code>[A-Za-z0-9-._~:/?#&amp;=,]+</code>.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetVariables() const{ return m_variables; }
inline bool VariablesHasBeenSet() const { return m_variablesHasBeenSet; }
inline void SetVariables(const Aws::Map<Aws::String, Aws::String>& value) { m_variablesHasBeenSet = true; m_variables = value; }
inline void SetVariables(Aws::Map<Aws::String, Aws::String>&& value) { m_variablesHasBeenSet = true; m_variables = std::move(value); }
inline CreateStageRequest& WithVariables(const Aws::Map<Aws::String, Aws::String>& value) { SetVariables(value); return *this;}
inline CreateStageRequest& WithVariables(Aws::Map<Aws::String, Aws::String>&& value) { SetVariables(std::move(value)); return *this;}
inline CreateStageRequest& AddVariables(const Aws::String& key, const Aws::String& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, value); return *this; }
inline CreateStageRequest& AddVariables(Aws::String&& key, const Aws::String& value) { m_variablesHasBeenSet = true; m_variables.emplace(std::move(key), value); return *this; }
inline CreateStageRequest& AddVariables(const Aws::String& key, Aws::String&& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, std::move(value)); return *this; }
inline CreateStageRequest& AddVariables(Aws::String&& key, Aws::String&& value) { m_variablesHasBeenSet = true; m_variables.emplace(std::move(key), std::move(value)); return *this; }
inline CreateStageRequest& AddVariables(const char* key, Aws::String&& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, std::move(value)); return *this; }
inline CreateStageRequest& AddVariables(Aws::String&& key, const char* value) { m_variablesHasBeenSet = true; m_variables.emplace(std::move(key), value); return *this; }
inline CreateStageRequest& AddVariables(const char* key, const char* value) { m_variablesHasBeenSet = true; m_variables.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The version of the associated API documentation.</p>
*/
inline const Aws::String& GetDocumentationVersion() const{ return m_documentationVersion; }
inline bool DocumentationVersionHasBeenSet() const { return m_documentationVersionHasBeenSet; }
inline void SetDocumentationVersion(const Aws::String& value) { m_documentationVersionHasBeenSet = true; m_documentationVersion = value; }
inline void SetDocumentationVersion(Aws::String&& value) { m_documentationVersionHasBeenSet = true; m_documentationVersion = std::move(value); }
inline void SetDocumentationVersion(const char* value) { m_documentationVersionHasBeenSet = true; m_documentationVersion.assign(value); }
inline CreateStageRequest& WithDocumentationVersion(const Aws::String& value) { SetDocumentationVersion(value); return *this;}
inline CreateStageRequest& WithDocumentationVersion(Aws::String&& value) { SetDocumentationVersion(std::move(value)); return *this;}
inline CreateStageRequest& WithDocumentationVersion(const char* value) { SetDocumentationVersion(value); return *this;}
///@}
///@{
/**
* <p>The canary deployment settings of this stage.</p>
*/
inline const CanarySettings& GetCanarySettings() const{ return m_canarySettings; }
inline bool CanarySettingsHasBeenSet() const { return m_canarySettingsHasBeenSet; }
inline void SetCanarySettings(const CanarySettings& value) { m_canarySettingsHasBeenSet = true; m_canarySettings = value; }
inline void SetCanarySettings(CanarySettings&& value) { m_canarySettingsHasBeenSet = true; m_canarySettings = std::move(value); }
inline CreateStageRequest& WithCanarySettings(const CanarySettings& value) { SetCanarySettings(value); return *this;}
inline CreateStageRequest& WithCanarySettings(CanarySettings&& value) { SetCanarySettings(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specifies whether active tracing with X-ray is enabled for the Stage.</p>
*/
inline bool GetTracingEnabled() const{ return m_tracingEnabled; }
inline bool TracingEnabledHasBeenSet() const { return m_tracingEnabledHasBeenSet; }
inline void SetTracingEnabled(bool value) { m_tracingEnabledHasBeenSet = true; m_tracingEnabled = value; }
inline CreateStageRequest& WithTracingEnabled(bool value) { SetTracingEnabled(value); return *this;}
///@}
///@{
/**
* <p>The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The
* tag key can be up to 128 characters and must not start with <code>aws:</code>.
* The tag value can be up to 256 characters.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateStageRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateStageRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateStageRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
inline CreateStageRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateStageRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateStageRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateStageRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateStageRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateStageRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_stageName;
bool m_stageNameHasBeenSet = false;
Aws::String m_deploymentId;
bool m_deploymentIdHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
bool m_cacheClusterEnabled;
bool m_cacheClusterEnabledHasBeenSet = false;
CacheClusterSize m_cacheClusterSize;
bool m_cacheClusterSizeHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_variables;
bool m_variablesHasBeenSet = false;
Aws::String m_documentationVersion;
bool m_documentationVersionHasBeenSet = false;
CanarySettings m_canarySettings;
bool m_canarySettingsHasBeenSet = false;
bool m_tracingEnabled;
bool m_tracingEnabledHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,328 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/CacheClusterSize.h>
#include <aws/apigateway/model/CacheClusterStatus.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/AccessLogSettings.h>
#include <aws/apigateway/model/CanarySettings.h>
#include <aws/core/utils/DateTime.h>
#include <aws/apigateway/model/MethodSetting.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a unique identifier for a version of a deployed RestApi that is
* callable by users.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/Stage">AWS
* API Reference</a></p>
*/
class CreateStageResult
{
public:
AWS_APIGATEWAY_API CreateStageResult();
AWS_APIGATEWAY_API CreateStageResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateStageResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The identifier of the Deployment that the stage points to.</p>
*/
inline const Aws::String& GetDeploymentId() const{ return m_deploymentId; }
inline void SetDeploymentId(const Aws::String& value) { m_deploymentId = value; }
inline void SetDeploymentId(Aws::String&& value) { m_deploymentId = std::move(value); }
inline void SetDeploymentId(const char* value) { m_deploymentId.assign(value); }
inline CreateStageResult& WithDeploymentId(const Aws::String& value) { SetDeploymentId(value); return *this;}
inline CreateStageResult& WithDeploymentId(Aws::String&& value) { SetDeploymentId(std::move(value)); return *this;}
inline CreateStageResult& WithDeploymentId(const char* value) { SetDeploymentId(value); return *this;}
///@}
///@{
/**
* <p>The identifier of a client certificate for an API stage.</p>
*/
inline const Aws::String& GetClientCertificateId() const{ return m_clientCertificateId; }
inline void SetClientCertificateId(const Aws::String& value) { m_clientCertificateId = value; }
inline void SetClientCertificateId(Aws::String&& value) { m_clientCertificateId = std::move(value); }
inline void SetClientCertificateId(const char* value) { m_clientCertificateId.assign(value); }
inline CreateStageResult& WithClientCertificateId(const Aws::String& value) { SetClientCertificateId(value); return *this;}
inline CreateStageResult& WithClientCertificateId(Aws::String&& value) { SetClientCertificateId(std::move(value)); return *this;}
inline CreateStageResult& WithClientCertificateId(const char* value) { SetClientCertificateId(value); return *this;}
///@}
///@{
/**
* <p>The name of the stage is the first path segment in the Uniform Resource
* Identifier (URI) of a call to API Gateway. Stage names can only contain
* alphanumeric characters, hyphens, and underscores. Maximum length is 128
* characters.</p>
*/
inline const Aws::String& GetStageName() const{ return m_stageName; }
inline void SetStageName(const Aws::String& value) { m_stageName = value; }
inline void SetStageName(Aws::String&& value) { m_stageName = std::move(value); }
inline void SetStageName(const char* value) { m_stageName.assign(value); }
inline CreateStageResult& WithStageName(const Aws::String& value) { SetStageName(value); return *this;}
inline CreateStageResult& WithStageName(Aws::String&& value) { SetStageName(std::move(value)); return *this;}
inline CreateStageResult& WithStageName(const char* value) { SetStageName(value); return *this;}
///@}
///@{
/**
* <p>The stage's description.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline void SetDescription(const Aws::String& value) { m_description = value; }
inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
inline void SetDescription(const char* value) { m_description.assign(value); }
inline CreateStageResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateStageResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateStageResult& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>Specifies whether a cache cluster is enabled for the stage. To activate a
* method-level cache, set <code>CachingEnabled</code> to <code>true</code> for a
* method. </p>
*/
inline bool GetCacheClusterEnabled() const{ return m_cacheClusterEnabled; }
inline void SetCacheClusterEnabled(bool value) { m_cacheClusterEnabled = value; }
inline CreateStageResult& WithCacheClusterEnabled(bool value) { SetCacheClusterEnabled(value); return *this;}
///@}
///@{
/**
* <p>The stage's cache capacity in GB. For more information about choosing a cache
* size, see <a
* href="https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html">Enabling
* API caching to enhance responsiveness</a>.</p>
*/
inline const CacheClusterSize& GetCacheClusterSize() const{ return m_cacheClusterSize; }
inline void SetCacheClusterSize(const CacheClusterSize& value) { m_cacheClusterSize = value; }
inline void SetCacheClusterSize(CacheClusterSize&& value) { m_cacheClusterSize = std::move(value); }
inline CreateStageResult& WithCacheClusterSize(const CacheClusterSize& value) { SetCacheClusterSize(value); return *this;}
inline CreateStageResult& WithCacheClusterSize(CacheClusterSize&& value) { SetCacheClusterSize(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The status of the cache cluster for the stage, if enabled.</p>
*/
inline const CacheClusterStatus& GetCacheClusterStatus() const{ return m_cacheClusterStatus; }
inline void SetCacheClusterStatus(const CacheClusterStatus& value) { m_cacheClusterStatus = value; }
inline void SetCacheClusterStatus(CacheClusterStatus&& value) { m_cacheClusterStatus = std::move(value); }
inline CreateStageResult& WithCacheClusterStatus(const CacheClusterStatus& value) { SetCacheClusterStatus(value); return *this;}
inline CreateStageResult& WithCacheClusterStatus(CacheClusterStatus&& value) { SetCacheClusterStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A map that defines the method settings for a Stage resource. Keys (designated
* as <code>/{method_setting_key</code> below) are method paths defined as
* <code>{resource_path}/{http_method}</code> for an individual method override, or
* <code>/\* /\*</code> for overriding all methods in the stage. </p>
*/
inline const Aws::Map<Aws::String, MethodSetting>& GetMethodSettings() const{ return m_methodSettings; }
inline void SetMethodSettings(const Aws::Map<Aws::String, MethodSetting>& value) { m_methodSettings = value; }
inline void SetMethodSettings(Aws::Map<Aws::String, MethodSetting>&& value) { m_methodSettings = std::move(value); }
inline CreateStageResult& WithMethodSettings(const Aws::Map<Aws::String, MethodSetting>& value) { SetMethodSettings(value); return *this;}
inline CreateStageResult& WithMethodSettings(Aws::Map<Aws::String, MethodSetting>&& value) { SetMethodSettings(std::move(value)); return *this;}
inline CreateStageResult& AddMethodSettings(const Aws::String& key, const MethodSetting& value) { m_methodSettings.emplace(key, value); return *this; }
inline CreateStageResult& AddMethodSettings(Aws::String&& key, const MethodSetting& value) { m_methodSettings.emplace(std::move(key), value); return *this; }
inline CreateStageResult& AddMethodSettings(const Aws::String& key, MethodSetting&& value) { m_methodSettings.emplace(key, std::move(value)); return *this; }
inline CreateStageResult& AddMethodSettings(Aws::String&& key, MethodSetting&& value) { m_methodSettings.emplace(std::move(key), std::move(value)); return *this; }
inline CreateStageResult& AddMethodSettings(const char* key, MethodSetting&& value) { m_methodSettings.emplace(key, std::move(value)); return *this; }
inline CreateStageResult& AddMethodSettings(const char* key, const MethodSetting& value) { m_methodSettings.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>A map that defines the stage variables for a Stage resource. Variable names
* can have alphanumeric and underscore characters, and the values must match
* <code>[A-Za-z0-9-._~:/?#&amp;=,]+</code>.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetVariables() const{ return m_variables; }
inline void SetVariables(const Aws::Map<Aws::String, Aws::String>& value) { m_variables = value; }
inline void SetVariables(Aws::Map<Aws::String, Aws::String>&& value) { m_variables = std::move(value); }
inline CreateStageResult& WithVariables(const Aws::Map<Aws::String, Aws::String>& value) { SetVariables(value); return *this;}
inline CreateStageResult& WithVariables(Aws::Map<Aws::String, Aws::String>&& value) { SetVariables(std::move(value)); return *this;}
inline CreateStageResult& AddVariables(const Aws::String& key, const Aws::String& value) { m_variables.emplace(key, value); return *this; }
inline CreateStageResult& AddVariables(Aws::String&& key, const Aws::String& value) { m_variables.emplace(std::move(key), value); return *this; }
inline CreateStageResult& AddVariables(const Aws::String& key, Aws::String&& value) { m_variables.emplace(key, std::move(value)); return *this; }
inline CreateStageResult& AddVariables(Aws::String&& key, Aws::String&& value) { m_variables.emplace(std::move(key), std::move(value)); return *this; }
inline CreateStageResult& AddVariables(const char* key, Aws::String&& value) { m_variables.emplace(key, std::move(value)); return *this; }
inline CreateStageResult& AddVariables(Aws::String&& key, const char* value) { m_variables.emplace(std::move(key), value); return *this; }
inline CreateStageResult& AddVariables(const char* key, const char* value) { m_variables.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The version of the associated API documentation.</p>
*/
inline const Aws::String& GetDocumentationVersion() const{ return m_documentationVersion; }
inline void SetDocumentationVersion(const Aws::String& value) { m_documentationVersion = value; }
inline void SetDocumentationVersion(Aws::String&& value) { m_documentationVersion = std::move(value); }
inline void SetDocumentationVersion(const char* value) { m_documentationVersion.assign(value); }
inline CreateStageResult& WithDocumentationVersion(const Aws::String& value) { SetDocumentationVersion(value); return *this;}
inline CreateStageResult& WithDocumentationVersion(Aws::String&& value) { SetDocumentationVersion(std::move(value)); return *this;}
inline CreateStageResult& WithDocumentationVersion(const char* value) { SetDocumentationVersion(value); return *this;}
///@}
///@{
/**
* <p>Settings for logging access in this stage.</p>
*/
inline const AccessLogSettings& GetAccessLogSettings() const{ return m_accessLogSettings; }
inline void SetAccessLogSettings(const AccessLogSettings& value) { m_accessLogSettings = value; }
inline void SetAccessLogSettings(AccessLogSettings&& value) { m_accessLogSettings = std::move(value); }
inline CreateStageResult& WithAccessLogSettings(const AccessLogSettings& value) { SetAccessLogSettings(value); return *this;}
inline CreateStageResult& WithAccessLogSettings(AccessLogSettings&& value) { SetAccessLogSettings(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Settings for the canary deployment in this stage.</p>
*/
inline const CanarySettings& GetCanarySettings() const{ return m_canarySettings; }
inline void SetCanarySettings(const CanarySettings& value) { m_canarySettings = value; }
inline void SetCanarySettings(CanarySettings&& value) { m_canarySettings = std::move(value); }
inline CreateStageResult& WithCanarySettings(const CanarySettings& value) { SetCanarySettings(value); return *this;}
inline CreateStageResult& WithCanarySettings(CanarySettings&& value) { SetCanarySettings(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specifies whether active tracing with X-ray is enabled for the Stage.</p>
*/
inline bool GetTracingEnabled() const{ return m_tracingEnabled; }
inline void SetTracingEnabled(bool value) { m_tracingEnabled = value; }
inline CreateStageResult& WithTracingEnabled(bool value) { SetTracingEnabled(value); return *this;}
///@}
///@{
/**
* <p>The ARN of the WebAcl associated with the Stage.</p>
*/
inline const Aws::String& GetWebAclArn() const{ return m_webAclArn; }
inline void SetWebAclArn(const Aws::String& value) { m_webAclArn = value; }
inline void SetWebAclArn(Aws::String&& value) { m_webAclArn = std::move(value); }
inline void SetWebAclArn(const char* value) { m_webAclArn.assign(value); }
inline CreateStageResult& WithWebAclArn(const Aws::String& value) { SetWebAclArn(value); return *this;}
inline CreateStageResult& WithWebAclArn(Aws::String&& value) { SetWebAclArn(std::move(value)); return *this;}
inline CreateStageResult& WithWebAclArn(const char* value) { SetWebAclArn(value); return *this;}
///@}
///@{
/**
* <p>The collection of tags. Each tag element is associated with a given
* resource.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
inline CreateStageResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateStageResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateStageResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
inline CreateStageResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateStageResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateStageResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateStageResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateStageResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateStageResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The timestamp when the stage was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; }
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); }
inline CreateStageResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline CreateStageResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The timestamp when the stage last updated.</p>
*/
inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; }
inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDate = value; }
inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDate = std::move(value); }
inline CreateStageResult& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;}
inline CreateStageResult& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateStageResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateStageResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateStageResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_deploymentId;
Aws::String m_clientCertificateId;
Aws::String m_stageName;
Aws::String m_description;
bool m_cacheClusterEnabled;
CacheClusterSize m_cacheClusterSize;
CacheClusterStatus m_cacheClusterStatus;
Aws::Map<Aws::String, MethodSetting> m_methodSettings;
Aws::Map<Aws::String, Aws::String> m_variables;
Aws::String m_documentationVersion;
AccessLogSettings m_accessLogSettings;
CanarySettings m_canarySettings;
bool m_tracingEnabled;
Aws::String m_webAclArn;
Aws::Map<Aws::String, Aws::String> m_tags;
Aws::Utils::DateTime m_createdDate;
Aws::Utils::DateTime m_lastUpdatedDate;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,95 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>The POST request to create a usage plan key for adding an existing API key to
* a usage plan.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateUsagePlanKeyRequest">AWS
* API Reference</a></p>
*/
class CreateUsagePlanKeyRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateUsagePlanKeyRequest();
// 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 "CreateUsagePlanKey"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The Id of the UsagePlan resource representing the usage plan containing the
* to-be-created UsagePlanKey resource representing a plan customer.</p>
*/
inline const Aws::String& GetUsagePlanId() const{ return m_usagePlanId; }
inline bool UsagePlanIdHasBeenSet() const { return m_usagePlanIdHasBeenSet; }
inline void SetUsagePlanId(const Aws::String& value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId = value; }
inline void SetUsagePlanId(Aws::String&& value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId = std::move(value); }
inline void SetUsagePlanId(const char* value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId.assign(value); }
inline CreateUsagePlanKeyRequest& WithUsagePlanId(const Aws::String& value) { SetUsagePlanId(value); return *this;}
inline CreateUsagePlanKeyRequest& WithUsagePlanId(Aws::String&& value) { SetUsagePlanId(std::move(value)); return *this;}
inline CreateUsagePlanKeyRequest& WithUsagePlanId(const char* value) { SetUsagePlanId(value); return *this;}
///@}
///@{
/**
* <p>The identifier of a UsagePlanKey resource for a plan customer.</p>
*/
inline const Aws::String& GetKeyId() const{ return m_keyId; }
inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; }
inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; }
inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = std::move(value); }
inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); }
inline CreateUsagePlanKeyRequest& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;}
inline CreateUsagePlanKeyRequest& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;}
inline CreateUsagePlanKeyRequest& WithKeyId(const char* value) { SetKeyId(value); return *this;}
///@}
///@{
/**
* <p>The type of a UsagePlanKey resource for a plan customer.</p>
*/
inline const Aws::String& GetKeyType() const{ return m_keyType; }
inline bool KeyTypeHasBeenSet() const { return m_keyTypeHasBeenSet; }
inline void SetKeyType(const Aws::String& value) { m_keyTypeHasBeenSet = true; m_keyType = value; }
inline void SetKeyType(Aws::String&& value) { m_keyTypeHasBeenSet = true; m_keyType = std::move(value); }
inline void SetKeyType(const char* value) { m_keyTypeHasBeenSet = true; m_keyType.assign(value); }
inline CreateUsagePlanKeyRequest& WithKeyType(const Aws::String& value) { SetKeyType(value); return *this;}
inline CreateUsagePlanKeyRequest& WithKeyType(Aws::String&& value) { SetKeyType(std::move(value)); return *this;}
inline CreateUsagePlanKeyRequest& WithKeyType(const char* value) { SetKeyType(value); return *this;}
///@}
private:
Aws::String m_usagePlanId;
bool m_usagePlanIdHasBeenSet = false;
Aws::String m_keyId;
bool m_keyIdHasBeenSet = false;
Aws::String m_keyType;
bool m_keyTypeHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,119 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a usage plan key to identify a plan customer.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/UsagePlanKey">AWS
* API Reference</a></p>
*/
class CreateUsagePlanKeyResult
{
public:
AWS_APIGATEWAY_API CreateUsagePlanKeyResult();
AWS_APIGATEWAY_API CreateUsagePlanKeyResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateUsagePlanKeyResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The Id of a usage plan key.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline CreateUsagePlanKeyResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CreateUsagePlanKeyResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CreateUsagePlanKeyResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The type of a usage plan key. Currently, the valid key type is
* <code>API_KEY</code>.</p>
*/
inline const Aws::String& GetType() const{ return m_type; }
inline void SetType(const Aws::String& value) { m_type = value; }
inline void SetType(Aws::String&& value) { m_type = std::move(value); }
inline void SetType(const char* value) { m_type.assign(value); }
inline CreateUsagePlanKeyResult& WithType(const Aws::String& value) { SetType(value); return *this;}
inline CreateUsagePlanKeyResult& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;}
inline CreateUsagePlanKeyResult& WithType(const char* value) { SetType(value); return *this;}
///@}
///@{
/**
* <p>The value of a usage plan key.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
inline void SetValue(const Aws::String& value) { m_value = value; }
inline void SetValue(Aws::String&& value) { m_value = std::move(value); }
inline void SetValue(const char* value) { m_value.assign(value); }
inline CreateUsagePlanKeyResult& WithValue(const Aws::String& value) { SetValue(value); return *this;}
inline CreateUsagePlanKeyResult& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
inline CreateUsagePlanKeyResult& WithValue(const char* value) { SetValue(value); return *this;}
///@}
///@{
/**
* <p>The name of a usage plan key.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline void SetName(const Aws::String& value) { m_name = value; }
inline void SetName(Aws::String&& value) { m_name = std::move(value); }
inline void SetName(const char* value) { m_name.assign(value); }
inline CreateUsagePlanKeyResult& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateUsagePlanKeyResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateUsagePlanKeyResult& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateUsagePlanKeyResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateUsagePlanKeyResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateUsagePlanKeyResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_type;
Aws::String m_value;
Aws::String m_name;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,154 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/apigateway/model/ThrottleSettings.h>
#include <aws/apigateway/model/QuotaSettings.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/ApiStage.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>The POST request to create a usage plan with the name, description, throttle
* limits and quota limits, as well as the associated API stages, specified in the
* payload.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateUsagePlanRequest">AWS
* API Reference</a></p>
*/
class CreateUsagePlanRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateUsagePlanRequest();
// 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 "CreateUsagePlan"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The name of the usage plan.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline CreateUsagePlanRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateUsagePlanRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateUsagePlanRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The description of the usage plan.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateUsagePlanRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateUsagePlanRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateUsagePlanRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The associated API stages of the usage plan.</p>
*/
inline const Aws::Vector<ApiStage>& GetApiStages() const{ return m_apiStages; }
inline bool ApiStagesHasBeenSet() const { return m_apiStagesHasBeenSet; }
inline void SetApiStages(const Aws::Vector<ApiStage>& value) { m_apiStagesHasBeenSet = true; m_apiStages = value; }
inline void SetApiStages(Aws::Vector<ApiStage>&& value) { m_apiStagesHasBeenSet = true; m_apiStages = std::move(value); }
inline CreateUsagePlanRequest& WithApiStages(const Aws::Vector<ApiStage>& value) { SetApiStages(value); return *this;}
inline CreateUsagePlanRequest& WithApiStages(Aws::Vector<ApiStage>&& value) { SetApiStages(std::move(value)); return *this;}
inline CreateUsagePlanRequest& AddApiStages(const ApiStage& value) { m_apiStagesHasBeenSet = true; m_apiStages.push_back(value); return *this; }
inline CreateUsagePlanRequest& AddApiStages(ApiStage&& value) { m_apiStagesHasBeenSet = true; m_apiStages.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>The throttling limits of the usage plan.</p>
*/
inline const ThrottleSettings& GetThrottle() const{ return m_throttle; }
inline bool ThrottleHasBeenSet() const { return m_throttleHasBeenSet; }
inline void SetThrottle(const ThrottleSettings& value) { m_throttleHasBeenSet = true; m_throttle = value; }
inline void SetThrottle(ThrottleSettings&& value) { m_throttleHasBeenSet = true; m_throttle = std::move(value); }
inline CreateUsagePlanRequest& WithThrottle(const ThrottleSettings& value) { SetThrottle(value); return *this;}
inline CreateUsagePlanRequest& WithThrottle(ThrottleSettings&& value) { SetThrottle(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The quota of the usage plan.</p>
*/
inline const QuotaSettings& GetQuota() const{ return m_quota; }
inline bool QuotaHasBeenSet() const { return m_quotaHasBeenSet; }
inline void SetQuota(const QuotaSettings& value) { m_quotaHasBeenSet = true; m_quota = value; }
inline void SetQuota(QuotaSettings&& value) { m_quotaHasBeenSet = true; m_quota = std::move(value); }
inline CreateUsagePlanRequest& WithQuota(const QuotaSettings& value) { SetQuota(value); return *this;}
inline CreateUsagePlanRequest& WithQuota(QuotaSettings&& value) { SetQuota(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The
* tag key can be up to 128 characters and must not start with <code>aws:</code>.
* The tag value can be up to 256 characters.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateUsagePlanRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateUsagePlanRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateUsagePlanRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
inline CreateUsagePlanRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateUsagePlanRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateUsagePlanRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateUsagePlanRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateUsagePlanRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateUsagePlanRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::Vector<ApiStage> m_apiStages;
bool m_apiStagesHasBeenSet = false;
ThrottleSettings m_throttle;
bool m_throttleHasBeenSet = false;
QuotaSettings m_quota;
bool m_quotaHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,194 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/apigateway/model/ThrottleSettings.h>
#include <aws/apigateway/model/QuotaSettings.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/ApiStage.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a usage plan used to specify who can assess associated API stages.
* Optionally, target request rate and quota limits can be set. In some cases
* clients can exceed the targets that you set. Dont rely on usage plans to
* control costs. Consider using <a
* href="https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html">Amazon
* Web Services Budgets</a> to monitor costs and <a
* href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html">WAF</a>
* to manage API requests.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/UsagePlan">AWS
* API Reference</a></p>
*/
class CreateUsagePlanResult
{
public:
AWS_APIGATEWAY_API CreateUsagePlanResult();
AWS_APIGATEWAY_API CreateUsagePlanResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateUsagePlanResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The identifier of a UsagePlan resource.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline CreateUsagePlanResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CreateUsagePlanResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CreateUsagePlanResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The name of a usage plan.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline void SetName(const Aws::String& value) { m_name = value; }
inline void SetName(Aws::String&& value) { m_name = std::move(value); }
inline void SetName(const char* value) { m_name.assign(value); }
inline CreateUsagePlanResult& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateUsagePlanResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateUsagePlanResult& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The description of a usage plan.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline void SetDescription(const Aws::String& value) { m_description = value; }
inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
inline void SetDescription(const char* value) { m_description.assign(value); }
inline CreateUsagePlanResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateUsagePlanResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateUsagePlanResult& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The associated API stages of a usage plan.</p>
*/
inline const Aws::Vector<ApiStage>& GetApiStages() const{ return m_apiStages; }
inline void SetApiStages(const Aws::Vector<ApiStage>& value) { m_apiStages = value; }
inline void SetApiStages(Aws::Vector<ApiStage>&& value) { m_apiStages = std::move(value); }
inline CreateUsagePlanResult& WithApiStages(const Aws::Vector<ApiStage>& value) { SetApiStages(value); return *this;}
inline CreateUsagePlanResult& WithApiStages(Aws::Vector<ApiStage>&& value) { SetApiStages(std::move(value)); return *this;}
inline CreateUsagePlanResult& AddApiStages(const ApiStage& value) { m_apiStages.push_back(value); return *this; }
inline CreateUsagePlanResult& AddApiStages(ApiStage&& value) { m_apiStages.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A map containing method level throttling information for API stage in a usage
* plan.</p>
*/
inline const ThrottleSettings& GetThrottle() const{ return m_throttle; }
inline void SetThrottle(const ThrottleSettings& value) { m_throttle = value; }
inline void SetThrottle(ThrottleSettings&& value) { m_throttle = std::move(value); }
inline CreateUsagePlanResult& WithThrottle(const ThrottleSettings& value) { SetThrottle(value); return *this;}
inline CreateUsagePlanResult& WithThrottle(ThrottleSettings&& value) { SetThrottle(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The target maximum number of permitted requests per a given unit time
* interval.</p>
*/
inline const QuotaSettings& GetQuota() const{ return m_quota; }
inline void SetQuota(const QuotaSettings& value) { m_quota = value; }
inline void SetQuota(QuotaSettings&& value) { m_quota = std::move(value); }
inline CreateUsagePlanResult& WithQuota(const QuotaSettings& value) { SetQuota(value); return *this;}
inline CreateUsagePlanResult& WithQuota(QuotaSettings&& value) { SetQuota(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The Amazon Web Services Marketplace product identifier to associate with the
* usage plan as a SaaS product on the Amazon Web Services Marketplace.</p>
*/
inline const Aws::String& GetProductCode() const{ return m_productCode; }
inline void SetProductCode(const Aws::String& value) { m_productCode = value; }
inline void SetProductCode(Aws::String&& value) { m_productCode = std::move(value); }
inline void SetProductCode(const char* value) { m_productCode.assign(value); }
inline CreateUsagePlanResult& WithProductCode(const Aws::String& value) { SetProductCode(value); return *this;}
inline CreateUsagePlanResult& WithProductCode(Aws::String&& value) { SetProductCode(std::move(value)); return *this;}
inline CreateUsagePlanResult& WithProductCode(const char* value) { SetProductCode(value); return *this;}
///@}
///@{
/**
* <p>The collection of tags. Each tag element is associated with a given
* resource.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
inline CreateUsagePlanResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateUsagePlanResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateUsagePlanResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
inline CreateUsagePlanResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateUsagePlanResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateUsagePlanResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateUsagePlanResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateUsagePlanResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateUsagePlanResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateUsagePlanResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateUsagePlanResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateUsagePlanResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_name;
Aws::String m_description;
Aws::Vector<ApiStage> m_apiStages;
ThrottleSettings m_throttle;
QuotaSettings m_quota;
Aws::String m_productCode;
Aws::Map<Aws::String, Aws::String> m_tags;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,125 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Creates a VPC link, under the caller's account in a selected region, in an
* asynchronous operation that typically takes 2-4 minutes to complete and become
* operational. The caller must have permissions to create and update VPC Endpoint
* services.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/CreateVpcLinkRequest">AWS
* API Reference</a></p>
*/
class CreateVpcLinkRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API CreateVpcLinkRequest();
// 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 "CreateVpcLink"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The name used to label and identify the VPC link.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline CreateVpcLinkRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateVpcLinkRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateVpcLinkRequest& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The description of the VPC link.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline CreateVpcLinkRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateVpcLinkRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateVpcLinkRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The ARN of the network load balancer of the VPC targeted by the VPC link. The
* network load balancer must be owned by the same Amazon Web Services account of
* the API owner.</p>
*/
inline const Aws::Vector<Aws::String>& GetTargetArns() const{ return m_targetArns; }
inline bool TargetArnsHasBeenSet() const { return m_targetArnsHasBeenSet; }
inline void SetTargetArns(const Aws::Vector<Aws::String>& value) { m_targetArnsHasBeenSet = true; m_targetArns = value; }
inline void SetTargetArns(Aws::Vector<Aws::String>&& value) { m_targetArnsHasBeenSet = true; m_targetArns = std::move(value); }
inline CreateVpcLinkRequest& WithTargetArns(const Aws::Vector<Aws::String>& value) { SetTargetArns(value); return *this;}
inline CreateVpcLinkRequest& WithTargetArns(Aws::Vector<Aws::String>&& value) { SetTargetArns(std::move(value)); return *this;}
inline CreateVpcLinkRequest& AddTargetArns(const Aws::String& value) { m_targetArnsHasBeenSet = true; m_targetArns.push_back(value); return *this; }
inline CreateVpcLinkRequest& AddTargetArns(Aws::String&& value) { m_targetArnsHasBeenSet = true; m_targetArns.push_back(std::move(value)); return *this; }
inline CreateVpcLinkRequest& AddTargetArns(const char* value) { m_targetArnsHasBeenSet = true; m_targetArns.push_back(value); return *this; }
///@}
///@{
/**
* <p>The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The
* tag key can be up to 128 characters and must not start with <code>aws:</code>.
* The tag value can be up to 256 characters.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline CreateVpcLinkRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateVpcLinkRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateVpcLinkRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
inline CreateVpcLinkRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateVpcLinkRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateVpcLinkRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateVpcLinkRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline CreateVpcLinkRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline CreateVpcLinkRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::Vector<Aws::String> m_targetArns;
bool m_targetArnsHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,177 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/apigateway/model/VpcLinkStatus.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>An API Gateway VPC link for a RestApi to access resources in an Amazon
* Virtual Private Cloud (VPC).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/VpcLink">AWS
* API Reference</a></p>
*/
class CreateVpcLinkResult
{
public:
AWS_APIGATEWAY_API CreateVpcLinkResult();
AWS_APIGATEWAY_API CreateVpcLinkResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API CreateVpcLinkResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The identifier of the VpcLink. It is used in an Integration to reference this
* VpcLink.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline CreateVpcLinkResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CreateVpcLinkResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CreateVpcLinkResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The name used to label and identify the VPC link.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline void SetName(const Aws::String& value) { m_name = value; }
inline void SetName(Aws::String&& value) { m_name = std::move(value); }
inline void SetName(const char* value) { m_name.assign(value); }
inline CreateVpcLinkResult& WithName(const Aws::String& value) { SetName(value); return *this;}
inline CreateVpcLinkResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline CreateVpcLinkResult& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The description of the VPC link.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline void SetDescription(const Aws::String& value) { m_description = value; }
inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
inline void SetDescription(const char* value) { m_description.assign(value); }
inline CreateVpcLinkResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline CreateVpcLinkResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline CreateVpcLinkResult& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The ARN of the network load balancer of the VPC targeted by the VPC link. The
* network load balancer must be owned by the same Amazon Web Services account of
* the API owner.</p>
*/
inline const Aws::Vector<Aws::String>& GetTargetArns() const{ return m_targetArns; }
inline void SetTargetArns(const Aws::Vector<Aws::String>& value) { m_targetArns = value; }
inline void SetTargetArns(Aws::Vector<Aws::String>&& value) { m_targetArns = std::move(value); }
inline CreateVpcLinkResult& WithTargetArns(const Aws::Vector<Aws::String>& value) { SetTargetArns(value); return *this;}
inline CreateVpcLinkResult& WithTargetArns(Aws::Vector<Aws::String>&& value) { SetTargetArns(std::move(value)); return *this;}
inline CreateVpcLinkResult& AddTargetArns(const Aws::String& value) { m_targetArns.push_back(value); return *this; }
inline CreateVpcLinkResult& AddTargetArns(Aws::String&& value) { m_targetArns.push_back(std::move(value)); return *this; }
inline CreateVpcLinkResult& AddTargetArns(const char* value) { m_targetArns.push_back(value); return *this; }
///@}
///@{
/**
* <p>The status of the VPC link. The valid values are <code>AVAILABLE</code>,
* <code>PENDING</code>, <code>DELETING</code>, or <code>FAILED</code>. Deploying
* an API will wait if the status is <code>PENDING</code> and will fail if the
* status is <code>DELETING</code>. </p>
*/
inline const VpcLinkStatus& GetStatus() const{ return m_status; }
inline void SetStatus(const VpcLinkStatus& value) { m_status = value; }
inline void SetStatus(VpcLinkStatus&& value) { m_status = std::move(value); }
inline CreateVpcLinkResult& WithStatus(const VpcLinkStatus& value) { SetStatus(value); return *this;}
inline CreateVpcLinkResult& WithStatus(VpcLinkStatus&& value) { SetStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A description about the VPC link status.</p>
*/
inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; }
inline void SetStatusMessage(const Aws::String& value) { m_statusMessage = value; }
inline void SetStatusMessage(Aws::String&& value) { m_statusMessage = std::move(value); }
inline void SetStatusMessage(const char* value) { m_statusMessage.assign(value); }
inline CreateVpcLinkResult& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;}
inline CreateVpcLinkResult& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;}
inline CreateVpcLinkResult& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;}
///@}
///@{
/**
* <p>The collection of tags. Each tag element is associated with a given
* resource.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
inline CreateVpcLinkResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline CreateVpcLinkResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline CreateVpcLinkResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
inline CreateVpcLinkResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateVpcLinkResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateVpcLinkResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline CreateVpcLinkResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline CreateVpcLinkResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
inline CreateVpcLinkResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateVpcLinkResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateVpcLinkResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateVpcLinkResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_name;
Aws::String m_description;
Aws::Vector<Aws::String> m_targetArns;
VpcLinkStatus m_status;
Aws::String m_statusMessage;
Aws::Map<Aws::String, Aws::String> m_tags;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,59 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>A request to delete the ApiKey resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteApiKeyRequest">AWS
* API Reference</a></p>
*/
class DeleteApiKeyRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteApiKeyRequest();
// 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 "DeleteApiKey"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The identifier of the ApiKey resource to be deleted.</p>
*/
inline const Aws::String& GetApiKey() const{ return m_apiKey; }
inline bool ApiKeyHasBeenSet() const { return m_apiKeyHasBeenSet; }
inline void SetApiKey(const Aws::String& value) { m_apiKeyHasBeenSet = true; m_apiKey = value; }
inline void SetApiKey(Aws::String&& value) { m_apiKeyHasBeenSet = true; m_apiKey = std::move(value); }
inline void SetApiKey(const char* value) { m_apiKeyHasBeenSet = true; m_apiKey.assign(value); }
inline DeleteApiKeyRequest& WithApiKey(const Aws::String& value) { SetApiKey(value); return *this;}
inline DeleteApiKeyRequest& WithApiKey(Aws::String&& value) { SetApiKey(std::move(value)); return *this;}
inline DeleteApiKeyRequest& WithApiKey(const char* value) { SetApiKey(value); return *this;}
///@}
private:
Aws::String m_apiKey;
bool m_apiKeyHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Request to delete an existing Authorizer resource.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteAuthorizerRequest">AWS
* API Reference</a></p>
*/
class DeleteAuthorizerRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteAuthorizerRequest();
// 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 "DeleteAuthorizer"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteAuthorizerRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteAuthorizerRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteAuthorizerRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The identifier of the Authorizer resource.</p>
*/
inline const Aws::String& GetAuthorizerId() const{ return m_authorizerId; }
inline bool AuthorizerIdHasBeenSet() const { return m_authorizerIdHasBeenSet; }
inline void SetAuthorizerId(const Aws::String& value) { m_authorizerIdHasBeenSet = true; m_authorizerId = value; }
inline void SetAuthorizerId(Aws::String&& value) { m_authorizerIdHasBeenSet = true; m_authorizerId = std::move(value); }
inline void SetAuthorizerId(const char* value) { m_authorizerIdHasBeenSet = true; m_authorizerId.assign(value); }
inline DeleteAuthorizerRequest& WithAuthorizerId(const Aws::String& value) { SetAuthorizerId(value); return *this;}
inline DeleteAuthorizerRequest& WithAuthorizerId(Aws::String&& value) { SetAuthorizerId(std::move(value)); return *this;}
inline DeleteAuthorizerRequest& WithAuthorizerId(const char* value) { SetAuthorizerId(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_authorizerId;
bool m_authorizerIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>A request to delete the BasePathMapping resource.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteBasePathMappingRequest">AWS
* API Reference</a></p>
*/
class DeleteBasePathMappingRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteBasePathMappingRequest();
// 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 "DeleteBasePathMapping"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The domain name of the BasePathMapping resource to delete.</p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
inline DeleteBasePathMappingRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
inline DeleteBasePathMappingRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
inline DeleteBasePathMappingRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;}
///@}
///@{
/**
* <p>The base path name of the BasePathMapping resource to delete.</p> <p>To
* specify an empty base path, set this parameter to <code>'(none)'</code>.</p>
*/
inline const Aws::String& GetBasePath() const{ return m_basePath; }
inline bool BasePathHasBeenSet() const { return m_basePathHasBeenSet; }
inline void SetBasePath(const Aws::String& value) { m_basePathHasBeenSet = true; m_basePath = value; }
inline void SetBasePath(Aws::String&& value) { m_basePathHasBeenSet = true; m_basePath = std::move(value); }
inline void SetBasePath(const char* value) { m_basePathHasBeenSet = true; m_basePath.assign(value); }
inline DeleteBasePathMappingRequest& WithBasePath(const Aws::String& value) { SetBasePath(value); return *this;}
inline DeleteBasePathMappingRequest& WithBasePath(Aws::String&& value) { SetBasePath(std::move(value)); return *this;}
inline DeleteBasePathMappingRequest& WithBasePath(const char* value) { SetBasePath(value); return *this;}
///@}
private:
Aws::String m_domainName;
bool m_domainNameHasBeenSet = false;
Aws::String m_basePath;
bool m_basePathHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,60 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>A request to delete the ClientCertificate resource.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteClientCertificateRequest">AWS
* API Reference</a></p>
*/
class DeleteClientCertificateRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteClientCertificateRequest();
// 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 "DeleteClientCertificate"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The identifier of the ClientCertificate resource to be deleted.</p>
*/
inline const Aws::String& GetClientCertificateId() const{ return m_clientCertificateId; }
inline bool ClientCertificateIdHasBeenSet() const { return m_clientCertificateIdHasBeenSet; }
inline void SetClientCertificateId(const Aws::String& value) { m_clientCertificateIdHasBeenSet = true; m_clientCertificateId = value; }
inline void SetClientCertificateId(Aws::String&& value) { m_clientCertificateIdHasBeenSet = true; m_clientCertificateId = std::move(value); }
inline void SetClientCertificateId(const char* value) { m_clientCertificateIdHasBeenSet = true; m_clientCertificateId.assign(value); }
inline DeleteClientCertificateRequest& WithClientCertificateId(const Aws::String& value) { SetClientCertificateId(value); return *this;}
inline DeleteClientCertificateRequest& WithClientCertificateId(Aws::String&& value) { SetClientCertificateId(std::move(value)); return *this;}
inline DeleteClientCertificateRequest& WithClientCertificateId(const char* value) { SetClientCertificateId(value); return *this;}
///@}
private:
Aws::String m_clientCertificateId;
bool m_clientCertificateIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Requests API Gateway to delete a Deployment resource.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteDeploymentRequest">AWS
* API Reference</a></p>
*/
class DeleteDeploymentRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteDeploymentRequest();
// 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 "DeleteDeployment"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteDeploymentRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteDeploymentRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteDeploymentRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The identifier of the Deployment resource to delete.</p>
*/
inline const Aws::String& GetDeploymentId() const{ return m_deploymentId; }
inline bool DeploymentIdHasBeenSet() const { return m_deploymentIdHasBeenSet; }
inline void SetDeploymentId(const Aws::String& value) { m_deploymentIdHasBeenSet = true; m_deploymentId = value; }
inline void SetDeploymentId(Aws::String&& value) { m_deploymentIdHasBeenSet = true; m_deploymentId = std::move(value); }
inline void SetDeploymentId(const char* value) { m_deploymentIdHasBeenSet = true; m_deploymentId.assign(value); }
inline DeleteDeploymentRequest& WithDeploymentId(const Aws::String& value) { SetDeploymentId(value); return *this;}
inline DeleteDeploymentRequest& WithDeploymentId(Aws::String&& value) { SetDeploymentId(std::move(value)); return *this;}
inline DeleteDeploymentRequest& WithDeploymentId(const char* value) { SetDeploymentId(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_deploymentId;
bool m_deploymentIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Deletes an existing documentation part of an API.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteDocumentationPartRequest">AWS
* API Reference</a></p>
*/
class DeleteDocumentationPartRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteDocumentationPartRequest();
// 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 "DeleteDocumentationPart"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteDocumentationPartRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteDocumentationPartRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteDocumentationPartRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The identifier of the to-be-deleted documentation part.</p>
*/
inline const Aws::String& GetDocumentationPartId() const{ return m_documentationPartId; }
inline bool DocumentationPartIdHasBeenSet() const { return m_documentationPartIdHasBeenSet; }
inline void SetDocumentationPartId(const Aws::String& value) { m_documentationPartIdHasBeenSet = true; m_documentationPartId = value; }
inline void SetDocumentationPartId(Aws::String&& value) { m_documentationPartIdHasBeenSet = true; m_documentationPartId = std::move(value); }
inline void SetDocumentationPartId(const char* value) { m_documentationPartIdHasBeenSet = true; m_documentationPartId.assign(value); }
inline DeleteDocumentationPartRequest& WithDocumentationPartId(const Aws::String& value) { SetDocumentationPartId(value); return *this;}
inline DeleteDocumentationPartRequest& WithDocumentationPartId(Aws::String&& value) { SetDocumentationPartId(std::move(value)); return *this;}
inline DeleteDocumentationPartRequest& WithDocumentationPartId(const char* value) { SetDocumentationPartId(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_documentationPartId;
bool m_documentationPartIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Deletes an existing documentation version of an API.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteDocumentationVersionRequest">AWS
* API Reference</a></p>
*/
class DeleteDocumentationVersionRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteDocumentationVersionRequest();
// 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 "DeleteDocumentationVersion"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteDocumentationVersionRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteDocumentationVersionRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteDocumentationVersionRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The version identifier of a to-be-deleted documentation snapshot.</p>
*/
inline const Aws::String& GetDocumentationVersion() const{ return m_documentationVersion; }
inline bool DocumentationVersionHasBeenSet() const { return m_documentationVersionHasBeenSet; }
inline void SetDocumentationVersion(const Aws::String& value) { m_documentationVersionHasBeenSet = true; m_documentationVersion = value; }
inline void SetDocumentationVersion(Aws::String&& value) { m_documentationVersionHasBeenSet = true; m_documentationVersion = std::move(value); }
inline void SetDocumentationVersion(const char* value) { m_documentationVersionHasBeenSet = true; m_documentationVersion.assign(value); }
inline DeleteDocumentationVersionRequest& WithDocumentationVersion(const Aws::String& value) { SetDocumentationVersion(value); return *this;}
inline DeleteDocumentationVersionRequest& WithDocumentationVersion(Aws::String&& value) { SetDocumentationVersion(std::move(value)); return *this;}
inline DeleteDocumentationVersionRequest& WithDocumentationVersion(const char* value) { SetDocumentationVersion(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_documentationVersion;
bool m_documentationVersionHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,59 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>A request to delete the DomainName resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteDomainNameRequest">AWS
* API Reference</a></p>
*/
class DeleteDomainNameRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteDomainNameRequest();
// 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 "DeleteDomainName"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The name of the DomainName resource to be deleted.</p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
inline DeleteDomainNameRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
inline DeleteDomainNameRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
inline DeleteDomainNameRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;}
///@}
private:
Aws::String m_domainName;
bool m_domainNameHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/GatewayResponseType.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Clears any customization of a GatewayResponse of a specified response type on
* the given RestApi and resets it with the default settings.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteGatewayResponseRequest">AWS
* API Reference</a></p>
*/
class DeleteGatewayResponseRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteGatewayResponseRequest();
// 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 "DeleteGatewayResponse"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteGatewayResponseRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteGatewayResponseRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteGatewayResponseRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The response type of the associated GatewayResponse.</p>
*/
inline const GatewayResponseType& GetResponseType() const{ return m_responseType; }
inline bool ResponseTypeHasBeenSet() const { return m_responseTypeHasBeenSet; }
inline void SetResponseType(const GatewayResponseType& value) { m_responseTypeHasBeenSet = true; m_responseType = value; }
inline void SetResponseType(GatewayResponseType&& value) { m_responseTypeHasBeenSet = true; m_responseType = std::move(value); }
inline DeleteGatewayResponseRequest& WithResponseType(const GatewayResponseType& value) { SetResponseType(value); return *this;}
inline DeleteGatewayResponseRequest& WithResponseType(GatewayResponseType&& value) { SetResponseType(std::move(value)); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
GatewayResponseType m_responseType;
bool m_responseTypeHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a delete integration request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteIntegrationRequest">AWS
* API Reference</a></p>
*/
class DeleteIntegrationRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteIntegrationRequest();
// 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 "DeleteIntegration"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteIntegrationRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteIntegrationRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteIntegrationRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>Specifies a delete integration request's resource identifier.</p>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
inline DeleteIntegrationRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
inline DeleteIntegrationRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
inline DeleteIntegrationRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
///@}
///@{
/**
* <p>Specifies a delete integration request's HTTP method.</p>
*/
inline const Aws::String& GetHttpMethod() const{ return m_httpMethod; }
inline bool HttpMethodHasBeenSet() const { return m_httpMethodHasBeenSet; }
inline void SetHttpMethod(const Aws::String& value) { m_httpMethodHasBeenSet = true; m_httpMethod = value; }
inline void SetHttpMethod(Aws::String&& value) { m_httpMethodHasBeenSet = true; m_httpMethod = std::move(value); }
inline void SetHttpMethod(const char* value) { m_httpMethodHasBeenSet = true; m_httpMethod.assign(value); }
inline DeleteIntegrationRequest& WithHttpMethod(const Aws::String& value) { SetHttpMethod(value); return *this;}
inline DeleteIntegrationRequest& WithHttpMethod(Aws::String&& value) { SetHttpMethod(std::move(value)); return *this;}
inline DeleteIntegrationRequest& WithHttpMethod(const char* value) { SetHttpMethod(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet = false;
Aws::String m_httpMethod;
bool m_httpMethodHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,111 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a delete integration response request.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteIntegrationResponseRequest">AWS
* API Reference</a></p>
*/
class DeleteIntegrationResponseRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteIntegrationResponseRequest();
// 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 "DeleteIntegrationResponse"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteIntegrationResponseRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteIntegrationResponseRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteIntegrationResponseRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>Specifies a delete integration response request's resource identifier.</p>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
inline DeleteIntegrationResponseRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
inline DeleteIntegrationResponseRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
inline DeleteIntegrationResponseRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
///@}
///@{
/**
* <p>Specifies a delete integration response request's HTTP method.</p>
*/
inline const Aws::String& GetHttpMethod() const{ return m_httpMethod; }
inline bool HttpMethodHasBeenSet() const { return m_httpMethodHasBeenSet; }
inline void SetHttpMethod(const Aws::String& value) { m_httpMethodHasBeenSet = true; m_httpMethod = value; }
inline void SetHttpMethod(Aws::String&& value) { m_httpMethodHasBeenSet = true; m_httpMethod = std::move(value); }
inline void SetHttpMethod(const char* value) { m_httpMethodHasBeenSet = true; m_httpMethod.assign(value); }
inline DeleteIntegrationResponseRequest& WithHttpMethod(const Aws::String& value) { SetHttpMethod(value); return *this;}
inline DeleteIntegrationResponseRequest& WithHttpMethod(Aws::String&& value) { SetHttpMethod(std::move(value)); return *this;}
inline DeleteIntegrationResponseRequest& WithHttpMethod(const char* value) { SetHttpMethod(value); return *this;}
///@}
///@{
/**
* <p>Specifies a delete integration response request's status code.</p>
*/
inline const Aws::String& GetStatusCode() const{ return m_statusCode; }
inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; }
inline void SetStatusCode(const Aws::String& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; }
inline void SetStatusCode(Aws::String&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); }
inline void SetStatusCode(const char* value) { m_statusCodeHasBeenSet = true; m_statusCode.assign(value); }
inline DeleteIntegrationResponseRequest& WithStatusCode(const Aws::String& value) { SetStatusCode(value); return *this;}
inline DeleteIntegrationResponseRequest& WithStatusCode(Aws::String&& value) { SetStatusCode(std::move(value)); return *this;}
inline DeleteIntegrationResponseRequest& WithStatusCode(const char* value) { SetStatusCode(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet = false;
Aws::String m_httpMethod;
bool m_httpMethodHasBeenSet = false;
Aws::String m_statusCode;
bool m_statusCodeHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Request to delete an existing Method resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteMethodRequest">AWS
* API Reference</a></p>
*/
class DeleteMethodRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteMethodRequest();
// 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 "DeleteMethod"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteMethodRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteMethodRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteMethodRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The Resource identifier for the Method resource.</p>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
inline DeleteMethodRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
inline DeleteMethodRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
inline DeleteMethodRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
///@}
///@{
/**
* <p>The HTTP verb of the Method resource.</p>
*/
inline const Aws::String& GetHttpMethod() const{ return m_httpMethod; }
inline bool HttpMethodHasBeenSet() const { return m_httpMethodHasBeenSet; }
inline void SetHttpMethod(const Aws::String& value) { m_httpMethodHasBeenSet = true; m_httpMethod = value; }
inline void SetHttpMethod(Aws::String&& value) { m_httpMethodHasBeenSet = true; m_httpMethod = std::move(value); }
inline void SetHttpMethod(const char* value) { m_httpMethodHasBeenSet = true; m_httpMethod.assign(value); }
inline DeleteMethodRequest& WithHttpMethod(const Aws::String& value) { SetHttpMethod(value); return *this;}
inline DeleteMethodRequest& WithHttpMethod(Aws::String&& value) { SetHttpMethod(std::move(value)); return *this;}
inline DeleteMethodRequest& WithHttpMethod(const char* value) { SetHttpMethod(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet = false;
Aws::String m_httpMethod;
bool m_httpMethodHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,111 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>A request to delete an existing MethodResponse resource.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteMethodResponseRequest">AWS
* API Reference</a></p>
*/
class DeleteMethodResponseRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteMethodResponseRequest();
// 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 "DeleteMethodResponse"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteMethodResponseRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteMethodResponseRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteMethodResponseRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The Resource identifier for the MethodResponse resource.</p>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
inline DeleteMethodResponseRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
inline DeleteMethodResponseRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
inline DeleteMethodResponseRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
///@}
///@{
/**
* <p>The HTTP verb of the Method resource.</p>
*/
inline const Aws::String& GetHttpMethod() const{ return m_httpMethod; }
inline bool HttpMethodHasBeenSet() const { return m_httpMethodHasBeenSet; }
inline void SetHttpMethod(const Aws::String& value) { m_httpMethodHasBeenSet = true; m_httpMethod = value; }
inline void SetHttpMethod(Aws::String&& value) { m_httpMethodHasBeenSet = true; m_httpMethod = std::move(value); }
inline void SetHttpMethod(const char* value) { m_httpMethodHasBeenSet = true; m_httpMethod.assign(value); }
inline DeleteMethodResponseRequest& WithHttpMethod(const Aws::String& value) { SetHttpMethod(value); return *this;}
inline DeleteMethodResponseRequest& WithHttpMethod(Aws::String&& value) { SetHttpMethod(std::move(value)); return *this;}
inline DeleteMethodResponseRequest& WithHttpMethod(const char* value) { SetHttpMethod(value); return *this;}
///@}
///@{
/**
* <p>The status code identifier for the MethodResponse resource.</p>
*/
inline const Aws::String& GetStatusCode() const{ return m_statusCode; }
inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; }
inline void SetStatusCode(const Aws::String& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; }
inline void SetStatusCode(Aws::String&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); }
inline void SetStatusCode(const char* value) { m_statusCodeHasBeenSet = true; m_statusCode.assign(value); }
inline DeleteMethodResponseRequest& WithStatusCode(const Aws::String& value) { SetStatusCode(value); return *this;}
inline DeleteMethodResponseRequest& WithStatusCode(Aws::String&& value) { SetStatusCode(std::move(value)); return *this;}
inline DeleteMethodResponseRequest& WithStatusCode(const char* value) { SetStatusCode(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet = false;
Aws::String m_httpMethod;
bool m_httpMethodHasBeenSet = false;
Aws::String m_statusCode;
bool m_statusCodeHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Request to delete an existing model in an existing RestApi
* resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteModelRequest">AWS
* API Reference</a></p>
*/
class DeleteModelRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteModelRequest();
// 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 "DeleteModel"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteModelRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteModelRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteModelRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name of the model to delete.</p>
*/
inline const Aws::String& GetModelName() const{ return m_modelName; }
inline bool ModelNameHasBeenSet() const { return m_modelNameHasBeenSet; }
inline void SetModelName(const Aws::String& value) { m_modelNameHasBeenSet = true; m_modelName = value; }
inline void SetModelName(Aws::String&& value) { m_modelNameHasBeenSet = true; m_modelName = std::move(value); }
inline void SetModelName(const char* value) { m_modelNameHasBeenSet = true; m_modelName.assign(value); }
inline DeleteModelRequest& WithModelName(const Aws::String& value) { SetModelName(value); return *this;}
inline DeleteModelRequest& WithModelName(Aws::String&& value) { SetModelName(std::move(value)); return *this;}
inline DeleteModelRequest& WithModelName(const char* value) { SetModelName(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_modelName;
bool m_modelNameHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Deletes a specified RequestValidator of a given RestApi.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteRequestValidatorRequest">AWS
* API Reference</a></p>
*/
class DeleteRequestValidatorRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteRequestValidatorRequest();
// 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 "DeleteRequestValidator"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteRequestValidatorRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteRequestValidatorRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteRequestValidatorRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The identifier of the RequestValidator to be deleted.</p>
*/
inline const Aws::String& GetRequestValidatorId() const{ return m_requestValidatorId; }
inline bool RequestValidatorIdHasBeenSet() const { return m_requestValidatorIdHasBeenSet; }
inline void SetRequestValidatorId(const Aws::String& value) { m_requestValidatorIdHasBeenSet = true; m_requestValidatorId = value; }
inline void SetRequestValidatorId(Aws::String&& value) { m_requestValidatorIdHasBeenSet = true; m_requestValidatorId = std::move(value); }
inline void SetRequestValidatorId(const char* value) { m_requestValidatorIdHasBeenSet = true; m_requestValidatorId.assign(value); }
inline DeleteRequestValidatorRequest& WithRequestValidatorId(const Aws::String& value) { SetRequestValidatorId(value); return *this;}
inline DeleteRequestValidatorRequest& WithRequestValidatorId(Aws::String&& value) { SetRequestValidatorId(std::move(value)); return *this;}
inline DeleteRequestValidatorRequest& WithRequestValidatorId(const char* value) { SetRequestValidatorId(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_requestValidatorId;
bool m_requestValidatorIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,76 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Request to delete a Resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteResourceRequest">AWS
* API Reference</a></p>
*/
class DeleteResourceRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteResourceRequest();
// 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 "DeleteResource"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteResourceRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteResourceRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteResourceRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The identifier of the Resource resource.</p>
*/
inline const Aws::String& GetResourceId() const{ return m_resourceId; }
inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; }
inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); }
inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); }
inline DeleteResourceRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;}
inline DeleteResourceRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;}
inline DeleteResourceRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_resourceId;
bool m_resourceIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,60 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Request to delete the specified API from your collection.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteRestApiRequest">AWS
* API Reference</a></p>
*/
class DeleteRestApiRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteRestApiRequest();
// 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 "DeleteRestApi"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteRestApiRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteRestApiRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteRestApiRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Requests API Gateway to delete a Stage resource.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteStageRequest">AWS
* API Reference</a></p>
*/
class DeleteStageRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteStageRequest();
// 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 "DeleteStage"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline DeleteStageRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline DeleteStageRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline DeleteStageRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name of the Stage resource to delete.</p>
*/
inline const Aws::String& GetStageName() const{ return m_stageName; }
inline bool StageNameHasBeenSet() const { return m_stageNameHasBeenSet; }
inline void SetStageName(const Aws::String& value) { m_stageNameHasBeenSet = true; m_stageName = value; }
inline void SetStageName(Aws::String&& value) { m_stageNameHasBeenSet = true; m_stageName = std::move(value); }
inline void SetStageName(const char* value) { m_stageNameHasBeenSet = true; m_stageName.assign(value); }
inline DeleteStageRequest& WithStageName(const Aws::String& value) { SetStageName(value); return *this;}
inline DeleteStageRequest& WithStageName(Aws::String&& value) { SetStageName(std::move(value)); return *this;}
inline DeleteStageRequest& WithStageName(const char* value) { SetStageName(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_stageName;
bool m_stageNameHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>The DELETE request to delete a usage plan key and remove the underlying API
* key from the associated usage plan.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteUsagePlanKeyRequest">AWS
* API Reference</a></p>
*/
class DeleteUsagePlanKeyRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteUsagePlanKeyRequest();
// 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 "DeleteUsagePlanKey"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The Id of the UsagePlan resource representing the usage plan containing the
* to-be-deleted UsagePlanKey resource representing a plan customer.</p>
*/
inline const Aws::String& GetUsagePlanId() const{ return m_usagePlanId; }
inline bool UsagePlanIdHasBeenSet() const { return m_usagePlanIdHasBeenSet; }
inline void SetUsagePlanId(const Aws::String& value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId = value; }
inline void SetUsagePlanId(Aws::String&& value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId = std::move(value); }
inline void SetUsagePlanId(const char* value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId.assign(value); }
inline DeleteUsagePlanKeyRequest& WithUsagePlanId(const Aws::String& value) { SetUsagePlanId(value); return *this;}
inline DeleteUsagePlanKeyRequest& WithUsagePlanId(Aws::String&& value) { SetUsagePlanId(std::move(value)); return *this;}
inline DeleteUsagePlanKeyRequest& WithUsagePlanId(const char* value) { SetUsagePlanId(value); return *this;}
///@}
///@{
/**
* <p>The Id of the UsagePlanKey resource to be deleted.</p>
*/
inline const Aws::String& GetKeyId() const{ return m_keyId; }
inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; }
inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; }
inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = std::move(value); }
inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); }
inline DeleteUsagePlanKeyRequest& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;}
inline DeleteUsagePlanKeyRequest& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;}
inline DeleteUsagePlanKeyRequest& WithKeyId(const char* value) { SetKeyId(value); return *this;}
///@}
private:
Aws::String m_usagePlanId;
bool m_usagePlanIdHasBeenSet = false;
Aws::String m_keyId;
bool m_keyIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,60 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>The DELETE request to delete a usage plan of a given plan Id.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteUsagePlanRequest">AWS
* API Reference</a></p>
*/
class DeleteUsagePlanRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteUsagePlanRequest();
// 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 "DeleteUsagePlan"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The Id of the to-be-deleted usage plan.</p>
*/
inline const Aws::String& GetUsagePlanId() const{ return m_usagePlanId; }
inline bool UsagePlanIdHasBeenSet() const { return m_usagePlanIdHasBeenSet; }
inline void SetUsagePlanId(const Aws::String& value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId = value; }
inline void SetUsagePlanId(Aws::String&& value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId = std::move(value); }
inline void SetUsagePlanId(const char* value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId.assign(value); }
inline DeleteUsagePlanRequest& WithUsagePlanId(const Aws::String& value) { SetUsagePlanId(value); return *this;}
inline DeleteUsagePlanRequest& WithUsagePlanId(Aws::String&& value) { SetUsagePlanId(std::move(value)); return *this;}
inline DeleteUsagePlanRequest& WithUsagePlanId(const char* value) { SetUsagePlanId(value); return *this;}
///@}
private:
Aws::String m_usagePlanId;
bool m_usagePlanIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,61 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Deletes an existing VpcLink of a specified identifier.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeleteVpcLinkRequest">AWS
* API Reference</a></p>
*/
class DeleteVpcLinkRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API DeleteVpcLinkRequest();
// 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 "DeleteVpcLink"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The identifier of the VpcLink. It is used in an Integration to reference this
* VpcLink.</p>
*/
inline const Aws::String& GetVpcLinkId() const{ return m_vpcLinkId; }
inline bool VpcLinkIdHasBeenSet() const { return m_vpcLinkIdHasBeenSet; }
inline void SetVpcLinkId(const Aws::String& value) { m_vpcLinkIdHasBeenSet = true; m_vpcLinkId = value; }
inline void SetVpcLinkId(Aws::String&& value) { m_vpcLinkIdHasBeenSet = true; m_vpcLinkId = std::move(value); }
inline void SetVpcLinkId(const char* value) { m_vpcLinkIdHasBeenSet = true; m_vpcLinkId.assign(value); }
inline DeleteVpcLinkRequest& WithVpcLinkId(const Aws::String& value) { SetVpcLinkId(value); return *this;}
inline DeleteVpcLinkRequest& WithVpcLinkId(Aws::String&& value) { SetVpcLinkId(std::move(value)); return *this;}
inline DeleteVpcLinkRequest& WithVpcLinkId(const char* value) { SetVpcLinkId(value); return *this;}
///@}
private:
Aws::String m_vpcLinkId;
bool m_vpcLinkIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,135 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/MethodSnapshot.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>An immutable representation of a RestApi resource that can be called by users
* using Stages. A deployment must be associated with a Stage for it to be callable
* over the Internet.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/Deployment">AWS
* API Reference</a></p>
*/
class Deployment
{
public:
AWS_APIGATEWAY_API Deployment();
AWS_APIGATEWAY_API Deployment(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Deployment& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The identifier for the deployment resource.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline Deployment& WithId(const Aws::String& value) { SetId(value); return *this;}
inline Deployment& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline Deployment& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The description for the deployment resource.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline Deployment& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline Deployment& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline Deployment& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The date and time that the deployment resource was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; }
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; }
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); }
inline Deployment& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline Deployment& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A summary of the RestApi at the date and time that the deployment resource
* was created.</p>
*/
inline const Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>>& GetApiSummary() const{ return m_apiSummary; }
inline bool ApiSummaryHasBeenSet() const { return m_apiSummaryHasBeenSet; }
inline void SetApiSummary(const Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>>& value) { m_apiSummaryHasBeenSet = true; m_apiSummary = value; }
inline void SetApiSummary(Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>>&& value) { m_apiSummaryHasBeenSet = true; m_apiSummary = std::move(value); }
inline Deployment& WithApiSummary(const Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>>& value) { SetApiSummary(value); return *this;}
inline Deployment& WithApiSummary(Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>>&& value) { SetApiSummary(std::move(value)); return *this;}
inline Deployment& AddApiSummary(const Aws::String& key, const Aws::Map<Aws::String, MethodSnapshot>& value) { m_apiSummaryHasBeenSet = true; m_apiSummary.emplace(key, value); return *this; }
inline Deployment& AddApiSummary(Aws::String&& key, const Aws::Map<Aws::String, MethodSnapshot>& value) { m_apiSummaryHasBeenSet = true; m_apiSummary.emplace(std::move(key), value); return *this; }
inline Deployment& AddApiSummary(const Aws::String& key, Aws::Map<Aws::String, MethodSnapshot>&& value) { m_apiSummaryHasBeenSet = true; m_apiSummary.emplace(key, std::move(value)); return *this; }
inline Deployment& AddApiSummary(Aws::String&& key, Aws::Map<Aws::String, MethodSnapshot>&& value) { m_apiSummaryHasBeenSet = true; m_apiSummary.emplace(std::move(key), std::move(value)); return *this; }
inline Deployment& AddApiSummary(const char* key, Aws::Map<Aws::String, MethodSnapshot>&& value) { m_apiSummaryHasBeenSet = true; m_apiSummary.emplace(key, std::move(value)); return *this; }
inline Deployment& AddApiSummary(const char* key, const Aws::Map<Aws::String, MethodSnapshot>& value) { m_apiSummaryHasBeenSet = true; m_apiSummary.emplace(key, value); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
inline Deployment& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline Deployment& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline Deployment& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
bool m_idHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::Utils::DateTime m_createdDate;
bool m_createdDateHasBeenSet = false;
Aws::Map<Aws::String, Aws::Map<Aws::String, MethodSnapshot>> m_apiSummary;
bool m_apiSummaryHasBeenSet = false;
Aws::String m_requestId;
bool m_requestIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,98 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSMap.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 APIGateway
{
namespace Model
{
/**
* <p>The input configuration for a canary deployment.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DeploymentCanarySettings">AWS
* API Reference</a></p>
*/
class DeploymentCanarySettings
{
public:
AWS_APIGATEWAY_API DeploymentCanarySettings();
AWS_APIGATEWAY_API DeploymentCanarySettings(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API DeploymentCanarySettings& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The percentage (0.0-100.0) of traffic routed to the canary deployment.</p>
*/
inline double GetPercentTraffic() const{ return m_percentTraffic; }
inline bool PercentTrafficHasBeenSet() const { return m_percentTrafficHasBeenSet; }
inline void SetPercentTraffic(double value) { m_percentTrafficHasBeenSet = true; m_percentTraffic = value; }
inline DeploymentCanarySettings& WithPercentTraffic(double value) { SetPercentTraffic(value); return *this;}
///@}
///@{
/**
* <p>A stage variable overrides used for the canary release deployment. They can
* override existing stage variables or add new stage variables for the canary
* release deployment. These stage variables are represented as a string-to-string
* map between stage variable names and their values.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetStageVariableOverrides() const{ return m_stageVariableOverrides; }
inline bool StageVariableOverridesHasBeenSet() const { return m_stageVariableOverridesHasBeenSet; }
inline void SetStageVariableOverrides(const Aws::Map<Aws::String, Aws::String>& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides = value; }
inline void SetStageVariableOverrides(Aws::Map<Aws::String, Aws::String>&& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides = std::move(value); }
inline DeploymentCanarySettings& WithStageVariableOverrides(const Aws::Map<Aws::String, Aws::String>& value) { SetStageVariableOverrides(value); return *this;}
inline DeploymentCanarySettings& WithStageVariableOverrides(Aws::Map<Aws::String, Aws::String>&& value) { SetStageVariableOverrides(std::move(value)); return *this;}
inline DeploymentCanarySettings& AddStageVariableOverrides(const Aws::String& key, const Aws::String& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(key, value); return *this; }
inline DeploymentCanarySettings& AddStageVariableOverrides(Aws::String&& key, const Aws::String& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(std::move(key), value); return *this; }
inline DeploymentCanarySettings& AddStageVariableOverrides(const Aws::String& key, Aws::String&& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(key, std::move(value)); return *this; }
inline DeploymentCanarySettings& AddStageVariableOverrides(Aws::String&& key, Aws::String&& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(std::move(key), std::move(value)); return *this; }
inline DeploymentCanarySettings& AddStageVariableOverrides(const char* key, Aws::String&& value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(key, std::move(value)); return *this; }
inline DeploymentCanarySettings& AddStageVariableOverrides(Aws::String&& key, const char* value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(std::move(key), value); return *this; }
inline DeploymentCanarySettings& AddStageVariableOverrides(const char* key, const char* value) { m_stageVariableOverridesHasBeenSet = true; m_stageVariableOverrides.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>A Boolean flag to indicate whether the canary release deployment uses the
* stage cache or not.</p>
*/
inline bool GetUseStageCache() const{ return m_useStageCache; }
inline bool UseStageCacheHasBeenSet() const { return m_useStageCacheHasBeenSet; }
inline void SetUseStageCache(bool value) { m_useStageCacheHasBeenSet = true; m_useStageCache = value; }
inline DeploymentCanarySettings& WithUseStageCache(bool value) { SetUseStageCache(value); return *this;}
///@}
private:
double m_percentTraffic;
bool m_percentTrafficHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_stageVariableOverrides;
bool m_stageVariableOverridesHasBeenSet = false;
bool m_useStageCache;
bool m_useStageCacheHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,120 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/DocumentationPartLocation.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>A documentation part for a targeted API entity.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DocumentationPart">AWS
* API Reference</a></p>
*/
class DocumentationPart
{
public:
AWS_APIGATEWAY_API DocumentationPart();
AWS_APIGATEWAY_API DocumentationPart(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API DocumentationPart& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The DocumentationPart identifier, generated by API Gateway when the
* <code>DocumentationPart</code> is created.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline DocumentationPart& WithId(const Aws::String& value) { SetId(value); return *this;}
inline DocumentationPart& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline DocumentationPart& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The location of the API entity to which the documentation applies. Valid
* fields depend on the targeted API entity type. All the valid location fields are
* not required. If not explicitly specified, a valid location field is treated as
* a wildcard and associated documentation content may be inherited by matching
* entities, unless overridden.</p>
*/
inline const DocumentationPartLocation& GetLocation() const{ return m_location; }
inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
inline void SetLocation(const DocumentationPartLocation& value) { m_locationHasBeenSet = true; m_location = value; }
inline void SetLocation(DocumentationPartLocation&& value) { m_locationHasBeenSet = true; m_location = std::move(value); }
inline DocumentationPart& WithLocation(const DocumentationPartLocation& value) { SetLocation(value); return *this;}
inline DocumentationPart& WithLocation(DocumentationPartLocation&& value) { SetLocation(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A content map of API-specific key-value pairs describing the targeted API
* entity. The map must be encoded as a JSON string, e.g., <code>"{
* \"description\": \"The API does ...\" }"</code>. Only OpenAPI-compliant
* documentation-related fields from the properties map are exported and, hence,
* published as part of the API entity definitions, while the original
* documentation parts are exported in a OpenAPI extension of
* <code>x-amazon-apigateway-documentation</code>.</p>
*/
inline const Aws::String& GetProperties() const{ return m_properties; }
inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; }
inline void SetProperties(const Aws::String& value) { m_propertiesHasBeenSet = true; m_properties = value; }
inline void SetProperties(Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties = std::move(value); }
inline void SetProperties(const char* value) { m_propertiesHasBeenSet = true; m_properties.assign(value); }
inline DocumentationPart& WithProperties(const Aws::String& value) { SetProperties(value); return *this;}
inline DocumentationPart& WithProperties(Aws::String&& value) { SetProperties(std::move(value)); return *this;}
inline DocumentationPart& WithProperties(const char* value) { SetProperties(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
inline DocumentationPart& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DocumentationPart& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DocumentationPart& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
bool m_idHasBeenSet = false;
DocumentationPartLocation m_location;
bool m_locationHasBeenSet = false;
Aws::String m_properties;
bool m_propertiesHasBeenSet = false;
Aws::String m_requestId;
bool m_requestIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,163 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/model/DocumentationPartType.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 APIGateway
{
namespace Model
{
/**
* <p>Specifies the target API entity to which the documentation
* applies.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DocumentationPartLocation">AWS
* API Reference</a></p>
*/
class DocumentationPartLocation
{
public:
AWS_APIGATEWAY_API DocumentationPartLocation();
AWS_APIGATEWAY_API DocumentationPartLocation(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API DocumentationPartLocation& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The type of API entity to which the documentation content applies. Valid
* values are <code>API</code>, <code>AUTHORIZER</code>, <code>MODEL</code>,
* <code>RESOURCE</code>, <code>METHOD</code>, <code>PATH_PARAMETER</code>,
* <code>QUERY_PARAMETER</code>, <code>REQUEST_HEADER</code>,
* <code>REQUEST_BODY</code>, <code>RESPONSE</code>, <code>RESPONSE_HEADER</code>,
* and <code>RESPONSE_BODY</code>. Content inheritance does not apply to any entity
* of the <code>API</code>, <code>AUTHORIZER</code>, <code>METHOD</code>,
* <code>MODEL</code>, <code>REQUEST_BODY</code>, or <code>RESOURCE</code>
* type.</p>
*/
inline const DocumentationPartType& GetType() const{ return m_type; }
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
inline void SetType(const DocumentationPartType& value) { m_typeHasBeenSet = true; m_type = value; }
inline void SetType(DocumentationPartType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
inline DocumentationPartLocation& WithType(const DocumentationPartType& value) { SetType(value); return *this;}
inline DocumentationPartLocation& WithType(DocumentationPartType&& value) { SetType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The URL path of the target. It is a valid field for the API entity types of
* <code>RESOURCE</code>, <code>METHOD</code>, <code>PATH_PARAMETER</code>,
* <code>QUERY_PARAMETER</code>, <code>REQUEST_HEADER</code>,
* <code>REQUEST_BODY</code>, <code>RESPONSE</code>, <code>RESPONSE_HEADER</code>,
* and <code>RESPONSE_BODY</code>. The default value is <code>/</code> for the root
* resource. When an applicable child entity inherits the content of another entity
* of the same type with more general specifications of the other
* <code>location</code> attributes, the child entity's <code>path</code> attribute
* must match that of the parent entity as a prefix.</p>
*/
inline const Aws::String& GetPath() const{ return m_path; }
inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; }
inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); }
inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); }
inline DocumentationPartLocation& WithPath(const Aws::String& value) { SetPath(value); return *this;}
inline DocumentationPartLocation& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;}
inline DocumentationPartLocation& WithPath(const char* value) { SetPath(value); return *this;}
///@}
///@{
/**
* <p>The HTTP verb of a method. It is a valid field for the API entity types of
* <code>METHOD</code>, <code>PATH_PARAMETER</code>, <code>QUERY_PARAMETER</code>,
* <code>REQUEST_HEADER</code>, <code>REQUEST_BODY</code>, <code>RESPONSE</code>,
* <code>RESPONSE_HEADER</code>, and <code>RESPONSE_BODY</code>. The default value
* is <code>*</code> for any method. When an applicable child entity inherits the
* content of an entity of the same type with more general specifications of the
* other <code>location</code> attributes, the child entity's <code>method</code>
* attribute must match that of the parent entity exactly.</p>
*/
inline const Aws::String& GetMethod() const{ return m_method; }
inline bool MethodHasBeenSet() const { return m_methodHasBeenSet; }
inline void SetMethod(const Aws::String& value) { m_methodHasBeenSet = true; m_method = value; }
inline void SetMethod(Aws::String&& value) { m_methodHasBeenSet = true; m_method = std::move(value); }
inline void SetMethod(const char* value) { m_methodHasBeenSet = true; m_method.assign(value); }
inline DocumentationPartLocation& WithMethod(const Aws::String& value) { SetMethod(value); return *this;}
inline DocumentationPartLocation& WithMethod(Aws::String&& value) { SetMethod(std::move(value)); return *this;}
inline DocumentationPartLocation& WithMethod(const char* value) { SetMethod(value); return *this;}
///@}
///@{
/**
* <p>The HTTP status code of a response. It is a valid field for the API entity
* types of <code>RESPONSE</code>, <code>RESPONSE_HEADER</code>, and
* <code>RESPONSE_BODY</code>. The default value is <code>*</code> for any status
* code. When an applicable child entity inherits the content of an entity of the
* same type with more general specifications of the other <code>location</code>
* attributes, the child entity's <code>statusCode</code> attribute must match that
* of the parent entity exactly.</p>
*/
inline const Aws::String& GetStatusCode() const{ return m_statusCode; }
inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; }
inline void SetStatusCode(const Aws::String& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; }
inline void SetStatusCode(Aws::String&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); }
inline void SetStatusCode(const char* value) { m_statusCodeHasBeenSet = true; m_statusCode.assign(value); }
inline DocumentationPartLocation& WithStatusCode(const Aws::String& value) { SetStatusCode(value); return *this;}
inline DocumentationPartLocation& WithStatusCode(Aws::String&& value) { SetStatusCode(std::move(value)); return *this;}
inline DocumentationPartLocation& WithStatusCode(const char* value) { SetStatusCode(value); return *this;}
///@}
///@{
/**
* <p>The name of the targeted API entity. It is a valid and required field for the
* API entity types of <code>AUTHORIZER</code>, <code>MODEL</code>,
* <code>PATH_PARAMETER</code>, <code>QUERY_PARAMETER</code>,
* <code>REQUEST_HEADER</code>, <code>REQUEST_BODY</code> and
* <code>RESPONSE_HEADER</code>. It is an invalid field for any other entity
* type.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline DocumentationPartLocation& WithName(const Aws::String& value) { SetName(value); return *this;}
inline DocumentationPartLocation& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline DocumentationPartLocation& WithName(const char* value) { SetName(value); return *this;}
///@}
private:
DocumentationPartType m_type;
bool m_typeHasBeenSet = false;
Aws::String m_path;
bool m_pathHasBeenSet = false;
Aws::String m_method;
bool m_methodHasBeenSet = false;
Aws::String m_statusCode;
bool m_statusCodeHasBeenSet = false;
Aws::String m_name;
bool m_nameHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,41 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
enum class DocumentationPartType
{
NOT_SET,
API,
AUTHORIZER,
MODEL,
RESOURCE,
METHOD,
PATH_PARAMETER,
QUERY_PARAMETER,
REQUEST_HEADER,
REQUEST_BODY,
RESPONSE,
RESPONSE_HEADER,
RESPONSE_BODY
};
namespace DocumentationPartTypeMapper
{
AWS_APIGATEWAY_API DocumentationPartType GetDocumentationPartTypeForName(const Aws::String& name);
AWS_APIGATEWAY_API Aws::String GetNameForDocumentationPartType(DocumentationPartType value);
} // namespace DocumentationPartTypeMapper
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,109 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_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 APIGateway
{
namespace Model
{
/**
* <p>A snapshot of the documentation of an API.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DocumentationVersion">AWS
* API Reference</a></p>
*/
class DocumentationVersion
{
public:
AWS_APIGATEWAY_API DocumentationVersion();
AWS_APIGATEWAY_API DocumentationVersion(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API DocumentationVersion& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The version identifier of the API documentation snapshot.</p>
*/
inline const Aws::String& GetVersion() const{ return m_version; }
inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
inline DocumentationVersion& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
inline DocumentationVersion& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
inline DocumentationVersion& WithVersion(const char* value) { SetVersion(value); return *this;}
///@}
///@{
/**
* <p>The date when the API documentation snapshot is created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; }
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; }
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); }
inline DocumentationVersion& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline DocumentationVersion& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The description of the API documentation snapshot.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline DocumentationVersion& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline DocumentationVersion& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline DocumentationVersion& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
inline DocumentationVersion& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DocumentationVersion& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DocumentationVersion& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_version;
bool m_versionHasBeenSet = false;
Aws::Utils::DateTime m_createdDate;
bool m_createdDateHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::String m_requestId;
bool m_requestIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,384 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/apigateway/model/EndpointConfiguration.h>
#include <aws/apigateway/model/DomainNameStatus.h>
#include <aws/apigateway/model/SecurityPolicy.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/apigateway/model/MutualTlsAuthentication.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a custom domain name as a user-friendly host name of an API
* (RestApi).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/DomainName">AWS
* API Reference</a></p>
*/
class DomainName
{
public:
AWS_APIGATEWAY_API DomainName();
AWS_APIGATEWAY_API DomainName(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API DomainName& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The custom domain name as an API host name, for example,
* <code>my-api.example.com</code>.</p>
*/
inline const Aws::String& GetDomainName() const{ return m_domainName; }
inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
inline DomainName& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
inline DomainName& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
inline DomainName& WithDomainName(const char* value) { SetDomainName(value); return *this;}
///@}
///@{
/**
* <p>The name of the certificate that will be used by edge-optimized endpoint for
* this domain name.</p>
*/
inline const Aws::String& GetCertificateName() const{ return m_certificateName; }
inline bool CertificateNameHasBeenSet() const { return m_certificateNameHasBeenSet; }
inline void SetCertificateName(const Aws::String& value) { m_certificateNameHasBeenSet = true; m_certificateName = value; }
inline void SetCertificateName(Aws::String&& value) { m_certificateNameHasBeenSet = true; m_certificateName = std::move(value); }
inline void SetCertificateName(const char* value) { m_certificateNameHasBeenSet = true; m_certificateName.assign(value); }
inline DomainName& WithCertificateName(const Aws::String& value) { SetCertificateName(value); return *this;}
inline DomainName& WithCertificateName(Aws::String&& value) { SetCertificateName(std::move(value)); return *this;}
inline DomainName& WithCertificateName(const char* value) { SetCertificateName(value); return *this;}
///@}
///@{
/**
* <p>The reference to an Amazon Web Services-managed certificate that will be used
* by edge-optimized endpoint for this domain name. Certificate Manager is the only
* supported source.</p>
*/
inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; }
inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; }
inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); }
inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); }
inline DomainName& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;}
inline DomainName& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;}
inline DomainName& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;}
///@}
///@{
/**
* <p>The timestamp when the certificate that was used by edge-optimized endpoint
* for this domain name was uploaded. API Gateway doesn't change this value if you
* update the certificate.</p>
*/
inline const Aws::Utils::DateTime& GetCertificateUploadDate() const{ return m_certificateUploadDate; }
inline bool CertificateUploadDateHasBeenSet() const { return m_certificateUploadDateHasBeenSet; }
inline void SetCertificateUploadDate(const Aws::Utils::DateTime& value) { m_certificateUploadDateHasBeenSet = true; m_certificateUploadDate = value; }
inline void SetCertificateUploadDate(Aws::Utils::DateTime&& value) { m_certificateUploadDateHasBeenSet = true; m_certificateUploadDate = std::move(value); }
inline DomainName& WithCertificateUploadDate(const Aws::Utils::DateTime& value) { SetCertificateUploadDate(value); return *this;}
inline DomainName& WithCertificateUploadDate(Aws::Utils::DateTime&& value) { SetCertificateUploadDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The domain name associated with the regional endpoint for this custom domain
* name. You set up this association by adding a DNS record that points the custom
* domain name to this regional domain name. The regional domain name is returned
* by API Gateway when you create a regional endpoint.</p>
*/
inline const Aws::String& GetRegionalDomainName() const{ return m_regionalDomainName; }
inline bool RegionalDomainNameHasBeenSet() const { return m_regionalDomainNameHasBeenSet; }
inline void SetRegionalDomainName(const Aws::String& value) { m_regionalDomainNameHasBeenSet = true; m_regionalDomainName = value; }
inline void SetRegionalDomainName(Aws::String&& value) { m_regionalDomainNameHasBeenSet = true; m_regionalDomainName = std::move(value); }
inline void SetRegionalDomainName(const char* value) { m_regionalDomainNameHasBeenSet = true; m_regionalDomainName.assign(value); }
inline DomainName& WithRegionalDomainName(const Aws::String& value) { SetRegionalDomainName(value); return *this;}
inline DomainName& WithRegionalDomainName(Aws::String&& value) { SetRegionalDomainName(std::move(value)); return *this;}
inline DomainName& WithRegionalDomainName(const char* value) { SetRegionalDomainName(value); return *this;}
///@}
///@{
/**
* <p>The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
* For more information, see Set up a Regional Custom Domain Name and AWS Regions
* and Endpoints for API Gateway. </p>
*/
inline const Aws::String& GetRegionalHostedZoneId() const{ return m_regionalHostedZoneId; }
inline bool RegionalHostedZoneIdHasBeenSet() const { return m_regionalHostedZoneIdHasBeenSet; }
inline void SetRegionalHostedZoneId(const Aws::String& value) { m_regionalHostedZoneIdHasBeenSet = true; m_regionalHostedZoneId = value; }
inline void SetRegionalHostedZoneId(Aws::String&& value) { m_regionalHostedZoneIdHasBeenSet = true; m_regionalHostedZoneId = std::move(value); }
inline void SetRegionalHostedZoneId(const char* value) { m_regionalHostedZoneIdHasBeenSet = true; m_regionalHostedZoneId.assign(value); }
inline DomainName& WithRegionalHostedZoneId(const Aws::String& value) { SetRegionalHostedZoneId(value); return *this;}
inline DomainName& WithRegionalHostedZoneId(Aws::String&& value) { SetRegionalHostedZoneId(std::move(value)); return *this;}
inline DomainName& WithRegionalHostedZoneId(const char* value) { SetRegionalHostedZoneId(value); return *this;}
///@}
///@{
/**
* <p>The name of the certificate that will be used for validating the regional
* domain name.</p>
*/
inline const Aws::String& GetRegionalCertificateName() const{ return m_regionalCertificateName; }
inline bool RegionalCertificateNameHasBeenSet() const { return m_regionalCertificateNameHasBeenSet; }
inline void SetRegionalCertificateName(const Aws::String& value) { m_regionalCertificateNameHasBeenSet = true; m_regionalCertificateName = value; }
inline void SetRegionalCertificateName(Aws::String&& value) { m_regionalCertificateNameHasBeenSet = true; m_regionalCertificateName = std::move(value); }
inline void SetRegionalCertificateName(const char* value) { m_regionalCertificateNameHasBeenSet = true; m_regionalCertificateName.assign(value); }
inline DomainName& WithRegionalCertificateName(const Aws::String& value) { SetRegionalCertificateName(value); return *this;}
inline DomainName& WithRegionalCertificateName(Aws::String&& value) { SetRegionalCertificateName(std::move(value)); return *this;}
inline DomainName& WithRegionalCertificateName(const char* value) { SetRegionalCertificateName(value); return *this;}
///@}
///@{
/**
* <p>The reference to an Amazon Web Services-managed certificate that will be used
* for validating the regional domain name. Certificate Manager is the only
* supported source.</p>
*/
inline const Aws::String& GetRegionalCertificateArn() const{ return m_regionalCertificateArn; }
inline bool RegionalCertificateArnHasBeenSet() const { return m_regionalCertificateArnHasBeenSet; }
inline void SetRegionalCertificateArn(const Aws::String& value) { m_regionalCertificateArnHasBeenSet = true; m_regionalCertificateArn = value; }
inline void SetRegionalCertificateArn(Aws::String&& value) { m_regionalCertificateArnHasBeenSet = true; m_regionalCertificateArn = std::move(value); }
inline void SetRegionalCertificateArn(const char* value) { m_regionalCertificateArnHasBeenSet = true; m_regionalCertificateArn.assign(value); }
inline DomainName& WithRegionalCertificateArn(const Aws::String& value) { SetRegionalCertificateArn(value); return *this;}
inline DomainName& WithRegionalCertificateArn(Aws::String&& value) { SetRegionalCertificateArn(std::move(value)); return *this;}
inline DomainName& WithRegionalCertificateArn(const char* value) { SetRegionalCertificateArn(value); return *this;}
///@}
///@{
/**
* <p>The domain name of the Amazon CloudFront distribution associated with this
* custom domain name for an edge-optimized endpoint. You set up this association
* when adding a DNS record pointing the custom domain name to this distribution
* name. For more information about CloudFront distributions, see the Amazon
* CloudFront documentation.</p>
*/
inline const Aws::String& GetDistributionDomainName() const{ return m_distributionDomainName; }
inline bool DistributionDomainNameHasBeenSet() const { return m_distributionDomainNameHasBeenSet; }
inline void SetDistributionDomainName(const Aws::String& value) { m_distributionDomainNameHasBeenSet = true; m_distributionDomainName = value; }
inline void SetDistributionDomainName(Aws::String&& value) { m_distributionDomainNameHasBeenSet = true; m_distributionDomainName = std::move(value); }
inline void SetDistributionDomainName(const char* value) { m_distributionDomainNameHasBeenSet = true; m_distributionDomainName.assign(value); }
inline DomainName& WithDistributionDomainName(const Aws::String& value) { SetDistributionDomainName(value); return *this;}
inline DomainName& WithDistributionDomainName(Aws::String&& value) { SetDistributionDomainName(std::move(value)); return *this;}
inline DomainName& WithDistributionDomainName(const char* value) { SetDistributionDomainName(value); return *this;}
///@}
///@{
/**
* <p>The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized
* endpoint. The valid value is <code>Z2FDTNDATAQYW2</code> for all the regions.
* For more information, see Set up a Regional Custom Domain Name and AWS Regions
* and Endpoints for API Gateway. </p>
*/
inline const Aws::String& GetDistributionHostedZoneId() const{ return m_distributionHostedZoneId; }
inline bool DistributionHostedZoneIdHasBeenSet() const { return m_distributionHostedZoneIdHasBeenSet; }
inline void SetDistributionHostedZoneId(const Aws::String& value) { m_distributionHostedZoneIdHasBeenSet = true; m_distributionHostedZoneId = value; }
inline void SetDistributionHostedZoneId(Aws::String&& value) { m_distributionHostedZoneIdHasBeenSet = true; m_distributionHostedZoneId = std::move(value); }
inline void SetDistributionHostedZoneId(const char* value) { m_distributionHostedZoneIdHasBeenSet = true; m_distributionHostedZoneId.assign(value); }
inline DomainName& WithDistributionHostedZoneId(const Aws::String& value) { SetDistributionHostedZoneId(value); return *this;}
inline DomainName& WithDistributionHostedZoneId(Aws::String&& value) { SetDistributionHostedZoneId(std::move(value)); return *this;}
inline DomainName& WithDistributionHostedZoneId(const char* value) { SetDistributionHostedZoneId(value); return *this;}
///@}
///@{
/**
* <p>The endpoint configuration of this DomainName showing the endpoint types of
* the domain name. </p>
*/
inline const EndpointConfiguration& GetEndpointConfiguration() const{ return m_endpointConfiguration; }
inline bool EndpointConfigurationHasBeenSet() const { return m_endpointConfigurationHasBeenSet; }
inline void SetEndpointConfiguration(const EndpointConfiguration& value) { m_endpointConfigurationHasBeenSet = true; m_endpointConfiguration = value; }
inline void SetEndpointConfiguration(EndpointConfiguration&& value) { m_endpointConfigurationHasBeenSet = true; m_endpointConfiguration = std::move(value); }
inline DomainName& WithEndpointConfiguration(const EndpointConfiguration& value) { SetEndpointConfiguration(value); return *this;}
inline DomainName& WithEndpointConfiguration(EndpointConfiguration&& value) { SetEndpointConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The status of the DomainName migration. The valid values are
* <code>AVAILABLE</code> and <code>UPDATING</code>. If the status is
* <code>UPDATING</code>, the domain cannot be modified further until the existing
* operation is complete. If it is <code>AVAILABLE</code>, the domain can be
* updated.</p>
*/
inline const DomainNameStatus& GetDomainNameStatus() const{ return m_domainNameStatus; }
inline bool DomainNameStatusHasBeenSet() const { return m_domainNameStatusHasBeenSet; }
inline void SetDomainNameStatus(const DomainNameStatus& value) { m_domainNameStatusHasBeenSet = true; m_domainNameStatus = value; }
inline void SetDomainNameStatus(DomainNameStatus&& value) { m_domainNameStatusHasBeenSet = true; m_domainNameStatus = std::move(value); }
inline DomainName& WithDomainNameStatus(const DomainNameStatus& value) { SetDomainNameStatus(value); return *this;}
inline DomainName& WithDomainNameStatus(DomainNameStatus&& value) { SetDomainNameStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>An optional text message containing detailed information about status of the
* DomainName migration.</p>
*/
inline const Aws::String& GetDomainNameStatusMessage() const{ return m_domainNameStatusMessage; }
inline bool DomainNameStatusMessageHasBeenSet() const { return m_domainNameStatusMessageHasBeenSet; }
inline void SetDomainNameStatusMessage(const Aws::String& value) { m_domainNameStatusMessageHasBeenSet = true; m_domainNameStatusMessage = value; }
inline void SetDomainNameStatusMessage(Aws::String&& value) { m_domainNameStatusMessageHasBeenSet = true; m_domainNameStatusMessage = std::move(value); }
inline void SetDomainNameStatusMessage(const char* value) { m_domainNameStatusMessageHasBeenSet = true; m_domainNameStatusMessage.assign(value); }
inline DomainName& WithDomainNameStatusMessage(const Aws::String& value) { SetDomainNameStatusMessage(value); return *this;}
inline DomainName& WithDomainNameStatusMessage(Aws::String&& value) { SetDomainNameStatusMessage(std::move(value)); return *this;}
inline DomainName& WithDomainNameStatusMessage(const char* value) { SetDomainNameStatusMessage(value); return *this;}
///@}
///@{
/**
* <p>The Transport Layer Security (TLS) version + cipher suite for this
* DomainName. The valid values are <code>TLS_1_0</code> and
* <code>TLS_1_2</code>.</p>
*/
inline const SecurityPolicy& GetSecurityPolicy() const{ return m_securityPolicy; }
inline bool SecurityPolicyHasBeenSet() const { return m_securityPolicyHasBeenSet; }
inline void SetSecurityPolicy(const SecurityPolicy& value) { m_securityPolicyHasBeenSet = true; m_securityPolicy = value; }
inline void SetSecurityPolicy(SecurityPolicy&& value) { m_securityPolicyHasBeenSet = true; m_securityPolicy = std::move(value); }
inline DomainName& WithSecurityPolicy(const SecurityPolicy& value) { SetSecurityPolicy(value); return *this;}
inline DomainName& WithSecurityPolicy(SecurityPolicy&& value) { SetSecurityPolicy(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The collection of tags. Each tag element is associated with a given
* resource.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline DomainName& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline DomainName& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline DomainName& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
inline DomainName& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline DomainName& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline DomainName& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline DomainName& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline DomainName& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline DomainName& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The mutual TLS authentication configuration for a custom domain name. If
* specified, API Gateway performs two-way authentication between the client and
* the server. Clients must present a trusted certificate to access your API.</p>
*/
inline const MutualTlsAuthentication& GetMutualTlsAuthentication() const{ return m_mutualTlsAuthentication; }
inline bool MutualTlsAuthenticationHasBeenSet() const { return m_mutualTlsAuthenticationHasBeenSet; }
inline void SetMutualTlsAuthentication(const MutualTlsAuthentication& value) { m_mutualTlsAuthenticationHasBeenSet = true; m_mutualTlsAuthentication = value; }
inline void SetMutualTlsAuthentication(MutualTlsAuthentication&& value) { m_mutualTlsAuthenticationHasBeenSet = true; m_mutualTlsAuthentication = std::move(value); }
inline DomainName& WithMutualTlsAuthentication(const MutualTlsAuthentication& value) { SetMutualTlsAuthentication(value); return *this;}
inline DomainName& WithMutualTlsAuthentication(MutualTlsAuthentication&& value) { SetMutualTlsAuthentication(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The ARN of the public certificate issued by ACM to validate ownership of your
* custom domain. Only required when configuring mutual TLS and using an ACM
* imported or private CA certificate ARN as the regionalCertificateArn.</p>
*/
inline const Aws::String& GetOwnershipVerificationCertificateArn() const{ return m_ownershipVerificationCertificateArn; }
inline bool OwnershipVerificationCertificateArnHasBeenSet() const { return m_ownershipVerificationCertificateArnHasBeenSet; }
inline void SetOwnershipVerificationCertificateArn(const Aws::String& value) { m_ownershipVerificationCertificateArnHasBeenSet = true; m_ownershipVerificationCertificateArn = value; }
inline void SetOwnershipVerificationCertificateArn(Aws::String&& value) { m_ownershipVerificationCertificateArnHasBeenSet = true; m_ownershipVerificationCertificateArn = std::move(value); }
inline void SetOwnershipVerificationCertificateArn(const char* value) { m_ownershipVerificationCertificateArnHasBeenSet = true; m_ownershipVerificationCertificateArn.assign(value); }
inline DomainName& WithOwnershipVerificationCertificateArn(const Aws::String& value) { SetOwnershipVerificationCertificateArn(value); return *this;}
inline DomainName& WithOwnershipVerificationCertificateArn(Aws::String&& value) { SetOwnershipVerificationCertificateArn(std::move(value)); return *this;}
inline DomainName& WithOwnershipVerificationCertificateArn(const char* value) { SetOwnershipVerificationCertificateArn(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
inline DomainName& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DomainName& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DomainName& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_domainName;
bool m_domainNameHasBeenSet = false;
Aws::String m_certificateName;
bool m_certificateNameHasBeenSet = false;
Aws::String m_certificateArn;
bool m_certificateArnHasBeenSet = false;
Aws::Utils::DateTime m_certificateUploadDate;
bool m_certificateUploadDateHasBeenSet = false;
Aws::String m_regionalDomainName;
bool m_regionalDomainNameHasBeenSet = false;
Aws::String m_regionalHostedZoneId;
bool m_regionalHostedZoneIdHasBeenSet = false;
Aws::String m_regionalCertificateName;
bool m_regionalCertificateNameHasBeenSet = false;
Aws::String m_regionalCertificateArn;
bool m_regionalCertificateArnHasBeenSet = false;
Aws::String m_distributionDomainName;
bool m_distributionDomainNameHasBeenSet = false;
Aws::String m_distributionHostedZoneId;
bool m_distributionHostedZoneIdHasBeenSet = false;
EndpointConfiguration m_endpointConfiguration;
bool m_endpointConfigurationHasBeenSet = false;
DomainNameStatus m_domainNameStatus;
bool m_domainNameStatusHasBeenSet = false;
Aws::String m_domainNameStatusMessage;
bool m_domainNameStatusMessageHasBeenSet = false;
SecurityPolicy m_securityPolicy;
bool m_securityPolicyHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_tagsHasBeenSet = false;
MutualTlsAuthentication m_mutualTlsAuthentication;
bool m_mutualTlsAuthenticationHasBeenSet = false;
Aws::String m_ownershipVerificationCertificateArn;
bool m_ownershipVerificationCertificateArnHasBeenSet = false;
Aws::String m_requestId;
bool m_requestIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
enum class DomainNameStatus
{
NOT_SET,
AVAILABLE,
UPDATING,
PENDING,
PENDING_CERTIFICATE_REIMPORT,
PENDING_OWNERSHIP_VERIFICATION
};
namespace DomainNameStatusMapper
{
AWS_APIGATEWAY_API DomainNameStatus GetDomainNameStatusForName(const Aws::String& name);
AWS_APIGATEWAY_API Aws::String GetNameForDomainNameStatus(DomainNameStatus value);
} // namespace DomainNameStatusMapper
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,88 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/apigateway/model/EndpointType.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 APIGateway
{
namespace Model
{
/**
* <p>The endpoint configuration to indicate the types of endpoints an API
* (RestApi) or its custom domain name (DomainName) has. </p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/EndpointConfiguration">AWS
* API Reference</a></p>
*/
class EndpointConfiguration
{
public:
AWS_APIGATEWAY_API EndpointConfiguration();
AWS_APIGATEWAY_API EndpointConfiguration(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API EndpointConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>A list of endpoint types of an API (RestApi) or its custom domain name
* (DomainName). For an edge-optimized API and its custom domain name, the endpoint
* type is <code>"EDGE"</code>. For a regional API and its custom domain name, the
* endpoint type is <code>REGIONAL</code>. For a private API, the endpoint type is
* <code>PRIVATE</code>.</p>
*/
inline const Aws::Vector<EndpointType>& GetTypes() const{ return m_types; }
inline bool TypesHasBeenSet() const { return m_typesHasBeenSet; }
inline void SetTypes(const Aws::Vector<EndpointType>& value) { m_typesHasBeenSet = true; m_types = value; }
inline void SetTypes(Aws::Vector<EndpointType>&& value) { m_typesHasBeenSet = true; m_types = std::move(value); }
inline EndpointConfiguration& WithTypes(const Aws::Vector<EndpointType>& value) { SetTypes(value); return *this;}
inline EndpointConfiguration& WithTypes(Aws::Vector<EndpointType>&& value) { SetTypes(std::move(value)); return *this;}
inline EndpointConfiguration& AddTypes(const EndpointType& value) { m_typesHasBeenSet = true; m_types.push_back(value); return *this; }
inline EndpointConfiguration& AddTypes(EndpointType&& value) { m_typesHasBeenSet = true; m_types.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>A list of VpcEndpointIds of an API (RestApi) against which to create Route53
* ALIASes. It is only supported for <code>PRIVATE</code> endpoint type.</p>
*/
inline const Aws::Vector<Aws::String>& GetVpcEndpointIds() const{ return m_vpcEndpointIds; }
inline bool VpcEndpointIdsHasBeenSet() const { return m_vpcEndpointIdsHasBeenSet; }
inline void SetVpcEndpointIds(const Aws::Vector<Aws::String>& value) { m_vpcEndpointIdsHasBeenSet = true; m_vpcEndpointIds = value; }
inline void SetVpcEndpointIds(Aws::Vector<Aws::String>&& value) { m_vpcEndpointIdsHasBeenSet = true; m_vpcEndpointIds = std::move(value); }
inline EndpointConfiguration& WithVpcEndpointIds(const Aws::Vector<Aws::String>& value) { SetVpcEndpointIds(value); return *this;}
inline EndpointConfiguration& WithVpcEndpointIds(Aws::Vector<Aws::String>&& value) { SetVpcEndpointIds(std::move(value)); return *this;}
inline EndpointConfiguration& AddVpcEndpointIds(const Aws::String& value) { m_vpcEndpointIdsHasBeenSet = true; m_vpcEndpointIds.push_back(value); return *this; }
inline EndpointConfiguration& AddVpcEndpointIds(Aws::String&& value) { m_vpcEndpointIdsHasBeenSet = true; m_vpcEndpointIds.push_back(std::move(value)); return *this; }
inline EndpointConfiguration& AddVpcEndpointIds(const char* value) { m_vpcEndpointIdsHasBeenSet = true; m_vpcEndpointIds.push_back(value); return *this; }
///@}
private:
Aws::Vector<EndpointType> m_types;
bool m_typesHasBeenSet = false;
Aws::Vector<Aws::String> m_vpcEndpointIds;
bool m_vpcEndpointIdsHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
enum class EndpointType
{
NOT_SET,
REGIONAL,
EDGE,
PRIVATE_
};
namespace EndpointTypeMapper
{
AWS_APIGATEWAY_API EndpointType GetEndpointTypeForName(const Aws::String& name);
AWS_APIGATEWAY_API Aws::String GetNameForEndpointType(EndpointType value);
} // namespace EndpointTypeMapper
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Request to flush authorizer cache entries on a specified stage.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/FlushStageAuthorizersCacheRequest">AWS
* API Reference</a></p>
*/
class FlushStageAuthorizersCacheRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API FlushStageAuthorizersCacheRequest();
// 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 "FlushStageAuthorizersCache"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline FlushStageAuthorizersCacheRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline FlushStageAuthorizersCacheRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline FlushStageAuthorizersCacheRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name of the stage to flush.</p>
*/
inline const Aws::String& GetStageName() const{ return m_stageName; }
inline bool StageNameHasBeenSet() const { return m_stageNameHasBeenSet; }
inline void SetStageName(const Aws::String& value) { m_stageNameHasBeenSet = true; m_stageName = value; }
inline void SetStageName(Aws::String&& value) { m_stageNameHasBeenSet = true; m_stageName = std::move(value); }
inline void SetStageName(const char* value) { m_stageNameHasBeenSet = true; m_stageName.assign(value); }
inline FlushStageAuthorizersCacheRequest& WithStageName(const Aws::String& value) { SetStageName(value); return *this;}
inline FlushStageAuthorizersCacheRequest& WithStageName(Aws::String&& value) { SetStageName(std::move(value)); return *this;}
inline FlushStageAuthorizersCacheRequest& WithStageName(const char* value) { SetStageName(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_stageName;
bool m_stageNameHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,76 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Requests API Gateway to flush a stage's cache.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/FlushStageCacheRequest">AWS
* API Reference</a></p>
*/
class FlushStageCacheRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API FlushStageCacheRequest();
// 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 "FlushStageCache"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline FlushStageCacheRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline FlushStageCacheRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline FlushStageCacheRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The name of the stage to flush its cache.</p>
*/
inline const Aws::String& GetStageName() const{ return m_stageName; }
inline bool StageNameHasBeenSet() const { return m_stageNameHasBeenSet; }
inline void SetStageName(const Aws::String& value) { m_stageNameHasBeenSet = true; m_stageName = value; }
inline void SetStageName(Aws::String&& value) { m_stageNameHasBeenSet = true; m_stageName = std::move(value); }
inline void SetStageName(const char* value) { m_stageNameHasBeenSet = true; m_stageName.assign(value); }
inline FlushStageCacheRequest& WithStageName(const Aws::String& value) { SetStageName(value); return *this;}
inline FlushStageCacheRequest& WithStageName(Aws::String&& value) { SetStageName(std::move(value)); return *this;}
inline FlushStageCacheRequest& WithStageName(const char* value) { SetStageName(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_stageName;
bool m_stageNameHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,156 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/model/GatewayResponseType.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>A gateway response of a given response type and status code, with optional
* response parameters and mapping templates.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/GatewayResponse">AWS
* API Reference</a></p>
*/
class GatewayResponse
{
public:
AWS_APIGATEWAY_API GatewayResponse();
AWS_APIGATEWAY_API GatewayResponse(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API GatewayResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
///@{
/**
* <p>The response type of the associated GatewayResponse.</p>
*/
inline const GatewayResponseType& GetResponseType() const{ return m_responseType; }
inline bool ResponseTypeHasBeenSet() const { return m_responseTypeHasBeenSet; }
inline void SetResponseType(const GatewayResponseType& value) { m_responseTypeHasBeenSet = true; m_responseType = value; }
inline void SetResponseType(GatewayResponseType&& value) { m_responseTypeHasBeenSet = true; m_responseType = std::move(value); }
inline GatewayResponse& WithResponseType(const GatewayResponseType& value) { SetResponseType(value); return *this;}
inline GatewayResponse& WithResponseType(GatewayResponseType&& value) { SetResponseType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The HTTP status code for this GatewayResponse.</p>
*/
inline const Aws::String& GetStatusCode() const{ return m_statusCode; }
inline bool StatusCodeHasBeenSet() const { return m_statusCodeHasBeenSet; }
inline void SetStatusCode(const Aws::String& value) { m_statusCodeHasBeenSet = true; m_statusCode = value; }
inline void SetStatusCode(Aws::String&& value) { m_statusCodeHasBeenSet = true; m_statusCode = std::move(value); }
inline void SetStatusCode(const char* value) { m_statusCodeHasBeenSet = true; m_statusCode.assign(value); }
inline GatewayResponse& WithStatusCode(const Aws::String& value) { SetStatusCode(value); return *this;}
inline GatewayResponse& WithStatusCode(Aws::String&& value) { SetStatusCode(std::move(value)); return *this;}
inline GatewayResponse& WithStatusCode(const char* value) { SetStatusCode(value); return *this;}
///@}
///@{
/**
* <p>Response parameters (paths, query strings and headers) of the GatewayResponse
* as a string-to-string map of key-value pairs.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetResponseParameters() const{ return m_responseParameters; }
inline bool ResponseParametersHasBeenSet() const { return m_responseParametersHasBeenSet; }
inline void SetResponseParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_responseParametersHasBeenSet = true; m_responseParameters = value; }
inline void SetResponseParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_responseParametersHasBeenSet = true; m_responseParameters = std::move(value); }
inline GatewayResponse& WithResponseParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetResponseParameters(value); return *this;}
inline GatewayResponse& WithResponseParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetResponseParameters(std::move(value)); return *this;}
inline GatewayResponse& AddResponseParameters(const Aws::String& key, const Aws::String& value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(key, value); return *this; }
inline GatewayResponse& AddResponseParameters(Aws::String&& key, const Aws::String& value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(std::move(key), value); return *this; }
inline GatewayResponse& AddResponseParameters(const Aws::String& key, Aws::String&& value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(key, std::move(value)); return *this; }
inline GatewayResponse& AddResponseParameters(Aws::String&& key, Aws::String&& value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(std::move(key), std::move(value)); return *this; }
inline GatewayResponse& AddResponseParameters(const char* key, Aws::String&& value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(key, std::move(value)); return *this; }
inline GatewayResponse& AddResponseParameters(Aws::String&& key, const char* value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(std::move(key), value); return *this; }
inline GatewayResponse& AddResponseParameters(const char* key, const char* value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>Response templates of the GatewayResponse as a string-to-string map of
* key-value pairs.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetResponseTemplates() const{ return m_responseTemplates; }
inline bool ResponseTemplatesHasBeenSet() const { return m_responseTemplatesHasBeenSet; }
inline void SetResponseTemplates(const Aws::Map<Aws::String, Aws::String>& value) { m_responseTemplatesHasBeenSet = true; m_responseTemplates = value; }
inline void SetResponseTemplates(Aws::Map<Aws::String, Aws::String>&& value) { m_responseTemplatesHasBeenSet = true; m_responseTemplates = std::move(value); }
inline GatewayResponse& WithResponseTemplates(const Aws::Map<Aws::String, Aws::String>& value) { SetResponseTemplates(value); return *this;}
inline GatewayResponse& WithResponseTemplates(Aws::Map<Aws::String, Aws::String>&& value) { SetResponseTemplates(std::move(value)); return *this;}
inline GatewayResponse& AddResponseTemplates(const Aws::String& key, const Aws::String& value) { m_responseTemplatesHasBeenSet = true; m_responseTemplates.emplace(key, value); return *this; }
inline GatewayResponse& AddResponseTemplates(Aws::String&& key, const Aws::String& value) { m_responseTemplatesHasBeenSet = true; m_responseTemplates.emplace(std::move(key), value); return *this; }
inline GatewayResponse& AddResponseTemplates(const Aws::String& key, Aws::String&& value) { m_responseTemplatesHasBeenSet = true; m_responseTemplates.emplace(key, std::move(value)); return *this; }
inline GatewayResponse& AddResponseTemplates(Aws::String&& key, Aws::String&& value) { m_responseTemplatesHasBeenSet = true; m_responseTemplates.emplace(std::move(key), std::move(value)); return *this; }
inline GatewayResponse& AddResponseTemplates(const char* key, Aws::String&& value) { m_responseTemplatesHasBeenSet = true; m_responseTemplates.emplace(key, std::move(value)); return *this; }
inline GatewayResponse& AddResponseTemplates(Aws::String&& key, const char* value) { m_responseTemplatesHasBeenSet = true; m_responseTemplates.emplace(std::move(key), value); return *this; }
inline GatewayResponse& AddResponseTemplates(const char* key, const char* value) { m_responseTemplatesHasBeenSet = true; m_responseTemplates.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>A Boolean flag to indicate whether this GatewayResponse is the default
* gateway response (<code>true</code>) or not (<code>false</code>). A default
* gateway response is one generated by API Gateway without any customization by an
* API developer. </p>
*/
inline bool GetDefaultResponse() const{ return m_defaultResponse; }
inline bool DefaultResponseHasBeenSet() const { return m_defaultResponseHasBeenSet; }
inline void SetDefaultResponse(bool value) { m_defaultResponseHasBeenSet = true; m_defaultResponse = value; }
inline GatewayResponse& WithDefaultResponse(bool value) { SetDefaultResponse(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
inline GatewayResponse& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GatewayResponse& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GatewayResponse& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
GatewayResponseType m_responseType;
bool m_responseTypeHasBeenSet = false;
Aws::String m_statusCode;
bool m_statusCodeHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_responseParameters;
bool m_responseParametersHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_responseTemplates;
bool m_responseTemplatesHasBeenSet = false;
bool m_defaultResponse;
bool m_defaultResponseHasBeenSet = false;
Aws::String m_requestId;
bool m_requestIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,50 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
enum class GatewayResponseType
{
NOT_SET,
DEFAULT_4XX,
DEFAULT_5XX,
RESOURCE_NOT_FOUND,
UNAUTHORIZED,
INVALID_API_KEY,
ACCESS_DENIED,
AUTHORIZER_FAILURE,
AUTHORIZER_CONFIGURATION_ERROR,
INVALID_SIGNATURE,
EXPIRED_TOKEN,
MISSING_AUTHENTICATION_TOKEN,
INTEGRATION_FAILURE,
INTEGRATION_TIMEOUT,
API_CONFIGURATION_ERROR,
UNSUPPORTED_MEDIA_TYPE,
BAD_REQUEST_PARAMETERS,
BAD_REQUEST_BODY,
REQUEST_TOO_LARGE,
THROTTLED,
QUOTA_EXCEEDED,
WAF_FILTERED
};
namespace GatewayResponseTypeMapper
{
AWS_APIGATEWAY_API GatewayResponseType GetGatewayResponseTypeForName(const Aws::String& name);
AWS_APIGATEWAY_API Aws::String GetNameForGatewayResponseType(GatewayResponseType value);
} // namespace GatewayResponseTypeMapper
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>A request to generate a ClientCertificate resource.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/GenerateClientCertificateRequest">AWS
* API Reference</a></p>
*/
class GenerateClientCertificateRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API GenerateClientCertificateRequest();
// 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 "GenerateClientCertificate"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The description of the ClientCertificate.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
inline GenerateClientCertificateRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline GenerateClientCertificateRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline GenerateClientCertificateRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The
* tag key can be up to 128 characters and must not start with <code>aws:</code>.
* The tag value can be up to 256 characters.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline GenerateClientCertificateRequest& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline GenerateClientCertificateRequest& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline GenerateClientCertificateRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
inline GenerateClientCertificateRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline GenerateClientCertificateRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline GenerateClientCertificateRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline GenerateClientCertificateRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
inline GenerateClientCertificateRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
inline GenerateClientCertificateRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
///@}
private:
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,154 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a client certificate used to configure client-side SSL
* authentication while sending requests to the integration endpoint.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/ClientCertificate">AWS
* API Reference</a></p>
*/
class GenerateClientCertificateResult
{
public:
AWS_APIGATEWAY_API GenerateClientCertificateResult();
AWS_APIGATEWAY_API GenerateClientCertificateResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API GenerateClientCertificateResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The identifier of the client certificate.</p>
*/
inline const Aws::String& GetClientCertificateId() const{ return m_clientCertificateId; }
inline void SetClientCertificateId(const Aws::String& value) { m_clientCertificateId = value; }
inline void SetClientCertificateId(Aws::String&& value) { m_clientCertificateId = std::move(value); }
inline void SetClientCertificateId(const char* value) { m_clientCertificateId.assign(value); }
inline GenerateClientCertificateResult& WithClientCertificateId(const Aws::String& value) { SetClientCertificateId(value); return *this;}
inline GenerateClientCertificateResult& WithClientCertificateId(Aws::String&& value) { SetClientCertificateId(std::move(value)); return *this;}
inline GenerateClientCertificateResult& WithClientCertificateId(const char* value) { SetClientCertificateId(value); return *this;}
///@}
///@{
/**
* <p>The description of the client certificate.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline void SetDescription(const Aws::String& value) { m_description = value; }
inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
inline void SetDescription(const char* value) { m_description.assign(value); }
inline GenerateClientCertificateResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline GenerateClientCertificateResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline GenerateClientCertificateResult& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>The PEM-encoded public key of the client certificate, which can be used to
* configure certificate authentication in the integration endpoint .</p>
*/
inline const Aws::String& GetPemEncodedCertificate() const{ return m_pemEncodedCertificate; }
inline void SetPemEncodedCertificate(const Aws::String& value) { m_pemEncodedCertificate = value; }
inline void SetPemEncodedCertificate(Aws::String&& value) { m_pemEncodedCertificate = std::move(value); }
inline void SetPemEncodedCertificate(const char* value) { m_pemEncodedCertificate.assign(value); }
inline GenerateClientCertificateResult& WithPemEncodedCertificate(const Aws::String& value) { SetPemEncodedCertificate(value); return *this;}
inline GenerateClientCertificateResult& WithPemEncodedCertificate(Aws::String&& value) { SetPemEncodedCertificate(std::move(value)); return *this;}
inline GenerateClientCertificateResult& WithPemEncodedCertificate(const char* value) { SetPemEncodedCertificate(value); return *this;}
///@}
///@{
/**
* <p>The timestamp when the client certificate was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; }
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); }
inline GenerateClientCertificateResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline GenerateClientCertificateResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The timestamp when the client certificate will expire.</p>
*/
inline const Aws::Utils::DateTime& GetExpirationDate() const{ return m_expirationDate; }
inline void SetExpirationDate(const Aws::Utils::DateTime& value) { m_expirationDate = value; }
inline void SetExpirationDate(Aws::Utils::DateTime&& value) { m_expirationDate = std::move(value); }
inline GenerateClientCertificateResult& WithExpirationDate(const Aws::Utils::DateTime& value) { SetExpirationDate(value); return *this;}
inline GenerateClientCertificateResult& WithExpirationDate(Aws::Utils::DateTime&& value) { SetExpirationDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The collection of tags. Each tag element is associated with a given
* resource.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
inline GenerateClientCertificateResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline GenerateClientCertificateResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline GenerateClientCertificateResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
inline GenerateClientCertificateResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
inline GenerateClientCertificateResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline GenerateClientCertificateResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline GenerateClientCertificateResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline GenerateClientCertificateResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
inline GenerateClientCertificateResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline GenerateClientCertificateResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GenerateClientCertificateResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GenerateClientCertificateResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_clientCertificateId;
Aws::String m_description;
Aws::String m_pemEncodedCertificate;
Aws::Utils::DateTime m_createdDate;
Aws::Utils::DateTime m_expirationDate;
Aws::Map<Aws::String, Aws::String> m_tags;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // 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/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Requests API Gateway to get information about the current Account
* resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/GetAccountRequest">AWS
* API Reference</a></p>
*/
class GetAccountRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API GetAccountRequest();
// 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 "GetAccount"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,120 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/ThrottleSettings.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents an AWS account that is associated with API Gateway.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/Account">AWS
* API Reference</a></p>
*/
class GetAccountResult
{
public:
AWS_APIGATEWAY_API GetAccountResult();
AWS_APIGATEWAY_API GetAccountResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API GetAccountResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The ARN of an Amazon CloudWatch role for the current Account. </p>
*/
inline const Aws::String& GetCloudwatchRoleArn() const{ return m_cloudwatchRoleArn; }
inline void SetCloudwatchRoleArn(const Aws::String& value) { m_cloudwatchRoleArn = value; }
inline void SetCloudwatchRoleArn(Aws::String&& value) { m_cloudwatchRoleArn = std::move(value); }
inline void SetCloudwatchRoleArn(const char* value) { m_cloudwatchRoleArn.assign(value); }
inline GetAccountResult& WithCloudwatchRoleArn(const Aws::String& value) { SetCloudwatchRoleArn(value); return *this;}
inline GetAccountResult& WithCloudwatchRoleArn(Aws::String&& value) { SetCloudwatchRoleArn(std::move(value)); return *this;}
inline GetAccountResult& WithCloudwatchRoleArn(const char* value) { SetCloudwatchRoleArn(value); return *this;}
///@}
///@{
/**
* <p>Specifies the API request limits configured for the current Account.</p>
*/
inline const ThrottleSettings& GetThrottleSettings() const{ return m_throttleSettings; }
inline void SetThrottleSettings(const ThrottleSettings& value) { m_throttleSettings = value; }
inline void SetThrottleSettings(ThrottleSettings&& value) { m_throttleSettings = std::move(value); }
inline GetAccountResult& WithThrottleSettings(const ThrottleSettings& value) { SetThrottleSettings(value); return *this;}
inline GetAccountResult& WithThrottleSettings(ThrottleSettings&& value) { SetThrottleSettings(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of features supported for the account. When usage plans are enabled,
* the features list will include an entry of <code>"UsagePlans"</code>.</p>
*/
inline const Aws::Vector<Aws::String>& GetFeatures() const{ return m_features; }
inline void SetFeatures(const Aws::Vector<Aws::String>& value) { m_features = value; }
inline void SetFeatures(Aws::Vector<Aws::String>&& value) { m_features = std::move(value); }
inline GetAccountResult& WithFeatures(const Aws::Vector<Aws::String>& value) { SetFeatures(value); return *this;}
inline GetAccountResult& WithFeatures(Aws::Vector<Aws::String>&& value) { SetFeatures(std::move(value)); return *this;}
inline GetAccountResult& AddFeatures(const Aws::String& value) { m_features.push_back(value); return *this; }
inline GetAccountResult& AddFeatures(Aws::String&& value) { m_features.push_back(std::move(value)); return *this; }
inline GetAccountResult& AddFeatures(const char* value) { m_features.push_back(value); return *this; }
///@}
///@{
/**
* <p>The version of the API keys used for the account.</p>
*/
inline const Aws::String& GetApiKeyVersion() const{ return m_apiKeyVersion; }
inline void SetApiKeyVersion(const Aws::String& value) { m_apiKeyVersion = value; }
inline void SetApiKeyVersion(Aws::String&& value) { m_apiKeyVersion = std::move(value); }
inline void SetApiKeyVersion(const char* value) { m_apiKeyVersion.assign(value); }
inline GetAccountResult& WithApiKeyVersion(const Aws::String& value) { SetApiKeyVersion(value); return *this;}
inline GetAccountResult& WithApiKeyVersion(Aws::String&& value) { SetApiKeyVersion(std::move(value)); return *this;}
inline GetAccountResult& WithApiKeyVersion(const char* value) { SetApiKeyVersion(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline GetAccountResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GetAccountResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GetAccountResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_cloudwatchRoleArn;
ThrottleSettings m_throttleSettings;
Aws::Vector<Aws::String> m_features;
Aws::String m_apiKeyVersion;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,80 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace APIGateway
{
namespace Model
{
/**
* <p>A request to get information about the current ApiKey resource.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/GetApiKeyRequest">AWS
* API Reference</a></p>
*/
class GetApiKeyRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API GetApiKeyRequest();
// 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 "GetApiKey"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
AWS_APIGATEWAY_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
///@{
/**
* <p>The identifier of the ApiKey resource.</p>
*/
inline const Aws::String& GetApiKey() const{ return m_apiKey; }
inline bool ApiKeyHasBeenSet() const { return m_apiKeyHasBeenSet; }
inline void SetApiKey(const Aws::String& value) { m_apiKeyHasBeenSet = true; m_apiKey = value; }
inline void SetApiKey(Aws::String&& value) { m_apiKeyHasBeenSet = true; m_apiKey = std::move(value); }
inline void SetApiKey(const char* value) { m_apiKeyHasBeenSet = true; m_apiKey.assign(value); }
inline GetApiKeyRequest& WithApiKey(const Aws::String& value) { SetApiKey(value); return *this;}
inline GetApiKeyRequest& WithApiKey(Aws::String&& value) { SetApiKey(std::move(value)); return *this;}
inline GetApiKeyRequest& WithApiKey(const char* value) { SetApiKey(value); return *this;}
///@}
///@{
/**
* <p>A boolean flag to specify whether (<code>true</code>) or not
* (<code>false</code>) the result contains the key value.</p>
*/
inline bool GetIncludeValue() const{ return m_includeValue; }
inline bool IncludeValueHasBeenSet() const { return m_includeValueHasBeenSet; }
inline void SetIncludeValue(bool value) { m_includeValueHasBeenSet = true; m_includeValue = value; }
inline GetApiKeyRequest& WithIncludeValue(bool value) { SetIncludeValue(value); return *this;}
///@}
private:
Aws::String m_apiKey;
bool m_apiKeyHasBeenSet = false;
bool m_includeValue;
bool m_includeValueHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,213 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>A resource that can be distributed to callers for executing Method resources
* that require an API key. API keys can be mapped to any Stage on any RestApi,
* which indicates that the callers with the API key can make requests to that
* stage.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/ApiKey">AWS
* API Reference</a></p>
*/
class GetApiKeyResult
{
public:
AWS_APIGATEWAY_API GetApiKeyResult();
AWS_APIGATEWAY_API GetApiKeyResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API GetApiKeyResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The identifier of the API Key.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline GetApiKeyResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline GetApiKeyResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline GetApiKeyResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The value of the API Key.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
inline void SetValue(const Aws::String& value) { m_value = value; }
inline void SetValue(Aws::String&& value) { m_value = std::move(value); }
inline void SetValue(const char* value) { m_value.assign(value); }
inline GetApiKeyResult& WithValue(const Aws::String& value) { SetValue(value); return *this;}
inline GetApiKeyResult& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
inline GetApiKeyResult& WithValue(const char* value) { SetValue(value); return *this;}
///@}
///@{
/**
* <p>The name of the API Key.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline void SetName(const Aws::String& value) { m_name = value; }
inline void SetName(Aws::String&& value) { m_name = std::move(value); }
inline void SetName(const char* value) { m_name.assign(value); }
inline GetApiKeyResult& WithName(const Aws::String& value) { SetName(value); return *this;}
inline GetApiKeyResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline GetApiKeyResult& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>An Amazon Web Services Marketplace customer identifier, when integrating with
* the Amazon Web Services SaaS Marketplace.</p>
*/
inline const Aws::String& GetCustomerId() const{ return m_customerId; }
inline void SetCustomerId(const Aws::String& value) { m_customerId = value; }
inline void SetCustomerId(Aws::String&& value) { m_customerId = std::move(value); }
inline void SetCustomerId(const char* value) { m_customerId.assign(value); }
inline GetApiKeyResult& WithCustomerId(const Aws::String& value) { SetCustomerId(value); return *this;}
inline GetApiKeyResult& WithCustomerId(Aws::String&& value) { SetCustomerId(std::move(value)); return *this;}
inline GetApiKeyResult& WithCustomerId(const char* value) { SetCustomerId(value); return *this;}
///@}
///@{
/**
* <p>The description of the API Key.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
inline void SetDescription(const Aws::String& value) { m_description = value; }
inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
inline void SetDescription(const char* value) { m_description.assign(value); }
inline GetApiKeyResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
inline GetApiKeyResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
inline GetApiKeyResult& WithDescription(const char* value) { SetDescription(value); return *this;}
///@}
///@{
/**
* <p>Specifies whether the API Key can be used by callers.</p>
*/
inline bool GetEnabled() const{ return m_enabled; }
inline void SetEnabled(bool value) { m_enabled = value; }
inline GetApiKeyResult& WithEnabled(bool value) { SetEnabled(value); return *this;}
///@}
///@{
/**
* <p>The timestamp when the API Key was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; }
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); }
inline GetApiKeyResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
inline GetApiKeyResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The timestamp when the API Key was last updated.</p>
*/
inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; }
inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDate = value; }
inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDate = std::move(value); }
inline GetApiKeyResult& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;}
inline GetApiKeyResult& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of Stage resources that are associated with the ApiKey resource.</p>
*/
inline const Aws::Vector<Aws::String>& GetStageKeys() const{ return m_stageKeys; }
inline void SetStageKeys(const Aws::Vector<Aws::String>& value) { m_stageKeys = value; }
inline void SetStageKeys(Aws::Vector<Aws::String>&& value) { m_stageKeys = std::move(value); }
inline GetApiKeyResult& WithStageKeys(const Aws::Vector<Aws::String>& value) { SetStageKeys(value); return *this;}
inline GetApiKeyResult& WithStageKeys(Aws::Vector<Aws::String>&& value) { SetStageKeys(std::move(value)); return *this;}
inline GetApiKeyResult& AddStageKeys(const Aws::String& value) { m_stageKeys.push_back(value); return *this; }
inline GetApiKeyResult& AddStageKeys(Aws::String&& value) { m_stageKeys.push_back(std::move(value)); return *this; }
inline GetApiKeyResult& AddStageKeys(const char* value) { m_stageKeys.push_back(value); return *this; }
///@}
///@{
/**
* <p>The collection of tags. Each tag element is associated with a given
* resource.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
inline GetApiKeyResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
inline GetApiKeyResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
inline GetApiKeyResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
inline GetApiKeyResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
inline GetApiKeyResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline GetApiKeyResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
inline GetApiKeyResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
inline GetApiKeyResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
inline GetApiKeyResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline GetApiKeyResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GetApiKeyResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GetApiKeyResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_value;
Aws::String m_name;
Aws::String m_customerId;
Aws::String m_description;
bool m_enabled;
Aws::Utils::DateTime m_createdDate;
Aws::Utils::DateTime m_lastUpdatedDate;
Aws::Vector<Aws::String> m_stageKeys;
Aws::Map<Aws::String, Aws::String> m_tags;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,129 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace APIGateway
{
namespace Model
{
/**
* <p>A request to get information about the current ApiKeys
* resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/GetApiKeysRequest">AWS
* API Reference</a></p>
*/
class GetApiKeysRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API GetApiKeysRequest();
// 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 "GetApiKeys"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
AWS_APIGATEWAY_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
///@{
/**
* <p>The current pagination position in the paged result set.</p>
*/
inline const Aws::String& GetPosition() const{ return m_position; }
inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; }
inline void SetPosition(const Aws::String& value) { m_positionHasBeenSet = true; m_position = value; }
inline void SetPosition(Aws::String&& value) { m_positionHasBeenSet = true; m_position = std::move(value); }
inline void SetPosition(const char* value) { m_positionHasBeenSet = true; m_position.assign(value); }
inline GetApiKeysRequest& WithPosition(const Aws::String& value) { SetPosition(value); return *this;}
inline GetApiKeysRequest& WithPosition(Aws::String&& value) { SetPosition(std::move(value)); return *this;}
inline GetApiKeysRequest& WithPosition(const char* value) { SetPosition(value); return *this;}
///@}
///@{
/**
* <p>The maximum number of returned results per page. The default value is 25 and
* the maximum value is 500.</p>
*/
inline int GetLimit() const{ return m_limit; }
inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; }
inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; }
inline GetApiKeysRequest& WithLimit(int value) { SetLimit(value); return *this;}
///@}
///@{
/**
* <p>The name of queried API keys.</p>
*/
inline const Aws::String& GetNameQuery() const{ return m_nameQuery; }
inline bool NameQueryHasBeenSet() const { return m_nameQueryHasBeenSet; }
inline void SetNameQuery(const Aws::String& value) { m_nameQueryHasBeenSet = true; m_nameQuery = value; }
inline void SetNameQuery(Aws::String&& value) { m_nameQueryHasBeenSet = true; m_nameQuery = std::move(value); }
inline void SetNameQuery(const char* value) { m_nameQueryHasBeenSet = true; m_nameQuery.assign(value); }
inline GetApiKeysRequest& WithNameQuery(const Aws::String& value) { SetNameQuery(value); return *this;}
inline GetApiKeysRequest& WithNameQuery(Aws::String&& value) { SetNameQuery(std::move(value)); return *this;}
inline GetApiKeysRequest& WithNameQuery(const char* value) { SetNameQuery(value); return *this;}
///@}
///@{
/**
* <p>The identifier of a customer in Amazon Web Services Marketplace or an
* external system, such as a developer portal.</p>
*/
inline const Aws::String& GetCustomerId() const{ return m_customerId; }
inline bool CustomerIdHasBeenSet() const { return m_customerIdHasBeenSet; }
inline void SetCustomerId(const Aws::String& value) { m_customerIdHasBeenSet = true; m_customerId = value; }
inline void SetCustomerId(Aws::String&& value) { m_customerIdHasBeenSet = true; m_customerId = std::move(value); }
inline void SetCustomerId(const char* value) { m_customerIdHasBeenSet = true; m_customerId.assign(value); }
inline GetApiKeysRequest& WithCustomerId(const Aws::String& value) { SetCustomerId(value); return *this;}
inline GetApiKeysRequest& WithCustomerId(Aws::String&& value) { SetCustomerId(std::move(value)); return *this;}
inline GetApiKeysRequest& WithCustomerId(const char* value) { SetCustomerId(value); return *this;}
///@}
///@{
/**
* <p>A boolean flag to specify whether (<code>true</code>) or not
* (<code>false</code>) the result contains key values.</p>
*/
inline bool GetIncludeValues() const{ return m_includeValues; }
inline bool IncludeValuesHasBeenSet() const { return m_includeValuesHasBeenSet; }
inline void SetIncludeValues(bool value) { m_includeValuesHasBeenSet = true; m_includeValues = value; }
inline GetApiKeysRequest& WithIncludeValues(bool value) { SetIncludeValues(value); return *this;}
///@}
private:
Aws::String m_position;
bool m_positionHasBeenSet = false;
int m_limit;
bool m_limitHasBeenSet = false;
Aws::String m_nameQuery;
bool m_nameQueryHasBeenSet = false;
Aws::String m_customerId;
bool m_customerIdHasBeenSet = false;
bool m_includeValues;
bool m_includeValuesHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,105 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/ApiKey.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a collection of API keys as represented by an ApiKeys
* resource.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/ApiKeys">AWS
* API Reference</a></p>
*/
class GetApiKeysResult
{
public:
AWS_APIGATEWAY_API GetApiKeysResult();
AWS_APIGATEWAY_API GetApiKeysResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API GetApiKeysResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>A list of warning messages logged during the import of API keys when the
* <code>failOnWarnings</code> option is set to true.</p>
*/
inline const Aws::Vector<Aws::String>& GetWarnings() const{ return m_warnings; }
inline void SetWarnings(const Aws::Vector<Aws::String>& value) { m_warnings = value; }
inline void SetWarnings(Aws::Vector<Aws::String>&& value) { m_warnings = std::move(value); }
inline GetApiKeysResult& WithWarnings(const Aws::Vector<Aws::String>& value) { SetWarnings(value); return *this;}
inline GetApiKeysResult& WithWarnings(Aws::Vector<Aws::String>&& value) { SetWarnings(std::move(value)); return *this;}
inline GetApiKeysResult& AddWarnings(const Aws::String& value) { m_warnings.push_back(value); return *this; }
inline GetApiKeysResult& AddWarnings(Aws::String&& value) { m_warnings.push_back(std::move(value)); return *this; }
inline GetApiKeysResult& AddWarnings(const char* value) { m_warnings.push_back(value); return *this; }
///@}
///@{
inline const Aws::String& GetPosition() const{ return m_position; }
inline void SetPosition(const Aws::String& value) { m_position = value; }
inline void SetPosition(Aws::String&& value) { m_position = std::move(value); }
inline void SetPosition(const char* value) { m_position.assign(value); }
inline GetApiKeysResult& WithPosition(const Aws::String& value) { SetPosition(value); return *this;}
inline GetApiKeysResult& WithPosition(Aws::String&& value) { SetPosition(std::move(value)); return *this;}
inline GetApiKeysResult& WithPosition(const char* value) { SetPosition(value); return *this;}
///@}
///@{
/**
* <p>The current page of elements from this collection.</p>
*/
inline const Aws::Vector<ApiKey>& GetItems() const{ return m_items; }
inline void SetItems(const Aws::Vector<ApiKey>& value) { m_items = value; }
inline void SetItems(Aws::Vector<ApiKey>&& value) { m_items = std::move(value); }
inline GetApiKeysResult& WithItems(const Aws::Vector<ApiKey>& value) { SetItems(value); return *this;}
inline GetApiKeysResult& WithItems(Aws::Vector<ApiKey>&& value) { SetItems(std::move(value)); return *this;}
inline GetApiKeysResult& AddItems(const ApiKey& value) { m_items.push_back(value); return *this; }
inline GetApiKeysResult& AddItems(ApiKey&& value) { m_items.push_back(std::move(value)); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline GetApiKeysResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GetApiKeysResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GetApiKeysResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::Vector<Aws::String> m_warnings;
Aws::String m_position;
Aws::Vector<ApiKey> m_items;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace APIGateway
{
namespace Model
{
/**
* <p>Request to describe an existing Authorizer resource.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/GetAuthorizerRequest">AWS
* API Reference</a></p>
*/
class GetAuthorizerRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API GetAuthorizerRequest();
// 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 "GetAuthorizer"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline GetAuthorizerRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline GetAuthorizerRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline GetAuthorizerRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The identifier of the Authorizer resource.</p>
*/
inline const Aws::String& GetAuthorizerId() const{ return m_authorizerId; }
inline bool AuthorizerIdHasBeenSet() const { return m_authorizerIdHasBeenSet; }
inline void SetAuthorizerId(const Aws::String& value) { m_authorizerIdHasBeenSet = true; m_authorizerId = value; }
inline void SetAuthorizerId(Aws::String&& value) { m_authorizerIdHasBeenSet = true; m_authorizerId = std::move(value); }
inline void SetAuthorizerId(const char* value) { m_authorizerIdHasBeenSet = true; m_authorizerId.assign(value); }
inline GetAuthorizerRequest& WithAuthorizerId(const Aws::String& value) { SetAuthorizerId(value); return *this;}
inline GetAuthorizerRequest& WithAuthorizerId(Aws::String&& value) { SetAuthorizerId(std::move(value)); return *this;}
inline GetAuthorizerRequest& WithAuthorizerId(const char* value) { SetAuthorizerId(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_authorizerId;
bool m_authorizerIdHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,256 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/apigateway/model/AuthorizerType.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents an authorization layer for methods. If enabled on a method, API
* Gateway will activate the authorizer when a client calls the
* method.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/Authorizer">AWS
* API Reference</a></p>
*/
class GetAuthorizerResult
{
public:
AWS_APIGATEWAY_API GetAuthorizerResult();
AWS_APIGATEWAY_API GetAuthorizerResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API GetAuthorizerResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
/**
* <p>The identifier for the authorizer resource.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline void SetId(const Aws::String& value) { m_id = value; }
inline void SetId(Aws::String&& value) { m_id = std::move(value); }
inline void SetId(const char* value) { m_id.assign(value); }
inline GetAuthorizerResult& WithId(const Aws::String& value) { SetId(value); return *this;}
inline GetAuthorizerResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline GetAuthorizerResult& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The name of the authorizer.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline void SetName(const Aws::String& value) { m_name = value; }
inline void SetName(Aws::String&& value) { m_name = std::move(value); }
inline void SetName(const char* value) { m_name.assign(value); }
inline GetAuthorizerResult& WithName(const Aws::String& value) { SetName(value); return *this;}
inline GetAuthorizerResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline GetAuthorizerResult& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>The authorizer type. Valid values are <code>TOKEN</code> for a Lambda
* function using a single authorization token submitted in a custom header,
* <code>REQUEST</code> for a Lambda function using incoming request parameters,
* and <code>COGNITO_USER_POOLS</code> for using an Amazon Cognito user pool.</p>
*/
inline const AuthorizerType& GetType() const{ return m_type; }
inline void SetType(const AuthorizerType& value) { m_type = value; }
inline void SetType(AuthorizerType&& value) { m_type = std::move(value); }
inline GetAuthorizerResult& WithType(const AuthorizerType& value) { SetType(value); return *this;}
inline GetAuthorizerResult& WithType(AuthorizerType&& value) { SetType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of the Amazon Cognito user pool ARNs for the
* <code>COGNITO_USER_POOLS</code> authorizer. Each element is of this format:
* <code>arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}</code>.
* For a <code>TOKEN</code> or <code>REQUEST</code> authorizer, this is not
* defined. </p>
*/
inline const Aws::Vector<Aws::String>& GetProviderARNs() const{ return m_providerARNs; }
inline void SetProviderARNs(const Aws::Vector<Aws::String>& value) { m_providerARNs = value; }
inline void SetProviderARNs(Aws::Vector<Aws::String>&& value) { m_providerARNs = std::move(value); }
inline GetAuthorizerResult& WithProviderARNs(const Aws::Vector<Aws::String>& value) { SetProviderARNs(value); return *this;}
inline GetAuthorizerResult& WithProviderARNs(Aws::Vector<Aws::String>&& value) { SetProviderARNs(std::move(value)); return *this;}
inline GetAuthorizerResult& AddProviderARNs(const Aws::String& value) { m_providerARNs.push_back(value); return *this; }
inline GetAuthorizerResult& AddProviderARNs(Aws::String&& value) { m_providerARNs.push_back(std::move(value)); return *this; }
inline GetAuthorizerResult& AddProviderARNs(const char* value) { m_providerARNs.push_back(value); return *this; }
///@}
///@{
/**
* <p>Optional customer-defined field, used in OpenAPI imports and exports without
* functional impact.</p>
*/
inline const Aws::String& GetAuthType() const{ return m_authType; }
inline void SetAuthType(const Aws::String& value) { m_authType = value; }
inline void SetAuthType(Aws::String&& value) { m_authType = std::move(value); }
inline void SetAuthType(const char* value) { m_authType.assign(value); }
inline GetAuthorizerResult& WithAuthType(const Aws::String& value) { SetAuthType(value); return *this;}
inline GetAuthorizerResult& WithAuthType(Aws::String&& value) { SetAuthType(std::move(value)); return *this;}
inline GetAuthorizerResult& WithAuthType(const char* value) { SetAuthType(value); return *this;}
///@}
///@{
/**
* <p>Specifies the authorizer's Uniform Resource Identifier (URI). For
* <code>TOKEN</code> or <code>REQUEST</code> authorizers, this must be a
* well-formed Lambda function URI, for example,
* <code>arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations</code>.
* In general, the URI has this form
* <code>arn:aws:apigateway:{region}:lambda:path/{service_api}</code>, where
* <code>{region}</code> is the same as the region hosting the Lambda function,
* <code>path</code> indicates that the remaining substring in the URI should be
* treated as the path to the resource, including the initial <code>/</code>. For
* Lambda functions, this is usually of the form
* <code>/2015-03-31/functions/[FunctionARN]/invocations</code>.</p>
*/
inline const Aws::String& GetAuthorizerUri() const{ return m_authorizerUri; }
inline void SetAuthorizerUri(const Aws::String& value) { m_authorizerUri = value; }
inline void SetAuthorizerUri(Aws::String&& value) { m_authorizerUri = std::move(value); }
inline void SetAuthorizerUri(const char* value) { m_authorizerUri.assign(value); }
inline GetAuthorizerResult& WithAuthorizerUri(const Aws::String& value) { SetAuthorizerUri(value); return *this;}
inline GetAuthorizerResult& WithAuthorizerUri(Aws::String&& value) { SetAuthorizerUri(std::move(value)); return *this;}
inline GetAuthorizerResult& WithAuthorizerUri(const char* value) { SetAuthorizerUri(value); return *this;}
///@}
///@{
/**
* <p>Specifies the required credentials as an IAM role for API Gateway to invoke
* the authorizer. To specify an IAM role for API Gateway to assume, use the role's
* Amazon Resource Name (ARN). To use resource-based permissions on the Lambda
* function, specify null.</p>
*/
inline const Aws::String& GetAuthorizerCredentials() const{ return m_authorizerCredentials; }
inline void SetAuthorizerCredentials(const Aws::String& value) { m_authorizerCredentials = value; }
inline void SetAuthorizerCredentials(Aws::String&& value) { m_authorizerCredentials = std::move(value); }
inline void SetAuthorizerCredentials(const char* value) { m_authorizerCredentials.assign(value); }
inline GetAuthorizerResult& WithAuthorizerCredentials(const Aws::String& value) { SetAuthorizerCredentials(value); return *this;}
inline GetAuthorizerResult& WithAuthorizerCredentials(Aws::String&& value) { SetAuthorizerCredentials(std::move(value)); return *this;}
inline GetAuthorizerResult& WithAuthorizerCredentials(const char* value) { SetAuthorizerCredentials(value); return *this;}
///@}
///@{
/**
* <p>The identity source for which authorization is requested. For a
* <code>TOKEN</code> or <code>COGNITO_USER_POOLS</code> authorizer, this is
* required and specifies the request header mapping expression for the custom
* header holding the authorization token submitted by the client. For example, if
* the token header name is <code>Auth</code>, the header mapping expression is
* <code>method.request.header.Auth</code>. For the <code>REQUEST</code>
* authorizer, this is required when authorization caching is enabled. The value is
* a comma-separated string of one or more mapping expressions of the specified
* request parameters. For example, if an <code>Auth</code> header, a
* <code>Name</code> query string parameter are defined as identity sources, this
* value is <code>method.request.header.Auth</code>,
* <code>method.request.querystring.Name</code>. These parameters will be used to
* derive the authorization caching key and to perform runtime validation of the
* <code>REQUEST</code> authorizer by verifying all of the identity-related request
* parameters are present, not null and non-empty. Only when this is true does the
* authorizer invoke the authorizer Lambda function, otherwise, it returns a 401
* Unauthorized response without calling the Lambda function. The valid value is a
* string of comma-separated mapping expressions of the specified request
* parameters. When the authorization caching is not enabled, this property is
* optional. </p>
*/
inline const Aws::String& GetIdentitySource() const{ return m_identitySource; }
inline void SetIdentitySource(const Aws::String& value) { m_identitySource = value; }
inline void SetIdentitySource(Aws::String&& value) { m_identitySource = std::move(value); }
inline void SetIdentitySource(const char* value) { m_identitySource.assign(value); }
inline GetAuthorizerResult& WithIdentitySource(const Aws::String& value) { SetIdentitySource(value); return *this;}
inline GetAuthorizerResult& WithIdentitySource(Aws::String&& value) { SetIdentitySource(std::move(value)); return *this;}
inline GetAuthorizerResult& WithIdentitySource(const char* value) { SetIdentitySource(value); return *this;}
///@}
///@{
/**
* <p>A validation expression for the incoming identity token. For
* <code>TOKEN</code> authorizers, this value is a regular expression. For
* <code>COGNITO_USER_POOLS</code> authorizers, API Gateway will match the
* <code>aud</code> field of the incoming token from the client against the
* specified regular expression. It will invoke the authorizer's Lambda function
* when there is a match. Otherwise, it will return a 401 Unauthorized response
* without calling the Lambda function. The validation expression does not apply to
* the <code>REQUEST</code> authorizer.</p>
*/
inline const Aws::String& GetIdentityValidationExpression() const{ return m_identityValidationExpression; }
inline void SetIdentityValidationExpression(const Aws::String& value) { m_identityValidationExpression = value; }
inline void SetIdentityValidationExpression(Aws::String&& value) { m_identityValidationExpression = std::move(value); }
inline void SetIdentityValidationExpression(const char* value) { m_identityValidationExpression.assign(value); }
inline GetAuthorizerResult& WithIdentityValidationExpression(const Aws::String& value) { SetIdentityValidationExpression(value); return *this;}
inline GetAuthorizerResult& WithIdentityValidationExpression(Aws::String&& value) { SetIdentityValidationExpression(std::move(value)); return *this;}
inline GetAuthorizerResult& WithIdentityValidationExpression(const char* value) { SetIdentityValidationExpression(value); return *this;}
///@}
///@{
/**
* <p>The TTL in seconds of cached authorizer results. If it equals 0,
* authorization caching is disabled. If it is greater than 0, API Gateway will
* cache authorizer responses. If this field is not set, the default value is 300.
* The maximum value is 3600, or 1 hour.</p>
*/
inline int GetAuthorizerResultTtlInSeconds() const{ return m_authorizerResultTtlInSeconds; }
inline void SetAuthorizerResultTtlInSeconds(int value) { m_authorizerResultTtlInSeconds = value; }
inline GetAuthorizerResult& WithAuthorizerResultTtlInSeconds(int value) { SetAuthorizerResultTtlInSeconds(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline GetAuthorizerResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GetAuthorizerResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GetAuthorizerResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_id;
Aws::String m_name;
AuthorizerType m_type;
Aws::Vector<Aws::String> m_providerARNs;
Aws::String m_authType;
Aws::String m_authorizerUri;
Aws::String m_authorizerCredentials;
Aws::String m_identitySource;
Aws::String m_identityValidationExpression;
int m_authorizerResultTtlInSeconds;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,97 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/apigateway/APIGatewayRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace APIGateway
{
namespace Model
{
/**
* <p>Request to describe an existing Authorizers resource.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/GetAuthorizersRequest">AWS
* API Reference</a></p>
*/
class GetAuthorizersRequest : public APIGatewayRequest
{
public:
AWS_APIGATEWAY_API GetAuthorizersRequest();
// 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 "GetAuthorizers"; }
AWS_APIGATEWAY_API Aws::String SerializePayload() const override;
AWS_APIGATEWAY_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
///@{
/**
* <p>The string identifier of the associated RestApi.</p>
*/
inline const Aws::String& GetRestApiId() const{ return m_restApiId; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline GetAuthorizersRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline GetAuthorizersRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
inline GetAuthorizersRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;}
///@}
///@{
/**
* <p>The current pagination position in the paged result set.</p>
*/
inline const Aws::String& GetPosition() const{ return m_position; }
inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; }
inline void SetPosition(const Aws::String& value) { m_positionHasBeenSet = true; m_position = value; }
inline void SetPosition(Aws::String&& value) { m_positionHasBeenSet = true; m_position = std::move(value); }
inline void SetPosition(const char* value) { m_positionHasBeenSet = true; m_position.assign(value); }
inline GetAuthorizersRequest& WithPosition(const Aws::String& value) { SetPosition(value); return *this;}
inline GetAuthorizersRequest& WithPosition(Aws::String&& value) { SetPosition(std::move(value)); return *this;}
inline GetAuthorizersRequest& WithPosition(const char* value) { SetPosition(value); return *this;}
///@}
///@{
/**
* <p>The maximum number of returned results per page. The default value is 25 and
* the maximum value is 500.</p>
*/
inline int GetLimit() const{ return m_limit; }
inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; }
inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; }
inline GetAuthorizersRequest& WithLimit(int value) { SetLimit(value); return *this;}
///@}
private:
Aws::String m_restApiId;
bool m_restApiIdHasBeenSet = false;
Aws::String m_position;
bool m_positionHasBeenSet = false;
int m_limit;
bool m_limitHasBeenSet = false;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

View File

@@ -0,0 +1,88 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/apigateway/APIGateway_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/apigateway/model/Authorizer.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace APIGateway
{
namespace Model
{
/**
* <p>Represents a collection of Authorizer resources.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/apigateway-2015-07-09/Authorizers">AWS
* API Reference</a></p>
*/
class GetAuthorizersResult
{
public:
AWS_APIGATEWAY_API GetAuthorizersResult();
AWS_APIGATEWAY_API GetAuthorizersResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
AWS_APIGATEWAY_API GetAuthorizersResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
///@{
inline const Aws::String& GetPosition() const{ return m_position; }
inline void SetPosition(const Aws::String& value) { m_position = value; }
inline void SetPosition(Aws::String&& value) { m_position = std::move(value); }
inline void SetPosition(const char* value) { m_position.assign(value); }
inline GetAuthorizersResult& WithPosition(const Aws::String& value) { SetPosition(value); return *this;}
inline GetAuthorizersResult& WithPosition(Aws::String&& value) { SetPosition(std::move(value)); return *this;}
inline GetAuthorizersResult& WithPosition(const char* value) { SetPosition(value); return *this;}
///@}
///@{
/**
* <p>The current page of elements from this collection.</p>
*/
inline const Aws::Vector<Authorizer>& GetItems() const{ return m_items; }
inline void SetItems(const Aws::Vector<Authorizer>& value) { m_items = value; }
inline void SetItems(Aws::Vector<Authorizer>&& value) { m_items = std::move(value); }
inline GetAuthorizersResult& WithItems(const Aws::Vector<Authorizer>& value) { SetItems(value); return *this;}
inline GetAuthorizersResult& WithItems(Aws::Vector<Authorizer>&& value) { SetItems(std::move(value)); return *this;}
inline GetAuthorizersResult& AddItems(const Authorizer& value) { m_items.push_back(value); return *this; }
inline GetAuthorizersResult& AddItems(Authorizer&& value) { m_items.push_back(std::move(value)); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline GetAuthorizersResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GetAuthorizersResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GetAuthorizersResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_position;
Aws::Vector<Authorizer> m_items;
Aws::String m_requestId;
};
} // namespace Model
} // namespace APIGateway
} // namespace Aws

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