diff --git a/VERSION b/VERSION index f43699f3ea2..3a3ac94527b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.11.437 \ No newline at end of file +1.11.438 \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClient.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClient.h index 0ac30360da8..f3699273399 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClient.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClient.h @@ -154,6 +154,34 @@ namespace AppSync return SubmitAsync(&AppSyncClient::AssociateSourceGraphqlApi, request, handler, context); } + /** + *

Creates an Api object. Use this operation to create an AppSync + * API with your preferred configuration, such as an Event API that provides + * real-time message publishing and message subscriptions over + * WebSockets.

See Also:

AWS + * API Reference

+ */ + virtual Model::CreateApiOutcome CreateApi(const Model::CreateApiRequest& request) const; + + /** + * A Callable wrapper for CreateApi that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateApiOutcomeCallable CreateApiCallable(const CreateApiRequestT& request) const + { + return SubmitCallable(&AppSyncClient::CreateApi, request); + } + + /** + * An Async wrapper for CreateApi that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateApiAsync(const CreateApiRequestT& request, const CreateApiResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AppSyncClient::CreateApi, request, handler, context); + } + /** *

Creates a cache for the GraphQL API.

See Also:

AWS @@ -205,6 +233,32 @@ namespace AppSync return SubmitAsync(&AppSyncClient::CreateApiKey, request, handler, context); } + /** + *

Creates a ChannelNamespace for an + * Api.

See Also:

AWS + * API Reference

+ */ + virtual Model::CreateChannelNamespaceOutcome CreateChannelNamespace(const Model::CreateChannelNamespaceRequest& request) const; + + /** + * A Callable wrapper for CreateChannelNamespace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateChannelNamespaceOutcomeCallable CreateChannelNamespaceCallable(const CreateChannelNamespaceRequestT& request) const + { + return SubmitCallable(&AppSyncClient::CreateChannelNamespace, request); + } + + /** + * An Async wrapper for CreateChannelNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateChannelNamespaceAsync(const CreateChannelNamespaceRequestT& request, const CreateChannelNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AppSyncClient::CreateChannelNamespace, request, handler, context); + } + /** *

Creates a DataSource object.

See Also:

AWS @@ -360,6 +414,31 @@ namespace AppSync return SubmitAsync(&AppSyncClient::CreateType, request, handler, context); } + /** + *

Deletes an Api object

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteApiOutcome DeleteApi(const Model::DeleteApiRequest& request) const; + + /** + * A Callable wrapper for DeleteApi that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteApiOutcomeCallable DeleteApiCallable(const DeleteApiRequestT& request) const + { + return SubmitCallable(&AppSyncClient::DeleteApi, request); + } + + /** + * An Async wrapper for DeleteApi that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteApiAsync(const DeleteApiRequestT& request, const DeleteApiResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AppSyncClient::DeleteApi, request, handler, context); + } + /** *

Deletes an ApiCache object.

See Also:

AWS @@ -410,6 +489,31 @@ namespace AppSync return SubmitAsync(&AppSyncClient::DeleteApiKey, request, handler, context); } + /** + *

Deletes a ChannelNamespace.

See Also:

AWS + * API Reference

+ */ + virtual Model::DeleteChannelNamespaceOutcome DeleteChannelNamespace(const Model::DeleteChannelNamespaceRequest& request) const; + + /** + * A Callable wrapper for DeleteChannelNamespace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteChannelNamespaceOutcomeCallable DeleteChannelNamespaceCallable(const DeleteChannelNamespaceRequestT& request) const + { + return SubmitCallable(&AppSyncClient::DeleteChannelNamespace, request); + } + + /** + * An Async wrapper for DeleteChannelNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteChannelNamespaceAsync(const DeleteChannelNamespaceRequestT& request, const DeleteChannelNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AppSyncClient::DeleteChannelNamespace, request, handler, context); + } + /** *

Deletes a DataSource object.

See Also:

AWS @@ -726,6 +830,31 @@ namespace AppSync return SubmitAsync(&AppSyncClient::FlushApiCache, request, handler, context); } + /** + *

Retrieves an Api object.

See Also:

AWS API + * Reference

+ */ + virtual Model::GetApiOutcome GetApi(const Model::GetApiRequest& request) const; + + /** + * A Callable wrapper for GetApi that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetApiOutcomeCallable GetApiCallable(const GetApiRequestT& request) const + { + return SubmitCallable(&AppSyncClient::GetApi, request); + } + + /** + * An Async wrapper for GetApi that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetApiAsync(const GetApiRequestT& request, const GetApiResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AppSyncClient::GetApi, request, handler, context); + } + /** *

Retrieves an ApiAssociation object.

See Also:

* Retrieves the channel namespace for a specified + * Api.

See Also:

AWS + * API Reference

+ */ + virtual Model::GetChannelNamespaceOutcome GetChannelNamespace(const Model::GetChannelNamespaceRequest& request) const; + + /** + * A Callable wrapper for GetChannelNamespace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetChannelNamespaceOutcomeCallable GetChannelNamespaceCallable(const GetChannelNamespaceRequestT& request) const + { + return SubmitCallable(&AppSyncClient::GetChannelNamespace, request); + } + + /** + * An Async wrapper for GetChannelNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetChannelNamespaceAsync(const GetChannelNamespaceRequestT& request, const GetChannelNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AppSyncClient::GetChannelNamespace, request, handler, context); + } + /** *

Retrieves a DataSource object.

See Also:

AWS @@ -1089,6 +1244,61 @@ namespace AppSync return SubmitAsync(&AppSyncClient::ListApiKeys, request, handler, context); } + /** + *

Lists the APIs in your AppSync account.

ListApis returns + * only the high level API details. For more detailed information about an API, use + * GetApi.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListApisOutcome ListApis(const Model::ListApisRequest& request = {}) const; + + /** + * A Callable wrapper for ListApis that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListApisOutcomeCallable ListApisCallable(const ListApisRequestT& request = {}) const + { + return SubmitCallable(&AppSyncClient::ListApis, request); + } + + /** + * An Async wrapper for ListApis that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListApisAsync(const ListApisResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListApisRequestT& request = {}) const + { + return SubmitAsync(&AppSyncClient::ListApis, request, handler, context); + } + + /** + *

Lists the channel namespaces for a specified Api.

+ * ListChannelNamespaces returns only high level details for the + * channel namespace. To retrieve code handlers, use + * GetChannelNamespace.

See Also:

AWS + * API Reference

+ */ + virtual Model::ListChannelNamespacesOutcome ListChannelNamespaces(const Model::ListChannelNamespacesRequest& request) const; + + /** + * A Callable wrapper for ListChannelNamespaces that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListChannelNamespacesOutcomeCallable ListChannelNamespacesCallable(const ListChannelNamespacesRequestT& request) const + { + return SubmitCallable(&AppSyncClient::ListChannelNamespaces, request); + } + + /** + * An Async wrapper for ListChannelNamespaces that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListChannelNamespacesAsync(const ListChannelNamespacesRequestT& request, const ListChannelNamespacesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AppSyncClient::ListChannelNamespaces, request, handler, context); + } + /** *

Lists the data sources for a given API.

See Also:

AWS @@ -1516,6 +1726,31 @@ namespace AppSync return SubmitAsync(&AppSyncClient::UntagResource, request, handler, context); } + /** + *

Updates an Api.

See Also:

AWS + * API Reference

+ */ + virtual Model::UpdateApiOutcome UpdateApi(const Model::UpdateApiRequest& request) const; + + /** + * A Callable wrapper for UpdateApi that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateApiOutcomeCallable UpdateApiCallable(const UpdateApiRequestT& request) const + { + return SubmitCallable(&AppSyncClient::UpdateApi, request); + } + + /** + * An Async wrapper for UpdateApi that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateApiAsync(const UpdateApiRequestT& request, const UpdateApiResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AppSyncClient::UpdateApi, request, handler, context); + } + /** *

Updates the cache for the GraphQL API.

See Also:

AWS @@ -1567,6 +1802,32 @@ namespace AppSync return SubmitAsync(&AppSyncClient::UpdateApiKey, request, handler, context); } + /** + *

Updates a ChannelNamespace associated with an + * Api.

See Also:

AWS + * API Reference

+ */ + virtual Model::UpdateChannelNamespaceOutcome UpdateChannelNamespace(const Model::UpdateChannelNamespaceRequest& request) const; + + /** + * A Callable wrapper for UpdateChannelNamespace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateChannelNamespaceOutcomeCallable UpdateChannelNamespaceCallable(const UpdateChannelNamespaceRequestT& request) const + { + return SubmitCallable(&AppSyncClient::UpdateChannelNamespace, request); + } + + /** + * An Async wrapper for UpdateChannelNamespace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateChannelNamespaceAsync(const UpdateChannelNamespaceRequestT& request, const UpdateChannelNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&AppSyncClient::UpdateChannelNamespace, request, handler, context); + } + /** *

Updates a DataSource object.

See Also:

AWS diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncErrors.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncErrors.h index e40957642eb..8c01606a08a 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncErrors.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncErrors.h @@ -52,9 +52,11 @@ enum class AppSyncErrors API_LIMIT_EXCEEDED, BAD_REQUEST, CONCURRENT_MODIFICATION, + CONFLICT, GRAPH_Q_L_SCHEMA, LIMIT_EXCEEDED, NOT_FOUND, + SERVICE_QUOTA_EXCEEDED, UNAUTHORIZED }; diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncServiceClientModel.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncServiceClientModel.h index e3eea12d313..16067e9ba9d 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncServiceClientModel.h @@ -21,16 +21,20 @@ #include #include #include +#include #include #include +#include #include #include #include #include #include #include +#include #include #include +#include #include #include #include @@ -43,8 +47,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -57,6 +63,8 @@ #include #include #include +#include +#include #include #include #include @@ -73,8 +81,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -82,6 +92,7 @@ #include #include #include +#include #include #include #include @@ -128,16 +139,20 @@ namespace Aws class AssociateApiRequest; class AssociateMergedGraphqlApiRequest; class AssociateSourceGraphqlApiRequest; + class CreateApiRequest; class CreateApiCacheRequest; class CreateApiKeyRequest; + class CreateChannelNamespaceRequest; class CreateDataSourceRequest; class CreateDomainNameRequest; class CreateFunctionRequest; class CreateGraphqlApiRequest; class CreateResolverRequest; class CreateTypeRequest; + class DeleteApiRequest; class DeleteApiCacheRequest; class DeleteApiKeyRequest; + class DeleteChannelNamespaceRequest; class DeleteDataSourceRequest; class DeleteDomainNameRequest; class DeleteFunctionRequest; @@ -150,8 +165,10 @@ namespace Aws class EvaluateCodeRequest; class EvaluateMappingTemplateRequest; class FlushApiCacheRequest; + class GetApiRequest; class GetApiAssociationRequest; class GetApiCacheRequest; + class GetChannelNamespaceRequest; class GetDataSourceRequest; class GetDataSourceIntrospectionRequest; class GetDomainNameRequest; @@ -164,6 +181,8 @@ namespace Aws class GetSourceApiAssociationRequest; class GetTypeRequest; class ListApiKeysRequest; + class ListApisRequest; + class ListChannelNamespacesRequest; class ListDataSourcesRequest; class ListDomainNamesRequest; class ListFunctionsRequest; @@ -180,8 +199,10 @@ namespace Aws class StartSchemaMergeRequest; class TagResourceRequest; class UntagResourceRequest; + class UpdateApiRequest; class UpdateApiCacheRequest; class UpdateApiKeyRequest; + class UpdateChannelNamespaceRequest; class UpdateDataSourceRequest; class UpdateDomainNameRequest; class UpdateFunctionRequest; @@ -195,16 +216,20 @@ namespace Aws typedef Aws::Utils::Outcome AssociateApiOutcome; typedef Aws::Utils::Outcome AssociateMergedGraphqlApiOutcome; typedef Aws::Utils::Outcome AssociateSourceGraphqlApiOutcome; + typedef Aws::Utils::Outcome CreateApiOutcome; typedef Aws::Utils::Outcome CreateApiCacheOutcome; typedef Aws::Utils::Outcome CreateApiKeyOutcome; + typedef Aws::Utils::Outcome CreateChannelNamespaceOutcome; typedef Aws::Utils::Outcome CreateDataSourceOutcome; typedef Aws::Utils::Outcome CreateDomainNameOutcome; typedef Aws::Utils::Outcome CreateFunctionOutcome; typedef Aws::Utils::Outcome CreateGraphqlApiOutcome; typedef Aws::Utils::Outcome CreateResolverOutcome; typedef Aws::Utils::Outcome CreateTypeOutcome; + typedef Aws::Utils::Outcome DeleteApiOutcome; typedef Aws::Utils::Outcome DeleteApiCacheOutcome; typedef Aws::Utils::Outcome DeleteApiKeyOutcome; + typedef Aws::Utils::Outcome DeleteChannelNamespaceOutcome; typedef Aws::Utils::Outcome DeleteDataSourceOutcome; typedef Aws::Utils::Outcome DeleteDomainNameOutcome; typedef Aws::Utils::Outcome DeleteFunctionOutcome; @@ -217,8 +242,10 @@ namespace Aws typedef Aws::Utils::Outcome EvaluateCodeOutcome; typedef Aws::Utils::Outcome EvaluateMappingTemplateOutcome; typedef Aws::Utils::Outcome FlushApiCacheOutcome; + typedef Aws::Utils::Outcome GetApiOutcome; typedef Aws::Utils::Outcome GetApiAssociationOutcome; typedef Aws::Utils::Outcome GetApiCacheOutcome; + typedef Aws::Utils::Outcome GetChannelNamespaceOutcome; typedef Aws::Utils::Outcome GetDataSourceOutcome; typedef Aws::Utils::Outcome GetDataSourceIntrospectionOutcome; typedef Aws::Utils::Outcome GetDomainNameOutcome; @@ -231,6 +258,8 @@ namespace Aws typedef Aws::Utils::Outcome GetSourceApiAssociationOutcome; typedef Aws::Utils::Outcome GetTypeOutcome; typedef Aws::Utils::Outcome ListApiKeysOutcome; + typedef Aws::Utils::Outcome ListApisOutcome; + typedef Aws::Utils::Outcome ListChannelNamespacesOutcome; typedef Aws::Utils::Outcome ListDataSourcesOutcome; typedef Aws::Utils::Outcome ListDomainNamesOutcome; typedef Aws::Utils::Outcome ListFunctionsOutcome; @@ -247,8 +276,10 @@ namespace Aws typedef Aws::Utils::Outcome StartSchemaMergeOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; + typedef Aws::Utils::Outcome UpdateApiOutcome; typedef Aws::Utils::Outcome UpdateApiCacheOutcome; typedef Aws::Utils::Outcome UpdateApiKeyOutcome; + typedef Aws::Utils::Outcome UpdateChannelNamespaceOutcome; typedef Aws::Utils::Outcome UpdateDataSourceOutcome; typedef Aws::Utils::Outcome UpdateDomainNameOutcome; typedef Aws::Utils::Outcome UpdateFunctionOutcome; @@ -262,16 +293,20 @@ namespace Aws typedef std::future AssociateApiOutcomeCallable; typedef std::future AssociateMergedGraphqlApiOutcomeCallable; typedef std::future AssociateSourceGraphqlApiOutcomeCallable; + typedef std::future CreateApiOutcomeCallable; typedef std::future CreateApiCacheOutcomeCallable; typedef std::future CreateApiKeyOutcomeCallable; + typedef std::future CreateChannelNamespaceOutcomeCallable; typedef std::future CreateDataSourceOutcomeCallable; typedef std::future CreateDomainNameOutcomeCallable; typedef std::future CreateFunctionOutcomeCallable; typedef std::future CreateGraphqlApiOutcomeCallable; typedef std::future CreateResolverOutcomeCallable; typedef std::future CreateTypeOutcomeCallable; + typedef std::future DeleteApiOutcomeCallable; typedef std::future DeleteApiCacheOutcomeCallable; typedef std::future DeleteApiKeyOutcomeCallable; + typedef std::future DeleteChannelNamespaceOutcomeCallable; typedef std::future DeleteDataSourceOutcomeCallable; typedef std::future DeleteDomainNameOutcomeCallable; typedef std::future DeleteFunctionOutcomeCallable; @@ -284,8 +319,10 @@ namespace Aws typedef std::future EvaluateCodeOutcomeCallable; typedef std::future EvaluateMappingTemplateOutcomeCallable; typedef std::future FlushApiCacheOutcomeCallable; + typedef std::future GetApiOutcomeCallable; typedef std::future GetApiAssociationOutcomeCallable; typedef std::future GetApiCacheOutcomeCallable; + typedef std::future GetChannelNamespaceOutcomeCallable; typedef std::future GetDataSourceOutcomeCallable; typedef std::future GetDataSourceIntrospectionOutcomeCallable; typedef std::future GetDomainNameOutcomeCallable; @@ -298,6 +335,8 @@ namespace Aws typedef std::future GetSourceApiAssociationOutcomeCallable; typedef std::future GetTypeOutcomeCallable; typedef std::future ListApiKeysOutcomeCallable; + typedef std::future ListApisOutcomeCallable; + typedef std::future ListChannelNamespacesOutcomeCallable; typedef std::future ListDataSourcesOutcomeCallable; typedef std::future ListDomainNamesOutcomeCallable; typedef std::future ListFunctionsOutcomeCallable; @@ -314,8 +353,10 @@ namespace Aws typedef std::future StartSchemaMergeOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; + typedef std::future UpdateApiOutcomeCallable; typedef std::future UpdateApiCacheOutcomeCallable; typedef std::future UpdateApiKeyOutcomeCallable; + typedef std::future UpdateChannelNamespaceOutcomeCallable; typedef std::future UpdateDataSourceOutcomeCallable; typedef std::future UpdateDomainNameOutcomeCallable; typedef std::future UpdateFunctionOutcomeCallable; @@ -332,16 +373,20 @@ namespace Aws typedef std::function&) > AssociateApiResponseReceivedHandler; typedef std::function&) > AssociateMergedGraphqlApiResponseReceivedHandler; typedef std::function&) > AssociateSourceGraphqlApiResponseReceivedHandler; + typedef std::function&) > CreateApiResponseReceivedHandler; typedef std::function&) > CreateApiCacheResponseReceivedHandler; typedef std::function&) > CreateApiKeyResponseReceivedHandler; + typedef std::function&) > CreateChannelNamespaceResponseReceivedHandler; typedef std::function&) > CreateDataSourceResponseReceivedHandler; typedef std::function&) > CreateDomainNameResponseReceivedHandler; typedef std::function&) > CreateFunctionResponseReceivedHandler; typedef std::function&) > CreateGraphqlApiResponseReceivedHandler; typedef std::function&) > CreateResolverResponseReceivedHandler; typedef std::function&) > CreateTypeResponseReceivedHandler; + typedef std::function&) > DeleteApiResponseReceivedHandler; typedef std::function&) > DeleteApiCacheResponseReceivedHandler; typedef std::function&) > DeleteApiKeyResponseReceivedHandler; + typedef std::function&) > DeleteChannelNamespaceResponseReceivedHandler; typedef std::function&) > DeleteDataSourceResponseReceivedHandler; typedef std::function&) > DeleteDomainNameResponseReceivedHandler; typedef std::function&) > DeleteFunctionResponseReceivedHandler; @@ -354,8 +399,10 @@ namespace Aws typedef std::function&) > EvaluateCodeResponseReceivedHandler; typedef std::function&) > EvaluateMappingTemplateResponseReceivedHandler; typedef std::function&) > FlushApiCacheResponseReceivedHandler; + typedef std::function&) > GetApiResponseReceivedHandler; typedef std::function&) > GetApiAssociationResponseReceivedHandler; typedef std::function&) > GetApiCacheResponseReceivedHandler; + typedef std::function&) > GetChannelNamespaceResponseReceivedHandler; typedef std::function&) > GetDataSourceResponseReceivedHandler; typedef std::function&) > GetDataSourceIntrospectionResponseReceivedHandler; typedef std::function&) > GetDomainNameResponseReceivedHandler; @@ -368,6 +415,8 @@ namespace Aws typedef std::function&) > GetSourceApiAssociationResponseReceivedHandler; typedef std::function&) > GetTypeResponseReceivedHandler; typedef std::function&) > ListApiKeysResponseReceivedHandler; + typedef std::function&) > ListApisResponseReceivedHandler; + typedef std::function&) > ListChannelNamespacesResponseReceivedHandler; typedef std::function&) > ListDataSourcesResponseReceivedHandler; typedef std::function&) > ListDomainNamesResponseReceivedHandler; typedef std::function&) > ListFunctionsResponseReceivedHandler; @@ -384,8 +433,10 @@ namespace Aws typedef std::function&) > StartSchemaMergeResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; + typedef std::function&) > UpdateApiResponseReceivedHandler; typedef std::function&) > UpdateApiCacheResponseReceivedHandler; typedef std::function&) > UpdateApiKeyResponseReceivedHandler; + typedef std::function&) > UpdateChannelNamespaceResponseReceivedHandler; typedef std::function&) > UpdateDataSourceResponseReceivedHandler; typedef std::function&) > UpdateDomainNameResponseReceivedHandler; typedef std::function&) > UpdateFunctionResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/Api.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/Api.h new file mode 100644 index 00000000000..52fcb5b5b23 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/Api.h @@ -0,0 +1,223 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + + /** + *

Describes an AppSync API. You can use Api for an AppSync API + * with your preferred configuration, such as an Event API that provides real-time + * message publishing and message subscriptions over WebSockets.

See + * Also:

AWS API + * Reference

+ */ + class Api + { + public: + AWS_APPSYNC_API Api(); + AWS_APPSYNC_API Api(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API Api& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The Api ID.

+ */ + 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 Api& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} + inline Api& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} + inline Api& WithApiId(const char* value) { SetApiId(value); return *this;} + ///@} + + ///@{ + /** + *

The name of the Api.

+ */ + 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 Api& WithName(const Aws::String& value) { SetName(value); return *this;} + inline Api& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline Api& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

The owner contact information for the Api

+ */ + inline const Aws::String& GetOwnerContact() const{ return m_ownerContact; } + inline bool OwnerContactHasBeenSet() const { return m_ownerContactHasBeenSet; } + inline void SetOwnerContact(const Aws::String& value) { m_ownerContactHasBeenSet = true; m_ownerContact = value; } + inline void SetOwnerContact(Aws::String&& value) { m_ownerContactHasBeenSet = true; m_ownerContact = std::move(value); } + inline void SetOwnerContact(const char* value) { m_ownerContactHasBeenSet = true; m_ownerContact.assign(value); } + inline Api& WithOwnerContact(const Aws::String& value) { SetOwnerContact(value); return *this;} + inline Api& WithOwnerContact(Aws::String&& value) { SetOwnerContact(std::move(value)); return *this;} + inline Api& WithOwnerContact(const char* value) { SetOwnerContact(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline Api& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline Api& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline Api& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline Api& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline Api& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline Api& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline Api& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline Api& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline Api& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

The DNS records for the API. This will include an HTTP and a real-time + * endpoint.

+ */ + inline const Aws::Map& GetDns() const{ return m_dns; } + inline bool DnsHasBeenSet() const { return m_dnsHasBeenSet; } + inline void SetDns(const Aws::Map& value) { m_dnsHasBeenSet = true; m_dns = value; } + inline void SetDns(Aws::Map&& value) { m_dnsHasBeenSet = true; m_dns = std::move(value); } + inline Api& WithDns(const Aws::Map& value) { SetDns(value); return *this;} + inline Api& WithDns(Aws::Map&& value) { SetDns(std::move(value)); return *this;} + inline Api& AddDns(const Aws::String& key, const Aws::String& value) { m_dnsHasBeenSet = true; m_dns.emplace(key, value); return *this; } + inline Api& AddDns(Aws::String&& key, const Aws::String& value) { m_dnsHasBeenSet = true; m_dns.emplace(std::move(key), value); return *this; } + inline Api& AddDns(const Aws::String& key, Aws::String&& value) { m_dnsHasBeenSet = true; m_dns.emplace(key, std::move(value)); return *this; } + inline Api& AddDns(Aws::String&& key, Aws::String&& value) { m_dnsHasBeenSet = true; m_dns.emplace(std::move(key), std::move(value)); return *this; } + inline Api& AddDns(const char* key, Aws::String&& value) { m_dnsHasBeenSet = true; m_dns.emplace(key, std::move(value)); return *this; } + inline Api& AddDns(Aws::String&& key, const char* value) { m_dnsHasBeenSet = true; m_dns.emplace(std::move(key), value); return *this; } + inline Api& AddDns(const char* key, const char* value) { m_dnsHasBeenSet = true; m_dns.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

The Amazon Resource Name (ARN) for the Api.

+ */ + inline const Aws::String& GetApiArn() const{ return m_apiArn; } + inline bool ApiArnHasBeenSet() const { return m_apiArnHasBeenSet; } + inline void SetApiArn(const Aws::String& value) { m_apiArnHasBeenSet = true; m_apiArn = value; } + inline void SetApiArn(Aws::String&& value) { m_apiArnHasBeenSet = true; m_apiArn = std::move(value); } + inline void SetApiArn(const char* value) { m_apiArnHasBeenSet = true; m_apiArn.assign(value); } + inline Api& WithApiArn(const Aws::String& value) { SetApiArn(value); return *this;} + inline Api& WithApiArn(Aws::String&& value) { SetApiArn(std::move(value)); return *this;} + inline Api& WithApiArn(const char* value) { SetApiArn(value); return *this;} + ///@} + + ///@{ + /** + *

The date and time that the Api was created.

+ */ + inline const Aws::Utils::DateTime& GetCreated() const{ return m_created; } + inline bool CreatedHasBeenSet() const { return m_createdHasBeenSet; } + inline void SetCreated(const Aws::Utils::DateTime& value) { m_createdHasBeenSet = true; m_created = value; } + inline void SetCreated(Aws::Utils::DateTime&& value) { m_createdHasBeenSet = true; m_created = std::move(value); } + inline Api& WithCreated(const Aws::Utils::DateTime& value) { SetCreated(value); return *this;} + inline Api& WithCreated(Aws::Utils::DateTime&& value) { SetCreated(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

A flag indicating whether to use X-Ray tracing for this Api.

+ */ + inline bool GetXrayEnabled() const{ return m_xrayEnabled; } + inline bool XrayEnabledHasBeenSet() const { return m_xrayEnabledHasBeenSet; } + inline void SetXrayEnabled(bool value) { m_xrayEnabledHasBeenSet = true; m_xrayEnabled = value; } + inline Api& WithXrayEnabled(bool value) { SetXrayEnabled(value); return *this;} + ///@} + + ///@{ + /** + *

The Amazon Resource Name (ARN) of the WAF web access control list (web ACL) + * associated with this Api, if one exists.

+ */ + inline const Aws::String& GetWafWebAclArn() const{ return m_wafWebAclArn; } + inline bool WafWebAclArnHasBeenSet() const { return m_wafWebAclArnHasBeenSet; } + inline void SetWafWebAclArn(const Aws::String& value) { m_wafWebAclArnHasBeenSet = true; m_wafWebAclArn = value; } + inline void SetWafWebAclArn(Aws::String&& value) { m_wafWebAclArnHasBeenSet = true; m_wafWebAclArn = std::move(value); } + inline void SetWafWebAclArn(const char* value) { m_wafWebAclArnHasBeenSet = true; m_wafWebAclArn.assign(value); } + inline Api& WithWafWebAclArn(const Aws::String& value) { SetWafWebAclArn(value); return *this;} + inline Api& WithWafWebAclArn(Aws::String&& value) { SetWafWebAclArn(std::move(value)); return *this;} + inline Api& WithWafWebAclArn(const char* value) { SetWafWebAclArn(value); return *this;} + ///@} + + ///@{ + /** + *

The Event API configuration. This includes the default authorization + * configuration for connecting, publishing, and subscribing to an Event API.

+ */ + inline const EventConfig& GetEventConfig() const{ return m_eventConfig; } + inline bool EventConfigHasBeenSet() const { return m_eventConfigHasBeenSet; } + inline void SetEventConfig(const EventConfig& value) { m_eventConfigHasBeenSet = true; m_eventConfig = value; } + inline void SetEventConfig(EventConfig&& value) { m_eventConfigHasBeenSet = true; m_eventConfig = std::move(value); } + inline Api& WithEventConfig(const EventConfig& value) { SetEventConfig(value); return *this;} + inline Api& WithEventConfig(EventConfig&& value) { SetEventConfig(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_apiId; + bool m_apiIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_ownerContact; + bool m_ownerContactHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::Map m_dns; + bool m_dnsHasBeenSet = false; + + Aws::String m_apiArn; + bool m_apiArnHasBeenSet = false; + + Aws::Utils::DateTime m_created; + bool m_createdHasBeenSet = false; + + bool m_xrayEnabled; + bool m_xrayEnabledHasBeenSet = false; + + Aws::String m_wafWebAclArn; + bool m_wafWebAclArnHasBeenSet = false; + + EventConfig m_eventConfig; + bool m_eventConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/AuthMode.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/AuthMode.h new file mode 100644 index 00000000000..b41c86e7349 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/AuthMode.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + + /** + *

Describes an authorization configuration. Use AuthMode to + * specify the publishing and subscription authorization configuration for an Event + * API.

See Also:

AWS + * API Reference

+ */ + class AuthMode + { + public: + AWS_APPSYNC_API AuthMode(); + AWS_APPSYNC_API AuthMode(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API AuthMode& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The authorization type.

+ */ + inline const AuthenticationType& GetAuthType() const{ return m_authType; } + inline bool AuthTypeHasBeenSet() const { return m_authTypeHasBeenSet; } + inline void SetAuthType(const AuthenticationType& value) { m_authTypeHasBeenSet = true; m_authType = value; } + inline void SetAuthType(AuthenticationType&& value) { m_authTypeHasBeenSet = true; m_authType = std::move(value); } + inline AuthMode& WithAuthType(const AuthenticationType& value) { SetAuthType(value); return *this;} + inline AuthMode& WithAuthType(AuthenticationType&& value) { SetAuthType(std::move(value)); return *this;} + ///@} + private: + + AuthenticationType m_authType; + bool m_authTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/AuthProvider.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/AuthProvider.h new file mode 100644 index 00000000000..2fcc126c922 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/AuthProvider.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + + /** + *

Describes an authorization provider.

See Also:

AWS + * API Reference

+ */ + class AuthProvider + { + public: + AWS_APPSYNC_API AuthProvider(); + AWS_APPSYNC_API AuthProvider(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API AuthProvider& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The authorization type.

+ */ + inline const AuthenticationType& GetAuthType() const{ return m_authType; } + inline bool AuthTypeHasBeenSet() const { return m_authTypeHasBeenSet; } + inline void SetAuthType(const AuthenticationType& value) { m_authTypeHasBeenSet = true; m_authType = value; } + inline void SetAuthType(AuthenticationType&& value) { m_authTypeHasBeenSet = true; m_authType = std::move(value); } + inline AuthProvider& WithAuthType(const AuthenticationType& value) { SetAuthType(value); return *this;} + inline AuthProvider& WithAuthType(AuthenticationType&& value) { SetAuthType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

Describes an Amazon Cognito user pool configuration.

+ */ + inline const CognitoConfig& GetCognitoConfig() const{ return m_cognitoConfig; } + inline bool CognitoConfigHasBeenSet() const { return m_cognitoConfigHasBeenSet; } + inline void SetCognitoConfig(const CognitoConfig& value) { m_cognitoConfigHasBeenSet = true; m_cognitoConfig = value; } + inline void SetCognitoConfig(CognitoConfig&& value) { m_cognitoConfigHasBeenSet = true; m_cognitoConfig = std::move(value); } + inline AuthProvider& WithCognitoConfig(const CognitoConfig& value) { SetCognitoConfig(value); return *this;} + inline AuthProvider& WithCognitoConfig(CognitoConfig&& value) { SetCognitoConfig(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const OpenIDConnectConfig& GetOpenIDConnectConfig() const{ return m_openIDConnectConfig; } + inline bool OpenIDConnectConfigHasBeenSet() const { return m_openIDConnectConfigHasBeenSet; } + inline void SetOpenIDConnectConfig(const OpenIDConnectConfig& value) { m_openIDConnectConfigHasBeenSet = true; m_openIDConnectConfig = value; } + inline void SetOpenIDConnectConfig(OpenIDConnectConfig&& value) { m_openIDConnectConfigHasBeenSet = true; m_openIDConnectConfig = std::move(value); } + inline AuthProvider& WithOpenIDConnectConfig(const OpenIDConnectConfig& value) { SetOpenIDConnectConfig(value); return *this;} + inline AuthProvider& WithOpenIDConnectConfig(OpenIDConnectConfig&& value) { SetOpenIDConnectConfig(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const LambdaAuthorizerConfig& GetLambdaAuthorizerConfig() const{ return m_lambdaAuthorizerConfig; } + inline bool LambdaAuthorizerConfigHasBeenSet() const { return m_lambdaAuthorizerConfigHasBeenSet; } + inline void SetLambdaAuthorizerConfig(const LambdaAuthorizerConfig& value) { m_lambdaAuthorizerConfigHasBeenSet = true; m_lambdaAuthorizerConfig = value; } + inline void SetLambdaAuthorizerConfig(LambdaAuthorizerConfig&& value) { m_lambdaAuthorizerConfigHasBeenSet = true; m_lambdaAuthorizerConfig = std::move(value); } + inline AuthProvider& WithLambdaAuthorizerConfig(const LambdaAuthorizerConfig& value) { SetLambdaAuthorizerConfig(value); return *this;} + inline AuthProvider& WithLambdaAuthorizerConfig(LambdaAuthorizerConfig&& value) { SetLambdaAuthorizerConfig(std::move(value)); return *this;} + ///@} + private: + + AuthenticationType m_authType; + bool m_authTypeHasBeenSet = false; + + CognitoConfig m_cognitoConfig; + bool m_cognitoConfigHasBeenSet = false; + + OpenIDConnectConfig m_openIDConnectConfig; + bool m_openIDConnectConfigHasBeenSet = false; + + LambdaAuthorizerConfig m_lambdaAuthorizerConfig; + bool m_lambdaAuthorizerConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ChannelNamespace.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ChannelNamespace.h new file mode 100644 index 00000000000..0225be6ab62 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ChannelNamespace.h @@ -0,0 +1,209 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + + /** + *

Describes a channel namespace associated with an Api. The + * ChannelNamespace contains the definitions for code handlers for the + * Api.

See Also:

AWS + * API Reference

+ */ + class ChannelNamespace + { + public: + AWS_APPSYNC_API ChannelNamespace(); + AWS_APPSYNC_API ChannelNamespace(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API ChannelNamespace& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The Api ID.

+ */ + 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 ChannelNamespace& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} + inline ChannelNamespace& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} + inline ChannelNamespace& WithApiId(const char* value) { SetApiId(value); return *this;} + ///@} + + ///@{ + /** + *

The name of the channel namespace. This name must be unique within the + * Api.

+ */ + 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 ChannelNamespace& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ChannelNamespace& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ChannelNamespace& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

The authorization mode to use for subscribing to messages on the channel + * namespace. This configuration overrides the default + * Apiauthorization configuration.

+ */ + inline const Aws::Vector& GetSubscribeAuthModes() const{ return m_subscribeAuthModes; } + inline bool SubscribeAuthModesHasBeenSet() const { return m_subscribeAuthModesHasBeenSet; } + inline void SetSubscribeAuthModes(const Aws::Vector& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes = value; } + inline void SetSubscribeAuthModes(Aws::Vector&& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes = std::move(value); } + inline ChannelNamespace& WithSubscribeAuthModes(const Aws::Vector& value) { SetSubscribeAuthModes(value); return *this;} + inline ChannelNamespace& WithSubscribeAuthModes(Aws::Vector&& value) { SetSubscribeAuthModes(std::move(value)); return *this;} + inline ChannelNamespace& AddSubscribeAuthModes(const AuthMode& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes.push_back(value); return *this; } + inline ChannelNamespace& AddSubscribeAuthModes(AuthMode&& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The authorization mode to use for publishing messages on the channel + * namespace. This configuration overrides the default + * Apiauthorization configuration.

+ */ + inline const Aws::Vector& GetPublishAuthModes() const{ return m_publishAuthModes; } + inline bool PublishAuthModesHasBeenSet() const { return m_publishAuthModesHasBeenSet; } + inline void SetPublishAuthModes(const Aws::Vector& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes = value; } + inline void SetPublishAuthModes(Aws::Vector&& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes = std::move(value); } + inline ChannelNamespace& WithPublishAuthModes(const Aws::Vector& value) { SetPublishAuthModes(value); return *this;} + inline ChannelNamespace& WithPublishAuthModes(Aws::Vector&& value) { SetPublishAuthModes(std::move(value)); return *this;} + inline ChannelNamespace& AddPublishAuthModes(const AuthMode& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes.push_back(value); return *this; } + inline ChannelNamespace& AddPublishAuthModes(AuthMode&& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The event handler functions that run custom business logic to process + * published events and subscribe requests.

+ */ + inline const Aws::String& GetCodeHandlers() const{ return m_codeHandlers; } + inline bool CodeHandlersHasBeenSet() const { return m_codeHandlersHasBeenSet; } + inline void SetCodeHandlers(const Aws::String& value) { m_codeHandlersHasBeenSet = true; m_codeHandlers = value; } + inline void SetCodeHandlers(Aws::String&& value) { m_codeHandlersHasBeenSet = true; m_codeHandlers = std::move(value); } + inline void SetCodeHandlers(const char* value) { m_codeHandlersHasBeenSet = true; m_codeHandlers.assign(value); } + inline ChannelNamespace& WithCodeHandlers(const Aws::String& value) { SetCodeHandlers(value); return *this;} + inline ChannelNamespace& WithCodeHandlers(Aws::String&& value) { SetCodeHandlers(std::move(value)); return *this;} + inline ChannelNamespace& WithCodeHandlers(const char* value) { SetCodeHandlers(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline ChannelNamespace& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline ChannelNamespace& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline ChannelNamespace& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline ChannelNamespace& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline ChannelNamespace& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline ChannelNamespace& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline ChannelNamespace& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline ChannelNamespace& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline ChannelNamespace& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

The Amazon Resource Name (ARN) for the ChannelNamespace.

+ */ + inline const Aws::String& GetChannelNamespaceArn() const{ return m_channelNamespaceArn; } + inline bool ChannelNamespaceArnHasBeenSet() const { return m_channelNamespaceArnHasBeenSet; } + inline void SetChannelNamespaceArn(const Aws::String& value) { m_channelNamespaceArnHasBeenSet = true; m_channelNamespaceArn = value; } + inline void SetChannelNamespaceArn(Aws::String&& value) { m_channelNamespaceArnHasBeenSet = true; m_channelNamespaceArn = std::move(value); } + inline void SetChannelNamespaceArn(const char* value) { m_channelNamespaceArnHasBeenSet = true; m_channelNamespaceArn.assign(value); } + inline ChannelNamespace& WithChannelNamespaceArn(const Aws::String& value) { SetChannelNamespaceArn(value); return *this;} + inline ChannelNamespace& WithChannelNamespaceArn(Aws::String&& value) { SetChannelNamespaceArn(std::move(value)); return *this;} + inline ChannelNamespace& WithChannelNamespaceArn(const char* value) { SetChannelNamespaceArn(value); return *this;} + ///@} + + ///@{ + /** + *

The date and time that the ChannelNamespace was created.

+ */ + inline const Aws::Utils::DateTime& GetCreated() const{ return m_created; } + inline bool CreatedHasBeenSet() const { return m_createdHasBeenSet; } + inline void SetCreated(const Aws::Utils::DateTime& value) { m_createdHasBeenSet = true; m_created = value; } + inline void SetCreated(Aws::Utils::DateTime&& value) { m_createdHasBeenSet = true; m_created = std::move(value); } + inline ChannelNamespace& WithCreated(const Aws::Utils::DateTime& value) { SetCreated(value); return *this;} + inline ChannelNamespace& WithCreated(Aws::Utils::DateTime&& value) { SetCreated(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The date and time that the ChannelNamespace was last + * changed.

+ */ + inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } + inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } + inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } + inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } + inline ChannelNamespace& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} + inline ChannelNamespace& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_apiId; + bool m_apiIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_subscribeAuthModes; + bool m_subscribeAuthModesHasBeenSet = false; + + Aws::Vector m_publishAuthModes; + bool m_publishAuthModesHasBeenSet = false; + + Aws::String m_codeHandlers; + bool m_codeHandlersHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + Aws::String m_channelNamespaceArn; + bool m_channelNamespaceArnHasBeenSet = false; + + Aws::Utils::DateTime m_created; + bool m_createdHasBeenSet = false; + + Aws::Utils::DateTime m_lastModified; + bool m_lastModifiedHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CognitoConfig.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CognitoConfig.h new file mode 100644 index 00000000000..f1056898d53 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CognitoConfig.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + + /** + *

Describes an Amazon Cognito configuration.

See Also:

AWS + * API Reference

+ */ + class CognitoConfig + { + public: + AWS_APPSYNC_API CognitoConfig(); + AWS_APPSYNC_API CognitoConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API CognitoConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The user pool ID.

+ */ + inline const Aws::String& GetUserPoolId() const{ return m_userPoolId; } + inline bool UserPoolIdHasBeenSet() const { return m_userPoolIdHasBeenSet; } + inline void SetUserPoolId(const Aws::String& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = value; } + inline void SetUserPoolId(Aws::String&& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = std::move(value); } + inline void SetUserPoolId(const char* value) { m_userPoolIdHasBeenSet = true; m_userPoolId.assign(value); } + inline CognitoConfig& WithUserPoolId(const Aws::String& value) { SetUserPoolId(value); return *this;} + inline CognitoConfig& WithUserPoolId(Aws::String&& value) { SetUserPoolId(std::move(value)); return *this;} + inline CognitoConfig& WithUserPoolId(const char* value) { SetUserPoolId(value); return *this;} + ///@} + + ///@{ + /** + *

The Amazon Web Services Region in which the user pool was created.

+ */ + inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; } + inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; } + inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; } + inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); } + inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); } + inline CognitoConfig& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} + inline CognitoConfig& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} + inline CognitoConfig& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;} + ///@} + + ///@{ + /** + *

A regular expression for validating the incoming Amazon Cognito user pool app + * client ID. If this value isn't set, no filtering is applied.

+ */ + inline const Aws::String& GetAppIdClientRegex() const{ return m_appIdClientRegex; } + inline bool AppIdClientRegexHasBeenSet() const { return m_appIdClientRegexHasBeenSet; } + inline void SetAppIdClientRegex(const Aws::String& value) { m_appIdClientRegexHasBeenSet = true; m_appIdClientRegex = value; } + inline void SetAppIdClientRegex(Aws::String&& value) { m_appIdClientRegexHasBeenSet = true; m_appIdClientRegex = std::move(value); } + inline void SetAppIdClientRegex(const char* value) { m_appIdClientRegexHasBeenSet = true; m_appIdClientRegex.assign(value); } + inline CognitoConfig& WithAppIdClientRegex(const Aws::String& value) { SetAppIdClientRegex(value); return *this;} + inline CognitoConfig& WithAppIdClientRegex(Aws::String&& value) { SetAppIdClientRegex(std::move(value)); return *this;} + inline CognitoConfig& WithAppIdClientRegex(const char* value) { SetAppIdClientRegex(value); return *this;} + ///@} + private: + + Aws::String m_userPoolId; + bool m_userPoolIdHasBeenSet = false; + + Aws::String m_awsRegion; + bool m_awsRegionHasBeenSet = false; + + Aws::String m_appIdClientRegex; + bool m_appIdClientRegexHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiRequest.h new file mode 100644 index 00000000000..2bbe5bd3d69 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiRequest.h @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + + /** + */ + class CreateApiRequest : public AppSyncRequest + { + public: + AWS_APPSYNC_API CreateApiRequest(); + + // 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 "CreateApi"; } + + AWS_APPSYNC_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The name for the Api.

+ */ + 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 CreateApiRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateApiRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateApiRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

The owner contact information for the Api.

+ */ + inline const Aws::String& GetOwnerContact() const{ return m_ownerContact; } + inline bool OwnerContactHasBeenSet() const { return m_ownerContactHasBeenSet; } + inline void SetOwnerContact(const Aws::String& value) { m_ownerContactHasBeenSet = true; m_ownerContact = value; } + inline void SetOwnerContact(Aws::String&& value) { m_ownerContactHasBeenSet = true; m_ownerContact = std::move(value); } + inline void SetOwnerContact(const char* value) { m_ownerContactHasBeenSet = true; m_ownerContact.assign(value); } + inline CreateApiRequest& WithOwnerContact(const Aws::String& value) { SetOwnerContact(value); return *this;} + inline CreateApiRequest& WithOwnerContact(Aws::String&& value) { SetOwnerContact(std::move(value)); return *this;} + inline CreateApiRequest& WithOwnerContact(const char* value) { SetOwnerContact(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateApiRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateApiRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateApiRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateApiRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateApiRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateApiRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateApiRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateApiRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateApiRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + + ///@{ + /** + *

The Event API configuration. This includes the default authorization + * configuration for connecting, publishing, and subscribing to an Event API.

+ */ + inline const EventConfig& GetEventConfig() const{ return m_eventConfig; } + inline bool EventConfigHasBeenSet() const { return m_eventConfigHasBeenSet; } + inline void SetEventConfig(const EventConfig& value) { m_eventConfigHasBeenSet = true; m_eventConfig = value; } + inline void SetEventConfig(EventConfig&& value) { m_eventConfigHasBeenSet = true; m_eventConfig = std::move(value); } + inline CreateApiRequest& WithEventConfig(const EventConfig& value) { SetEventConfig(value); return *this;} + inline CreateApiRequest& WithEventConfig(EventConfig&& value) { SetEventConfig(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_ownerContact; + bool m_ownerContactHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + + EventConfig m_eventConfig; + bool m_eventConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiResult.h new file mode 100644 index 00000000000..d12aab71c60 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateApiResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + class CreateApiResult + { + public: + AWS_APPSYNC_API CreateApiResult(); + AWS_APPSYNC_API CreateApiResult(const Aws::AmazonWebServiceResult& result); + AWS_APPSYNC_API CreateApiResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The Api object.

+ */ + inline const Api& GetApi() const{ return m_api; } + inline void SetApi(const Api& value) { m_api = value; } + inline void SetApi(Api&& value) { m_api = std::move(value); } + inline CreateApiResult& WithApi(const Api& value) { SetApi(value); return *this;} + inline CreateApiResult& WithApi(Api&& value) { SetApi(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 CreateApiResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateApiResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateApiResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Api m_api; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateChannelNamespaceRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateChannelNamespaceRequest.h new file mode 100644 index 00000000000..8337ccc1a81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateChannelNamespaceRequest.h @@ -0,0 +1,153 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + + /** + */ + class CreateChannelNamespaceRequest : public AppSyncRequest + { + public: + AWS_APPSYNC_API CreateChannelNamespaceRequest(); + + // 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 "CreateChannelNamespace"; } + + AWS_APPSYNC_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The Api ID.

+ */ + 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 CreateChannelNamespaceRequest& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} + inline CreateChannelNamespaceRequest& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} + inline CreateChannelNamespaceRequest& WithApiId(const char* value) { SetApiId(value); return *this;} + ///@} + + ///@{ + /** + *

The name of the ChannelNamespace. This name must be unique + * within the Api

+ */ + 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 CreateChannelNamespaceRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateChannelNamespaceRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateChannelNamespaceRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

The authorization mode to use for subscribing to messages on the channel + * namespace. This configuration overrides the default Api + * authorization configuration.

+ */ + inline const Aws::Vector& GetSubscribeAuthModes() const{ return m_subscribeAuthModes; } + inline bool SubscribeAuthModesHasBeenSet() const { return m_subscribeAuthModesHasBeenSet; } + inline void SetSubscribeAuthModes(const Aws::Vector& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes = value; } + inline void SetSubscribeAuthModes(Aws::Vector&& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes = std::move(value); } + inline CreateChannelNamespaceRequest& WithSubscribeAuthModes(const Aws::Vector& value) { SetSubscribeAuthModes(value); return *this;} + inline CreateChannelNamespaceRequest& WithSubscribeAuthModes(Aws::Vector&& value) { SetSubscribeAuthModes(std::move(value)); return *this;} + inline CreateChannelNamespaceRequest& AddSubscribeAuthModes(const AuthMode& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes.push_back(value); return *this; } + inline CreateChannelNamespaceRequest& AddSubscribeAuthModes(AuthMode&& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The authorization mode to use for publishing messages on the channel + * namespace. This configuration overrides the default Api + * authorization configuration.

+ */ + inline const Aws::Vector& GetPublishAuthModes() const{ return m_publishAuthModes; } + inline bool PublishAuthModesHasBeenSet() const { return m_publishAuthModesHasBeenSet; } + inline void SetPublishAuthModes(const Aws::Vector& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes = value; } + inline void SetPublishAuthModes(Aws::Vector&& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes = std::move(value); } + inline CreateChannelNamespaceRequest& WithPublishAuthModes(const Aws::Vector& value) { SetPublishAuthModes(value); return *this;} + inline CreateChannelNamespaceRequest& WithPublishAuthModes(Aws::Vector&& value) { SetPublishAuthModes(std::move(value)); return *this;} + inline CreateChannelNamespaceRequest& AddPublishAuthModes(const AuthMode& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes.push_back(value); return *this; } + inline CreateChannelNamespaceRequest& AddPublishAuthModes(AuthMode&& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The event handler functions that run custom business logic to process + * published events and subscribe requests.

+ */ + inline const Aws::String& GetCodeHandlers() const{ return m_codeHandlers; } + inline bool CodeHandlersHasBeenSet() const { return m_codeHandlersHasBeenSet; } + inline void SetCodeHandlers(const Aws::String& value) { m_codeHandlersHasBeenSet = true; m_codeHandlers = value; } + inline void SetCodeHandlers(Aws::String&& value) { m_codeHandlersHasBeenSet = true; m_codeHandlers = std::move(value); } + inline void SetCodeHandlers(const char* value) { m_codeHandlersHasBeenSet = true; m_codeHandlers.assign(value); } + inline CreateChannelNamespaceRequest& WithCodeHandlers(const Aws::String& value) { SetCodeHandlers(value); return *this;} + inline CreateChannelNamespaceRequest& WithCodeHandlers(Aws::String&& value) { SetCodeHandlers(std::move(value)); return *this;} + inline CreateChannelNamespaceRequest& WithCodeHandlers(const char* value) { SetCodeHandlers(value); return *this;} + ///@} + + ///@{ + + inline const Aws::Map& GetTags() const{ return m_tags; } + inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } + inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } + inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } + inline CreateChannelNamespaceRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} + inline CreateChannelNamespaceRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} + inline CreateChannelNamespaceRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + inline CreateChannelNamespaceRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateChannelNamespaceRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateChannelNamespaceRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } + inline CreateChannelNamespaceRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } + inline CreateChannelNamespaceRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } + inline CreateChannelNamespaceRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } + ///@} + private: + + Aws::String m_apiId; + bool m_apiIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_subscribeAuthModes; + bool m_subscribeAuthModesHasBeenSet = false; + + Aws::Vector m_publishAuthModes; + bool m_publishAuthModesHasBeenSet = false; + + Aws::String m_codeHandlers; + bool m_codeHandlersHasBeenSet = false; + + Aws::Map m_tags; + bool m_tagsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateChannelNamespaceResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateChannelNamespaceResult.h new file mode 100644 index 00000000000..0d9ba4c5160 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateChannelNamespaceResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + class CreateChannelNamespaceResult + { + public: + AWS_APPSYNC_API CreateChannelNamespaceResult(); + AWS_APPSYNC_API CreateChannelNamespaceResult(const Aws::AmazonWebServiceResult& result); + AWS_APPSYNC_API CreateChannelNamespaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The ChannelNamespace object.

+ */ + inline const ChannelNamespace& GetChannelNamespace() const{ return m_channelNamespace; } + inline void SetChannelNamespace(const ChannelNamespace& value) { m_channelNamespace = value; } + inline void SetChannelNamespace(ChannelNamespace&& value) { m_channelNamespace = std::move(value); } + inline CreateChannelNamespaceResult& WithChannelNamespace(const ChannelNamespace& value) { SetChannelNamespace(value); return *this;} + inline CreateChannelNamespaceResult& WithChannelNamespace(ChannelNamespace&& value) { SetChannelNamespace(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 CreateChannelNamespaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateChannelNamespaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateChannelNamespaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + ChannelNamespace m_channelNamespace; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateGraphqlApiRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateGraphqlApiRequest.h index 2083901f456..b066e419e92 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateGraphqlApiRequest.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/CreateGraphqlApiRequest.h @@ -14,8 +14,8 @@ #include #include #include -#include #include +#include #include #include #include @@ -164,21 +164,6 @@ namespace Model inline CreateGraphqlApiRequest& WithLambdaAuthorizerConfig(LambdaAuthorizerConfig&& value) { SetLambdaAuthorizerConfig(std::move(value)); return *this;} ///@} - ///@{ - /** - *

Sets the value of the GraphQL API to public (GLOBAL) or private - * (PRIVATE). If no value is provided, the visibility will be set to - * GLOBAL by default. This value cannot be changed once the API has - * been created.

- */ - inline const GraphQLApiVisibility& GetVisibility() const{ return m_visibility; } - inline bool VisibilityHasBeenSet() const { return m_visibilityHasBeenSet; } - inline void SetVisibility(const GraphQLApiVisibility& value) { m_visibilityHasBeenSet = true; m_visibility = value; } - inline void SetVisibility(GraphQLApiVisibility&& value) { m_visibilityHasBeenSet = true; m_visibility = std::move(value); } - inline CreateGraphqlApiRequest& WithVisibility(const GraphQLApiVisibility& value) { SetVisibility(value); return *this;} - inline CreateGraphqlApiRequest& WithVisibility(GraphQLApiVisibility&& value) { SetVisibility(std::move(value)); return *this;} - ///@} - ///@{ /** *

The value that indicates whether the GraphQL API is a standard API @@ -209,6 +194,21 @@ namespace Model inline CreateGraphqlApiRequest& WithMergedApiExecutionRoleArn(const char* value) { SetMergedApiExecutionRoleArn(value); return *this;} ///@} + ///@{ + /** + *

Sets the value of the GraphQL API to public (GLOBAL) or private + * (PRIVATE). If no value is provided, the visibility will be set to + * GLOBAL by default. This value cannot be changed once the API has + * been created.

+ */ + inline const GraphQLApiVisibility& GetVisibility() const{ return m_visibility; } + inline bool VisibilityHasBeenSet() const { return m_visibilityHasBeenSet; } + inline void SetVisibility(const GraphQLApiVisibility& value) { m_visibilityHasBeenSet = true; m_visibility = value; } + inline void SetVisibility(GraphQLApiVisibility&& value) { m_visibilityHasBeenSet = true; m_visibility = std::move(value); } + inline CreateGraphqlApiRequest& WithVisibility(const GraphQLApiVisibility& value) { SetVisibility(value); return *this;} + inline CreateGraphqlApiRequest& WithVisibility(GraphQLApiVisibility&& value) { SetVisibility(std::move(value)); return *this;} + ///@} + ///@{ /** *

The owner contact information for an API resource.

This field accepts @@ -313,15 +313,15 @@ namespace Model LambdaAuthorizerConfig m_lambdaAuthorizerConfig; bool m_lambdaAuthorizerConfigHasBeenSet = false; - GraphQLApiVisibility m_visibility; - bool m_visibilityHasBeenSet = false; - GraphQLApiType m_apiType; bool m_apiTypeHasBeenSet = false; Aws::String m_mergedApiExecutionRoleArn; bool m_mergedApiExecutionRoleArnHasBeenSet = false; + GraphQLApiVisibility m_visibility; + bool m_visibilityHasBeenSet = false; + Aws::String m_ownerContact; bool m_ownerContactHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteApiRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteApiRequest.h new file mode 100644 index 00000000000..b7a7bbda4bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteApiRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + + /** + */ + class DeleteApiRequest : public AppSyncRequest + { + public: + AWS_APPSYNC_API DeleteApiRequest(); + + // 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 "DeleteApi"; } + + AWS_APPSYNC_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The Api ID.

+ */ + 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 DeleteApiRequest& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} + inline DeleteApiRequest& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} + inline DeleteApiRequest& WithApiId(const char* value) { SetApiId(value); return *this;} + ///@} + private: + + Aws::String m_apiId; + bool m_apiIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteApiResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteApiResult.h new file mode 100644 index 00000000000..e15deb79a1c --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteApiResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + class DeleteApiResult + { + public: + AWS_APPSYNC_API DeleteApiResult(); + AWS_APPSYNC_API DeleteApiResult(const Aws::AmazonWebServiceResult& result); + AWS_APPSYNC_API DeleteApiResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + 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 DeleteApiResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteApiResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteApiResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteChannelNamespaceRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteChannelNamespaceRequest.h new file mode 100644 index 00000000000..d38db982435 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteChannelNamespaceRequest.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + + /** + */ + class DeleteChannelNamespaceRequest : public AppSyncRequest + { + public: + AWS_APPSYNC_API DeleteChannelNamespaceRequest(); + + // 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 "DeleteChannelNamespace"; } + + AWS_APPSYNC_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The ID of the Api associated with the + * ChannelNamespace.

+ */ + 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 DeleteChannelNamespaceRequest& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} + inline DeleteChannelNamespaceRequest& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} + inline DeleteChannelNamespaceRequest& WithApiId(const char* value) { SetApiId(value); return *this;} + ///@} + + ///@{ + /** + *

The name of the ChannelNamespace.

+ */ + 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 DeleteChannelNamespaceRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline DeleteChannelNamespaceRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline DeleteChannelNamespaceRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_apiId; + bool m_apiIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteChannelNamespaceResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteChannelNamespaceResult.h new file mode 100644 index 00000000000..44ee705740a --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/DeleteChannelNamespaceResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + class DeleteChannelNamespaceResult + { + public: + AWS_APPSYNC_API DeleteChannelNamespaceResult(); + AWS_APPSYNC_API DeleteChannelNamespaceResult(const Aws::AmazonWebServiceResult& result); + AWS_APPSYNC_API DeleteChannelNamespaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + 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 DeleteChannelNamespaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteChannelNamespaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteChannelNamespaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EventConfig.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EventConfig.h new file mode 100644 index 00000000000..f8385c37990 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EventConfig.h @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + + /** + *

Describes the authorization configuration for connections, message + * publishing, message subscriptions, and logging for an Event API.

See + * Also:

AWS + * API Reference

+ */ + class EventConfig + { + public: + AWS_APPSYNC_API EventConfig(); + AWS_APPSYNC_API EventConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API EventConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

A list of authorization providers.

+ */ + inline const Aws::Vector& GetAuthProviders() const{ return m_authProviders; } + inline bool AuthProvidersHasBeenSet() const { return m_authProvidersHasBeenSet; } + inline void SetAuthProviders(const Aws::Vector& value) { m_authProvidersHasBeenSet = true; m_authProviders = value; } + inline void SetAuthProviders(Aws::Vector&& value) { m_authProvidersHasBeenSet = true; m_authProviders = std::move(value); } + inline EventConfig& WithAuthProviders(const Aws::Vector& value) { SetAuthProviders(value); return *this;} + inline EventConfig& WithAuthProviders(Aws::Vector&& value) { SetAuthProviders(std::move(value)); return *this;} + inline EventConfig& AddAuthProviders(const AuthProvider& value) { m_authProvidersHasBeenSet = true; m_authProviders.push_back(value); return *this; } + inline EventConfig& AddAuthProviders(AuthProvider&& value) { m_authProvidersHasBeenSet = true; m_authProviders.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

A list of valid authorization modes for the Event API connections.

+ */ + inline const Aws::Vector& GetConnectionAuthModes() const{ return m_connectionAuthModes; } + inline bool ConnectionAuthModesHasBeenSet() const { return m_connectionAuthModesHasBeenSet; } + inline void SetConnectionAuthModes(const Aws::Vector& value) { m_connectionAuthModesHasBeenSet = true; m_connectionAuthModes = value; } + inline void SetConnectionAuthModes(Aws::Vector&& value) { m_connectionAuthModesHasBeenSet = true; m_connectionAuthModes = std::move(value); } + inline EventConfig& WithConnectionAuthModes(const Aws::Vector& value) { SetConnectionAuthModes(value); return *this;} + inline EventConfig& WithConnectionAuthModes(Aws::Vector&& value) { SetConnectionAuthModes(std::move(value)); return *this;} + inline EventConfig& AddConnectionAuthModes(const AuthMode& value) { m_connectionAuthModesHasBeenSet = true; m_connectionAuthModes.push_back(value); return *this; } + inline EventConfig& AddConnectionAuthModes(AuthMode&& value) { m_connectionAuthModesHasBeenSet = true; m_connectionAuthModes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

A list of valid authorization modes for the Event API publishing.

+ */ + inline const Aws::Vector& GetDefaultPublishAuthModes() const{ return m_defaultPublishAuthModes; } + inline bool DefaultPublishAuthModesHasBeenSet() const { return m_defaultPublishAuthModesHasBeenSet; } + inline void SetDefaultPublishAuthModes(const Aws::Vector& value) { m_defaultPublishAuthModesHasBeenSet = true; m_defaultPublishAuthModes = value; } + inline void SetDefaultPublishAuthModes(Aws::Vector&& value) { m_defaultPublishAuthModesHasBeenSet = true; m_defaultPublishAuthModes = std::move(value); } + inline EventConfig& WithDefaultPublishAuthModes(const Aws::Vector& value) { SetDefaultPublishAuthModes(value); return *this;} + inline EventConfig& WithDefaultPublishAuthModes(Aws::Vector&& value) { SetDefaultPublishAuthModes(std::move(value)); return *this;} + inline EventConfig& AddDefaultPublishAuthModes(const AuthMode& value) { m_defaultPublishAuthModesHasBeenSet = true; m_defaultPublishAuthModes.push_back(value); return *this; } + inline EventConfig& AddDefaultPublishAuthModes(AuthMode&& value) { m_defaultPublishAuthModesHasBeenSet = true; m_defaultPublishAuthModes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

A list of valid authorization modes for the Event API subscriptions.

+ */ + inline const Aws::Vector& GetDefaultSubscribeAuthModes() const{ return m_defaultSubscribeAuthModes; } + inline bool DefaultSubscribeAuthModesHasBeenSet() const { return m_defaultSubscribeAuthModesHasBeenSet; } + inline void SetDefaultSubscribeAuthModes(const Aws::Vector& value) { m_defaultSubscribeAuthModesHasBeenSet = true; m_defaultSubscribeAuthModes = value; } + inline void SetDefaultSubscribeAuthModes(Aws::Vector&& value) { m_defaultSubscribeAuthModesHasBeenSet = true; m_defaultSubscribeAuthModes = std::move(value); } + inline EventConfig& WithDefaultSubscribeAuthModes(const Aws::Vector& value) { SetDefaultSubscribeAuthModes(value); return *this;} + inline EventConfig& WithDefaultSubscribeAuthModes(Aws::Vector&& value) { SetDefaultSubscribeAuthModes(std::move(value)); return *this;} + inline EventConfig& AddDefaultSubscribeAuthModes(const AuthMode& value) { m_defaultSubscribeAuthModesHasBeenSet = true; m_defaultSubscribeAuthModes.push_back(value); return *this; } + inline EventConfig& AddDefaultSubscribeAuthModes(AuthMode&& value) { m_defaultSubscribeAuthModesHasBeenSet = true; m_defaultSubscribeAuthModes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The CloudWatch Logs configuration for the Event API.

+ */ + inline const EventLogConfig& GetLogConfig() const{ return m_logConfig; } + inline bool LogConfigHasBeenSet() const { return m_logConfigHasBeenSet; } + inline void SetLogConfig(const EventLogConfig& value) { m_logConfigHasBeenSet = true; m_logConfig = value; } + inline void SetLogConfig(EventLogConfig&& value) { m_logConfigHasBeenSet = true; m_logConfig = std::move(value); } + inline EventConfig& WithLogConfig(const EventLogConfig& value) { SetLogConfig(value); return *this;} + inline EventConfig& WithLogConfig(EventLogConfig&& value) { SetLogConfig(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_authProviders; + bool m_authProvidersHasBeenSet = false; + + Aws::Vector m_connectionAuthModes; + bool m_connectionAuthModesHasBeenSet = false; + + Aws::Vector m_defaultPublishAuthModes; + bool m_defaultPublishAuthModesHasBeenSet = false; + + Aws::Vector m_defaultSubscribeAuthModes; + bool m_defaultSubscribeAuthModesHasBeenSet = false; + + EventLogConfig m_logConfig; + bool m_logConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EventLogConfig.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EventLogConfig.h new file mode 100644 index 00000000000..6f488286b85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EventLogConfig.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + + /** + *

Describes the CloudWatch Logs configuration for the Event API.

See + * Also:

AWS + * API Reference

+ */ + class EventLogConfig + { + public: + AWS_APPSYNC_API EventLogConfig(); + AWS_APPSYNC_API EventLogConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API EventLogConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_APPSYNC_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

The type of information to log for the Event API.

+ */ + inline const EventLogLevel& GetLogLevel() const{ return m_logLevel; } + inline bool LogLevelHasBeenSet() const { return m_logLevelHasBeenSet; } + inline void SetLogLevel(const EventLogLevel& value) { m_logLevelHasBeenSet = true; m_logLevel = value; } + inline void SetLogLevel(EventLogLevel&& value) { m_logLevelHasBeenSet = true; m_logLevel = std::move(value); } + inline EventLogConfig& WithLogLevel(const EventLogLevel& value) { SetLogLevel(value); return *this;} + inline EventLogConfig& WithLogLevel(EventLogLevel&& value) { SetLogLevel(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The IAM service role that AppSync assumes to publish CloudWatch Logs in your + * account.

+ */ + inline const Aws::String& GetCloudWatchLogsRoleArn() const{ return m_cloudWatchLogsRoleArn; } + inline bool CloudWatchLogsRoleArnHasBeenSet() const { return m_cloudWatchLogsRoleArnHasBeenSet; } + inline void SetCloudWatchLogsRoleArn(const Aws::String& value) { m_cloudWatchLogsRoleArnHasBeenSet = true; m_cloudWatchLogsRoleArn = value; } + inline void SetCloudWatchLogsRoleArn(Aws::String&& value) { m_cloudWatchLogsRoleArnHasBeenSet = true; m_cloudWatchLogsRoleArn = std::move(value); } + inline void SetCloudWatchLogsRoleArn(const char* value) { m_cloudWatchLogsRoleArnHasBeenSet = true; m_cloudWatchLogsRoleArn.assign(value); } + inline EventLogConfig& WithCloudWatchLogsRoleArn(const Aws::String& value) { SetCloudWatchLogsRoleArn(value); return *this;} + inline EventLogConfig& WithCloudWatchLogsRoleArn(Aws::String&& value) { SetCloudWatchLogsRoleArn(std::move(value)); return *this;} + inline EventLogConfig& WithCloudWatchLogsRoleArn(const char* value) { SetCloudWatchLogsRoleArn(value); return *this;} + ///@} + private: + + EventLogLevel m_logLevel; + bool m_logLevelHasBeenSet = false; + + Aws::String m_cloudWatchLogsRoleArn; + bool m_cloudWatchLogsRoleArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EventLogLevel.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EventLogLevel.h new file mode 100644 index 00000000000..532e0af6ac5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/EventLogLevel.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + enum class EventLogLevel + { + NOT_SET, + NONE, + ERROR_, + ALL, + INFO, + DEBUG_ + }; + +namespace EventLogLevelMapper +{ +AWS_APPSYNC_API EventLogLevel GetEventLogLevelForName(const Aws::String& name); + +AWS_APPSYNC_API Aws::String GetNameForEventLogLevel(EventLogLevel value); +} // namespace EventLogLevelMapper +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetApiRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetApiRequest.h new file mode 100644 index 00000000000..8059b2787cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetApiRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + + /** + */ + class GetApiRequest : public AppSyncRequest + { + public: + AWS_APPSYNC_API GetApiRequest(); + + // 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 "GetApi"; } + + AWS_APPSYNC_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The Api ID.

+ */ + 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 GetApiRequest& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} + inline GetApiRequest& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} + inline GetApiRequest& WithApiId(const char* value) { SetApiId(value); return *this;} + ///@} + private: + + Aws::String m_apiId; + bool m_apiIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetApiResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetApiResult.h new file mode 100644 index 00000000000..23c7d711cfd --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetApiResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + class GetApiResult + { + public: + AWS_APPSYNC_API GetApiResult(); + AWS_APPSYNC_API GetApiResult(const Aws::AmazonWebServiceResult& result); + AWS_APPSYNC_API GetApiResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The Api object.

+ */ + inline const Api& GetApi() const{ return m_api; } + inline void SetApi(const Api& value) { m_api = value; } + inline void SetApi(Api&& value) { m_api = std::move(value); } + inline GetApiResult& WithApi(const Api& value) { SetApi(value); return *this;} + inline GetApiResult& WithApi(Api&& value) { SetApi(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 GetApiResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetApiResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetApiResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Api m_api; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetChannelNamespaceRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetChannelNamespaceRequest.h new file mode 100644 index 00000000000..5f5a022b151 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetChannelNamespaceRequest.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + + /** + */ + class GetChannelNamespaceRequest : public AppSyncRequest + { + public: + AWS_APPSYNC_API GetChannelNamespaceRequest(); + + // 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 "GetChannelNamespace"; } + + AWS_APPSYNC_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The Api ID.

+ */ + 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 GetChannelNamespaceRequest& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} + inline GetChannelNamespaceRequest& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} + inline GetChannelNamespaceRequest& WithApiId(const char* value) { SetApiId(value); return *this;} + ///@} + + ///@{ + /** + *

The name of the ChannelNamespace.

+ */ + 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 GetChannelNamespaceRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline GetChannelNamespaceRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline GetChannelNamespaceRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_apiId; + bool m_apiIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetChannelNamespaceResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetChannelNamespaceResult.h new file mode 100644 index 00000000000..9d0c8b87cbd --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetChannelNamespaceResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + class GetChannelNamespaceResult + { + public: + AWS_APPSYNC_API GetChannelNamespaceResult(); + AWS_APPSYNC_API GetChannelNamespaceResult(const Aws::AmazonWebServiceResult& result); + AWS_APPSYNC_API GetChannelNamespaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The ChannelNamespace object.

+ */ + inline const ChannelNamespace& GetChannelNamespace() const{ return m_channelNamespace; } + inline void SetChannelNamespace(const ChannelNamespace& value) { m_channelNamespace = value; } + inline void SetChannelNamespace(ChannelNamespace&& value) { m_channelNamespace = std::move(value); } + inline GetChannelNamespaceResult& WithChannelNamespace(const ChannelNamespace& value) { SetChannelNamespace(value); return *this;} + inline GetChannelNamespaceResult& WithChannelNamespace(ChannelNamespace&& value) { SetChannelNamespace(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 GetChannelNamespaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetChannelNamespaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetChannelNamespaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + ChannelNamespace m_channelNamespace; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetDataSourceIntrospectionRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetDataSourceIntrospectionRequest.h index d3eb906b088..d8c7e637305 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetDataSourceIntrospectionRequest.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/GetDataSourceIntrospectionRequest.h @@ -56,8 +56,8 @@ namespace Model ///@{ /** *

A boolean flag that determines whether SDL should be generated for - * introspected types or not. If set to true, each model will contain - * an sdl property that contains the SDL for that type. The SDL only + * introspected types. If set to true, each model will contain an + * sdl property that contains the SDL for that type. The SDL only * contains the type data and no additional metadata or directives.

*/ inline bool GetIncludeModelsSDL() const{ return m_includeModelsSDL; } diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListApisRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListApisRequest.h new file mode 100644 index 00000000000..837a3c2bbff --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListApisRequest.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace AppSync +{ +namespace Model +{ + + /** + */ + class ListApisRequest : public AppSyncRequest + { + public: + AWS_APPSYNC_API ListApisRequest(); + + // 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 "ListApis"; } + + AWS_APPSYNC_API Aws::String SerializePayload() const override; + + AWS_APPSYNC_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

An identifier that was returned from the previous call to this operation, + * which you can use to return the next set of items in the list.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListApisRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListApisRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListApisRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

The maximum number of results that you want the request to return.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListApisRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListApisResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListApisResult.h new file mode 100644 index 00000000000..a53ea8e87f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListApisResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + class ListApisResult + { + public: + AWS_APPSYNC_API ListApisResult(); + AWS_APPSYNC_API ListApisResult(const Aws::AmazonWebServiceResult& result); + AWS_APPSYNC_API ListApisResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The Api objects.

+ */ + inline const Aws::Vector& GetApis() const{ return m_apis; } + inline void SetApis(const Aws::Vector& value) { m_apis = value; } + inline void SetApis(Aws::Vector&& value) { m_apis = std::move(value); } + inline ListApisResult& WithApis(const Aws::Vector& value) { SetApis(value); return *this;} + inline ListApisResult& WithApis(Aws::Vector&& value) { SetApis(std::move(value)); return *this;} + inline ListApisResult& AddApis(const Api& value) { m_apis.push_back(value); return *this; } + inline ListApisResult& AddApis(Api&& value) { m_apis.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

An identifier that was returned from the previous call to this operation, + * which you can use to return the next set of items in the list.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListApisResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListApisResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListApisResult& WithNextToken(const char* value) { SetNextToken(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 ListApisResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListApisResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListApisResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_apis; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListChannelNamespacesRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListChannelNamespacesRequest.h new file mode 100644 index 00000000000..0a411828cb0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListChannelNamespacesRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace AppSync +{ +namespace Model +{ + + /** + */ + class ListChannelNamespacesRequest : public AppSyncRequest + { + public: + AWS_APPSYNC_API ListChannelNamespacesRequest(); + + // 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 "ListChannelNamespaces"; } + + AWS_APPSYNC_API Aws::String SerializePayload() const override; + + AWS_APPSYNC_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

The Api ID.

+ */ + 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 ListChannelNamespacesRequest& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} + inline ListChannelNamespacesRequest& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} + inline ListChannelNamespacesRequest& WithApiId(const char* value) { SetApiId(value); return *this;} + ///@} + + ///@{ + /** + *

An identifier that was returned from the previous call to this operation, + * which you can use to return the next set of items in the list.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListChannelNamespacesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListChannelNamespacesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListChannelNamespacesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

The maximum number of results that you want the request to return.

+ */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListChannelNamespacesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_apiId; + bool m_apiIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListChannelNamespacesResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListChannelNamespacesResult.h new file mode 100644 index 00000000000..6d65ffa4c1d --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/ListChannelNamespacesResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + class ListChannelNamespacesResult + { + public: + AWS_APPSYNC_API ListChannelNamespacesResult(); + AWS_APPSYNC_API ListChannelNamespacesResult(const Aws::AmazonWebServiceResult& result); + AWS_APPSYNC_API ListChannelNamespacesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The ChannelNamespace objects.

+ */ + inline const Aws::Vector& GetChannelNamespaces() const{ return m_channelNamespaces; } + inline void SetChannelNamespaces(const Aws::Vector& value) { m_channelNamespaces = value; } + inline void SetChannelNamespaces(Aws::Vector&& value) { m_channelNamespaces = std::move(value); } + inline ListChannelNamespacesResult& WithChannelNamespaces(const Aws::Vector& value) { SetChannelNamespaces(value); return *this;} + inline ListChannelNamespacesResult& WithChannelNamespaces(Aws::Vector&& value) { SetChannelNamespaces(std::move(value)); return *this;} + inline ListChannelNamespacesResult& AddChannelNamespaces(const ChannelNamespace& value) { m_channelNamespaces.push_back(value); return *this; } + inline ListChannelNamespacesResult& AddChannelNamespaces(ChannelNamespace&& value) { m_channelNamespaces.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

An identifier that was returned from the previous call to this operation, + * which you can use to return the next set of items in the list.

+ */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListChannelNamespacesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListChannelNamespacesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListChannelNamespacesResult& WithNextToken(const char* value) { SetNextToken(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 ListChannelNamespacesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListChannelNamespacesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListChannelNamespacesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_channelNamespaces; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/LogConfig.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/LogConfig.h index 58ac36ffa98..38798f58205 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/LogConfig.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/LogConfig.h @@ -40,27 +40,16 @@ namespace Model ///@{ /** - *

The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL.

- *
  • NONE: No field-level logs are captured.

  • - * ERROR: Logs the following information only for the fields that are - * in the error category:

    • The error section in the server - * response.

    • Field-level errors.

    • The generated - * request/response functions that got resolved for error fields.

    - *
  • INFO: Logs the following information only for the - * fields that are in the info and error categories:

    • Info-level - * messages.

    • The user messages sent through - * $util.log.info and console.log.

    • - *

      Field-level tracing and mapping logs are not shown.

  • - *
  • DEBUG: Logs the following information only for the fields - * that are in the debug, info, and error categories:

    • Debug-level - * messages.

    • The user messages sent through - * $util.log.info, $util.log.debug, - * console.log, and console.debug.

    • - *

      Field-level tracing and mapping logs are not shown.

  • - *
  • ALL: The following information is logged for all fields in the - * query:

    • Field-level tracing information.

    • The - * generated request/response functions that were resolved for each field.

      - *
+ *

The field logging level. Values can be NONE, ERROR, or ALL.

  • + * NONE: No field-level logs are captured.

  • ERROR: + * Logs the following information only for the fields that are in error:

      + *
    • The error section in the server response.

    • Field-level + * errors.

    • The generated request/response functions that got + * resolved for error fields.

  • ALL: The + * following information is logged for all fields in the query:

    • + *

      Field-level tracing information.

    • The generated + * request/response functions that got resolved for each field.

    + *
*/ inline const FieldLogLevel& GetFieldLogLevel() const{ return m_fieldLogLevel; } inline bool FieldLogLevelHasBeenSet() const { return m_fieldLogLevelHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateApiRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateApiRequest.h new file mode 100644 index 00000000000..70737c13bfc --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateApiRequest.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + + /** + */ + class UpdateApiRequest : public AppSyncRequest + { + public: + AWS_APPSYNC_API UpdateApiRequest(); + + // 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 "UpdateApi"; } + + AWS_APPSYNC_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The Api ID.

+ */ + 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 UpdateApiRequest& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} + inline UpdateApiRequest& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} + inline UpdateApiRequest& WithApiId(const char* value) { SetApiId(value); return *this;} + ///@} + + ///@{ + /** + *

The name of the Api.

+ */ + 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 UpdateApiRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline UpdateApiRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline UpdateApiRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

The owner contact information for the Api.

+ */ + inline const Aws::String& GetOwnerContact() const{ return m_ownerContact; } + inline bool OwnerContactHasBeenSet() const { return m_ownerContactHasBeenSet; } + inline void SetOwnerContact(const Aws::String& value) { m_ownerContactHasBeenSet = true; m_ownerContact = value; } + inline void SetOwnerContact(Aws::String&& value) { m_ownerContactHasBeenSet = true; m_ownerContact = std::move(value); } + inline void SetOwnerContact(const char* value) { m_ownerContactHasBeenSet = true; m_ownerContact.assign(value); } + inline UpdateApiRequest& WithOwnerContact(const Aws::String& value) { SetOwnerContact(value); return *this;} + inline UpdateApiRequest& WithOwnerContact(Aws::String&& value) { SetOwnerContact(std::move(value)); return *this;} + inline UpdateApiRequest& WithOwnerContact(const char* value) { SetOwnerContact(value); return *this;} + ///@} + + ///@{ + /** + *

The new event configuration. This includes the default authorization + * configuration for connecting, publishing, and subscribing to an Event API.

+ */ + inline const EventConfig& GetEventConfig() const{ return m_eventConfig; } + inline bool EventConfigHasBeenSet() const { return m_eventConfigHasBeenSet; } + inline void SetEventConfig(const EventConfig& value) { m_eventConfigHasBeenSet = true; m_eventConfig = value; } + inline void SetEventConfig(EventConfig&& value) { m_eventConfigHasBeenSet = true; m_eventConfig = std::move(value); } + inline UpdateApiRequest& WithEventConfig(const EventConfig& value) { SetEventConfig(value); return *this;} + inline UpdateApiRequest& WithEventConfig(EventConfig&& value) { SetEventConfig(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_apiId; + bool m_apiIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_ownerContact; + bool m_ownerContactHasBeenSet = false; + + EventConfig m_eventConfig; + bool m_eventConfigHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateApiResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateApiResult.h new file mode 100644 index 00000000000..0e17236489c --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateApiResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + class UpdateApiResult + { + public: + AWS_APPSYNC_API UpdateApiResult(); + AWS_APPSYNC_API UpdateApiResult(const Aws::AmazonWebServiceResult& result); + AWS_APPSYNC_API UpdateApiResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The Api object.

+ */ + inline const Api& GetApi() const{ return m_api; } + inline void SetApi(const Api& value) { m_api = value; } + inline void SetApi(Api&& value) { m_api = std::move(value); } + inline UpdateApiResult& WithApi(const Api& value) { SetApi(value); return *this;} + inline UpdateApiResult& WithApi(Api&& value) { SetApi(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 UpdateApiResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateApiResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateApiResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Api m_api; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateChannelNamespaceRequest.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateChannelNamespaceRequest.h new file mode 100644 index 00000000000..fc70f8d5073 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateChannelNamespaceRequest.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + + /** + */ + class UpdateChannelNamespaceRequest : public AppSyncRequest + { + public: + AWS_APPSYNC_API UpdateChannelNamespaceRequest(); + + // 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 "UpdateChannelNamespace"; } + + AWS_APPSYNC_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

The Api ID.

+ */ + 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 UpdateChannelNamespaceRequest& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} + inline UpdateChannelNamespaceRequest& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} + inline UpdateChannelNamespaceRequest& WithApiId(const char* value) { SetApiId(value); return *this;} + ///@} + + ///@{ + /** + *

The name of the ChannelNamespace.

+ */ + 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 UpdateChannelNamespaceRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline UpdateChannelNamespaceRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline UpdateChannelNamespaceRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

The authorization mode to use for subscribing to messages on the channel + * namespace. This configuration overrides the default Api + * authorization configuration.

+ */ + inline const Aws::Vector& GetSubscribeAuthModes() const{ return m_subscribeAuthModes; } + inline bool SubscribeAuthModesHasBeenSet() const { return m_subscribeAuthModesHasBeenSet; } + inline void SetSubscribeAuthModes(const Aws::Vector& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes = value; } + inline void SetSubscribeAuthModes(Aws::Vector&& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes = std::move(value); } + inline UpdateChannelNamespaceRequest& WithSubscribeAuthModes(const Aws::Vector& value) { SetSubscribeAuthModes(value); return *this;} + inline UpdateChannelNamespaceRequest& WithSubscribeAuthModes(Aws::Vector&& value) { SetSubscribeAuthModes(std::move(value)); return *this;} + inline UpdateChannelNamespaceRequest& AddSubscribeAuthModes(const AuthMode& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes.push_back(value); return *this; } + inline UpdateChannelNamespaceRequest& AddSubscribeAuthModes(AuthMode&& value) { m_subscribeAuthModesHasBeenSet = true; m_subscribeAuthModes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The authorization mode to use for publishing messages on the channel + * namespace. This configuration overrides the default Api + * authorization configuration.

+ */ + inline const Aws::Vector& GetPublishAuthModes() const{ return m_publishAuthModes; } + inline bool PublishAuthModesHasBeenSet() const { return m_publishAuthModesHasBeenSet; } + inline void SetPublishAuthModes(const Aws::Vector& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes = value; } + inline void SetPublishAuthModes(Aws::Vector&& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes = std::move(value); } + inline UpdateChannelNamespaceRequest& WithPublishAuthModes(const Aws::Vector& value) { SetPublishAuthModes(value); return *this;} + inline UpdateChannelNamespaceRequest& WithPublishAuthModes(Aws::Vector&& value) { SetPublishAuthModes(std::move(value)); return *this;} + inline UpdateChannelNamespaceRequest& AddPublishAuthModes(const AuthMode& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes.push_back(value); return *this; } + inline UpdateChannelNamespaceRequest& AddPublishAuthModes(AuthMode&& value) { m_publishAuthModesHasBeenSet = true; m_publishAuthModes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

The event handler functions that run custom business logic to process + * published events and subscribe requests.

+ */ + inline const Aws::String& GetCodeHandlers() const{ return m_codeHandlers; } + inline bool CodeHandlersHasBeenSet() const { return m_codeHandlersHasBeenSet; } + inline void SetCodeHandlers(const Aws::String& value) { m_codeHandlersHasBeenSet = true; m_codeHandlers = value; } + inline void SetCodeHandlers(Aws::String&& value) { m_codeHandlersHasBeenSet = true; m_codeHandlers = std::move(value); } + inline void SetCodeHandlers(const char* value) { m_codeHandlersHasBeenSet = true; m_codeHandlers.assign(value); } + inline UpdateChannelNamespaceRequest& WithCodeHandlers(const Aws::String& value) { SetCodeHandlers(value); return *this;} + inline UpdateChannelNamespaceRequest& WithCodeHandlers(Aws::String&& value) { SetCodeHandlers(std::move(value)); return *this;} + inline UpdateChannelNamespaceRequest& WithCodeHandlers(const char* value) { SetCodeHandlers(value); return *this;} + ///@} + private: + + Aws::String m_apiId; + bool m_apiIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_subscribeAuthModes; + bool m_subscribeAuthModesHasBeenSet = false; + + Aws::Vector m_publishAuthModes; + bool m_publishAuthModesHasBeenSet = false; + + Aws::String m_codeHandlers; + bool m_codeHandlersHasBeenSet = false; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateChannelNamespaceResult.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateChannelNamespaceResult.h new file mode 100644 index 00000000000..76a2f328911 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/model/UpdateChannelNamespaceResult.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace AppSync +{ +namespace Model +{ + class UpdateChannelNamespaceResult + { + public: + AWS_APPSYNC_API UpdateChannelNamespaceResult(); + AWS_APPSYNC_API UpdateChannelNamespaceResult(const Aws::AmazonWebServiceResult& result); + AWS_APPSYNC_API UpdateChannelNamespaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

The ChannelNamespace object.

+ */ + inline const ChannelNamespace& GetChannelNamespace() const{ return m_channelNamespace; } + inline void SetChannelNamespace(const ChannelNamespace& value) { m_channelNamespace = value; } + inline void SetChannelNamespace(ChannelNamespace&& value) { m_channelNamespace = std::move(value); } + inline UpdateChannelNamespaceResult& WithChannelNamespace(const ChannelNamespace& value) { SetChannelNamespace(value); return *this;} + inline UpdateChannelNamespaceResult& WithChannelNamespace(ChannelNamespace&& value) { SetChannelNamespace(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 UpdateChannelNamespaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateChannelNamespaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateChannelNamespaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + ChannelNamespace m_channelNamespace; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/source/AppSyncClient.cpp b/generated/src/aws-cpp-sdk-appsync/source/AppSyncClient.cpp index 6ebcc69c303..169a9731f0f 100644 --- a/generated/src/aws-cpp-sdk-appsync/source/AppSyncClient.cpp +++ b/generated/src/aws-cpp-sdk-appsync/source/AppSyncClient.cpp @@ -24,16 +24,20 @@ #include #include #include +#include #include #include +#include #include #include #include #include #include #include +#include #include #include +#include #include #include #include @@ -46,8 +50,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -60,6 +66,8 @@ #include #include #include +#include +#include #include #include #include @@ -76,8 +84,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -330,6 +340,33 @@ AssociateSourceGraphqlApiOutcome AppSyncClient::AssociateSourceGraphqlApi(const {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateApiOutcome AppSyncClient::CreateApi(const CreateApiRequest& request) const +{ + AWS_OPERATION_GUARD(CreateApi); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateApi, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateApi, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateApi, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateApi", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateApiOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateApi, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/apis"); + return CreateApiOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateApiCacheOutcome AppSyncClient::CreateApiCache(const CreateApiCacheRequest& request) const { AWS_OPERATION_GUARD(CreateApiCache); @@ -398,6 +435,40 @@ CreateApiKeyOutcome AppSyncClient::CreateApiKey(const CreateApiKeyRequest& reque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateChannelNamespaceOutcome AppSyncClient::CreateChannelNamespace(const CreateChannelNamespaceRequest& request) const +{ + AWS_OPERATION_GUARD(CreateChannelNamespace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateChannelNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApiIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("CreateChannelNamespace", "Required field: ApiId, is not set"); + return CreateChannelNamespaceOutcome(Aws::Client::AWSError(AppSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApiId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateChannelNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateChannelNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateChannelNamespace", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateChannelNamespaceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateChannelNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/apis/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApiId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/channelNamespaces"); + return CreateChannelNamespaceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateDataSourceOutcome AppSyncClient::CreateDataSource(const CreateDataSourceRequest& request) const { AWS_OPERATION_GUARD(CreateDataSource); @@ -595,6 +666,39 @@ CreateTypeOutcome AppSyncClient::CreateType(const CreateTypeRequest& request) co {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteApiOutcome AppSyncClient::DeleteApi(const DeleteApiRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteApi); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteApi, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApiIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteApi", "Required field: ApiId, is not set"); + return DeleteApiOutcome(Aws::Client::AWSError(AppSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApiId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteApi, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteApi, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteApi", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteApiOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteApi, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/apis/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApiId()); + return DeleteApiOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteApiCacheOutcome AppSyncClient::DeleteApiCache(const DeleteApiCacheRequest& request) const { AWS_OPERATION_GUARD(DeleteApiCache); @@ -669,6 +773,46 @@ DeleteApiKeyOutcome AppSyncClient::DeleteApiKey(const DeleteApiKeyRequest& reque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteChannelNamespaceOutcome AppSyncClient::DeleteChannelNamespace(const DeleteChannelNamespaceRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteChannelNamespace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteChannelNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApiIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteChannelNamespace", "Required field: ApiId, is not set"); + return DeleteChannelNamespaceOutcome(Aws::Client::AWSError(AppSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApiId]", false)); + } + if (!request.NameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteChannelNamespace", "Required field: Name, is not set"); + return DeleteChannelNamespaceOutcome(Aws::Client::AWSError(AppSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteChannelNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteChannelNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteChannelNamespace", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteChannelNamespaceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteChannelNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/apis/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApiId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/channelNamespaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetName()); + return DeleteChannelNamespaceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteDataSourceOutcome AppSyncClient::DeleteDataSource(const DeleteDataSourceRequest& request) const { AWS_OPERATION_GUARD(DeleteDataSource); @@ -1104,6 +1248,39 @@ FlushApiCacheOutcome AppSyncClient::FlushApiCache(const FlushApiCacheRequest& re {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetApiOutcome AppSyncClient::GetApi(const GetApiRequest& request) const +{ + AWS_OPERATION_GUARD(GetApi); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetApi, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApiIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetApi", "Required field: ApiId, is not set"); + return GetApiOutcome(Aws::Client::AWSError(AppSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApiId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetApi, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetApi, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetApi", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetApiOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetApi, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/apis/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApiId()); + return GetApiOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetApiAssociationOutcome AppSyncClient::GetApiAssociation(const GetApiAssociationRequest& request) const { AWS_OPERATION_GUARD(GetApiAssociation); @@ -1172,6 +1349,46 @@ GetApiCacheOutcome AppSyncClient::GetApiCache(const GetApiCacheRequest& request) {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetChannelNamespaceOutcome AppSyncClient::GetChannelNamespace(const GetChannelNamespaceRequest& request) const +{ + AWS_OPERATION_GUARD(GetChannelNamespace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetChannelNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApiIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetChannelNamespace", "Required field: ApiId, is not set"); + return GetChannelNamespaceOutcome(Aws::Client::AWSError(AppSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApiId]", false)); + } + if (!request.NameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetChannelNamespace", "Required field: Name, is not set"); + return GetChannelNamespaceOutcome(Aws::Client::AWSError(AppSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetChannelNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetChannelNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetChannelNamespace", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetChannelNamespaceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetChannelNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/apis/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApiId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/channelNamespaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetName()); + return GetChannelNamespaceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetDataSourceOutcome AppSyncClient::GetDataSource(const GetDataSourceRequest& request) const { AWS_OPERATION_GUARD(GetDataSource); @@ -1624,6 +1841,67 @@ ListApiKeysOutcome AppSyncClient::ListApiKeys(const ListApiKeysRequest& request) {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListApisOutcome AppSyncClient::ListApis(const ListApisRequest& request) const +{ + AWS_OPERATION_GUARD(ListApis); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListApis, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListApis, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListApis, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListApis", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListApisOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListApis, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/apis"); + return ListApisOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ListChannelNamespacesOutcome AppSyncClient::ListChannelNamespaces(const ListChannelNamespacesRequest& request) const +{ + AWS_OPERATION_GUARD(ListChannelNamespaces); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListChannelNamespaces, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApiIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("ListChannelNamespaces", "Required field: ApiId, is not set"); + return ListChannelNamespacesOutcome(Aws::Client::AWSError(AppSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApiId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListChannelNamespaces, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListChannelNamespaces, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListChannelNamespaces", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListChannelNamespacesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListChannelNamespaces, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/apis/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApiId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/channelNamespaces"); + return ListChannelNamespacesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListDataSourcesOutcome AppSyncClient::ListDataSources(const ListDataSourcesRequest& request) const { AWS_OPERATION_GUARD(ListDataSources); @@ -2187,6 +2465,39 @@ UntagResourceOutcome AppSyncClient::UntagResource(const UntagResourceRequest& re {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateApiOutcome AppSyncClient::UpdateApi(const UpdateApiRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateApi); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateApi, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApiIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateApi", "Required field: ApiId, is not set"); + return UpdateApiOutcome(Aws::Client::AWSError(AppSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApiId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateApi, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateApi, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateApi", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateApiOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateApi, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/apis/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApiId()); + return UpdateApiOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateApiCacheOutcome AppSyncClient::UpdateApiCache(const UpdateApiCacheRequest& request) const { AWS_OPERATION_GUARD(UpdateApiCache); @@ -2261,6 +2572,46 @@ UpdateApiKeyOutcome AppSyncClient::UpdateApiKey(const UpdateApiKeyRequest& reque {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateChannelNamespaceOutcome AppSyncClient::UpdateChannelNamespace(const UpdateChannelNamespaceRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateChannelNamespace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateChannelNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.ApiIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateChannelNamespace", "Required field: ApiId, is not set"); + return UpdateChannelNamespaceOutcome(Aws::Client::AWSError(AppSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ApiId]", false)); + } + if (!request.NameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateChannelNamespace", "Required field: Name, is not set"); + return UpdateChannelNamespaceOutcome(Aws::Client::AWSError(AppSyncErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Name]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateChannelNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateChannelNamespace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateChannelNamespace", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateChannelNamespaceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateChannelNamespace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/v2/apis/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetApiId()); + endpointResolutionOutcome.GetResult().AddPathSegments("/channelNamespaces/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetName()); + return UpdateChannelNamespaceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateDataSourceOutcome AppSyncClient::UpdateDataSource(const UpdateDataSourceRequest& request) const { AWS_OPERATION_GUARD(UpdateDataSource); diff --git a/generated/src/aws-cpp-sdk-appsync/source/AppSyncErrors.cpp b/generated/src/aws-cpp-sdk-appsync/source/AppSyncErrors.cpp index 0aab62308f4..287036e4944 100644 --- a/generated/src/aws-cpp-sdk-appsync/source/AppSyncErrors.cpp +++ b/generated/src/aws-cpp-sdk-appsync/source/AppSyncErrors.cpp @@ -26,6 +26,8 @@ template<> AWS_APPSYNC_API BadRequestException AppSyncError::GetModeledError() namespace AppSyncErrorMapper { +static const int CONFLICT_HASH = HashingUtils::HashString("ConflictException"); +static const int SERVICE_QUOTA_EXCEEDED_HASH = HashingUtils::HashString("ServiceQuotaExceededException"); static const int GRAPH_Q_L_SCHEMA_HASH = HashingUtils::HashString("GraphQLSchemaException"); static const int NOT_FOUND_HASH = HashingUtils::HashString("NotFoundException"); static const int API_KEY_VALIDITY_OUT_OF_BOUNDS_HASH = HashingUtils::HashString("ApiKeyValidityOutOfBoundsException"); @@ -41,7 +43,15 @@ AWSError GetErrorForName(const char* errorName) { int hashCode = HashingUtils::HashString(errorName); - if (hashCode == GRAPH_Q_L_SCHEMA_HASH) + if (hashCode == CONFLICT_HASH) + { + return AWSError(static_cast(AppSyncErrors::CONFLICT), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == SERVICE_QUOTA_EXCEEDED_HASH) + { + return AWSError(static_cast(AppSyncErrors::SERVICE_QUOTA_EXCEEDED), RetryableType::NOT_RETRYABLE); + } + else if (hashCode == GRAPH_Q_L_SCHEMA_HASH) { return AWSError(static_cast(AppSyncErrors::GRAPH_Q_L_SCHEMA), RetryableType::NOT_RETRYABLE); } diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/Api.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/Api.cpp new file mode 100644 index 00000000000..cc63d0f6233 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/Api.cpp @@ -0,0 +1,201 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + +Api::Api() : + m_apiIdHasBeenSet(false), + m_nameHasBeenSet(false), + m_ownerContactHasBeenSet(false), + m_tagsHasBeenSet(false), + m_dnsHasBeenSet(false), + m_apiArnHasBeenSet(false), + m_createdHasBeenSet(false), + m_xrayEnabled(false), + m_xrayEnabledHasBeenSet(false), + m_wafWebAclArnHasBeenSet(false), + m_eventConfigHasBeenSet(false) +{ +} + +Api::Api(JsonView jsonValue) + : Api() +{ + *this = jsonValue; +} + +Api& Api::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("apiId")) + { + m_apiId = jsonValue.GetString("apiId"); + + m_apiIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("ownerContact")) + { + m_ownerContact = jsonValue.GetString("ownerContact"); + + m_ownerContactHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + if(jsonValue.ValueExists("dns")) + { + Aws::Map dnsJsonMap = jsonValue.GetObject("dns").GetAllObjects(); + for(auto& dnsItem : dnsJsonMap) + { + m_dns[dnsItem.first] = dnsItem.second.AsString(); + } + m_dnsHasBeenSet = true; + } + + if(jsonValue.ValueExists("apiArn")) + { + m_apiArn = jsonValue.GetString("apiArn"); + + m_apiArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("created")) + { + m_created = jsonValue.GetDouble("created"); + + m_createdHasBeenSet = true; + } + + if(jsonValue.ValueExists("xrayEnabled")) + { + m_xrayEnabled = jsonValue.GetBool("xrayEnabled"); + + m_xrayEnabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("wafWebAclArn")) + { + m_wafWebAclArn = jsonValue.GetString("wafWebAclArn"); + + m_wafWebAclArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("eventConfig")) + { + m_eventConfig = jsonValue.GetObject("eventConfig"); + + m_eventConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue Api::Jsonize() const +{ + JsonValue payload; + + if(m_apiIdHasBeenSet) + { + payload.WithString("apiId", m_apiId); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_ownerContactHasBeenSet) + { + payload.WithString("ownerContact", m_ownerContact); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_dnsHasBeenSet) + { + JsonValue dnsJsonMap; + for(auto& dnsItem : m_dns) + { + dnsJsonMap.WithString(dnsItem.first, dnsItem.second); + } + payload.WithObject("dns", std::move(dnsJsonMap)); + + } + + if(m_apiArnHasBeenSet) + { + payload.WithString("apiArn", m_apiArn); + + } + + if(m_createdHasBeenSet) + { + payload.WithDouble("created", m_created.SecondsWithMSPrecision()); + } + + if(m_xrayEnabledHasBeenSet) + { + payload.WithBool("xrayEnabled", m_xrayEnabled); + + } + + if(m_wafWebAclArnHasBeenSet) + { + payload.WithString("wafWebAclArn", m_wafWebAclArn); + + } + + if(m_eventConfigHasBeenSet) + { + payload.WithObject("eventConfig", m_eventConfig.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/AuthMode.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/AuthMode.cpp new file mode 100644 index 00000000000..90df08379a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/AuthMode.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + +AuthMode::AuthMode() : + m_authType(AuthenticationType::NOT_SET), + m_authTypeHasBeenSet(false) +{ +} + +AuthMode::AuthMode(JsonView jsonValue) + : AuthMode() +{ + *this = jsonValue; +} + +AuthMode& AuthMode::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("authType")) + { + m_authType = AuthenticationTypeMapper::GetAuthenticationTypeForName(jsonValue.GetString("authType")); + + m_authTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue AuthMode::Jsonize() const +{ + JsonValue payload; + + if(m_authTypeHasBeenSet) + { + payload.WithString("authType", AuthenticationTypeMapper::GetNameForAuthenticationType(m_authType)); + } + + return payload; +} + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/AuthProvider.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/AuthProvider.cpp new file mode 100644 index 00000000000..00856b9cc9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/AuthProvider.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + +AuthProvider::AuthProvider() : + m_authType(AuthenticationType::NOT_SET), + m_authTypeHasBeenSet(false), + m_cognitoConfigHasBeenSet(false), + m_openIDConnectConfigHasBeenSet(false), + m_lambdaAuthorizerConfigHasBeenSet(false) +{ +} + +AuthProvider::AuthProvider(JsonView jsonValue) + : AuthProvider() +{ + *this = jsonValue; +} + +AuthProvider& AuthProvider::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("authType")) + { + m_authType = AuthenticationTypeMapper::GetAuthenticationTypeForName(jsonValue.GetString("authType")); + + m_authTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("cognitoConfig")) + { + m_cognitoConfig = jsonValue.GetObject("cognitoConfig"); + + m_cognitoConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("openIDConnectConfig")) + { + m_openIDConnectConfig = jsonValue.GetObject("openIDConnectConfig"); + + m_openIDConnectConfigHasBeenSet = true; + } + + if(jsonValue.ValueExists("lambdaAuthorizerConfig")) + { + m_lambdaAuthorizerConfig = jsonValue.GetObject("lambdaAuthorizerConfig"); + + m_lambdaAuthorizerConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue AuthProvider::Jsonize() const +{ + JsonValue payload; + + if(m_authTypeHasBeenSet) + { + payload.WithString("authType", AuthenticationTypeMapper::GetNameForAuthenticationType(m_authType)); + } + + if(m_cognitoConfigHasBeenSet) + { + payload.WithObject("cognitoConfig", m_cognitoConfig.Jsonize()); + + } + + if(m_openIDConnectConfigHasBeenSet) + { + payload.WithObject("openIDConnectConfig", m_openIDConnectConfig.Jsonize()); + + } + + if(m_lambdaAuthorizerConfigHasBeenSet) + { + payload.WithObject("lambdaAuthorizerConfig", m_lambdaAuthorizerConfig.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/ChannelNamespace.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/ChannelNamespace.cpp new file mode 100644 index 00000000000..4d4305a69c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/ChannelNamespace.cpp @@ -0,0 +1,193 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + +ChannelNamespace::ChannelNamespace() : + m_apiIdHasBeenSet(false), + m_nameHasBeenSet(false), + m_subscribeAuthModesHasBeenSet(false), + m_publishAuthModesHasBeenSet(false), + m_codeHandlersHasBeenSet(false), + m_tagsHasBeenSet(false), + m_channelNamespaceArnHasBeenSet(false), + m_createdHasBeenSet(false), + m_lastModifiedHasBeenSet(false) +{ +} + +ChannelNamespace::ChannelNamespace(JsonView jsonValue) + : ChannelNamespace() +{ + *this = jsonValue; +} + +ChannelNamespace& ChannelNamespace::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("apiId")) + { + m_apiId = jsonValue.GetString("apiId"); + + m_apiIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("subscribeAuthModes")) + { + Aws::Utils::Array subscribeAuthModesJsonList = jsonValue.GetArray("subscribeAuthModes"); + for(unsigned subscribeAuthModesIndex = 0; subscribeAuthModesIndex < subscribeAuthModesJsonList.GetLength(); ++subscribeAuthModesIndex) + { + m_subscribeAuthModes.push_back(subscribeAuthModesJsonList[subscribeAuthModesIndex].AsObject()); + } + m_subscribeAuthModesHasBeenSet = true; + } + + if(jsonValue.ValueExists("publishAuthModes")) + { + Aws::Utils::Array publishAuthModesJsonList = jsonValue.GetArray("publishAuthModes"); + for(unsigned publishAuthModesIndex = 0; publishAuthModesIndex < publishAuthModesJsonList.GetLength(); ++publishAuthModesIndex) + { + m_publishAuthModes.push_back(publishAuthModesJsonList[publishAuthModesIndex].AsObject()); + } + m_publishAuthModesHasBeenSet = true; + } + + if(jsonValue.ValueExists("codeHandlers")) + { + m_codeHandlers = jsonValue.GetString("codeHandlers"); + + m_codeHandlersHasBeenSet = true; + } + + if(jsonValue.ValueExists("tags")) + { + Aws::Map tagsJsonMap = jsonValue.GetObject("tags").GetAllObjects(); + for(auto& tagsItem : tagsJsonMap) + { + m_tags[tagsItem.first] = tagsItem.second.AsString(); + } + m_tagsHasBeenSet = true; + } + + if(jsonValue.ValueExists("channelNamespaceArn")) + { + m_channelNamespaceArn = jsonValue.GetString("channelNamespaceArn"); + + m_channelNamespaceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("created")) + { + m_created = jsonValue.GetDouble("created"); + + m_createdHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastModified")) + { + m_lastModified = jsonValue.GetDouble("lastModified"); + + m_lastModifiedHasBeenSet = true; + } + + return *this; +} + +JsonValue ChannelNamespace::Jsonize() const +{ + JsonValue payload; + + if(m_apiIdHasBeenSet) + { + payload.WithString("apiId", m_apiId); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_subscribeAuthModesHasBeenSet) + { + Aws::Utils::Array subscribeAuthModesJsonList(m_subscribeAuthModes.size()); + for(unsigned subscribeAuthModesIndex = 0; subscribeAuthModesIndex < subscribeAuthModesJsonList.GetLength(); ++subscribeAuthModesIndex) + { + subscribeAuthModesJsonList[subscribeAuthModesIndex].AsObject(m_subscribeAuthModes[subscribeAuthModesIndex].Jsonize()); + } + payload.WithArray("subscribeAuthModes", std::move(subscribeAuthModesJsonList)); + + } + + if(m_publishAuthModesHasBeenSet) + { + Aws::Utils::Array publishAuthModesJsonList(m_publishAuthModes.size()); + for(unsigned publishAuthModesIndex = 0; publishAuthModesIndex < publishAuthModesJsonList.GetLength(); ++publishAuthModesIndex) + { + publishAuthModesJsonList[publishAuthModesIndex].AsObject(m_publishAuthModes[publishAuthModesIndex].Jsonize()); + } + payload.WithArray("publishAuthModes", std::move(publishAuthModesJsonList)); + + } + + if(m_codeHandlersHasBeenSet) + { + payload.WithString("codeHandlers", m_codeHandlers); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_channelNamespaceArnHasBeenSet) + { + payload.WithString("channelNamespaceArn", m_channelNamespaceArn); + + } + + if(m_createdHasBeenSet) + { + payload.WithDouble("created", m_created.SecondsWithMSPrecision()); + } + + if(m_lastModifiedHasBeenSet) + { + payload.WithDouble("lastModified", m_lastModified.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/CognitoConfig.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/CognitoConfig.cpp new file mode 100644 index 00000000000..7627d8ef66a --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/CognitoConfig.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + +CognitoConfig::CognitoConfig() : + m_userPoolIdHasBeenSet(false), + m_awsRegionHasBeenSet(false), + m_appIdClientRegexHasBeenSet(false) +{ +} + +CognitoConfig::CognitoConfig(JsonView jsonValue) + : CognitoConfig() +{ + *this = jsonValue; +} + +CognitoConfig& CognitoConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("userPoolId")) + { + m_userPoolId = jsonValue.GetString("userPoolId"); + + m_userPoolIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("awsRegion")) + { + m_awsRegion = jsonValue.GetString("awsRegion"); + + m_awsRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("appIdClientRegex")) + { + m_appIdClientRegex = jsonValue.GetString("appIdClientRegex"); + + m_appIdClientRegexHasBeenSet = true; + } + + return *this; +} + +JsonValue CognitoConfig::Jsonize() const +{ + JsonValue payload; + + if(m_userPoolIdHasBeenSet) + { + payload.WithString("userPoolId", m_userPoolId); + + } + + if(m_awsRegionHasBeenSet) + { + payload.WithString("awsRegion", m_awsRegion); + + } + + if(m_appIdClientRegexHasBeenSet) + { + payload.WithString("appIdClientRegex", m_appIdClientRegex); + + } + + return payload; +} + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/CreateApiRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/CreateApiRequest.cpp new file mode 100644 index 00000000000..3e3bc8f22a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/CreateApiRequest.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateApiRequest::CreateApiRequest() : + m_nameHasBeenSet(false), + m_ownerContactHasBeenSet(false), + m_tagsHasBeenSet(false), + m_eventConfigHasBeenSet(false) +{ +} + +Aws::String CreateApiRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_ownerContactHasBeenSet) + { + payload.WithString("ownerContact", m_ownerContact); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + if(m_eventConfigHasBeenSet) + { + payload.WithObject("eventConfig", m_eventConfig.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/CreateApiResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/CreateApiResult.cpp new file mode 100644 index 00000000000..7576c870b25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/CreateApiResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateApiResult::CreateApiResult() +{ +} + +CreateApiResult::CreateApiResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateApiResult& CreateApiResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("api")) + { + m_api = jsonValue.GetObject("api"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/CreateChannelNamespaceRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/CreateChannelNamespaceRequest.cpp new file mode 100644 index 00000000000..fb3b6a8b397 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/CreateChannelNamespaceRequest.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateChannelNamespaceRequest::CreateChannelNamespaceRequest() : + m_apiIdHasBeenSet(false), + m_nameHasBeenSet(false), + m_subscribeAuthModesHasBeenSet(false), + m_publishAuthModesHasBeenSet(false), + m_codeHandlersHasBeenSet(false), + m_tagsHasBeenSet(false) +{ +} + +Aws::String CreateChannelNamespaceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_subscribeAuthModesHasBeenSet) + { + Aws::Utils::Array subscribeAuthModesJsonList(m_subscribeAuthModes.size()); + for(unsigned subscribeAuthModesIndex = 0; subscribeAuthModesIndex < subscribeAuthModesJsonList.GetLength(); ++subscribeAuthModesIndex) + { + subscribeAuthModesJsonList[subscribeAuthModesIndex].AsObject(m_subscribeAuthModes[subscribeAuthModesIndex].Jsonize()); + } + payload.WithArray("subscribeAuthModes", std::move(subscribeAuthModesJsonList)); + + } + + if(m_publishAuthModesHasBeenSet) + { + Aws::Utils::Array publishAuthModesJsonList(m_publishAuthModes.size()); + for(unsigned publishAuthModesIndex = 0; publishAuthModesIndex < publishAuthModesJsonList.GetLength(); ++publishAuthModesIndex) + { + publishAuthModesJsonList[publishAuthModesIndex].AsObject(m_publishAuthModes[publishAuthModesIndex].Jsonize()); + } + payload.WithArray("publishAuthModes", std::move(publishAuthModesJsonList)); + + } + + if(m_codeHandlersHasBeenSet) + { + payload.WithString("codeHandlers", m_codeHandlers); + + } + + if(m_tagsHasBeenSet) + { + JsonValue tagsJsonMap; + for(auto& tagsItem : m_tags) + { + tagsJsonMap.WithString(tagsItem.first, tagsItem.second); + } + payload.WithObject("tags", std::move(tagsJsonMap)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/CreateChannelNamespaceResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/CreateChannelNamespaceResult.cpp new file mode 100644 index 00000000000..c20cc1f983b --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/CreateChannelNamespaceResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateChannelNamespaceResult::CreateChannelNamespaceResult() +{ +} + +CreateChannelNamespaceResult::CreateChannelNamespaceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateChannelNamespaceResult& CreateChannelNamespaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("channelNamespace")) + { + m_channelNamespace = jsonValue.GetObject("channelNamespace"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/CreateGraphqlApiRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/CreateGraphqlApiRequest.cpp index 11ce8631af9..e736f438a87 100644 --- a/generated/src/aws-cpp-sdk-appsync/source/model/CreateGraphqlApiRequest.cpp +++ b/generated/src/aws-cpp-sdk-appsync/source/model/CreateGraphqlApiRequest.cpp @@ -24,11 +24,11 @@ CreateGraphqlApiRequest::CreateGraphqlApiRequest() : m_xrayEnabled(false), m_xrayEnabledHasBeenSet(false), m_lambdaAuthorizerConfigHasBeenSet(false), - m_visibility(GraphQLApiVisibility::NOT_SET), - m_visibilityHasBeenSet(false), m_apiType(GraphQLApiType::NOT_SET), m_apiTypeHasBeenSet(false), m_mergedApiExecutionRoleArnHasBeenSet(false), + m_visibility(GraphQLApiVisibility::NOT_SET), + m_visibilityHasBeenSet(false), m_ownerContactHasBeenSet(false), m_introspectionConfig(GraphQLApiIntrospectionConfig::NOT_SET), m_introspectionConfigHasBeenSet(false), @@ -107,11 +107,6 @@ Aws::String CreateGraphqlApiRequest::SerializePayload() const } - if(m_visibilityHasBeenSet) - { - payload.WithString("visibility", GraphQLApiVisibilityMapper::GetNameForGraphQLApiVisibility(m_visibility)); - } - if(m_apiTypeHasBeenSet) { payload.WithString("apiType", GraphQLApiTypeMapper::GetNameForGraphQLApiType(m_apiType)); @@ -123,6 +118,11 @@ Aws::String CreateGraphqlApiRequest::SerializePayload() const } + if(m_visibilityHasBeenSet) + { + payload.WithString("visibility", GraphQLApiVisibilityMapper::GetNameForGraphQLApiVisibility(m_visibility)); + } + if(m_ownerContactHasBeenSet) { payload.WithString("ownerContact", m_ownerContact); diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/DeleteApiRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/DeleteApiRequest.cpp new file mode 100644 index 00000000000..a49f124280c --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/DeleteApiRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteApiRequest::DeleteApiRequest() : + m_apiIdHasBeenSet(false) +{ +} + +Aws::String DeleteApiRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/DeleteApiResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/DeleteApiResult.cpp new file mode 100644 index 00000000000..c85f1723862 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/DeleteApiResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteApiResult::DeleteApiResult() +{ +} + +DeleteApiResult::DeleteApiResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteApiResult& DeleteApiResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/DeleteChannelNamespaceRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/DeleteChannelNamespaceRequest.cpp new file mode 100644 index 00000000000..1e6764a2c22 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/DeleteChannelNamespaceRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteChannelNamespaceRequest::DeleteChannelNamespaceRequest() : + m_apiIdHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +Aws::String DeleteChannelNamespaceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/DeleteChannelNamespaceResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/DeleteChannelNamespaceResult.cpp new file mode 100644 index 00000000000..56886b8ac7d --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/DeleteChannelNamespaceResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteChannelNamespaceResult::DeleteChannelNamespaceResult() +{ +} + +DeleteChannelNamespaceResult::DeleteChannelNamespaceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteChannelNamespaceResult& DeleteChannelNamespaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/EventConfig.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/EventConfig.cpp new file mode 100644 index 00000000000..477e93474eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/EventConfig.cpp @@ -0,0 +1,147 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + +EventConfig::EventConfig() : + m_authProvidersHasBeenSet(false), + m_connectionAuthModesHasBeenSet(false), + m_defaultPublishAuthModesHasBeenSet(false), + m_defaultSubscribeAuthModesHasBeenSet(false), + m_logConfigHasBeenSet(false) +{ +} + +EventConfig::EventConfig(JsonView jsonValue) + : EventConfig() +{ + *this = jsonValue; +} + +EventConfig& EventConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("authProviders")) + { + Aws::Utils::Array authProvidersJsonList = jsonValue.GetArray("authProviders"); + for(unsigned authProvidersIndex = 0; authProvidersIndex < authProvidersJsonList.GetLength(); ++authProvidersIndex) + { + m_authProviders.push_back(authProvidersJsonList[authProvidersIndex].AsObject()); + } + m_authProvidersHasBeenSet = true; + } + + if(jsonValue.ValueExists("connectionAuthModes")) + { + Aws::Utils::Array connectionAuthModesJsonList = jsonValue.GetArray("connectionAuthModes"); + for(unsigned connectionAuthModesIndex = 0; connectionAuthModesIndex < connectionAuthModesJsonList.GetLength(); ++connectionAuthModesIndex) + { + m_connectionAuthModes.push_back(connectionAuthModesJsonList[connectionAuthModesIndex].AsObject()); + } + m_connectionAuthModesHasBeenSet = true; + } + + if(jsonValue.ValueExists("defaultPublishAuthModes")) + { + Aws::Utils::Array defaultPublishAuthModesJsonList = jsonValue.GetArray("defaultPublishAuthModes"); + for(unsigned defaultPublishAuthModesIndex = 0; defaultPublishAuthModesIndex < defaultPublishAuthModesJsonList.GetLength(); ++defaultPublishAuthModesIndex) + { + m_defaultPublishAuthModes.push_back(defaultPublishAuthModesJsonList[defaultPublishAuthModesIndex].AsObject()); + } + m_defaultPublishAuthModesHasBeenSet = true; + } + + if(jsonValue.ValueExists("defaultSubscribeAuthModes")) + { + Aws::Utils::Array defaultSubscribeAuthModesJsonList = jsonValue.GetArray("defaultSubscribeAuthModes"); + for(unsigned defaultSubscribeAuthModesIndex = 0; defaultSubscribeAuthModesIndex < defaultSubscribeAuthModesJsonList.GetLength(); ++defaultSubscribeAuthModesIndex) + { + m_defaultSubscribeAuthModes.push_back(defaultSubscribeAuthModesJsonList[defaultSubscribeAuthModesIndex].AsObject()); + } + m_defaultSubscribeAuthModesHasBeenSet = true; + } + + if(jsonValue.ValueExists("logConfig")) + { + m_logConfig = jsonValue.GetObject("logConfig"); + + m_logConfigHasBeenSet = true; + } + + return *this; +} + +JsonValue EventConfig::Jsonize() const +{ + JsonValue payload; + + if(m_authProvidersHasBeenSet) + { + Aws::Utils::Array authProvidersJsonList(m_authProviders.size()); + for(unsigned authProvidersIndex = 0; authProvidersIndex < authProvidersJsonList.GetLength(); ++authProvidersIndex) + { + authProvidersJsonList[authProvidersIndex].AsObject(m_authProviders[authProvidersIndex].Jsonize()); + } + payload.WithArray("authProviders", std::move(authProvidersJsonList)); + + } + + if(m_connectionAuthModesHasBeenSet) + { + Aws::Utils::Array connectionAuthModesJsonList(m_connectionAuthModes.size()); + for(unsigned connectionAuthModesIndex = 0; connectionAuthModesIndex < connectionAuthModesJsonList.GetLength(); ++connectionAuthModesIndex) + { + connectionAuthModesJsonList[connectionAuthModesIndex].AsObject(m_connectionAuthModes[connectionAuthModesIndex].Jsonize()); + } + payload.WithArray("connectionAuthModes", std::move(connectionAuthModesJsonList)); + + } + + if(m_defaultPublishAuthModesHasBeenSet) + { + Aws::Utils::Array defaultPublishAuthModesJsonList(m_defaultPublishAuthModes.size()); + for(unsigned defaultPublishAuthModesIndex = 0; defaultPublishAuthModesIndex < defaultPublishAuthModesJsonList.GetLength(); ++defaultPublishAuthModesIndex) + { + defaultPublishAuthModesJsonList[defaultPublishAuthModesIndex].AsObject(m_defaultPublishAuthModes[defaultPublishAuthModesIndex].Jsonize()); + } + payload.WithArray("defaultPublishAuthModes", std::move(defaultPublishAuthModesJsonList)); + + } + + if(m_defaultSubscribeAuthModesHasBeenSet) + { + Aws::Utils::Array defaultSubscribeAuthModesJsonList(m_defaultSubscribeAuthModes.size()); + for(unsigned defaultSubscribeAuthModesIndex = 0; defaultSubscribeAuthModesIndex < defaultSubscribeAuthModesJsonList.GetLength(); ++defaultSubscribeAuthModesIndex) + { + defaultSubscribeAuthModesJsonList[defaultSubscribeAuthModesIndex].AsObject(m_defaultSubscribeAuthModes[defaultSubscribeAuthModesIndex].Jsonize()); + } + payload.WithArray("defaultSubscribeAuthModes", std::move(defaultSubscribeAuthModesJsonList)); + + } + + if(m_logConfigHasBeenSet) + { + payload.WithObject("logConfig", m_logConfig.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/EventLogConfig.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/EventLogConfig.cpp new file mode 100644 index 00000000000..4578a18dbec --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/EventLogConfig.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace AppSync +{ +namespace Model +{ + +EventLogConfig::EventLogConfig() : + m_logLevel(EventLogLevel::NOT_SET), + m_logLevelHasBeenSet(false), + m_cloudWatchLogsRoleArnHasBeenSet(false) +{ +} + +EventLogConfig::EventLogConfig(JsonView jsonValue) + : EventLogConfig() +{ + *this = jsonValue; +} + +EventLogConfig& EventLogConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("logLevel")) + { + m_logLevel = EventLogLevelMapper::GetEventLogLevelForName(jsonValue.GetString("logLevel")); + + m_logLevelHasBeenSet = true; + } + + if(jsonValue.ValueExists("cloudWatchLogsRoleArn")) + { + m_cloudWatchLogsRoleArn = jsonValue.GetString("cloudWatchLogsRoleArn"); + + m_cloudWatchLogsRoleArnHasBeenSet = true; + } + + return *this; +} + +JsonValue EventLogConfig::Jsonize() const +{ + JsonValue payload; + + if(m_logLevelHasBeenSet) + { + payload.WithString("logLevel", EventLogLevelMapper::GetNameForEventLogLevel(m_logLevel)); + } + + if(m_cloudWatchLogsRoleArnHasBeenSet) + { + payload.WithString("cloudWatchLogsRoleArn", m_cloudWatchLogsRoleArn); + + } + + return payload; +} + +} // namespace Model +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/EventLogLevel.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/EventLogLevel.cpp new file mode 100644 index 00000000000..463de87e193 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/EventLogLevel.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace AppSync + { + namespace Model + { + namespace EventLogLevelMapper + { + + static const int NONE_HASH = HashingUtils::HashString("NONE"); + static const int ERROR__HASH = HashingUtils::HashString("ERROR"); + static const int ALL_HASH = HashingUtils::HashString("ALL"); + static const int INFO_HASH = HashingUtils::HashString("INFO"); + static const int DEBUG__HASH = HashingUtils::HashString("DEBUG"); + + + EventLogLevel GetEventLogLevelForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == NONE_HASH) + { + return EventLogLevel::NONE; + } + else if (hashCode == ERROR__HASH) + { + return EventLogLevel::ERROR_; + } + else if (hashCode == ALL_HASH) + { + return EventLogLevel::ALL; + } + else if (hashCode == INFO_HASH) + { + return EventLogLevel::INFO; + } + else if (hashCode == DEBUG__HASH) + { + return EventLogLevel::DEBUG_; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return EventLogLevel::NOT_SET; + } + + Aws::String GetNameForEventLogLevel(EventLogLevel enumValue) + { + switch(enumValue) + { + case EventLogLevel::NOT_SET: + return {}; + case EventLogLevel::NONE: + return "NONE"; + case EventLogLevel::ERROR_: + return "ERROR"; + case EventLogLevel::ALL: + return "ALL"; + case EventLogLevel::INFO: + return "INFO"; + case EventLogLevel::DEBUG_: + return "DEBUG"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace EventLogLevelMapper + } // namespace Model + } // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/GetApiRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/GetApiRequest.cpp new file mode 100644 index 00000000000..3f5bcc5ffde --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/GetApiRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetApiRequest::GetApiRequest() : + m_apiIdHasBeenSet(false) +{ +} + +Aws::String GetApiRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/GetApiResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/GetApiResult.cpp new file mode 100644 index 00000000000..b89b8583f18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/GetApiResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetApiResult::GetApiResult() +{ +} + +GetApiResult::GetApiResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetApiResult& GetApiResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("api")) + { + m_api = jsonValue.GetObject("api"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/GetChannelNamespaceRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/GetChannelNamespaceRequest.cpp new file mode 100644 index 00000000000..2a04ba8e371 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/GetChannelNamespaceRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetChannelNamespaceRequest::GetChannelNamespaceRequest() : + m_apiIdHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +Aws::String GetChannelNamespaceRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/GetChannelNamespaceResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/GetChannelNamespaceResult.cpp new file mode 100644 index 00000000000..a0eafc5305d --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/GetChannelNamespaceResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetChannelNamespaceResult::GetChannelNamespaceResult() +{ +} + +GetChannelNamespaceResult::GetChannelNamespaceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetChannelNamespaceResult& GetChannelNamespaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("channelNamespace")) + { + m_channelNamespace = jsonValue.GetObject("channelNamespace"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/ListApisRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/ListApisRequest.cpp new file mode 100644 index 00000000000..b7b42d37c6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/ListApisRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListApisRequest::ListApisRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListApisRequest::SerializePayload() const +{ + return {}; +} + +void ListApisRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/ListApisResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/ListApisResult.cpp new file mode 100644 index 00000000000..f39a2d1047b --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/ListApisResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListApisResult::ListApisResult() +{ +} + +ListApisResult::ListApisResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListApisResult& ListApisResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("apis")) + { + Aws::Utils::Array apisJsonList = jsonValue.GetArray("apis"); + for(unsigned apisIndex = 0; apisIndex < apisJsonList.GetLength(); ++apisIndex) + { + m_apis.push_back(apisJsonList[apisIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/ListChannelNamespacesRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/ListChannelNamespacesRequest.cpp new file mode 100644 index 00000000000..c8353300371 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/ListChannelNamespacesRequest.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListChannelNamespacesRequest::ListChannelNamespacesRequest() : + m_apiIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListChannelNamespacesRequest::SerializePayload() const +{ + return {}; +} + +void ListChannelNamespacesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/ListChannelNamespacesResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/ListChannelNamespacesResult.cpp new file mode 100644 index 00000000000..f20589dc612 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/ListChannelNamespacesResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListChannelNamespacesResult::ListChannelNamespacesResult() +{ +} + +ListChannelNamespacesResult::ListChannelNamespacesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListChannelNamespacesResult& ListChannelNamespacesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("channelNamespaces")) + { + Aws::Utils::Array channelNamespacesJsonList = jsonValue.GetArray("channelNamespaces"); + for(unsigned channelNamespacesIndex = 0; channelNamespacesIndex < channelNamespacesJsonList.GetLength(); ++channelNamespacesIndex) + { + m_channelNamespaces.push_back(channelNamespacesJsonList[channelNamespacesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/UpdateApiRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/UpdateApiRequest.cpp new file mode 100644 index 00000000000..728cd617df8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/UpdateApiRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateApiRequest::UpdateApiRequest() : + m_apiIdHasBeenSet(false), + m_nameHasBeenSet(false), + m_ownerContactHasBeenSet(false), + m_eventConfigHasBeenSet(false) +{ +} + +Aws::String UpdateApiRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_ownerContactHasBeenSet) + { + payload.WithString("ownerContact", m_ownerContact); + + } + + if(m_eventConfigHasBeenSet) + { + payload.WithObject("eventConfig", m_eventConfig.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/UpdateApiResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/UpdateApiResult.cpp new file mode 100644 index 00000000000..84b332c4865 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/UpdateApiResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateApiResult::UpdateApiResult() +{ +} + +UpdateApiResult::UpdateApiResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateApiResult& UpdateApiResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("api")) + { + m_api = jsonValue.GetObject("api"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/UpdateChannelNamespaceRequest.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/UpdateChannelNamespaceRequest.cpp new file mode 100644 index 00000000000..e3cf740ba1e --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/UpdateChannelNamespaceRequest.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateChannelNamespaceRequest::UpdateChannelNamespaceRequest() : + m_apiIdHasBeenSet(false), + m_nameHasBeenSet(false), + m_subscribeAuthModesHasBeenSet(false), + m_publishAuthModesHasBeenSet(false), + m_codeHandlersHasBeenSet(false) +{ +} + +Aws::String UpdateChannelNamespaceRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_subscribeAuthModesHasBeenSet) + { + Aws::Utils::Array subscribeAuthModesJsonList(m_subscribeAuthModes.size()); + for(unsigned subscribeAuthModesIndex = 0; subscribeAuthModesIndex < subscribeAuthModesJsonList.GetLength(); ++subscribeAuthModesIndex) + { + subscribeAuthModesJsonList[subscribeAuthModesIndex].AsObject(m_subscribeAuthModes[subscribeAuthModesIndex].Jsonize()); + } + payload.WithArray("subscribeAuthModes", std::move(subscribeAuthModesJsonList)); + + } + + if(m_publishAuthModesHasBeenSet) + { + Aws::Utils::Array publishAuthModesJsonList(m_publishAuthModes.size()); + for(unsigned publishAuthModesIndex = 0; publishAuthModesIndex < publishAuthModesJsonList.GetLength(); ++publishAuthModesIndex) + { + publishAuthModesJsonList[publishAuthModesIndex].AsObject(m_publishAuthModes[publishAuthModesIndex].Jsonize()); + } + payload.WithArray("publishAuthModes", std::move(publishAuthModesJsonList)); + + } + + if(m_codeHandlersHasBeenSet) + { + payload.WithString("codeHandlers", m_codeHandlers); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-appsync/source/model/UpdateChannelNamespaceResult.cpp b/generated/src/aws-cpp-sdk-appsync/source/model/UpdateChannelNamespaceResult.cpp new file mode 100644 index 00000000000..a05376e113e --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/model/UpdateChannelNamespaceResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::AppSync::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateChannelNamespaceResult::UpdateChannelNamespaceResult() +{ +} + +UpdateChannelNamespaceResult::UpdateChannelNamespaceResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateChannelNamespaceResult& UpdateChannelNamespaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("channelNamespace")) + { + m_channelNamespace = jsonValue.GetObject("channelNamespace"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/UserIdentityInfo.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/UserIdentityInfo.h index d5efd519210..2f09af549d0 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/UserIdentityInfo.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/model/UserIdentityInfo.h @@ -28,7 +28,11 @@ namespace Model * Connect instances that are created with the EXISTING_DIRECTORY * identity management type, FirstName, LastName, and * Email cannot be updated from within Amazon Connect because they are - * managed by the directory.

See Also:

The FirstName + * and LastName length constraints below apply only to instances using + * SAML for identity management. If you are using Amazon Connect for identity + * management, the length constraints are 1-255 for FirstName, and + * 1-256 for LastName.

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h index 77d1a452d25..a36c4461f20 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h @@ -143,16 +143,11 @@ namespace DataSync } /** - *

Activates an DataSync agent that you've deployed in your storage environment. - * The activation process associates the agent with your Amazon Web Services - * account.

If you haven't deployed an agent yet, see the following topics - * to learn more:

If you're transferring between Amazon - * Web Services storage services, you don't need a DataSync agent.

- *

See Also:

Activates an DataSync agent that you deploy in your storage environment. The + * activation process associates the agent with your Amazon Web Services + * account.

If you haven't deployed an agent yet, see Do + * I need a DataSync agent?

See Also:

AWS * API Reference

*/ @@ -1083,8 +1078,14 @@ namespace DataSync /** *

Provides information about an execution of your DataSync task. You can use - * this operation to help monitor the progress of an ongoing transfer or check the - * results of the transfer.

See Also:

Some + * DescribeTaskExecution response elements are only relevant to a + * specific task mode. For information, see Understanding + * task mode differences and Understanding + * data transfer performance metrics.

See Also:

AWS * API Reference

*/ @@ -1397,7 +1398,7 @@ namespace DataSync /** *

Starts an DataSync transfer task. For each task, you can only run one task - * execution at a time.

There are several phases to a task execution. For + * execution at a time.

There are several steps to a task execution. For * more information, see Task * execution statuses.

If you're planning to transfer data diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateAgentRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateAgentRequest.h index 8dd251df143..beb702976b5 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateAgentRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateAgentRequest.h @@ -43,7 +43,7 @@ namespace Model /** *

Specifies your DataSync agent's activation key. If you don't have an * activation key, see Activate + * href="https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.html">Activating * your agent.

*/ inline const Aws::String& GetActivationKey() const{ return m_activationKey; } @@ -58,8 +58,8 @@ namespace Model ///@{ /** - *

Specifies a name for your agent. You can see this name in the DataSync - * console.

+ *

Specifies a name for your agent. We recommend specifying a name that you can + * remember.

*/ inline const Aws::String& GetAgentName() const{ return m_agentName; } inline bool AgentNameHasBeenSet() const { return m_agentNameHasBeenSet; } @@ -89,10 +89,11 @@ namespace Model ///@{ /** - *

Specifies the ID of the VPC endpoint that you want your agent to connect to. - * For example, a VPC endpoint ID looks like - * vpce-01234d5aff67890e1.

The VPC endpoint you use - * must include the DataSync service name (for example, + *

Specifies the ID of the VPC + * service endpoint that you're using. For example, a VPC endpoint ID looks + * like vpce-01234d5aff67890e1.

The VPC service + * endpoint you use must include the DataSync service name (for example, * com.amazonaws.us-east-2.datasync).

*/ inline const Aws::String& GetVpcEndpointId() const{ return m_vpcEndpointId; } @@ -107,11 +108,8 @@ namespace Model ///@{ /** - *

Specifies the ARN of the subnet where you want to run your DataSync task when - * using a VPC endpoint. This is the subnet where DataSync creates and manages the - * network - * interfaces for your transfer. You can only specify one ARN.

+ *

Specifies the ARN of the subnet where your VPC service endpoint is located. + * You can only specify one ARN.

*/ inline const Aws::Vector& GetSubnetArns() const{ return m_subnetArns; } inline bool SubnetArnsHasBeenSet() const { return m_subnetArnsHasBeenSet; } @@ -126,12 +124,9 @@ namespace Model ///@{ /** - *

Specifies the Amazon Resource Name (ARN) of the security group that protects - * your task's network - * interfaces when using - * a virtual private cloud (VPC) endpoint. You can only specify one ARN.

+ *

Specifies the Amazon Resource Name (ARN) of the security group that allows + * traffic between your agent and VPC service endpoint. You can only specify one + * ARN.

*/ inline const Aws::Vector& GetSecurityGroupArns() const{ return m_securityGroupArns; } inline bool SecurityGroupArnsHasBeenSet() const { return m_securityGroupArnsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationEfsRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationEfsRequest.h index e1a8357bcd9..bdd4dd5ef4c 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationEfsRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationEfsRequest.h @@ -45,9 +45,12 @@ namespace Model /** *

Specifies a mount path for your Amazon EFS file system. This is where * DataSync reads or writes data (depending on if this is a source or destination - * location). By default, DataSync uses the root directory, but you can also - * include subdirectories.

You must specify a value with forward - * slashes (for example, /path/to/folder).

+ * location) on your file system.

By default, DataSync uses the root + * directory (or access + * point if you provide one by using AccessPointArn). You can also + * include subdirectories using forward slashes (for example, + * /path/to/folder).

*/ inline const Aws::String& GetSubdirectory() const{ return m_subdirectory; } inline bool SubdirectoryHasBeenSet() const { return m_subdirectoryHasBeenSet; } @@ -61,7 +64,7 @@ namespace Model ///@{ /** - *

Specifies the ARN for the Amazon EFS file system.

+ *

Specifies the ARN for your Amazon EFS file system.

*/ inline const Aws::String& GetEfsFilesystemArn() const{ return m_efsFilesystemArn; } inline bool EfsFilesystemArnHasBeenSet() const { return m_efsFilesystemArnHasBeenSet; } @@ -75,8 +78,10 @@ namespace Model ///@{ /** - *

Specifies the subnet and security groups DataSync uses to access your Amazon - * EFS file system.

+ *

Specifies the subnet and security groups DataSync uses to connect to one of + * your Amazon EFS file system's mount + * targets.

*/ inline const Ec2Config& GetEc2Config() const{ return m_ec2Config; } inline bool Ec2ConfigHasBeenSet() const { return m_ec2ConfigHasBeenSet; } @@ -106,7 +111,9 @@ namespace Model ///@{ /** *

Specifies the Amazon Resource Name (ARN) of the access point that DataSync - * uses to access the Amazon EFS file system.

+ * uses to mount your Amazon EFS file system.

For more information, see Accessing + * restricted file systems.

*/ inline const Aws::String& GetAccessPointArn() const{ return m_accessPointArn; } inline bool AccessPointArnHasBeenSet() const { return m_accessPointArnHasBeenSet; } @@ -120,8 +127,11 @@ namespace Model ///@{ /** - *

Specifies an Identity and Access Management (IAM) role that DataSync assumes - * when mounting the Amazon EFS file system.

+ *

Specifies an Identity and Access Management (IAM) role that allows DataSync + * to access your Amazon EFS file system.

For information on creating this + * role, see Creating + * a DataSync IAM role for file system access.

*/ inline const Aws::String& GetFileSystemAccessRoleArn() const{ return m_fileSystemAccessRoleArn; } inline bool FileSystemAccessRoleArnHasBeenSet() const { return m_fileSystemAccessRoleArnHasBeenSet; } @@ -136,9 +146,9 @@ namespace Model ///@{ /** *

Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 - * encryption when it copies data to or from the Amazon EFS file system.

If - * you specify an access point using AccessPointArn or an IAM role - * using FileSystemAccessRoleArn, you must set this parameter to + * encryption when it transfers data to or from your Amazon EFS file system.

+ *

If you specify an access point using AccessPointArn or an IAM + * role using FileSystemAccessRoleArn, you must set this parameter to * TLS1_2.

*/ inline const EfsInTransitEncryption& GetInTransitEncryption() const{ return m_inTransitEncryption; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationFsxWindowsRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationFsxWindowsRequest.h index fe6447ae9c8..c68da7a5ce2 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationFsxWindowsRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationFsxWindowsRequest.h @@ -69,12 +69,17 @@ namespace Model ///@{ /** - *

Specifies the ARNs of the security groups that provide access to your file - * system's preferred subnet.

If you choose a security group that - * doesn't allow connections from within itself, do one of the following:

    - *
  • Configure the security group to allow it to communicate within - * itself.

  • Choose a different security group that can communicate - * with the mount target's security group.

+ *

Specifies the ARNs of the Amazon EC2 security groups that provide access to + * your file system's preferred subnet.

The security groups that you specify + * must be able to communicate with your file system's security groups. For + * information about configuring security groups for file system access, see the + * Amazon FSx for Windows File Server User Guide .

If you + * choose a security group that doesn't allow connections from within itself, do + * one of the following:

  • Configure the security group to allow it + * to communicate within itself.

  • Choose a different security + * group that can communicate with the mount target's security group.

  • + *
*/ inline const Aws::Vector& GetSecurityGroupArns() const{ return m_securityGroupArns; } inline bool SecurityGroupArnsHasBeenSet() const { return m_securityGroupArnsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationHdfsRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationHdfsRequest.h index ee80c2aace0..8695e682161 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationHdfsRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationHdfsRequest.h @@ -207,8 +207,8 @@ namespace Model ///@{ /** - *

The Amazon Resource Names (ARNs) of the agents that are used to connect to - * the HDFS cluster.

+ *

The Amazon Resource Names (ARNs) of the DataSync agents that can connect to + * your HDFS cluster.

*/ inline const Aws::Vector& GetAgentArns() const{ return m_agentArns; } inline bool AgentArnsHasBeenSet() const { return m_agentArnsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationHdfsResult.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationHdfsResult.h index 161cb405231..4f9de27409e 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationHdfsResult.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationHdfsResult.h @@ -34,7 +34,7 @@ namespace Model ///@{ /** - *

The ARN of the source HDFS cluster location that's created.

+ *

The ARN of the source HDFS cluster location that you create.

*/ inline const Aws::String& GetLocationArn() const{ return m_locationArn; } inline void SetLocationArn(const Aws::String& value) { m_locationArn = value; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationNfsRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationNfsRequest.h index 0e5b3d9fbfa..e665a75ebf4 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationNfsRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationNfsRequest.h @@ -77,11 +77,11 @@ namespace Model ///@{ /** - *

Specifies the Amazon Resource Name (ARN) of the DataSync agent that want to + *

Specifies the Amazon Resource Name (ARN) of the DataSync agent that can * connect to your NFS file server.

You can specify more than one agent. For * more information, see Using - * multiple agents for transfers.

+ * href="https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html#multiple-agents">Using + * multiple DataSync agents.

*/ inline const OnPremConfig& GetOnPremConfig() const{ return m_onPremConfig; } inline bool OnPremConfigHasBeenSet() const { return m_onPremConfigHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationObjectStorageRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationObjectStorageRequest.h index ce68841f72f..6e4689aff57 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationObjectStorageRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationObjectStorageRequest.h @@ -144,7 +144,7 @@ namespace Model ///@{ /** *

Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can - * securely connect with your location.

+ * connect with your object storage system.

*/ inline const Aws::Vector& GetAgentArns() const{ return m_agentArns; } inline bool AgentArnsHasBeenSet() const { return m_agentArnsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationSmbRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationSmbRequest.h index 0e5ddee368f..7d1cc453463 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationSmbRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateLocationSmbRequest.h @@ -132,9 +132,8 @@ namespace Model ///@{ /** - *

Specifies the DataSync agent (or agents) which you want to connect to your - * SMB file server. You specify an agent by using its Amazon Resource Name - * (ARN).

+ *

Specifies the DataSync agent (or agents) that can connect to your SMB file + * server. You specify an agent by using its Amazon Resource Name (ARN).

*/ inline const Aws::Vector& GetAgentArns() const{ return m_agentArns; } inline bool AgentArnsHasBeenSet() const { return m_agentArnsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateTaskRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateTaskRequest.h index 14aed99a1bd..c9fb8339daf 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateTaskRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/CreateTaskRequest.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -75,7 +76,9 @@ namespace Model ///@{ /** *

Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group - * for monitoring your task.

+ * for monitoring your task.

For Enhanced mode tasks, you don't need to + * specify anything. DataSync automatically sends logs to a CloudWatch log group + * named /aws/datasync.

*/ inline const Aws::String& GetCloudWatchLogGroupArn() const{ return m_cloudWatchLogGroupArn; } inline bool CloudWatchLogGroupArnHasBeenSet() const { return m_cloudWatchLogGroupArnHasBeenSet; } @@ -165,7 +168,7 @@ namespace Model ///@{ /** - *

Specifies include filters define the files, objects, and folders in your + *

Specifies include filters that define the files, objects, and folders in your * source location that you want DataSync to transfer. For more information and * examples, see Specifying @@ -218,6 +221,30 @@ namespace Model inline CreateTaskRequest& WithTaskReportConfig(const TaskReportConfig& value) { SetTaskReportConfig(value); return *this;} inline CreateTaskRequest& WithTaskReportConfig(TaskReportConfig&& value) { SetTaskReportConfig(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

Specifies one of the following task modes for your data transfer:

For more information, see Understanding + * task mode differences.

+ */ + inline const TaskMode& GetTaskMode() const{ return m_taskMode; } + inline bool TaskModeHasBeenSet() const { return m_taskModeHasBeenSet; } + inline void SetTaskMode(const TaskMode& value) { m_taskModeHasBeenSet = true; m_taskMode = value; } + inline void SetTaskMode(TaskMode&& value) { m_taskModeHasBeenSet = true; m_taskMode = std::move(value); } + inline CreateTaskRequest& WithTaskMode(const TaskMode& value) { SetTaskMode(value); return *this;} + inline CreateTaskRequest& WithTaskMode(TaskMode&& value) { SetTaskMode(std::move(value)); return *this;} + ///@} private: Aws::String m_sourceLocationArn; @@ -252,6 +279,9 @@ namespace Model TaskReportConfig m_taskReportConfig; bool m_taskReportConfigHasBeenSet = false; + + TaskMode m_taskMode; + bool m_taskModeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationEfsResult.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationEfsResult.h index b852ea2ddd9..e1af12e7fb4 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationEfsResult.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationEfsResult.h @@ -89,7 +89,9 @@ namespace Model ///@{ /** *

The ARN of the access point that DataSync uses to access the Amazon EFS file - * system.

+ * system.

For more information, see Accessing + * restricted file systems.

*/ inline const Aws::String& GetAccessPointArn() const{ return m_accessPointArn; } inline void SetAccessPointArn(const Aws::String& value) { m_accessPointArn = value; } @@ -102,8 +104,10 @@ namespace Model ///@{ /** - *

The Identity and Access Management (IAM) role that DataSync assumes when - * mounting the Amazon EFS file system.

+ *

The Identity and Access Management (IAM) role that allows DataSync to access + * your Amazon EFS file system.

For more information, see Creating + * a DataSync IAM role for file system access.

*/ inline const Aws::String& GetFileSystemAccessRoleArn() const{ return m_fileSystemAccessRoleArn; } inline void SetFileSystemAccessRoleArn(const Aws::String& value) { m_fileSystemAccessRoleArn = value; } @@ -116,8 +120,8 @@ namespace Model ///@{ /** - *

Describes whether DataSync uses Transport Layer Security (TLS) encryption - * when copying data to or from the Amazon EFS file system.

+ *

Indicates whether DataSync uses Transport Layer Security (TLS) encryption + * when transferring data to or from the Amazon EFS file system.

*/ inline const EfsInTransitEncryption& GetInTransitEncryption() const{ return m_inTransitEncryption; } inline void SetInTransitEncryption(const EfsInTransitEncryption& value) { m_inTransitEncryption = value; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationFsxWindowsResult.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationFsxWindowsResult.h index 70442f97d41..a74e1d0199a 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationFsxWindowsResult.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeLocationFsxWindowsResult.h @@ -63,8 +63,11 @@ namespace Model ///@{ /** - *

The ARNs of the security groups that are configured for the FSx for Windows - * File Server file system.

+ *

The ARNs of the Amazon EC2 security groups that provide access to your file + * system's preferred subnet.

For information about configuring security + * groups for file system access, see the + * Amazon FSx for Windows File Server User Guide .

*/ inline const Aws::Vector& GetSecurityGroupArns() const{ return m_securityGroupArns; } inline void SetSecurityGroupArns(const Aws::Vector& value) { m_securityGroupArns = value; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeTaskExecutionResult.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeTaskExecutionResult.h index a599865b679..49e589bf3b5 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeTaskExecutionResult.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeTaskExecutionResult.h @@ -14,6 +14,9 @@ #include #include #include +#include +#include +#include #include #include @@ -145,11 +148,26 @@ namespace Model ///@{ /** - *

The expected number of files, objects, and directories that DataSync will + *

The number of files, objects, and directories that DataSync expects to * transfer over the network. This value is calculated during the task execution's - * PREPARING phase before the TRANSFERRING phase. The - * calculation is based on comparing the content of the source and destination - * locations and finding the difference that needs to be transferred.

+ * PREPARING step + * before the TRANSFERRING step.

How this gets calculated + * depends primarily on your task’s transfer + * mode configuration:

  • If TranserMode is set to + * CHANGED - The calculation is based on comparing the content of the + * source and destination locations and determining the difference that needs to be + * transferred. The difference can include:

    • Anything that's added + * or modified at the source location.

    • Anything that's in both + * locations and modified at the destination after an initial transfer (unless OverwriteMode + * is set to NEVER).

    • (Basic task mode only) + * The number of items that DataSync expects to delete (if PreserveDeletedFiles + * is set to REMOVE).

  • If + * TranserMode is set to ALL - The calculation is based + * only on the items that DataSync finds at the source location.

*/ inline long long GetEstimatedFilesToTransfer() const{ return m_estimatedFilesToTransfer; } inline void SetEstimatedFilesToTransfer(long long value) { m_estimatedFilesToTransfer = value; } @@ -158,8 +176,8 @@ namespace Model ///@{ /** - *

The estimated physical number of bytes that will transfer over the - * network.

+ *

The number of logical bytes that DataSync expects to write to the destination + * location.

*/ inline long long GetEstimatedBytesToTransfer() const{ return m_estimatedBytesToTransfer; } inline void SetEstimatedBytesToTransfer(long long value) { m_estimatedBytesToTransfer = value; } @@ -168,15 +186,16 @@ namespace Model ///@{ /** - *

The actual number of files, objects, and directories that DataSync - * transferred over the network. This value is updated periodically during the task - * execution's TRANSFERRING phase when something is read from the - * source and sent over the network.

If DataSync fails to transfer - * something, this value can be less than EstimatedFilesToTransfer. In - * some cases, this value can also be greater than - * EstimatedFilesToTransfer. This element is implementation-specific - * for some location types, so don't use it as an exact indication of what - * transferred or to monitor your task execution.

+ *

The number of files, objects, and directories that DataSync actually + * transfers over the network. This value is updated periodically during the task + * execution's TRANSFERRING step + * when something is read from the source and sent over the network.

If + * DataSync fails to transfer something, this value can be less than + * EstimatedFilesToTransfer. In some cases, this value can also be + * greater than EstimatedFilesToTransfer. This element is + * implementation-specific for some location types, so don't use it as an exact + * indication of what's transferring or to monitor your task execution.

*/ inline long long GetFilesTransferred() const{ return m_filesTransferred; } inline void SetFilesTransferred(long long value) { m_filesTransferred = value; } @@ -185,7 +204,8 @@ namespace Model ///@{ /** - *

The number of logical bytes written to the destination location.

+ *

The number of logical bytes that DataSync actually writes to the destination + * location.

*/ inline long long GetBytesWritten() const{ return m_bytesWritten; } inline void SetBytesWritten(long long value) { m_bytesWritten = value; } @@ -194,8 +214,11 @@ namespace Model ///@{ /** - *

The total number of bytes that are involved in the transfer. For the number - * of bytes sent over the network, see BytesCompressed.

+ *

The number of bytes that DataSync sends to the network before compression (if + * compression is possible). For the number of bytes transferred over the network, + * see BytesCompressed. + *

*/ inline long long GetBytesTransferred() const{ return m_bytesTransferred; } inline void SetBytesTransferred(long long value) { m_bytesTransferred = value; } @@ -204,9 +227,13 @@ namespace Model ///@{ /** - *

The physical number of bytes transferred over the network after compression - * was applied. In most cases, this number is less than - * BytesTransferred unless the data isn't compressible.

+ *

The number of physical bytes that DataSync transfers over the network after + * compression (if compression is possible). This number is typically less than BytesTransferred + * unless the data isn't compressible.

Not currently supported with + * Enhanced + * mode tasks.

*/ inline long long GetBytesCompressed() const{ return m_bytesCompressed; } inline void SetBytesCompressed(long long value) { m_bytesCompressed = value; } @@ -240,8 +267,8 @@ namespace Model ///@{ /** - *

The number of files, objects, and directories that DataSync deleted in your - * destination location. If you don't The number of files, objects, and directories that DataSync actually deletes + * in your destination location. If you don't configure * your task to delete data in the destination that isn't in the source, the * value is always 0.

@@ -253,8 +280,8 @@ namespace Model ///@{ /** - *

The number of files, objects, and directories that DataSync skipped during - * your transfer.

+ *

The number of files, objects, and directories that DataSync skips during your + * transfer.

*/ inline long long GetFilesSkipped() const{ return m_filesSkipped; } inline void SetFilesSkipped(long long value) { m_filesSkipped = value; } @@ -263,7 +290,7 @@ namespace Model ///@{ /** - *

The number of files, objects, and directories that DataSync verified during + *

The number of files, objects, and directories that DataSync verifies during * your transfer.

When you configure your task to verify * only the data that's transferred, DataSync doesn't verify directories in @@ -289,8 +316,8 @@ namespace Model ///@{ /** - *

The expected number of files, objects, and directories that DataSync will - * delete in your destination location. If you don't The number of files, objects, and directories that DataSync expects to delete + * in your destination location. If you don't configure * your task to delete data in the destination that isn't in the source, the * value is always 0.

@@ -300,6 +327,63 @@ namespace Model inline DescribeTaskExecutionResult& WithEstimatedFilesToDelete(long long value) { SetEstimatedFilesToDelete(value); return *this;} ///@} + ///@{ + /** + *

The task mode that you're using. For more information, see Choosing + * a task mode for your data transfer.

+ */ + inline const TaskMode& GetTaskMode() const{ return m_taskMode; } + inline void SetTaskMode(const TaskMode& value) { m_taskMode = value; } + inline void SetTaskMode(TaskMode&& value) { m_taskMode = std::move(value); } + inline DescribeTaskExecutionResult& WithTaskMode(const TaskMode& value) { SetTaskMode(value); return *this;} + inline DescribeTaskExecutionResult& WithTaskMode(TaskMode&& value) { SetTaskMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The number of objects that DataSync will attempt to transfer after comparing + * your source and destination locations.

Applies only to Enhanced + * mode tasks.

This metric isn't applicable if you configure + * your task to transfer + * all data. In that scenario, DataSync copies everything from the source to + * the destination without comparing differences between the locations.

+ */ + inline long long GetFilesPrepared() const{ return m_filesPrepared; } + inline void SetFilesPrepared(long long value) { m_filesPrepared = value; } + inline DescribeTaskExecutionResult& WithFilesPrepared(long long value) { SetFilesPrepared(value); return *this;} + ///@} + + ///@{ + /** + *

The number of objects that DataSync finds at your locations.

+ *

Applies only to Enhanced + * mode tasks.

+ */ + inline const TaskExecutionFilesListedDetail& GetFilesListed() const{ return m_filesListed; } + inline void SetFilesListed(const TaskExecutionFilesListedDetail& value) { m_filesListed = value; } + inline void SetFilesListed(TaskExecutionFilesListedDetail&& value) { m_filesListed = std::move(value); } + inline DescribeTaskExecutionResult& WithFilesListed(const TaskExecutionFilesListedDetail& value) { SetFilesListed(value); return *this;} + inline DescribeTaskExecutionResult& WithFilesListed(TaskExecutionFilesListedDetail&& value) { SetFilesListed(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

The number of objects that DataSync fails to prepare, transfer, verify, and + * delete during your task execution.

Applies only to Enhanced + * mode tasks.

+ */ + inline const TaskExecutionFilesFailedDetail& GetFilesFailed() const{ return m_filesFailed; } + inline void SetFilesFailed(const TaskExecutionFilesFailedDetail& value) { m_filesFailed = value; } + inline void SetFilesFailed(TaskExecutionFilesFailedDetail&& value) { m_filesFailed = std::move(value); } + inline DescribeTaskExecutionResult& WithFilesFailed(const TaskExecutionFilesFailedDetail& value) { SetFilesFailed(value); return *this;} + inline DescribeTaskExecutionResult& WithFilesFailed(TaskExecutionFilesFailedDetail&& value) { SetFilesFailed(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -352,6 +436,14 @@ namespace Model long long m_estimatedFilesToDelete; + TaskMode m_taskMode; + + long long m_filesPrepared; + + TaskExecutionFilesListedDetail m_filesListed; + + TaskExecutionFilesFailedDetail m_filesFailed; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeTaskResult.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeTaskResult.h index ec64bc50fc9..fc4867a5d5e 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeTaskResult.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/DescribeTaskResult.h @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -128,8 +129,8 @@ namespace Model /** *

The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for * monitoring your task.

For more information, see Monitoring - * DataSync with Amazon CloudWatch.

+ * href="https://docs.aws.amazon.com/datasync/latest/userguide/configure-logging.html">Monitoring + * data transfers with CloudWatch Logs.

*/ inline const Aws::String& GetCloudWatchLogGroupArn() const{ return m_cloudWatchLogGroupArn; } inline void SetCloudWatchLogGroupArn(const Aws::String& value) { m_cloudWatchLogGroupArn = value; } @@ -316,6 +317,19 @@ namespace Model inline DescribeTaskResult& WithScheduleDetails(TaskScheduleDetails&& value) { SetScheduleDetails(std::move(value)); return *this;} ///@} + ///@{ + /** + *

The task mode that you're using. For more information, see Choosing + * a task mode for your data transfer.

+ */ + inline const TaskMode& GetTaskMode() const{ return m_taskMode; } + inline void SetTaskMode(const TaskMode& value) { m_taskMode = value; } + inline void SetTaskMode(TaskMode&& value) { m_taskMode = std::move(value); } + inline DescribeTaskResult& WithTaskMode(const TaskMode& value) { SetTaskMode(value); return *this;} + inline DescribeTaskResult& WithTaskMode(TaskMode&& value) { SetTaskMode(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -366,6 +380,8 @@ namespace Model TaskScheduleDetails m_scheduleDetails; + TaskMode m_taskMode; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/Ec2Config.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/Ec2Config.h index f1f87f8e111..07dabf2cc8c 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/Ec2Config.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/Ec2Config.h @@ -25,8 +25,10 @@ namespace Model { /** - *

The subnet and security groups that DataSync uses to access your Amazon EFS - * file system.

See Also:

The subnet and security groups that DataSync uses to connect to one of your + * Amazon EFS file system's mount + * targets.

See Also:

AWS * API Reference

*/ diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/OnPremConfig.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/OnPremConfig.h index f06243f8da9..5fc2046aee4 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/OnPremConfig.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/OnPremConfig.h @@ -25,8 +25,8 @@ namespace Model { /** - *

The DataSync agents that are connecting to a Network File System (NFS) - * location.

See Also:

The DataSync agents that can connect to your Network File System (NFS) file + * server.

See Also:

AWS * API Reference

*/ @@ -41,8 +41,11 @@ namespace Model ///@{ /** - *

The Amazon Resource Names (ARNs) of the agents connecting to a transfer - * location.

+ *

The Amazon Resource Names (ARNs) of the DataSync agents that can connect to + * your NFS file server.

You can specify more than one agent. For more + * information, see Using + * multiple DataSync agents.

*/ inline const Aws::Vector& GetAgentArns() const{ return m_agentArns; } inline bool AgentArnsHasBeenSet() const { return m_agentArnsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/Options.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/Options.h index a894a2554ea..34edc369bd2 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/Options.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/Options.h @@ -61,27 +61,33 @@ namespace Model ///@{ /** - *

Specifies how and when DataSync checks the integrity of your data during a - * transfer.

*/ inline const VerifyMode& GetVerifyMode() const{ return m_verifyMode; } inline bool VerifyModeHasBeenSet() const { return m_verifyModeHasBeenSet; } @@ -120,7 +126,7 @@ namespace Model * standard across platforms, so DataSync can only do this on a best-effort * basis.

  • BEST_EFFORT (default) - DataSync * attempts to preserve the original Atime attribute on all source - * files (that is, the version before the PREPARING phase of the task + * files (that is, the version before the PREPARING steps of the task * execution). This option is recommended.

  • NONE - * Ignores Atime.

If Atime is * set to BEST_EFFORT, Mtime must be set to @@ -139,7 +145,7 @@ namespace Model ///@{ /** *

Specifies whether to preserve metadata indicating the last time that a file - * was written to before the PREPARING phase of your task execution. + * was written to before the PREPARING step of your task execution. * This option is required when you need to run the a task more than once.

    *
  • PRESERVE (default) - Preserves original * Mtime, which is recommended.

  • NONE - @@ -180,8 +186,8 @@ namespace Model * INT_VALUE (default) - Preserves the integer value of user ID (UID) * and GID, which is recommended.

  • NONE - Ignores * UID and GID.

For more information, see Metadata - * copied by DataSync.

+ * href="https://docs.aws.amazon.com/datasync/latest/userguide/metadata-copied.html">Understanding + * how DataSync handles file and object metadata.

*/ inline const Gid& GetGid() const{ return m_gid; } inline bool GidHasBeenSet() const { return m_gidHasBeenSet; } @@ -239,11 +245,12 @@ namespace Model *

Specifies which users or groups can access a file for a specific purpose such * as reading, writing, or execution of the file.

For more information, see * Metadata - * copied by DataSync.

  • PRESERVE (default) - - * Preserves POSIX-style permissions, which is recommended.

  • - * NONE - Ignores POSIX-style permissions.

- *

DataSync can preserve extant permissions of a source location.

+ * href="https://docs.aws.amazon.com/datasync/latest/userguide/metadata-copied.html">Understanding + * how DataSync handles file and object metadata.

  • + * PRESERVE (default) - Preserves POSIX-style permissions, which is + * recommended.

  • NONE - Ignores POSIX-style + * permissions.

DataSync can preserve extant permissions + * of a source location.

*/ inline const PosixPermissions& GetPosixPermissions() const{ return m_posixPermissions; } inline bool PosixPermissionsHasBeenSet() const { return m_posixPermissionsHasBeenSet; } @@ -257,7 +264,9 @@ namespace Model /** *

Limits the bandwidth used by a DataSync task. For example, if you want * DataSync to use a maximum of 1 MB, set this value to 1048576 - * (=1024*1024).

+ * (=1024*1024).

Not applicable to Enhanced + * mode tasks.

*/ inline long long GetBytesPerSecond() const{ return m_bytesPerSecond; } inline bool BytesPerSecondHasBeenSet() const { return m_bytesPerSecondHasBeenSet; } @@ -301,14 +310,15 @@ namespace Model ///@{ /** - *

Determines whether DataSync transfers only the data and metadata that differ - * between the source and the destination location or transfers all the content - * from the source (without comparing what's in the destination).

  • - * CHANGED (default) - DataSync copies only data or metadata that is - * new or different content from the source location to the destination - * location.

  • ALL - DataSync copies everything in - * the source to the destination without comparing differences between the - * locations.

+ *

Specifies whether DataSync transfers only the data (including metadata) that + * differs between locations following an initial copy or transfers all data every + * time you run the task. If you're planning on recurring transfers, you might only + * want to transfer what's changed since your previous task execution.

    + *
  • CHANGED (default) - After your initial full transfer, + * DataSync copies only the data and metadata that differs between the source and + * destination location.

  • ALL - DataSync copies + * everything in the source to the destination without comparing differences + * between the locations.

*/ inline const TransferMode& GetTransferMode() const{ return m_transferMode; } inline bool TransferModeHasBeenSet() const { return m_transferModeHasBeenSet; } @@ -324,20 +334,21 @@ namespace Model * source to destination objects.

This value is only used for transfers * between SMB and Amazon FSx for Windows File Server locations or between two FSx * for Windows File Server locations. For more information, see how - * DataSync handles metadata.

  • OWNER_DACL - * (default) - For each copied object, DataSync copies the following metadata:

    - *
    • The object owner.

    • NTFS discretionary access - * control lists (DACLs), which determine whether to grant access to an object.

      - *

      DataSync won't copy NTFS system access control lists (SACLs) with this - * option.

  • OWNER_DACL_SACL - For each - * copied object, DataSync copies the following metadata:

    • The - * object owner.

    • NTFS discretionary access control lists (DACLs), - * which determine whether to grant access to an object.

    • SACLs, - * which are used by administrators to log attempts to access a secured object.

      - *

      Copying SACLs requires granting additional permissions to the Windows user - * that DataSync uses to access your SMB location. For information about choosing a - * user with the right permissions, see required permissions for Understanding + * how DataSync handles file and object metadata.

      • + * OWNER_DACL (default) - For each copied object, DataSync copies the + * following metadata:

        • The object owner.

        • NTFS + * discretionary access control lists (DACLs), which determine whether to grant + * access to an object.

          DataSync won't copy NTFS system access control lists + * (SACLs) with this option.

      • + * OWNER_DACL_SACL - For each copied object, DataSync copies the + * following metadata:

        • The object owner.

        • NTFS + * discretionary access control lists (DACLs), which determine whether to grant + * access to an object.

        • SACLs, which are used by administrators + * to log attempts to access a secured object.

          Copying SACLs requires + * granting additional permissions to the Windows user that DataSync uses to access + * your SMB location. For information about choosing a user with the right + * permissions, see required permissions for SMB, * FSx diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/PrivateLinkConfig.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/PrivateLinkConfig.h index d8ba8e1bde8..d36f25fda65 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/PrivateLinkConfig.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/PrivateLinkConfig.h @@ -58,7 +58,7 @@ namespace Model ///@{ /** *

          Specifies the VPC endpoint provided by Amazon + * href="https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html">Amazon * Web Services PrivateLink that your agent connects to.

          */ inline const Aws::String& GetPrivateLinkEndpoint() const{ return m_privateLinkEndpoint; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionFilesFailedDetail.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionFilesFailedDetail.h new file mode 100644 index 00000000000..ef148fe8264 --- /dev/null +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionFilesFailedDetail.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace DataSync +{ +namespace Model +{ + + /** + *

          The number of objects that DataSync fails to prepare, transfer, verify, and + * delete during your task execution.

          Applies only to Enhanced + * mode tasks.

          See Also:

          AWS + * API Reference

          + */ + class TaskExecutionFilesFailedDetail + { + public: + AWS_DATASYNC_API TaskExecutionFilesFailedDetail(); + AWS_DATASYNC_API TaskExecutionFilesFailedDetail(Aws::Utils::Json::JsonView jsonValue); + AWS_DATASYNC_API TaskExecutionFilesFailedDetail& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_DATASYNC_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The number of objects that DataSync fails to prepare during your task + * execution.

          + */ + inline long long GetPrepare() const{ return m_prepare; } + inline bool PrepareHasBeenSet() const { return m_prepareHasBeenSet; } + inline void SetPrepare(long long value) { m_prepareHasBeenSet = true; m_prepare = value; } + inline TaskExecutionFilesFailedDetail& WithPrepare(long long value) { SetPrepare(value); return *this;} + ///@} + + ///@{ + /** + *

          The number of objects that DataSync fails to transfer during your task + * execution.

          + */ + inline long long GetTransfer() const{ return m_transfer; } + inline bool TransferHasBeenSet() const { return m_transferHasBeenSet; } + inline void SetTransfer(long long value) { m_transferHasBeenSet = true; m_transfer = value; } + inline TaskExecutionFilesFailedDetail& WithTransfer(long long value) { SetTransfer(value); return *this;} + ///@} + + ///@{ + /** + *

          The number of objects that DataSync fails to verify during your task + * execution.

          + */ + inline long long GetVerify() const{ return m_verify; } + inline bool VerifyHasBeenSet() const { return m_verifyHasBeenSet; } + inline void SetVerify(long long value) { m_verifyHasBeenSet = true; m_verify = value; } + inline TaskExecutionFilesFailedDetail& WithVerify(long long value) { SetVerify(value); return *this;} + ///@} + + ///@{ + /** + *

          The number of objects that DataSync fails to delete during your task + * execution.

          + */ + inline long long GetDelete() const{ return m_delete; } + inline bool DeleteHasBeenSet() const { return m_deleteHasBeenSet; } + inline void SetDelete(long long value) { m_deleteHasBeenSet = true; m_delete = value; } + inline TaskExecutionFilesFailedDetail& WithDelete(long long value) { SetDelete(value); return *this;} + ///@} + private: + + long long m_prepare; + bool m_prepareHasBeenSet = false; + + long long m_transfer; + bool m_transferHasBeenSet = false; + + long long m_verify; + bool m_verifyHasBeenSet = false; + + long long m_delete; + bool m_deleteHasBeenSet = false; + }; + +} // namespace Model +} // namespace DataSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionFilesListedDetail.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionFilesListedDetail.h new file mode 100644 index 00000000000..36abd757116 --- /dev/null +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionFilesListedDetail.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace DataSync +{ +namespace Model +{ + + /** + *

          The number of objects that DataSync finds at your locations.

          + *

          Applies only to Enhanced + * mode tasks.

          See Also:

          AWS + * API Reference

          + */ + class TaskExecutionFilesListedDetail + { + public: + AWS_DATASYNC_API TaskExecutionFilesListedDetail(); + AWS_DATASYNC_API TaskExecutionFilesListedDetail(Aws::Utils::Json::JsonView jsonValue); + AWS_DATASYNC_API TaskExecutionFilesListedDetail& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_DATASYNC_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The number of objects that DataSync finds at your source location.

            + *
          • With a manifest, + * DataSync lists only what's in your manifest (and not everything at your source + * location).

          • With an include filter, + * DataSync lists only what matches the filter at your source location.

          • + *
          • With an exclude filter, DataSync lists everything at your source + * location before applying the filter.

          + */ + inline long long GetAtSource() const{ return m_atSource; } + inline bool AtSourceHasBeenSet() const { return m_atSourceHasBeenSet; } + inline void SetAtSource(long long value) { m_atSourceHasBeenSet = true; m_atSource = value; } + inline TaskExecutionFilesListedDetail& WithAtSource(long long value) { SetAtSource(value); return *this;} + ///@} + + ///@{ + /** + *

          The number of objects that DataSync finds at your destination location. This + * metric is only applicable if you configure + * your task to delete data in the destination that isn't in the source.

          + */ + inline long long GetAtDestinationForDelete() const{ return m_atDestinationForDelete; } + inline bool AtDestinationForDeleteHasBeenSet() const { return m_atDestinationForDeleteHasBeenSet; } + inline void SetAtDestinationForDelete(long long value) { m_atDestinationForDeleteHasBeenSet = true; m_atDestinationForDelete = value; } + inline TaskExecutionFilesListedDetail& WithAtDestinationForDelete(long long value) { SetAtDestinationForDelete(value); return *this;} + ///@} + private: + + long long m_atSource; + bool m_atSourceHasBeenSet = false; + + long long m_atDestinationForDelete; + bool m_atDestinationForDeleteHasBeenSet = false; + }; + +} // namespace Model +} // namespace DataSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionListEntry.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionListEntry.h index daad1f1f246..ca4373762bd 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionListEntry.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionListEntry.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -68,6 +69,20 @@ namespace Model inline TaskExecutionListEntry& WithStatus(const TaskExecutionStatus& value) { SetStatus(value); return *this;} inline TaskExecutionListEntry& WithStatus(TaskExecutionStatus&& value) { SetStatus(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

          The task mode that you're using. For more information, see Choosing + * a task mode for your data transfer.

          + */ + inline const TaskMode& GetTaskMode() const{ return m_taskMode; } + inline bool TaskModeHasBeenSet() const { return m_taskModeHasBeenSet; } + inline void SetTaskMode(const TaskMode& value) { m_taskModeHasBeenSet = true; m_taskMode = value; } + inline void SetTaskMode(TaskMode&& value) { m_taskModeHasBeenSet = true; m_taskMode = std::move(value); } + inline TaskExecutionListEntry& WithTaskMode(const TaskMode& value) { SetTaskMode(value); return *this;} + inline TaskExecutionListEntry& WithTaskMode(TaskMode&& value) { SetTaskMode(std::move(value)); return *this;} + ///@} private: Aws::String m_taskExecutionArn; @@ -75,6 +90,9 @@ namespace Model TaskExecutionStatus m_status; bool m_statusHasBeenSet = false; + + TaskMode m_taskMode; + bool m_taskModeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionResultDetail.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionResultDetail.h index 3898d485602..cc0ba2a1fd6 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionResultDetail.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskExecutionResultDetail.h @@ -25,9 +25,8 @@ namespace Model { /** - *

          Describes the detailed result of a TaskExecution operation. This - * result includes the time in milliseconds spent in each phase, the status of the - * task execution, and the errors encountered.

          See Also:

          Provides detailed information about the result of your DataSync task + * execution.

          See Also:

          AWS * API Reference

          */ @@ -42,8 +41,13 @@ namespace Model ///@{ /** - *

          The total time in milliseconds that DataSync spent in the PREPARING phase. - *

          + *

          The time in milliseconds that your task execution was in the + * PREPARING step. For more information, see Task + * execution statuses.

          For Enhanced mode tasks, the value is always + * 0. For more information, see How + * DataSync prepares your data transfer.

          */ inline long long GetPrepareDuration() const{ return m_prepareDuration; } inline bool PrepareDurationHasBeenSet() const { return m_prepareDurationHasBeenSet; } @@ -53,7 +57,10 @@ namespace Model ///@{ /** - *

          The status of the PREPARING phase.

          + *

          The status of the PREPARING step for your task execution. For + * more information, see Task + * execution statuses.

          */ inline const PhaseStatus& GetPrepareStatus() const{ return m_prepareStatus; } inline bool PrepareStatusHasBeenSet() const { return m_prepareStatusHasBeenSet; } @@ -65,8 +72,7 @@ namespace Model ///@{ /** - *

          The total time in milliseconds that DataSync took to transfer the file from - * the source to the destination location.

          + *

          The time in milliseconds that your task execution ran.

          */ inline long long GetTotalDuration() const{ return m_totalDuration; } inline bool TotalDurationHasBeenSet() const { return m_totalDurationHasBeenSet; } @@ -76,8 +82,13 @@ namespace Model ///@{ /** - *

          The total time in milliseconds that DataSync spent in the TRANSFERRING - * phase.

          + *

          The time in milliseconds that your task execution was in the + * TRANSFERRING step. For more information, see Task + * execution statuses.

          For Enhanced mode tasks, the value is always + * 0. For more information, see How + * DataSync transfers your data.

          */ inline long long GetTransferDuration() const{ return m_transferDuration; } inline bool TransferDurationHasBeenSet() const { return m_transferDurationHasBeenSet; } @@ -87,7 +98,10 @@ namespace Model ///@{ /** - *

          The status of the TRANSFERRING phase.

          + *

          The status of the TRANSFERRING step for your task execution. For + * more information, see Task + * execution statuses.

          */ inline const PhaseStatus& GetTransferStatus() const{ return m_transferStatus; } inline bool TransferStatusHasBeenSet() const { return m_transferStatusHasBeenSet; } @@ -99,8 +113,13 @@ namespace Model ///@{ /** - *

          The total time in milliseconds that DataSync spent in the VERIFYING - * phase.

          + *

          The time in milliseconds that your task execution was in the + * VERIFYING step. For more information, see Task + * execution statuses.

          For Enhanced mode tasks, the value is always + * 0. For more information, see How + * DataSync verifies your data's integrity.

          */ inline long long GetVerifyDuration() const{ return m_verifyDuration; } inline bool VerifyDurationHasBeenSet() const { return m_verifyDurationHasBeenSet; } @@ -110,7 +129,10 @@ namespace Model ///@{ /** - *

          The status of the VERIFYING phase.

          + *

          The status of the VERIFYING step for your task execution. For + * more information, see Task + * execution statuses.

          */ inline const PhaseStatus& GetVerifyStatus() const{ return m_verifyStatus; } inline bool VerifyStatusHasBeenSet() const { return m_verifyStatusHasBeenSet; } @@ -122,8 +144,10 @@ namespace Model ///@{ /** - *

          Errors that DataSync encountered during execution of the task. You can use - * this error code to help troubleshoot issues.

          + *

          An error that DataSync encountered during your task execution. You can use + * this information to help troubleshoot + * issues.

          */ inline const Aws::String& GetErrorCode() const{ return m_errorCode; } inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } @@ -137,8 +161,10 @@ namespace Model ///@{ /** - *

          Detailed description of an error that was encountered during the task - * execution. You can use this information to help troubleshoot issues.

          + *

          The detailed description of an error that DataSync encountered during your + * task execution. You can use this information to help troubleshoot + * issues.

          */ inline const Aws::String& GetErrorDetail() const{ return m_errorDetail; } inline bool ErrorDetailHasBeenSet() const { return m_errorDetailHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskListEntry.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskListEntry.h index 376a112438e..9c733025eb7 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskListEntry.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskListEntry.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -81,6 +82,20 @@ namespace Model inline TaskListEntry& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} inline TaskListEntry& WithName(const char* value) { SetName(value); return *this;} ///@} + + ///@{ + /** + *

          The task mode that you're using. For more information, see Choosing + * a task mode for your data transfer.

          + */ + inline const TaskMode& GetTaskMode() const{ return m_taskMode; } + inline bool TaskModeHasBeenSet() const { return m_taskModeHasBeenSet; } + inline void SetTaskMode(const TaskMode& value) { m_taskModeHasBeenSet = true; m_taskMode = value; } + inline void SetTaskMode(TaskMode&& value) { m_taskModeHasBeenSet = true; m_taskMode = std::move(value); } + inline TaskListEntry& WithTaskMode(const TaskMode& value) { SetTaskMode(value); return *this;} + inline TaskListEntry& WithTaskMode(TaskMode&& value) { SetTaskMode(std::move(value)); return *this;} + ///@} private: Aws::String m_taskArn; @@ -91,6 +106,9 @@ namespace Model Aws::String m_name; bool m_nameHasBeenSet = false; + + TaskMode m_taskMode; + bool m_taskModeHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskMode.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskMode.h new file mode 100644 index 00000000000..84fbcf1d6df --- /dev/null +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskMode.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace DataSync +{ +namespace Model +{ + enum class TaskMode + { + NOT_SET, + BASIC, + ENHANCED + }; + +namespace TaskModeMapper +{ +AWS_DATASYNC_API TaskMode GetTaskModeForName(const Aws::String& name); + +AWS_DATASYNC_API Aws::String GetNameForTaskMode(TaskMode value); +} // namespace TaskModeMapper +} // namespace Model +} // namespace DataSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskSchedule.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskSchedule.h index fe3b77dccfb..5b67a19dbc6 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskSchedule.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/TaskSchedule.h @@ -42,9 +42,15 @@ namespace Model ///@{ /** - *

          Specifies your task schedule by using a cron expression in UTC time. For - * information about cron expression syntax, see the + *

          Specifies your task schedule by using a cron or rate expression.

          Use + * cron expressions for task schedules that run on a specific time and day. For + * example, the following cron expression creates a task schedule that runs at 8 AM + * on the first Wednesday of every month:

          cron(0 8 * * 3#1) + *

          Use rate expressions for task schedules that run on a regular interval. + * For example, the following rate expression creates a task schedule that runs + * every 12 hours:

          rate(12 hours)

          For information + * about cron and rate expression syntax, see the * Amazon EventBridge User Guide .

          */ inline const Aws::String& GetScheduleExpression() const{ return m_scheduleExpression; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationHdfsRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationHdfsRequest.h index c9284d0cd1f..2505566349d 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationHdfsRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationHdfsRequest.h @@ -207,7 +207,8 @@ namespace Model ///@{ /** - *

          The ARNs of the agents that are used to connect to the HDFS cluster.

          + *

          The Amazon Resource Names (ARNs) of the DataSync agents that can connect to + * your HDFS cluster.

          */ inline const Aws::Vector& GetAgentArns() const{ return m_agentArns; } inline bool AgentArnsHasBeenSet() const { return m_agentArnsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationObjectStorageRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationObjectStorageRequest.h index 55b1b1e197c..2a88bad8a30 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationObjectStorageRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationObjectStorageRequest.h @@ -125,7 +125,7 @@ namespace Model ///@{ /** *

          Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can - * securely connect with your location.

          + * connect with your object storage system.

          */ inline const Aws::Vector& GetAgentArns() const{ return m_agentArns; } inline bool AgentArnsHasBeenSet() const { return m_agentArnsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationSmbRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationSmbRequest.h index 7ede8eaf33d..b0869d02be0 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationSmbRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateLocationSmbRequest.h @@ -129,9 +129,8 @@ namespace Model ///@{ /** - *

          Specifies the DataSync agent (or agents) which you want to connect to your - * SMB file server. You specify an agent by using its Amazon Resource Name - * (ARN).

          + *

          Specifies the DataSync agent (or agents) that can connect to your SMB file + * server. You specify an agent by using its Amazon Resource Name (ARN).

          */ inline const Aws::Vector& GetAgentArns() const{ return m_agentArns; } inline bool AgentArnsHasBeenSet() const { return m_agentArnsHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateTaskRequest.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateTaskRequest.h index 96ed6f9a1a9..2e2e2090469 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateTaskRequest.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/model/UpdateTaskRequest.h @@ -117,7 +117,12 @@ namespace Model ///@{ /** *

          Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group - * for monitoring your task.

          + * for monitoring your task.

          For Enhanced mode tasks, you must use + * /aws/datasync as your log group name. For example:

          + * arn:aws:logs:us-east-1:111222333444:log-group:/aws/datasync:*

          + *

          For more information, see Monitoring + * data transfers with CloudWatch Logs.

          */ inline const Aws::String& GetCloudWatchLogGroupArn() const{ return m_cloudWatchLogGroupArn; } inline bool CloudWatchLogGroupArnHasBeenSet() const { return m_cloudWatchLogGroupArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/CreateTaskRequest.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/CreateTaskRequest.cpp index 3e750120c5d..a4fa434925d 100644 --- a/generated/src/aws-cpp-sdk-datasync/source/model/CreateTaskRequest.cpp +++ b/generated/src/aws-cpp-sdk-datasync/source/model/CreateTaskRequest.cpp @@ -23,7 +23,9 @@ CreateTaskRequest::CreateTaskRequest() : m_tagsHasBeenSet(false), m_includesHasBeenSet(false), m_manifestConfigHasBeenSet(false), - m_taskReportConfigHasBeenSet(false) + m_taskReportConfigHasBeenSet(false), + m_taskMode(TaskMode::NOT_SET), + m_taskModeHasBeenSet(false) { } @@ -112,6 +114,11 @@ Aws::String CreateTaskRequest::SerializePayload() const } + if(m_taskModeHasBeenSet) + { + payload.WithString("TaskMode", TaskModeMapper::GetNameForTaskMode(m_taskMode)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/DescribeTaskExecutionResult.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/DescribeTaskExecutionResult.cpp index 02ab99eab3c..bad8e9dfef2 100644 --- a/generated/src/aws-cpp-sdk-datasync/source/model/DescribeTaskExecutionResult.cpp +++ b/generated/src/aws-cpp-sdk-datasync/source/model/DescribeTaskExecutionResult.cpp @@ -28,7 +28,9 @@ DescribeTaskExecutionResult::DescribeTaskExecutionResult() : m_filesDeleted(0), m_filesSkipped(0), m_filesVerified(0), - m_estimatedFilesToDelete(0) + m_estimatedFilesToDelete(0), + m_taskMode(TaskMode::NOT_SET), + m_filesPrepared(0) { } @@ -167,6 +169,30 @@ DescribeTaskExecutionResult& DescribeTaskExecutionResult::operator =(const Aws:: } + if(jsonValue.ValueExists("TaskMode")) + { + m_taskMode = TaskModeMapper::GetTaskModeForName(jsonValue.GetString("TaskMode")); + + } + + if(jsonValue.ValueExists("FilesPrepared")) + { + m_filesPrepared = jsonValue.GetInt64("FilesPrepared"); + + } + + if(jsonValue.ValueExists("FilesListed")) + { + m_filesListed = jsonValue.GetObject("FilesListed"); + + } + + if(jsonValue.ValueExists("FilesFailed")) + { + m_filesFailed = jsonValue.GetObject("FilesFailed"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/DescribeTaskResult.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/DescribeTaskResult.cpp index 82490a766b3..adfe1516638 100644 --- a/generated/src/aws-cpp-sdk-datasync/source/model/DescribeTaskResult.cpp +++ b/generated/src/aws-cpp-sdk-datasync/source/model/DescribeTaskResult.cpp @@ -18,7 +18,8 @@ using namespace Aws::Utils; using namespace Aws; DescribeTaskResult::DescribeTaskResult() : - m_status(TaskStatus::NOT_SET) + m_status(TaskStatus::NOT_SET), + m_taskMode(TaskMode::NOT_SET) { } @@ -157,6 +158,12 @@ DescribeTaskResult& DescribeTaskResult::operator =(const Aws::AmazonWebServiceRe } + if(jsonValue.ValueExists("TaskMode")) + { + m_taskMode = TaskModeMapper::GetTaskModeForName(jsonValue.GetString("TaskMode")); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/TaskExecutionFilesFailedDetail.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/TaskExecutionFilesFailedDetail.cpp new file mode 100644 index 00000000000..56c64f45ee2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-datasync/source/model/TaskExecutionFilesFailedDetail.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace DataSync +{ +namespace Model +{ + +TaskExecutionFilesFailedDetail::TaskExecutionFilesFailedDetail() : + m_prepare(0), + m_prepareHasBeenSet(false), + m_transfer(0), + m_transferHasBeenSet(false), + m_verify(0), + m_verifyHasBeenSet(false), + m_delete(0), + m_deleteHasBeenSet(false) +{ +} + +TaskExecutionFilesFailedDetail::TaskExecutionFilesFailedDetail(JsonView jsonValue) + : TaskExecutionFilesFailedDetail() +{ + *this = jsonValue; +} + +TaskExecutionFilesFailedDetail& TaskExecutionFilesFailedDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Prepare")) + { + m_prepare = jsonValue.GetInt64("Prepare"); + + m_prepareHasBeenSet = true; + } + + if(jsonValue.ValueExists("Transfer")) + { + m_transfer = jsonValue.GetInt64("Transfer"); + + m_transferHasBeenSet = true; + } + + if(jsonValue.ValueExists("Verify")) + { + m_verify = jsonValue.GetInt64("Verify"); + + m_verifyHasBeenSet = true; + } + + if(jsonValue.ValueExists("Delete")) + { + m_delete = jsonValue.GetInt64("Delete"); + + m_deleteHasBeenSet = true; + } + + return *this; +} + +JsonValue TaskExecutionFilesFailedDetail::Jsonize() const +{ + JsonValue payload; + + if(m_prepareHasBeenSet) + { + payload.WithInt64("Prepare", m_prepare); + + } + + if(m_transferHasBeenSet) + { + payload.WithInt64("Transfer", m_transfer); + + } + + if(m_verifyHasBeenSet) + { + payload.WithInt64("Verify", m_verify); + + } + + if(m_deleteHasBeenSet) + { + payload.WithInt64("Delete", m_delete); + + } + + return payload; +} + +} // namespace Model +} // namespace DataSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/TaskExecutionFilesListedDetail.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/TaskExecutionFilesListedDetail.cpp new file mode 100644 index 00000000000..67b3f4e5423 --- /dev/null +++ b/generated/src/aws-cpp-sdk-datasync/source/model/TaskExecutionFilesListedDetail.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace DataSync +{ +namespace Model +{ + +TaskExecutionFilesListedDetail::TaskExecutionFilesListedDetail() : + m_atSource(0), + m_atSourceHasBeenSet(false), + m_atDestinationForDelete(0), + m_atDestinationForDeleteHasBeenSet(false) +{ +} + +TaskExecutionFilesListedDetail::TaskExecutionFilesListedDetail(JsonView jsonValue) + : TaskExecutionFilesListedDetail() +{ + *this = jsonValue; +} + +TaskExecutionFilesListedDetail& TaskExecutionFilesListedDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AtSource")) + { + m_atSource = jsonValue.GetInt64("AtSource"); + + m_atSourceHasBeenSet = true; + } + + if(jsonValue.ValueExists("AtDestinationForDelete")) + { + m_atDestinationForDelete = jsonValue.GetInt64("AtDestinationForDelete"); + + m_atDestinationForDeleteHasBeenSet = true; + } + + return *this; +} + +JsonValue TaskExecutionFilesListedDetail::Jsonize() const +{ + JsonValue payload; + + if(m_atSourceHasBeenSet) + { + payload.WithInt64("AtSource", m_atSource); + + } + + if(m_atDestinationForDeleteHasBeenSet) + { + payload.WithInt64("AtDestinationForDelete", m_atDestinationForDelete); + + } + + return payload; +} + +} // namespace Model +} // namespace DataSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/TaskExecutionListEntry.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/TaskExecutionListEntry.cpp index a50024be070..bae9ab98f81 100644 --- a/generated/src/aws-cpp-sdk-datasync/source/model/TaskExecutionListEntry.cpp +++ b/generated/src/aws-cpp-sdk-datasync/source/model/TaskExecutionListEntry.cpp @@ -21,7 +21,9 @@ namespace Model TaskExecutionListEntry::TaskExecutionListEntry() : m_taskExecutionArnHasBeenSet(false), m_status(TaskExecutionStatus::NOT_SET), - m_statusHasBeenSet(false) + m_statusHasBeenSet(false), + m_taskMode(TaskMode::NOT_SET), + m_taskModeHasBeenSet(false) { } @@ -47,6 +49,13 @@ TaskExecutionListEntry& TaskExecutionListEntry::operator =(JsonView jsonValue) m_statusHasBeenSet = true; } + if(jsonValue.ValueExists("TaskMode")) + { + m_taskMode = TaskModeMapper::GetTaskModeForName(jsonValue.GetString("TaskMode")); + + m_taskModeHasBeenSet = true; + } + return *this; } @@ -65,6 +74,11 @@ JsonValue TaskExecutionListEntry::Jsonize() const payload.WithString("Status", TaskExecutionStatusMapper::GetNameForTaskExecutionStatus(m_status)); } + if(m_taskModeHasBeenSet) + { + payload.WithString("TaskMode", TaskModeMapper::GetNameForTaskMode(m_taskMode)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/TaskListEntry.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/TaskListEntry.cpp index 3229b5a9076..aa46dd42b6e 100644 --- a/generated/src/aws-cpp-sdk-datasync/source/model/TaskListEntry.cpp +++ b/generated/src/aws-cpp-sdk-datasync/source/model/TaskListEntry.cpp @@ -22,7 +22,9 @@ TaskListEntry::TaskListEntry() : m_taskArnHasBeenSet(false), m_status(TaskStatus::NOT_SET), m_statusHasBeenSet(false), - m_nameHasBeenSet(false) + m_nameHasBeenSet(false), + m_taskMode(TaskMode::NOT_SET), + m_taskModeHasBeenSet(false) { } @@ -55,6 +57,13 @@ TaskListEntry& TaskListEntry::operator =(JsonView jsonValue) m_nameHasBeenSet = true; } + if(jsonValue.ValueExists("TaskMode")) + { + m_taskMode = TaskModeMapper::GetTaskModeForName(jsonValue.GetString("TaskMode")); + + m_taskModeHasBeenSet = true; + } + return *this; } @@ -79,6 +88,11 @@ JsonValue TaskListEntry::Jsonize() const } + if(m_taskModeHasBeenSet) + { + payload.WithString("TaskMode", TaskModeMapper::GetNameForTaskMode(m_taskMode)); + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-datasync/source/model/TaskMode.cpp b/generated/src/aws-cpp-sdk-datasync/source/model/TaskMode.cpp new file mode 100644 index 00000000000..8edf38dc15e --- /dev/null +++ b/generated/src/aws-cpp-sdk-datasync/source/model/TaskMode.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace DataSync + { + namespace Model + { + namespace TaskModeMapper + { + + static const int BASIC_HASH = HashingUtils::HashString("BASIC"); + static const int ENHANCED_HASH = HashingUtils::HashString("ENHANCED"); + + + TaskMode GetTaskModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BASIC_HASH) + { + return TaskMode::BASIC; + } + else if (hashCode == ENHANCED_HASH) + { + return TaskMode::ENHANCED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TaskMode::NOT_SET; + } + + Aws::String GetNameForTaskMode(TaskMode enumValue) + { + switch(enumValue) + { + case TaskMode::NOT_SET: + return {}; + case TaskMode::BASIC: + return "BASIC"; + case TaskMode::ENHANCED: + return "ENHANCED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TaskModeMapper + } // namespace Model + } // namespace DataSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h index 4d58294daa5..8d86a88902e 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h @@ -958,6 +958,39 @@ namespace EC2 return SubmitAsync(&EC2Client::AssociateRouteTable, request, handler, context); } + /** + *

          Associates a security group with another VPC in the same Region. This enables + * you to use the same security group with network interfaces and instances in the + * specified VPC.

          • The VPC you want to associate the + * security group with must be in the same Region.

          • You can + * associate the security group with another VPC if your account owns the VPC or if + * the VPC was shared with you.

          • You must own the security group + * and the VPC that it was created in.

          • You cannot use this + * feature with default security groups.

          • You cannot use this + * feature with the default VPC.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::AssociateSecurityGroupVpcOutcome AssociateSecurityGroupVpc(const Model::AssociateSecurityGroupVpcRequest& request) const; + + /** + * A Callable wrapper for AssociateSecurityGroupVpc that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AssociateSecurityGroupVpcOutcomeCallable AssociateSecurityGroupVpcCallable(const AssociateSecurityGroupVpcRequestT& request) const + { + return SubmitCallable(&EC2Client::AssociateSecurityGroupVpc, request); + } + + /** + * An Async wrapper for AssociateSecurityGroupVpc that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AssociateSecurityGroupVpcAsync(const AssociateSecurityGroupVpcRequestT& request, const AssociateSecurityGroupVpcResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EC2Client::AssociateSecurityGroupVpc, request, handler, context); + } + /** *

          Associates a CIDR block with your subnet. You can only associate a single * IPv6 CIDR block with your subnet.

          See Also:

          By * default, no traffic is mirrored. Use CreateTrafficMirrorFilter + * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilter.html">CreateTrafficMirrorFilter * to create filter rules that specify the traffic to mirror.

          See * Also:

          AWS @@ -5765,9 +5798,9 @@ namespace EC2 /** *

          Deletes a security group.

          If you attempt to delete a security group - * that is associated with an instance or network interface or is referenced by - * another security group in the same VPC, the operation fails with - * DependencyViolation.

          See Also:

          DependencyViolation.

          See Also:

          AWS * API Reference

          */ @@ -9955,9 +9988,9 @@ namespace EC2 } /** - *

          Describes the VPCs on the other side of a VPC peering connection that are - * referencing the security groups you've specified in this request.

          See - * Also:

          Describes the VPCs on the other side of a VPC peering or Transit Gateway + * connection that are referencing the security groups you've specified in this + * request.

          See Also:

          AWS * API Reference

          */ @@ -10007,6 +10040,33 @@ namespace EC2 return SubmitAsync(&EC2Client::DescribeSecurityGroupRules, request, handler, context); } + /** + *

          Describes security group VPC associations made with AssociateSecurityGroupVpc.

          See + * Also:

          AWS + * API Reference

          + */ + virtual Model::DescribeSecurityGroupVpcAssociationsOutcome DescribeSecurityGroupVpcAssociations(const Model::DescribeSecurityGroupVpcAssociationsRequest& request = {}) const; + + /** + * A Callable wrapper for DescribeSecurityGroupVpcAssociations that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeSecurityGroupVpcAssociationsOutcomeCallable DescribeSecurityGroupVpcAssociationsCallable(const DescribeSecurityGroupVpcAssociationsRequestT& request = {}) const + { + return SubmitCallable(&EC2Client::DescribeSecurityGroupVpcAssociations, request); + } + + /** + * An Async wrapper for DescribeSecurityGroupVpcAssociations that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeSecurityGroupVpcAssociationsAsync(const DescribeSecurityGroupVpcAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeSecurityGroupVpcAssociationsRequestT& request = {}) const + { + return SubmitAsync(&EC2Client::DescribeSecurityGroupVpcAssociations, request, handler, context); + } + /** *

          Describes the specified security groups or all of your security * groups.

          See Also:

          Describes the stale security group rules for security groups in a specified - * VPC. Rules are stale when they reference a deleted security group in a peered - * VPC. Rules can also be stale if they reference a security group in a peer VPC - * for which the VPC peering connection has been deleted.

          See Also:

          - *
          Describes the stale security group rules for security groups referenced + * across a VPC peering connection, transit gateway connection, or with a security + * group VPC association. Rules are stale when they reference a deleted security + * group. Rules can also be stale if they reference a security group in a peer VPC + * for which the VPC peering connection has been deleted, across a transit gateway + * where the transit gateway has been deleted (or the + * transit gateway security group referencing feature has been disabled), or if + * a security group VPC association has been disassociated.

          See + * Also:

          AWS * API Reference

          */ @@ -12460,6 +12525,36 @@ namespace EC2 return SubmitAsync(&EC2Client::DisassociateRouteTable, request, handler, context); } + /** + *

          Disassociates a security group from a VPC. You cannot disassociate the + * security group if any Elastic network interfaces in the associated VPC are still + * associated with the security group. Note that the disassociation is asynchronous + * and you can check the status of the request with DescribeSecurityGroupVpcAssociations.

          See + * Also:

          AWS + * API Reference

          + */ + virtual Model::DisassociateSecurityGroupVpcOutcome DisassociateSecurityGroupVpc(const Model::DisassociateSecurityGroupVpcRequest& request) const; + + /** + * A Callable wrapper for DisassociateSecurityGroupVpc that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DisassociateSecurityGroupVpcOutcomeCallable DisassociateSecurityGroupVpcCallable(const DisassociateSecurityGroupVpcRequestT& request) const + { + return SubmitCallable(&EC2Client::DisassociateSecurityGroupVpc, request); + } + + /** + * An Async wrapper for DisassociateSecurityGroupVpc that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DisassociateSecurityGroupVpcAsync(const DisassociateSecurityGroupVpcRequestT& request, const DisassociateSecurityGroupVpcResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&EC2Client::DisassociateSecurityGroupVpc, request, handler, context); + } + /** *

          Disassociates a CIDR block from a subnet. Currently, you can disassociate an * IPv6 CIDR block only. You must detach or delete all gateways and resources that diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h index 21f3eda8619..705bfdbe5c1 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -318,6 +319,7 @@ #include #include #include +#include #include #include #include @@ -395,6 +397,7 @@ #include #include #include +#include #include #include #include @@ -676,6 +679,7 @@ #include #include #include +#include #include #include #include @@ -853,6 +857,7 @@ namespace Aws class AssociateIpamResourceDiscoveryRequest; class AssociateNatGatewayAddressRequest; class AssociateRouteTableRequest; + class AssociateSecurityGroupVpcRequest; class AssociateSubnetCidrBlockRequest; class AssociateTransitGatewayMulticastDomainRequest; class AssociateTransitGatewayPolicyTableRequest; @@ -1153,6 +1158,7 @@ namespace Aws class DescribeScheduledInstancesRequest; class DescribeSecurityGroupReferencesRequest; class DescribeSecurityGroupRulesRequest; + class DescribeSecurityGroupVpcAssociationsRequest; class DescribeSecurityGroupsRequest; class DescribeSnapshotAttributeRequest; class DescribeSnapshotTierStatusRequest; @@ -1236,6 +1242,7 @@ namespace Aws class DisassociateIpamResourceDiscoveryRequest; class DisassociateNatGatewayAddressRequest; class DisassociateRouteTableRequest; + class DisassociateSecurityGroupVpcRequest; class DisassociateSubnetCidrBlockRequest; class DisassociateTransitGatewayMulticastDomainRequest; class DisassociateTransitGatewayPolicyTableRequest; @@ -1490,6 +1497,7 @@ namespace Aws typedef Aws::Utils::Outcome AssociateIpamResourceDiscoveryOutcome; typedef Aws::Utils::Outcome AssociateNatGatewayAddressOutcome; typedef Aws::Utils::Outcome AssociateRouteTableOutcome; + typedef Aws::Utils::Outcome AssociateSecurityGroupVpcOutcome; typedef Aws::Utils::Outcome AssociateSubnetCidrBlockOutcome; typedef Aws::Utils::Outcome AssociateTransitGatewayMulticastDomainOutcome; typedef Aws::Utils::Outcome AssociateTransitGatewayPolicyTableOutcome; @@ -1790,6 +1798,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribeScheduledInstancesOutcome; typedef Aws::Utils::Outcome DescribeSecurityGroupReferencesOutcome; typedef Aws::Utils::Outcome DescribeSecurityGroupRulesOutcome; + typedef Aws::Utils::Outcome DescribeSecurityGroupVpcAssociationsOutcome; typedef Aws::Utils::Outcome DescribeSecurityGroupsOutcome; typedef Aws::Utils::Outcome DescribeSnapshotAttributeOutcome; typedef Aws::Utils::Outcome DescribeSnapshotTierStatusOutcome; @@ -1873,6 +1882,7 @@ namespace Aws typedef Aws::Utils::Outcome DisassociateIpamResourceDiscoveryOutcome; typedef Aws::Utils::Outcome DisassociateNatGatewayAddressOutcome; typedef Aws::Utils::Outcome DisassociateRouteTableOutcome; + typedef Aws::Utils::Outcome DisassociateSecurityGroupVpcOutcome; typedef Aws::Utils::Outcome DisassociateSubnetCidrBlockOutcome; typedef Aws::Utils::Outcome DisassociateTransitGatewayMulticastDomainOutcome; typedef Aws::Utils::Outcome DisassociateTransitGatewayPolicyTableOutcome; @@ -2127,6 +2137,7 @@ namespace Aws typedef std::future AssociateIpamResourceDiscoveryOutcomeCallable; typedef std::future AssociateNatGatewayAddressOutcomeCallable; typedef std::future AssociateRouteTableOutcomeCallable; + typedef std::future AssociateSecurityGroupVpcOutcomeCallable; typedef std::future AssociateSubnetCidrBlockOutcomeCallable; typedef std::future AssociateTransitGatewayMulticastDomainOutcomeCallable; typedef std::future AssociateTransitGatewayPolicyTableOutcomeCallable; @@ -2427,6 +2438,7 @@ namespace Aws typedef std::future DescribeScheduledInstancesOutcomeCallable; typedef std::future DescribeSecurityGroupReferencesOutcomeCallable; typedef std::future DescribeSecurityGroupRulesOutcomeCallable; + typedef std::future DescribeSecurityGroupVpcAssociationsOutcomeCallable; typedef std::future DescribeSecurityGroupsOutcomeCallable; typedef std::future DescribeSnapshotAttributeOutcomeCallable; typedef std::future DescribeSnapshotTierStatusOutcomeCallable; @@ -2510,6 +2522,7 @@ namespace Aws typedef std::future DisassociateIpamResourceDiscoveryOutcomeCallable; typedef std::future DisassociateNatGatewayAddressOutcomeCallable; typedef std::future DisassociateRouteTableOutcomeCallable; + typedef std::future DisassociateSecurityGroupVpcOutcomeCallable; typedef std::future DisassociateSubnetCidrBlockOutcomeCallable; typedef std::future DisassociateTransitGatewayMulticastDomainOutcomeCallable; typedef std::future DisassociateTransitGatewayPolicyTableOutcomeCallable; @@ -2767,6 +2780,7 @@ namespace Aws typedef std::function&) > AssociateIpamResourceDiscoveryResponseReceivedHandler; typedef std::function&) > AssociateNatGatewayAddressResponseReceivedHandler; typedef std::function&) > AssociateRouteTableResponseReceivedHandler; + typedef std::function&) > AssociateSecurityGroupVpcResponseReceivedHandler; typedef std::function&) > AssociateSubnetCidrBlockResponseReceivedHandler; typedef std::function&) > AssociateTransitGatewayMulticastDomainResponseReceivedHandler; typedef std::function&) > AssociateTransitGatewayPolicyTableResponseReceivedHandler; @@ -3067,6 +3081,7 @@ namespace Aws typedef std::function&) > DescribeScheduledInstancesResponseReceivedHandler; typedef std::function&) > DescribeSecurityGroupReferencesResponseReceivedHandler; typedef std::function&) > DescribeSecurityGroupRulesResponseReceivedHandler; + typedef std::function&) > DescribeSecurityGroupVpcAssociationsResponseReceivedHandler; typedef std::function&) > DescribeSecurityGroupsResponseReceivedHandler; typedef std::function&) > DescribeSnapshotAttributeResponseReceivedHandler; typedef std::function&) > DescribeSnapshotTierStatusResponseReceivedHandler; @@ -3150,6 +3165,7 @@ namespace Aws typedef std::function&) > DisassociateIpamResourceDiscoveryResponseReceivedHandler; typedef std::function&) > DisassociateNatGatewayAddressResponseReceivedHandler; typedef std::function&) > DisassociateRouteTableResponseReceivedHandler; + typedef std::function&) > DisassociateSecurityGroupVpcResponseReceivedHandler; typedef std::function&) > DisassociateSubnetCidrBlockResponseReceivedHandler; typedef std::function&) > DisassociateTransitGatewayMulticastDomainResponseReceivedHandler; typedef std::function&) > DisassociateTransitGatewayPolicyTableResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AssociateSecurityGroupVpcRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AssociateSecurityGroupVpcRequest.h new file mode 100644 index 00000000000..a4b39adf1df --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AssociateSecurityGroupVpcRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class AssociateSecurityGroupVpcRequest : public EC2Request + { + public: + AWS_EC2_API AssociateSecurityGroupVpcRequest(); + + // 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 "AssociateSecurityGroupVpc"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

          A security group ID.

          + */ + inline const Aws::String& GetGroupId() const{ return m_groupId; } + inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; } + inline void SetGroupId(const Aws::String& value) { m_groupIdHasBeenSet = true; m_groupId = value; } + inline void SetGroupId(Aws::String&& value) { m_groupIdHasBeenSet = true; m_groupId = std::move(value); } + inline void SetGroupId(const char* value) { m_groupIdHasBeenSet = true; m_groupId.assign(value); } + inline AssociateSecurityGroupVpcRequest& WithGroupId(const Aws::String& value) { SetGroupId(value); return *this;} + inline AssociateSecurityGroupVpcRequest& WithGroupId(Aws::String&& value) { SetGroupId(std::move(value)); return *this;} + inline AssociateSecurityGroupVpcRequest& WithGroupId(const char* value) { SetGroupId(value); return *this;} + ///@} + + ///@{ + /** + *

          A VPC ID.

          + */ + inline const Aws::String& GetVpcId() const{ return m_vpcId; } + inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } + inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } + inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } + inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } + inline AssociateSecurityGroupVpcRequest& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} + inline AssociateSecurityGroupVpcRequest& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} + inline AssociateSecurityGroupVpcRequest& WithVpcId(const char* value) { SetVpcId(value); return *this;} + ///@} + + ///@{ + /** + *

          Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline AssociateSecurityGroupVpcRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + private: + + Aws::String m_groupId; + bool m_groupIdHasBeenSet = false; + + Aws::String m_vpcId; + bool m_vpcIdHasBeenSet = false; + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AssociateSecurityGroupVpcResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AssociateSecurityGroupVpcResponse.h new file mode 100644 index 00000000000..5b181e15c38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/AssociateSecurityGroupVpcResponse.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class AssociateSecurityGroupVpcResponse + { + public: + AWS_EC2_API AssociateSecurityGroupVpcResponse(); + AWS_EC2_API AssociateSecurityGroupVpcResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API AssociateSecurityGroupVpcResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The state of the association.

          + */ + inline const SecurityGroupVpcAssociationState& GetState() const{ return m_state; } + inline void SetState(const SecurityGroupVpcAssociationState& value) { m_state = value; } + inline void SetState(SecurityGroupVpcAssociationState&& value) { m_state = std::move(value); } + inline AssociateSecurityGroupVpcResponse& WithState(const SecurityGroupVpcAssociationState& value) { SetState(value); return *this;} + inline AssociateSecurityGroupVpcResponse& WithState(SecurityGroupVpcAssociationState&& value) { SetState(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline AssociateSecurityGroupVpcResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline AssociateSecurityGroupVpcResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + SecurityGroupVpcAssociationState m_state; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateNetworkInterfaceRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateNetworkInterfaceRequest.h index 2967e4f64db..96e4484e167 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateNetworkInterfaceRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateNetworkInterfaceRequest.h @@ -107,8 +107,10 @@ namespace Model ///@{ /** *

          The type of network interface. The default is interface.

          - *

          The only supported values are interface, efa, and - * trunk.

          + *

          If you specify efa-only, do not assign any IP addresses to the + * network interface. EFA-only network interfaces do not support IP addresses.

          + *

          The only supported values are interface, efa, + * efa-only, and trunk.

          */ inline const NetworkInterfaceCreationType& GetInterfaceType() const{ return m_interfaceType; } inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateSecurityGroupResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateSecurityGroupResponse.h index bbb466d2f6f..4fc4f842b2d 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateSecurityGroupResponse.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/CreateSecurityGroupResponse.h @@ -61,6 +61,19 @@ namespace Model inline CreateSecurityGroupResponse& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } ///@} + ///@{ + /** + *

          The security group ARN.

          + */ + inline const Aws::String& GetSecurityGroupArn() const{ return m_securityGroupArn; } + inline void SetSecurityGroupArn(const Aws::String& value) { m_securityGroupArn = value; } + inline void SetSecurityGroupArn(Aws::String&& value) { m_securityGroupArn = std::move(value); } + inline void SetSecurityGroupArn(const char* value) { m_securityGroupArn.assign(value); } + inline CreateSecurityGroupResponse& WithSecurityGroupArn(const Aws::String& value) { SetSecurityGroupArn(value); return *this;} + inline CreateSecurityGroupResponse& WithSecurityGroupArn(Aws::String&& value) { SetSecurityGroupArn(std::move(value)); return *this;} + inline CreateSecurityGroupResponse& WithSecurityGroupArn(const char* value) { SetSecurityGroupArn(value); return *this;} + ///@} + ///@{ inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } @@ -75,6 +88,8 @@ namespace Model Aws::Vector m_tags; + Aws::String m_securityGroupArn; + ResponseMetadata m_responseMetadata; }; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeInstanceTypesRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeInstanceTypesRequest.h index 9e7e6c53e7f..b2022f9714b 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeInstanceTypesRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeInstanceTypesRequest.h @@ -163,9 +163,9 @@ namespace Model * uefi).

        • supported-root-device-type - * The root device type (ebs | instance-store).

        • *
        • supported-usage-class - The usage class - * (on-demand | spot).

        • - * supported-virtualization-type - The virtualization type - * (hvm | paravirtual).

        • + * (on-demand | spot | capacity-block).

          + *
        • supported-virtualization-type - The virtualization + * type (hvm | paravirtual).

        • * vcpu-info.default-cores - The default number of cores for the * instance type.

        • * vcpu-info.default-threads-per-core - The default number of threads diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeNetworkInterfacesRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeNetworkInterfacesRequest.h index 290bd591c2a..2961840d14c 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeNetworkInterfacesRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeNetworkInterfacesRequest.h @@ -141,8 +141,8 @@ namespace Model * interface-type - The type of network interface * (api_gateway_managed | * aws_codestar_connections_managed | branch | - * ec2_instance_connect_endpoint | efa | efs - * | gateway_load_balancer | + * ec2_instance_connect_endpoint | efa | + * efa-only | efs | gateway_load_balancer | * gateway_load_balancer_endpoint | * global_accelerator_managed | interface | * iot_rules_managed | lambda | diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeSecurityGroupVpcAssociationsRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeSecurityGroupVpcAssociationsRequest.h new file mode 100644 index 00000000000..4c125b9a118 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeSecurityGroupVpcAssociationsRequest.h @@ -0,0 +1,124 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class DescribeSecurityGroupVpcAssociationsRequest : public EC2Request + { + public: + AWS_EC2_API DescribeSecurityGroupVpcAssociationsRequest(); + + // 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 "DescribeSecurityGroupVpcAssociations"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

          Security group VPC association filters.

          • + * group-id: The security group ID.

          • + * vpc-id: The ID of the associated VPC.

          • + * vpc-owner-id: The account ID of the VPC owner.

          • + * state: The state of the association.

          • + * tag:<key>: The key/value combination of a tag assigned to the + * resource. Use the tag key in the filter name and the tag value as the filter + * value. For example, to find all resources that have a tag with the key + * Owner and the value TeamA, specify + * tag:Owner for the filter name and TeamA for the filter + * value.

          • tag-key: The key of a tag assigned to the + * resource. Use this filter to find all resources assigned a tag with a specific + * key, regardless of the tag value.

          + */ + inline const Aws::Vector& GetFilters() const{ return m_filters; } + inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } + inline void SetFilters(const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } + inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } + inline DescribeSecurityGroupVpcAssociationsRequest& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} + inline DescribeSecurityGroupVpcAssociationsRequest& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} + inline DescribeSecurityGroupVpcAssociationsRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } + inline DescribeSecurityGroupVpcAssociationsRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          The token returned from a previous paginated request. Pagination continues + * from the end of the items returned by the previous request.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline DescribeSecurityGroupVpcAssociationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline DescribeSecurityGroupVpcAssociationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline DescribeSecurityGroupVpcAssociationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

          The maximum number of items to return for this request. To get the next page + * of items, make another request with the token returned in the output. For more + * information, see Pagination.

          + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline DescribeSecurityGroupVpcAssociationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

          Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline DescribeSecurityGroupVpcAssociationsRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + private: + + Aws::Vector m_filters; + bool m_filtersHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeSecurityGroupVpcAssociationsResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeSecurityGroupVpcAssociationsResponse.h new file mode 100644 index 00000000000..a64bea16e20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeSecurityGroupVpcAssociationsResponse.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class DescribeSecurityGroupVpcAssociationsResponse + { + public: + AWS_EC2_API DescribeSecurityGroupVpcAssociationsResponse(); + AWS_EC2_API DescribeSecurityGroupVpcAssociationsResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API DescribeSecurityGroupVpcAssociationsResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The security group VPC associations.

          + */ + inline const Aws::Vector& GetSecurityGroupVpcAssociations() const{ return m_securityGroupVpcAssociations; } + inline void SetSecurityGroupVpcAssociations(const Aws::Vector& value) { m_securityGroupVpcAssociations = value; } + inline void SetSecurityGroupVpcAssociations(Aws::Vector&& value) { m_securityGroupVpcAssociations = std::move(value); } + inline DescribeSecurityGroupVpcAssociationsResponse& WithSecurityGroupVpcAssociations(const Aws::Vector& value) { SetSecurityGroupVpcAssociations(value); return *this;} + inline DescribeSecurityGroupVpcAssociationsResponse& WithSecurityGroupVpcAssociations(Aws::Vector&& value) { SetSecurityGroupVpcAssociations(std::move(value)); return *this;} + inline DescribeSecurityGroupVpcAssociationsResponse& AddSecurityGroupVpcAssociations(const SecurityGroupVpcAssociation& value) { m_securityGroupVpcAssociations.push_back(value); return *this; } + inline DescribeSecurityGroupVpcAssociationsResponse& AddSecurityGroupVpcAssociations(SecurityGroupVpcAssociation&& value) { m_securityGroupVpcAssociations.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          The token to include in another request to get the next page of items. This + * value is null when there are no more items to return.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline DescribeSecurityGroupVpcAssociationsResponse& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline DescribeSecurityGroupVpcAssociationsResponse& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline DescribeSecurityGroupVpcAssociationsResponse& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline DescribeSecurityGroupVpcAssociationsResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline DescribeSecurityGroupVpcAssociationsResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_securityGroupVpcAssociations; + + Aws::String m_nextToken; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeStaleSecurityGroupsResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeStaleSecurityGroupsResponse.h index 901a84d20ce..b6d42451cff 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeStaleSecurityGroupsResponse.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DescribeStaleSecurityGroupsResponse.h @@ -37,8 +37,8 @@ namespace Model ///@{ /** - *

          The token to include in another request to get the next page of items. If - * there are no additional items to return, the string is empty.

          + *

          The token to include in another request to get the next page of items. This + * value is null when there are no more items to return.

          */ inline const Aws::String& GetNextToken() const{ return m_nextToken; } inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisassociateSecurityGroupVpcRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisassociateSecurityGroupVpcRequest.h new file mode 100644 index 00000000000..4141842c186 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisassociateSecurityGroupVpcRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + + /** + */ + class DisassociateSecurityGroupVpcRequest : public EC2Request + { + public: + AWS_EC2_API DisassociateSecurityGroupVpcRequest(); + + // 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 "DisassociateSecurityGroupVpc"; } + + AWS_EC2_API Aws::String SerializePayload() const override; + + protected: + AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; + + public: + + ///@{ + /** + *

          A security group ID.

          + */ + inline const Aws::String& GetGroupId() const{ return m_groupId; } + inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; } + inline void SetGroupId(const Aws::String& value) { m_groupIdHasBeenSet = true; m_groupId = value; } + inline void SetGroupId(Aws::String&& value) { m_groupIdHasBeenSet = true; m_groupId = std::move(value); } + inline void SetGroupId(const char* value) { m_groupIdHasBeenSet = true; m_groupId.assign(value); } + inline DisassociateSecurityGroupVpcRequest& WithGroupId(const Aws::String& value) { SetGroupId(value); return *this;} + inline DisassociateSecurityGroupVpcRequest& WithGroupId(Aws::String&& value) { SetGroupId(std::move(value)); return *this;} + inline DisassociateSecurityGroupVpcRequest& WithGroupId(const char* value) { SetGroupId(value); return *this;} + ///@} + + ///@{ + /** + *

          A VPC ID.

          + */ + inline const Aws::String& GetVpcId() const{ return m_vpcId; } + inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } + inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } + inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } + inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } + inline DisassociateSecurityGroupVpcRequest& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} + inline DisassociateSecurityGroupVpcRequest& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} + inline DisassociateSecurityGroupVpcRequest& WithVpcId(const char* value) { SetVpcId(value); return *this;} + ///@} + + ///@{ + /** + *

          Checks whether you have the required permissions for the action, without + * actually making the request, and provides an error response. If you have the + * required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          + */ + inline bool GetDryRun() const{ return m_dryRun; } + inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } + inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } + inline DisassociateSecurityGroupVpcRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} + ///@} + private: + + Aws::String m_groupId; + bool m_groupIdHasBeenSet = false; + + Aws::String m_vpcId; + bool m_vpcIdHasBeenSet = false; + + bool m_dryRun; + bool m_dryRunHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisassociateSecurityGroupVpcResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisassociateSecurityGroupVpcResponse.h new file mode 100644 index 00000000000..9ac8e92e7e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/DisassociateSecurityGroupVpcResponse.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Xml +{ + class XmlDocument; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + class DisassociateSecurityGroupVpcResponse + { + public: + AWS_EC2_API DisassociateSecurityGroupVpcResponse(); + AWS_EC2_API DisassociateSecurityGroupVpcResponse(const Aws::AmazonWebServiceResult& result); + AWS_EC2_API DisassociateSecurityGroupVpcResponse& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The state of the disassociation.

          + */ + inline const SecurityGroupVpcAssociationState& GetState() const{ return m_state; } + inline void SetState(const SecurityGroupVpcAssociationState& value) { m_state = value; } + inline void SetState(SecurityGroupVpcAssociationState&& value) { m_state = std::move(value); } + inline DisassociateSecurityGroupVpcResponse& WithState(const SecurityGroupVpcAssociationState& value) { SetState(value); return *this;} + inline DisassociateSecurityGroupVpcResponse& WithState(SecurityGroupVpcAssociationState&& value) { SetState(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } + inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } + inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } + inline DisassociateSecurityGroupVpcResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} + inline DisassociateSecurityGroupVpcResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} + ///@} + private: + + SecurityGroupVpcAssociationState m_state; + + ResponseMetadata m_responseMetadata; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h index 0065c9708da..3dfaad5d0e5 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterface.h @@ -254,7 +254,7 @@ namespace Model ///@{ /** *

          The type of network interface.

          Valid values: interface | - * efa | trunk

          + * efa | efa-only | trunk

          */ inline const Aws::String& GetInterfaceType() const{ return m_interfaceType; } inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterfaceSpecification.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterfaceSpecification.h index bd7fba4c872..bd0e832fee0 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterfaceSpecification.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceNetworkInterfaceSpecification.h @@ -249,8 +249,10 @@ namespace Model ///@{ /** - *

          The type of network interface.

          Valid values: interface | - * efa

          + *

          The type of network interface.

          If you specify efa-only, + * do not assign any IP addresses to the network interface. EFA-only network + * interfaces do not support IP addresses.

          Valid values: + * interface | efa | efa-only

          */ inline const Aws::String& GetInterfaceType() const{ return m_interfaceType; } inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceTypeInfo.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceTypeInfo.h index 2fc147dc077..534fdec13fb 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceTypeInfo.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/InstanceTypeInfo.h @@ -97,7 +97,8 @@ namespace Model ///@{ /** - *

          Indicates whether the instance type is offered for spot or On-Demand.

          + *

          Indicates whether the instance type is offered for spot, On-Demand, or + * Capacity Blocks.

          */ inline const Aws::Vector& GetSupportedUsageClasses() const{ return m_supportedUsageClasses; } inline bool SupportedUsageClassesHasBeenSet() const { return m_supportedUsageClassesHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.h index 8fba151a259..bc4119a95e9 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.h @@ -132,11 +132,14 @@ namespace Model ///@{ /** *

          The type of network interface. To create an Elastic Fabric Adapter (EFA), - * specify efa. For more information, see efa or efa. For more information, see Elastic * Fabric Adapter in the Amazon EC2 User Guide.

          If you are not * creating an EFA, specify interface or omit this parameter.

          - *

          Valid values: interface | efa

          + *

          If you specify efa-only, do not assign any IP addresses to the + * network interface. EFA-only network interfaces do not support IP addresses.

          + *

          Valid values: interface | efa | + * efa-only

          */ inline const Aws::String& GetInterfaceType() const{ return m_interfaceType; } inline bool InterfaceTypeHasBeenSet() const { return m_interfaceTypeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RevokeSecurityGroupEgressResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RevokeSecurityGroupEgressResponse.h index 6412e2c6fe2..7069fe75608 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RevokeSecurityGroupEgressResponse.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RevokeSecurityGroupEgressResponse.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -59,6 +60,19 @@ namespace Model inline RevokeSecurityGroupEgressResponse& AddUnknownIpPermissions(IpPermission&& value) { m_unknownIpPermissions.push_back(std::move(value)); return *this; } ///@} + ///@{ + /** + *

          Details about the revoked security group rules.

          + */ + inline const Aws::Vector& GetRevokedSecurityGroupRules() const{ return m_revokedSecurityGroupRules; } + inline void SetRevokedSecurityGroupRules(const Aws::Vector& value) { m_revokedSecurityGroupRules = value; } + inline void SetRevokedSecurityGroupRules(Aws::Vector&& value) { m_revokedSecurityGroupRules = std::move(value); } + inline RevokeSecurityGroupEgressResponse& WithRevokedSecurityGroupRules(const Aws::Vector& value) { SetRevokedSecurityGroupRules(value); return *this;} + inline RevokeSecurityGroupEgressResponse& WithRevokedSecurityGroupRules(Aws::Vector&& value) { SetRevokedSecurityGroupRules(std::move(value)); return *this;} + inline RevokeSecurityGroupEgressResponse& AddRevokedSecurityGroupRules(const RevokedSecurityGroupRule& value) { m_revokedSecurityGroupRules.push_back(value); return *this; } + inline RevokeSecurityGroupEgressResponse& AddRevokedSecurityGroupRules(RevokedSecurityGroupRule&& value) { m_revokedSecurityGroupRules.push_back(std::move(value)); return *this; } + ///@} + ///@{ inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } @@ -73,6 +87,8 @@ namespace Model Aws::Vector m_unknownIpPermissions; + Aws::Vector m_revokedSecurityGroupRules; + ResponseMetadata m_responseMetadata; }; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RevokeSecurityGroupIngressResponse.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RevokeSecurityGroupIngressResponse.h index b75d265a233..9d7988f20a7 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RevokeSecurityGroupIngressResponse.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RevokeSecurityGroupIngressResponse.h @@ -8,6 +8,7 @@ #include #include #include +#include #include namespace Aws @@ -59,6 +60,19 @@ namespace Model inline RevokeSecurityGroupIngressResponse& AddUnknownIpPermissions(IpPermission&& value) { m_unknownIpPermissions.push_back(std::move(value)); return *this; } ///@} + ///@{ + /** + *

          Details about the revoked security group rules.

          + */ + inline const Aws::Vector& GetRevokedSecurityGroupRules() const{ return m_revokedSecurityGroupRules; } + inline void SetRevokedSecurityGroupRules(const Aws::Vector& value) { m_revokedSecurityGroupRules = value; } + inline void SetRevokedSecurityGroupRules(Aws::Vector&& value) { m_revokedSecurityGroupRules = std::move(value); } + inline RevokeSecurityGroupIngressResponse& WithRevokedSecurityGroupRules(const Aws::Vector& value) { SetRevokedSecurityGroupRules(value); return *this;} + inline RevokeSecurityGroupIngressResponse& WithRevokedSecurityGroupRules(Aws::Vector&& value) { SetRevokedSecurityGroupRules(std::move(value)); return *this;} + inline RevokeSecurityGroupIngressResponse& AddRevokedSecurityGroupRules(const RevokedSecurityGroupRule& value) { m_revokedSecurityGroupRules.push_back(value); return *this; } + inline RevokeSecurityGroupIngressResponse& AddRevokedSecurityGroupRules(RevokedSecurityGroupRule&& value) { m_revokedSecurityGroupRules.push_back(std::move(value)); return *this; } + ///@} + ///@{ inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } @@ -73,6 +87,8 @@ namespace Model Aws::Vector m_unknownIpPermissions; + Aws::Vector m_revokedSecurityGroupRules; + ResponseMetadata m_responseMetadata; }; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RevokedSecurityGroupRule.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RevokedSecurityGroupRule.h new file mode 100644 index 00000000000..806718a266e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/RevokedSecurityGroupRule.h @@ -0,0 +1,225 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

          A security group rule removed with RevokeSecurityGroupEgress + * or RevokeSecurityGroupIngress.

          See + * Also:

          AWS + * API Reference

          + */ + class RevokedSecurityGroupRule + { + public: + AWS_EC2_API RevokedSecurityGroupRule(); + AWS_EC2_API RevokedSecurityGroupRule(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API RevokedSecurityGroupRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

          A security group rule ID.

          + */ + inline const Aws::String& GetSecurityGroupRuleId() const{ return m_securityGroupRuleId; } + inline bool SecurityGroupRuleIdHasBeenSet() const { return m_securityGroupRuleIdHasBeenSet; } + inline void SetSecurityGroupRuleId(const Aws::String& value) { m_securityGroupRuleIdHasBeenSet = true; m_securityGroupRuleId = value; } + inline void SetSecurityGroupRuleId(Aws::String&& value) { m_securityGroupRuleIdHasBeenSet = true; m_securityGroupRuleId = std::move(value); } + inline void SetSecurityGroupRuleId(const char* value) { m_securityGroupRuleIdHasBeenSet = true; m_securityGroupRuleId.assign(value); } + inline RevokedSecurityGroupRule& WithSecurityGroupRuleId(const Aws::String& value) { SetSecurityGroupRuleId(value); return *this;} + inline RevokedSecurityGroupRule& WithSecurityGroupRuleId(Aws::String&& value) { SetSecurityGroupRuleId(std::move(value)); return *this;} + inline RevokedSecurityGroupRule& WithSecurityGroupRuleId(const char* value) { SetSecurityGroupRuleId(value); return *this;} + ///@} + + ///@{ + /** + *

          A security group ID.

          + */ + inline const Aws::String& GetGroupId() const{ return m_groupId; } + inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; } + inline void SetGroupId(const Aws::String& value) { m_groupIdHasBeenSet = true; m_groupId = value; } + inline void SetGroupId(Aws::String&& value) { m_groupIdHasBeenSet = true; m_groupId = std::move(value); } + inline void SetGroupId(const char* value) { m_groupIdHasBeenSet = true; m_groupId.assign(value); } + inline RevokedSecurityGroupRule& WithGroupId(const Aws::String& value) { SetGroupId(value); return *this;} + inline RevokedSecurityGroupRule& WithGroupId(Aws::String&& value) { SetGroupId(std::move(value)); return *this;} + inline RevokedSecurityGroupRule& WithGroupId(const char* value) { SetGroupId(value); return *this;} + ///@} + + ///@{ + /** + *

          Defines if a security group rule is an outbound rule.

          + */ + inline bool GetIsEgress() const{ return m_isEgress; } + inline bool IsEgressHasBeenSet() const { return m_isEgressHasBeenSet; } + inline void SetIsEgress(bool value) { m_isEgressHasBeenSet = true; m_isEgress = value; } + inline RevokedSecurityGroupRule& WithIsEgress(bool value) { SetIsEgress(value); return *this;} + ///@} + + ///@{ + /** + *

          The security group rule's protocol.

          + */ + inline const Aws::String& GetIpProtocol() const{ return m_ipProtocol; } + inline bool IpProtocolHasBeenSet() const { return m_ipProtocolHasBeenSet; } + inline void SetIpProtocol(const Aws::String& value) { m_ipProtocolHasBeenSet = true; m_ipProtocol = value; } + inline void SetIpProtocol(Aws::String&& value) { m_ipProtocolHasBeenSet = true; m_ipProtocol = std::move(value); } + inline void SetIpProtocol(const char* value) { m_ipProtocolHasBeenSet = true; m_ipProtocol.assign(value); } + inline RevokedSecurityGroupRule& WithIpProtocol(const Aws::String& value) { SetIpProtocol(value); return *this;} + inline RevokedSecurityGroupRule& WithIpProtocol(Aws::String&& value) { SetIpProtocol(std::move(value)); return *this;} + inline RevokedSecurityGroupRule& WithIpProtocol(const char* value) { SetIpProtocol(value); return *this;} + ///@} + + ///@{ + /** + *

          The 'from' port number of the security group rule.

          + */ + inline int GetFromPort() const{ return m_fromPort; } + inline bool FromPortHasBeenSet() const { return m_fromPortHasBeenSet; } + inline void SetFromPort(int value) { m_fromPortHasBeenSet = true; m_fromPort = value; } + inline RevokedSecurityGroupRule& WithFromPort(int value) { SetFromPort(value); return *this;} + ///@} + + ///@{ + /** + *

          The 'to' port number of the security group rule.

          + */ + inline int GetToPort() const{ return m_toPort; } + inline bool ToPortHasBeenSet() const { return m_toPortHasBeenSet; } + inline void SetToPort(int value) { m_toPortHasBeenSet = true; m_toPort = value; } + inline RevokedSecurityGroupRule& WithToPort(int value) { SetToPort(value); return *this;} + ///@} + + ///@{ + /** + *

          The IPv4 CIDR of the traffic source.

          + */ + inline const Aws::String& GetCidrIpv4() const{ return m_cidrIpv4; } + inline bool CidrIpv4HasBeenSet() const { return m_cidrIpv4HasBeenSet; } + inline void SetCidrIpv4(const Aws::String& value) { m_cidrIpv4HasBeenSet = true; m_cidrIpv4 = value; } + inline void SetCidrIpv4(Aws::String&& value) { m_cidrIpv4HasBeenSet = true; m_cidrIpv4 = std::move(value); } + inline void SetCidrIpv4(const char* value) { m_cidrIpv4HasBeenSet = true; m_cidrIpv4.assign(value); } + inline RevokedSecurityGroupRule& WithCidrIpv4(const Aws::String& value) { SetCidrIpv4(value); return *this;} + inline RevokedSecurityGroupRule& WithCidrIpv4(Aws::String&& value) { SetCidrIpv4(std::move(value)); return *this;} + inline RevokedSecurityGroupRule& WithCidrIpv4(const char* value) { SetCidrIpv4(value); return *this;} + ///@} + + ///@{ + /** + *

          The IPv6 CIDR of the traffic source.

          + */ + inline const Aws::String& GetCidrIpv6() const{ return m_cidrIpv6; } + inline bool CidrIpv6HasBeenSet() const { return m_cidrIpv6HasBeenSet; } + inline void SetCidrIpv6(const Aws::String& value) { m_cidrIpv6HasBeenSet = true; m_cidrIpv6 = value; } + inline void SetCidrIpv6(Aws::String&& value) { m_cidrIpv6HasBeenSet = true; m_cidrIpv6 = std::move(value); } + inline void SetCidrIpv6(const char* value) { m_cidrIpv6HasBeenSet = true; m_cidrIpv6.assign(value); } + inline RevokedSecurityGroupRule& WithCidrIpv6(const Aws::String& value) { SetCidrIpv6(value); return *this;} + inline RevokedSecurityGroupRule& WithCidrIpv6(Aws::String&& value) { SetCidrIpv6(std::move(value)); return *this;} + inline RevokedSecurityGroupRule& WithCidrIpv6(const char* value) { SetCidrIpv6(value); return *this;} + ///@} + + ///@{ + /** + *

          The ID of a prefix list that's the traffic source.

          + */ + inline const Aws::String& GetPrefixListId() const{ return m_prefixListId; } + inline bool PrefixListIdHasBeenSet() const { return m_prefixListIdHasBeenSet; } + inline void SetPrefixListId(const Aws::String& value) { m_prefixListIdHasBeenSet = true; m_prefixListId = value; } + inline void SetPrefixListId(Aws::String&& value) { m_prefixListIdHasBeenSet = true; m_prefixListId = std::move(value); } + inline void SetPrefixListId(const char* value) { m_prefixListIdHasBeenSet = true; m_prefixListId.assign(value); } + inline RevokedSecurityGroupRule& WithPrefixListId(const Aws::String& value) { SetPrefixListId(value); return *this;} + inline RevokedSecurityGroupRule& WithPrefixListId(Aws::String&& value) { SetPrefixListId(std::move(value)); return *this;} + inline RevokedSecurityGroupRule& WithPrefixListId(const char* value) { SetPrefixListId(value); return *this;} + ///@} + + ///@{ + /** + *

          The ID of a referenced security group.

          + */ + inline const Aws::String& GetReferencedGroupId() const{ return m_referencedGroupId; } + inline bool ReferencedGroupIdHasBeenSet() const { return m_referencedGroupIdHasBeenSet; } + inline void SetReferencedGroupId(const Aws::String& value) { m_referencedGroupIdHasBeenSet = true; m_referencedGroupId = value; } + inline void SetReferencedGroupId(Aws::String&& value) { m_referencedGroupIdHasBeenSet = true; m_referencedGroupId = std::move(value); } + inline void SetReferencedGroupId(const char* value) { m_referencedGroupIdHasBeenSet = true; m_referencedGroupId.assign(value); } + inline RevokedSecurityGroupRule& WithReferencedGroupId(const Aws::String& value) { SetReferencedGroupId(value); return *this;} + inline RevokedSecurityGroupRule& WithReferencedGroupId(Aws::String&& value) { SetReferencedGroupId(std::move(value)); return *this;} + inline RevokedSecurityGroupRule& WithReferencedGroupId(const char* value) { SetReferencedGroupId(value); return *this;} + ///@} + + ///@{ + /** + *

          A description of the revoked security group rule.

          + */ + 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 RevokedSecurityGroupRule& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline RevokedSecurityGroupRule& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline RevokedSecurityGroupRule& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + private: + + Aws::String m_securityGroupRuleId; + bool m_securityGroupRuleIdHasBeenSet = false; + + Aws::String m_groupId; + bool m_groupIdHasBeenSet = false; + + bool m_isEgress; + bool m_isEgressHasBeenSet = false; + + Aws::String m_ipProtocol; + bool m_ipProtocolHasBeenSet = false; + + int m_fromPort; + bool m_fromPortHasBeenSet = false; + + int m_toPort; + bool m_toPortHasBeenSet = false; + + Aws::String m_cidrIpv4; + bool m_cidrIpv4HasBeenSet = false; + + Aws::String m_cidrIpv6; + bool m_cidrIpv6HasBeenSet = false; + + Aws::String m_prefixListId; + bool m_prefixListIdHasBeenSet = false; + + Aws::String m_referencedGroupId; + bool m_referencedGroupIdHasBeenSet = false; + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroup.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroup.h index 850c4115ed7..6065870c12d 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroup.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroup.h @@ -98,6 +98,20 @@ namespace Model inline SecurityGroup& WithVpcId(const char* value) { SetVpcId(value); return *this;} ///@} + ///@{ + /** + *

          The ARN of the security group.

          + */ + inline const Aws::String& GetSecurityGroupArn() const{ return m_securityGroupArn; } + inline bool SecurityGroupArnHasBeenSet() const { return m_securityGroupArnHasBeenSet; } + inline void SetSecurityGroupArn(const Aws::String& value) { m_securityGroupArnHasBeenSet = true; m_securityGroupArn = value; } + inline void SetSecurityGroupArn(Aws::String&& value) { m_securityGroupArnHasBeenSet = true; m_securityGroupArn = std::move(value); } + inline void SetSecurityGroupArn(const char* value) { m_securityGroupArnHasBeenSet = true; m_securityGroupArn.assign(value); } + inline SecurityGroup& WithSecurityGroupArn(const Aws::String& value) { SetSecurityGroupArn(value); return *this;} + inline SecurityGroup& WithSecurityGroupArn(Aws::String&& value) { SetSecurityGroupArn(std::move(value)); return *this;} + inline SecurityGroup& WithSecurityGroupArn(const char* value) { SetSecurityGroupArn(value); return *this;} + ///@} + ///@{ /** *

          The Amazon Web Services account ID of the owner of the security group.

          @@ -167,6 +181,9 @@ namespace Model Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; + Aws::String m_securityGroupArn; + bool m_securityGroupArnHasBeenSet = false; + Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroupRule.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroupRule.h index cdce43139ef..4b7c4ed92c2 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroupRule.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroupRule.h @@ -216,6 +216,20 @@ namespace Model inline SecurityGroupRule& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } inline SecurityGroupRule& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } ///@} + + ///@{ + /** + *

          The ARN of the security group rule.

          + */ + inline const Aws::String& GetSecurityGroupRuleArn() const{ return m_securityGroupRuleArn; } + inline bool SecurityGroupRuleArnHasBeenSet() const { return m_securityGroupRuleArnHasBeenSet; } + inline void SetSecurityGroupRuleArn(const Aws::String& value) { m_securityGroupRuleArnHasBeenSet = true; m_securityGroupRuleArn = value; } + inline void SetSecurityGroupRuleArn(Aws::String&& value) { m_securityGroupRuleArnHasBeenSet = true; m_securityGroupRuleArn = std::move(value); } + inline void SetSecurityGroupRuleArn(const char* value) { m_securityGroupRuleArnHasBeenSet = true; m_securityGroupRuleArn.assign(value); } + inline SecurityGroupRule& WithSecurityGroupRuleArn(const Aws::String& value) { SetSecurityGroupRuleArn(value); return *this;} + inline SecurityGroupRule& WithSecurityGroupRuleArn(Aws::String&& value) { SetSecurityGroupRuleArn(std::move(value)); return *this;} + inline SecurityGroupRule& WithSecurityGroupRuleArn(const char* value) { SetSecurityGroupRuleArn(value); return *this;} + ///@} private: Aws::String m_securityGroupRuleId; @@ -256,6 +270,9 @@ namespace Model Aws::Vector m_tags; bool m_tagsHasBeenSet = false; + + Aws::String m_securityGroupRuleArn; + bool m_securityGroupRuleArnHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroupVpcAssociation.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroupVpcAssociation.h new file mode 100644 index 00000000000..3757f4475ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroupVpcAssociation.h @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Xml +{ + class XmlNode; +} // namespace Xml +} // namespace Utils +namespace EC2 +{ +namespace Model +{ + + /** + *

          A security group association with a VPC that you made with AssociateSecurityGroupVpc.

          See + * Also:

          AWS + * API Reference

          + */ + class SecurityGroupVpcAssociation + { + public: + AWS_EC2_API SecurityGroupVpcAssociation(); + AWS_EC2_API SecurityGroupVpcAssociation(const Aws::Utils::Xml::XmlNode& xmlNode); + AWS_EC2_API SecurityGroupVpcAssociation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); + + AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; + AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; + + + ///@{ + /** + *

          The association's security group ID.

          + */ + inline const Aws::String& GetGroupId() const{ return m_groupId; } + inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; } + inline void SetGroupId(const Aws::String& value) { m_groupIdHasBeenSet = true; m_groupId = value; } + inline void SetGroupId(Aws::String&& value) { m_groupIdHasBeenSet = true; m_groupId = std::move(value); } + inline void SetGroupId(const char* value) { m_groupIdHasBeenSet = true; m_groupId.assign(value); } + inline SecurityGroupVpcAssociation& WithGroupId(const Aws::String& value) { SetGroupId(value); return *this;} + inline SecurityGroupVpcAssociation& WithGroupId(Aws::String&& value) { SetGroupId(std::move(value)); return *this;} + inline SecurityGroupVpcAssociation& WithGroupId(const char* value) { SetGroupId(value); return *this;} + ///@} + + ///@{ + /** + *

          The association's VPC ID.

          + */ + inline const Aws::String& GetVpcId() const{ return m_vpcId; } + inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } + inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } + inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } + inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } + inline SecurityGroupVpcAssociation& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} + inline SecurityGroupVpcAssociation& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} + inline SecurityGroupVpcAssociation& WithVpcId(const char* value) { SetVpcId(value); return *this;} + ///@} + + ///@{ + /** + *

          The Amazon Web Services account ID of the owner of the VPC.

          + */ + inline const Aws::String& GetVpcOwnerId() const{ return m_vpcOwnerId; } + inline bool VpcOwnerIdHasBeenSet() const { return m_vpcOwnerIdHasBeenSet; } + inline void SetVpcOwnerId(const Aws::String& value) { m_vpcOwnerIdHasBeenSet = true; m_vpcOwnerId = value; } + inline void SetVpcOwnerId(Aws::String&& value) { m_vpcOwnerIdHasBeenSet = true; m_vpcOwnerId = std::move(value); } + inline void SetVpcOwnerId(const char* value) { m_vpcOwnerIdHasBeenSet = true; m_vpcOwnerId.assign(value); } + inline SecurityGroupVpcAssociation& WithVpcOwnerId(const Aws::String& value) { SetVpcOwnerId(value); return *this;} + inline SecurityGroupVpcAssociation& WithVpcOwnerId(Aws::String&& value) { SetVpcOwnerId(std::move(value)); return *this;} + inline SecurityGroupVpcAssociation& WithVpcOwnerId(const char* value) { SetVpcOwnerId(value); return *this;} + ///@} + + ///@{ + /** + *

          The association's state.

          + */ + inline const SecurityGroupVpcAssociationState& GetState() const{ return m_state; } + inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } + inline void SetState(const SecurityGroupVpcAssociationState& value) { m_stateHasBeenSet = true; m_state = value; } + inline void SetState(SecurityGroupVpcAssociationState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } + inline SecurityGroupVpcAssociation& WithState(const SecurityGroupVpcAssociationState& value) { SetState(value); return *this;} + inline SecurityGroupVpcAssociation& WithState(SecurityGroupVpcAssociationState&& value) { SetState(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The association's state reason.

          + */ + inline const Aws::String& GetStateReason() const{ return m_stateReason; } + inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; } + inline void SetStateReason(const Aws::String& value) { m_stateReasonHasBeenSet = true; m_stateReason = value; } + inline void SetStateReason(Aws::String&& value) { m_stateReasonHasBeenSet = true; m_stateReason = std::move(value); } + inline void SetStateReason(const char* value) { m_stateReasonHasBeenSet = true; m_stateReason.assign(value); } + inline SecurityGroupVpcAssociation& WithStateReason(const Aws::String& value) { SetStateReason(value); return *this;} + inline SecurityGroupVpcAssociation& WithStateReason(Aws::String&& value) { SetStateReason(std::move(value)); return *this;} + inline SecurityGroupVpcAssociation& WithStateReason(const char* value) { SetStateReason(value); return *this;} + ///@} + private: + + Aws::String m_groupId; + bool m_groupIdHasBeenSet = false; + + Aws::String m_vpcId; + bool m_vpcIdHasBeenSet = false; + + Aws::String m_vpcOwnerId; + bool m_vpcOwnerIdHasBeenSet = false; + + SecurityGroupVpcAssociationState m_state; + bool m_stateHasBeenSet = false; + + Aws::String m_stateReason; + bool m_stateReasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroupVpcAssociationState.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroupVpcAssociationState.h new file mode 100644 index 00000000000..699e3430b73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/model/SecurityGroupVpcAssociationState.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + enum class SecurityGroupVpcAssociationState + { + NOT_SET, + associating, + associated, + association_failed, + disassociating, + disassociated, + disassociation_failed + }; + +namespace SecurityGroupVpcAssociationStateMapper +{ +AWS_EC2_API SecurityGroupVpcAssociationState GetSecurityGroupVpcAssociationStateForName(const Aws::String& name); + +AWS_EC2_API Aws::String GetNameForSecurityGroupVpcAssociationState(SecurityGroupVpcAssociationState value); +} // namespace SecurityGroupVpcAssociationStateMapper +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp index b16f9536cbb..40a26baa38d 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -120,7 +121,6 @@ #include #include #include -#include #include @@ -967,6 +967,32 @@ AssociateRouteTableOutcome EC2Client::AssociateRouteTable(const AssociateRouteTa {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +AssociateSecurityGroupVpcOutcome EC2Client::AssociateSecurityGroupVpc(const AssociateSecurityGroupVpcRequest& request) const +{ + AWS_OPERATION_GUARD(AssociateSecurityGroupVpc); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, AssociateSecurityGroupVpc, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, AssociateSecurityGroupVpc, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, AssociateSecurityGroupVpc, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> AssociateSecurityGroupVpcOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, AssociateSecurityGroupVpc, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return AssociateSecurityGroupVpcOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + AssociateSubnetCidrBlockOutcome EC2Client::AssociateSubnetCidrBlock(const AssociateSubnetCidrBlockRequest& request) const { AWS_OPERATION_GUARD(AssociateSubnetCidrBlock); @@ -2850,29 +2876,3 @@ CreatePlacementGroupOutcome EC2Client::CreatePlacementGroup(const CreatePlacemen {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -CreatePublicIpv4PoolOutcome EC2Client::CreatePublicIpv4Pool(const CreatePublicIpv4PoolRequest& request) const -{ - AWS_OPERATION_GUARD(CreatePublicIpv4Pool); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreatePublicIpv4Pool, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreatePublicIpv4Pool, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, CreatePublicIpv4Pool, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> CreatePublicIpv4PoolOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreatePublicIpv4Pool, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return CreatePublicIpv4PoolOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client1.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client1.cpp index 421fd62685e..85131138c40 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client1.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client1.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -120,7 +121,6 @@ #include #include #include -#include #include @@ -137,6 +137,32 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +CreatePublicIpv4PoolOutcome EC2Client::CreatePublicIpv4Pool(const CreatePublicIpv4PoolRequest& request) const +{ + AWS_OPERATION_GUARD(CreatePublicIpv4Pool); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreatePublicIpv4Pool, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreatePublicIpv4Pool, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreatePublicIpv4Pool, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreatePublicIpv4PoolOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreatePublicIpv4Pool, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreatePublicIpv4PoolOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateReplaceRootVolumeTaskOutcome EC2Client::CreateReplaceRootVolumeTask(const CreateReplaceRootVolumeTaskRequest& request) const { AWS_OPERATION_GUARD(CreateReplaceRootVolumeTask); @@ -2711,29 +2737,3 @@ DeleteTransitGatewayPrefixListReferenceOutcome EC2Client::DeleteTransitGatewayPr {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -DeleteTransitGatewayRouteOutcome EC2Client::DeleteTransitGatewayRoute(const DeleteTransitGatewayRouteRequest& request) const -{ - AWS_OPERATION_GUARD(DeleteTransitGatewayRoute); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteTransitGatewayRoute, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteTransitGatewayRoute, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, DeleteTransitGatewayRoute, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> DeleteTransitGatewayRouteOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteTransitGatewayRoute, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return DeleteTransitGatewayRouteOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client2.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client2.cpp index 77f7e005f85..ee1e496a090 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client2.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client2.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -120,7 +121,6 @@ #include #include #include -#include #include @@ -137,6 +137,32 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +DeleteTransitGatewayRouteOutcome EC2Client::DeleteTransitGatewayRoute(const DeleteTransitGatewayRouteRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteTransitGatewayRoute); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteTransitGatewayRoute, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteTransitGatewayRoute, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteTransitGatewayRoute, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteTransitGatewayRouteOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteTransitGatewayRoute, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteTransitGatewayRouteOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteTransitGatewayRouteTableOutcome EC2Client::DeleteTransitGatewayRouteTable(const DeleteTransitGatewayRouteTableRequest& request) const { AWS_OPERATION_GUARD(DeleteTransitGatewayRouteTable); @@ -2711,29 +2737,3 @@ DescribeLocalGatewaysOutcome EC2Client::DescribeLocalGateways(const DescribeLoca {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -DescribeLockedSnapshotsOutcome EC2Client::DescribeLockedSnapshots(const DescribeLockedSnapshotsRequest& request) const -{ - AWS_OPERATION_GUARD(DescribeLockedSnapshots); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeLockedSnapshots, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeLockedSnapshots, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, DescribeLockedSnapshots, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> DescribeLockedSnapshotsOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeLockedSnapshots, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return DescribeLockedSnapshotsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client3.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client3.cpp index 58c0981cf25..e380f3b80c1 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client3.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client3.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -48,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -119,8 +121,6 @@ #include #include #include -#include -#include #include @@ -137,6 +137,32 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +DescribeLockedSnapshotsOutcome EC2Client::DescribeLockedSnapshots(const DescribeLockedSnapshotsRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeLockedSnapshots); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeLockedSnapshots, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeLockedSnapshots, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeLockedSnapshots, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeLockedSnapshotsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeLockedSnapshots, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeLockedSnapshotsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DescribeMacHostsOutcome EC2Client::DescribeMacHosts(const DescribeMacHostsRequest& request) const { AWS_OPERATION_GUARD(DescribeMacHosts); @@ -839,6 +865,32 @@ DescribeSecurityGroupRulesOutcome EC2Client::DescribeSecurityGroupRules(const De {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeSecurityGroupVpcAssociationsOutcome EC2Client::DescribeSecurityGroupVpcAssociations(const DescribeSecurityGroupVpcAssociationsRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeSecurityGroupVpcAssociations); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeSecurityGroupVpcAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeSecurityGroupVpcAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeSecurityGroupVpcAssociations, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeSecurityGroupVpcAssociationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeSecurityGroupVpcAssociations, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeSecurityGroupVpcAssociationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DescribeSecurityGroupsOutcome EC2Client::DescribeSecurityGroups(const DescribeSecurityGroupsRequest& request) const { AWS_OPERATION_GUARD(DescribeSecurityGroups); @@ -2685,55 +2737,3 @@ DisableVgwRoutePropagationOutcome EC2Client::DisableVgwRoutePropagation(const Di {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -DisableVpcClassicLinkOutcome EC2Client::DisableVpcClassicLink(const DisableVpcClassicLinkRequest& request) const -{ - AWS_OPERATION_GUARD(DisableVpcClassicLink); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableVpcClassicLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableVpcClassicLink, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, DisableVpcClassicLink, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> DisableVpcClassicLinkOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableVpcClassicLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return DisableVpcClassicLinkOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -DisableVpcClassicLinkDnsSupportOutcome EC2Client::DisableVpcClassicLinkDnsSupport(const DisableVpcClassicLinkDnsSupportRequest& request) const -{ - AWS_OPERATION_GUARD(DisableVpcClassicLinkDnsSupport); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableVpcClassicLinkDnsSupport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableVpcClassicLinkDnsSupport, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, DisableVpcClassicLinkDnsSupport, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> DisableVpcClassicLinkDnsSupportOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableVpcClassicLinkDnsSupport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return DisableVpcClassicLinkDnsSupportOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client4.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client4.cpp index 04f0ef1a1f9..cfc5a76ef41 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client4.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client4.cpp @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include #include @@ -31,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -118,9 +121,6 @@ #include #include #include -#include -#include -#include #include @@ -137,6 +137,58 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +DisableVpcClassicLinkOutcome EC2Client::DisableVpcClassicLink(const DisableVpcClassicLinkRequest& request) const +{ + AWS_OPERATION_GUARD(DisableVpcClassicLink); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableVpcClassicLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableVpcClassicLink, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisableVpcClassicLink, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DisableVpcClassicLinkOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableVpcClassicLink, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisableVpcClassicLinkOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DisableVpcClassicLinkDnsSupportOutcome EC2Client::DisableVpcClassicLinkDnsSupport(const DisableVpcClassicLinkDnsSupportRequest& request) const +{ + AWS_OPERATION_GUARD(DisableVpcClassicLinkDnsSupport); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisableVpcClassicLinkDnsSupport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisableVpcClassicLinkDnsSupport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisableVpcClassicLinkDnsSupport, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DisableVpcClassicLinkDnsSupportOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisableVpcClassicLinkDnsSupport, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisableVpcClassicLinkDnsSupportOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DisassociateAddressOutcome EC2Client::DisassociateAddress(const DisassociateAddressRequest& request) const { AWS_OPERATION_GUARD(DisassociateAddress); @@ -397,6 +449,32 @@ DisassociateRouteTableOutcome EC2Client::DisassociateRouteTable(const Disassocia {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DisassociateSecurityGroupVpcOutcome EC2Client::DisassociateSecurityGroupVpc(const DisassociateSecurityGroupVpcRequest& request) const +{ + AWS_OPERATION_GUARD(DisassociateSecurityGroupVpc); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DisassociateSecurityGroupVpc, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DisassociateSecurityGroupVpc, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DisassociateSecurityGroupVpc, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DisassociateSecurityGroupVpcOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DisassociateSecurityGroupVpc, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DisassociateSecurityGroupVpcOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DisassociateSubnetCidrBlockOutcome EC2Client::DisassociateSubnetCidrBlock(const DisassociateSubnetCidrBlockRequest& request) const { AWS_OPERATION_GUARD(DisassociateSubnetCidrBlock); @@ -2659,81 +2737,3 @@ ModifyAddressAttributeOutcome EC2Client::ModifyAddressAttribute(const ModifyAddr {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -ModifyAvailabilityZoneGroupOutcome EC2Client::ModifyAvailabilityZoneGroup(const ModifyAvailabilityZoneGroupRequest& request) const -{ - AWS_OPERATION_GUARD(ModifyAvailabilityZoneGroup); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ModifyAvailabilityZoneGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ModifyAvailabilityZoneGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ModifyAvailabilityZoneGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ModifyAvailabilityZoneGroupOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ModifyAvailabilityZoneGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ModifyAvailabilityZoneGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -ModifyCapacityReservationOutcome EC2Client::ModifyCapacityReservation(const ModifyCapacityReservationRequest& request) const -{ - AWS_OPERATION_GUARD(ModifyCapacityReservation); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ModifyCapacityReservation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ModifyCapacityReservation, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ModifyCapacityReservation, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ModifyCapacityReservationOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ModifyCapacityReservation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ModifyCapacityReservationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -ModifyCapacityReservationFleetOutcome EC2Client::ModifyCapacityReservationFleet(const ModifyCapacityReservationFleetRequest& request) const -{ - AWS_OPERATION_GUARD(ModifyCapacityReservationFleet); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ModifyCapacityReservationFleet, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ModifyCapacityReservationFleet, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ModifyCapacityReservationFleet, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ModifyCapacityReservationFleetOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ModifyCapacityReservationFleet, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ModifyCapacityReservationFleetOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client5.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client5.cpp index 63ca6f57fb6..d739820dc4d 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client5.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client5.cpp @@ -21,6 +21,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -118,9 +121,6 @@ #include #include #include -#include -#include -#include #include @@ -137,6 +137,84 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +ModifyAvailabilityZoneGroupOutcome EC2Client::ModifyAvailabilityZoneGroup(const ModifyAvailabilityZoneGroupRequest& request) const +{ + AWS_OPERATION_GUARD(ModifyAvailabilityZoneGroup); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ModifyAvailabilityZoneGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ModifyAvailabilityZoneGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ModifyAvailabilityZoneGroup, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ModifyAvailabilityZoneGroupOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ModifyAvailabilityZoneGroup, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ModifyAvailabilityZoneGroupOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ModifyCapacityReservationOutcome EC2Client::ModifyCapacityReservation(const ModifyCapacityReservationRequest& request) const +{ + AWS_OPERATION_GUARD(ModifyCapacityReservation); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ModifyCapacityReservation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ModifyCapacityReservation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ModifyCapacityReservation, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ModifyCapacityReservationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ModifyCapacityReservation, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ModifyCapacityReservationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ModifyCapacityReservationFleetOutcome EC2Client::ModifyCapacityReservationFleet(const ModifyCapacityReservationFleetRequest& request) const +{ + AWS_OPERATION_GUARD(ModifyCapacityReservationFleet); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ModifyCapacityReservationFleet, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ModifyCapacityReservationFleet, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ModifyCapacityReservationFleet, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ModifyCapacityReservationFleetOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ModifyCapacityReservationFleet, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ModifyCapacityReservationFleetOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ModifyClientVpnEndpointOutcome EC2Client::ModifyClientVpnEndpoint(const ModifyClientVpnEndpointRequest& request) const { AWS_OPERATION_GUARD(ModifyClientVpnEndpoint); @@ -2659,81 +2737,3 @@ RequestSpotFleetOutcome EC2Client::RequestSpotFleet(const RequestSpotFleetReques {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } -RequestSpotInstancesOutcome EC2Client::RequestSpotInstances(const RequestSpotInstancesRequest& request) const -{ - AWS_OPERATION_GUARD(RequestSpotInstances); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, RequestSpotInstances, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RequestSpotInstances, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, RequestSpotInstances, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> RequestSpotInstancesOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RequestSpotInstances, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return RequestSpotInstancesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -ResetAddressAttributeOutcome EC2Client::ResetAddressAttribute(const ResetAddressAttributeRequest& request) const -{ - AWS_OPERATION_GUARD(ResetAddressAttribute); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ResetAddressAttribute, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ResetAddressAttribute, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ResetAddressAttribute, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ResetAddressAttributeOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ResetAddressAttribute, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ResetAddressAttributeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - -ResetEbsDefaultKmsKeyIdOutcome EC2Client::ResetEbsDefaultKmsKeyId(const ResetEbsDefaultKmsKeyIdRequest& request) const -{ - AWS_OPERATION_GUARD(ResetEbsDefaultKmsKeyId); - AWS_OPERATION_CHECK_PTR(m_endpointProvider, ResetEbsDefaultKmsKeyId, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); - AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ResetEbsDefaultKmsKeyId, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); - auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); - AWS_OPERATION_CHECK_PTR(meter, ResetEbsDefaultKmsKeyId, CoreErrors, CoreErrors::NOT_INITIALIZED); - auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), - {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, - smithy::components::tracing::SpanKind::CLIENT); - return TracingUtils::MakeCallWithTiming( - [&]()-> ResetEbsDefaultKmsKeyIdOutcome { - auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( - [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, - TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); - AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ResetEbsDefaultKmsKeyId, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); - return ResetEbsDefaultKmsKeyIdOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); - }, - TracingUtils::SMITHY_CLIENT_DURATION_METRIC, - *meter, - {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); -} - diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client6.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client6.cpp index b8bad49cb6e..8fd12585bf2 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client6.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client6.cpp @@ -21,6 +21,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -71,6 +74,84 @@ using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; +RequestSpotInstancesOutcome EC2Client::RequestSpotInstances(const RequestSpotInstancesRequest& request) const +{ + AWS_OPERATION_GUARD(RequestSpotInstances); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, RequestSpotInstances, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, RequestSpotInstances, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, RequestSpotInstances, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> RequestSpotInstancesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, RequestSpotInstances, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return RequestSpotInstancesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ResetAddressAttributeOutcome EC2Client::ResetAddressAttribute(const ResetAddressAttributeRequest& request) const +{ + AWS_OPERATION_GUARD(ResetAddressAttribute); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ResetAddressAttribute, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ResetAddressAttribute, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ResetAddressAttribute, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ResetAddressAttributeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ResetAddressAttribute, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ResetAddressAttributeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ResetEbsDefaultKmsKeyIdOutcome EC2Client::ResetEbsDefaultKmsKeyId(const ResetEbsDefaultKmsKeyIdRequest& request) const +{ + AWS_OPERATION_GUARD(ResetEbsDefaultKmsKeyId); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ResetEbsDefaultKmsKeyId, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ResetEbsDefaultKmsKeyId, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ResetEbsDefaultKmsKeyId, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + "." + request.GetServiceRequestName(), + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ResetEbsDefaultKmsKeyIdOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ResetEbsDefaultKmsKeyId, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ResetEbsDefaultKmsKeyIdOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ResetFpgaImageAttributeOutcome EC2Client::ResetFpgaImageAttribute(const ResetFpgaImageAttributeRequest& request) const { AWS_OPERATION_GUARD(ResetFpgaImageAttribute); diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/AssociateSecurityGroupVpcRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/AssociateSecurityGroupVpcRequest.cpp new file mode 100644 index 00000000000..9826a733ac9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/AssociateSecurityGroupVpcRequest.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +AssociateSecurityGroupVpcRequest::AssociateSecurityGroupVpcRequest() : + m_groupIdHasBeenSet(false), + m_vpcIdHasBeenSet(false), + m_dryRun(false), + m_dryRunHasBeenSet(false) +{ +} + +Aws::String AssociateSecurityGroupVpcRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=AssociateSecurityGroupVpc&"; + if(m_groupIdHasBeenSet) + { + ss << "GroupId=" << StringUtils::URLEncode(m_groupId.c_str()) << "&"; + } + + if(m_vpcIdHasBeenSet) + { + ss << "VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&"; + } + + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void AssociateSecurityGroupVpcRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/AssociateSecurityGroupVpcResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/AssociateSecurityGroupVpcResponse.cpp new file mode 100644 index 00000000000..473b865395a --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/AssociateSecurityGroupVpcResponse.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +AssociateSecurityGroupVpcResponse::AssociateSecurityGroupVpcResponse() : + m_state(SecurityGroupVpcAssociationState::NOT_SET) +{ +} + +AssociateSecurityGroupVpcResponse::AssociateSecurityGroupVpcResponse(const Aws::AmazonWebServiceResult& result) + : AssociateSecurityGroupVpcResponse() +{ + *this = result; +} + +AssociateSecurityGroupVpcResponse& AssociateSecurityGroupVpcResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "AssociateSecurityGroupVpcResponse")) + { + resultNode = rootNode.FirstChild("AssociateSecurityGroupVpcResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode stateNode = resultNode.FirstChild("state"); + if(!stateNode.IsNull()) + { + m_state = SecurityGroupVpcAssociationStateMapper::GetSecurityGroupVpcAssociationStateForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(stateNode.GetText()).c_str()).c_str()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::AssociateSecurityGroupVpcResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/CreateSecurityGroupResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/CreateSecurityGroupResponse.cpp index 6f642d7f9c9..cab39aefc0d 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/CreateSecurityGroupResponse.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/CreateSecurityGroupResponse.cpp @@ -54,6 +54,11 @@ CreateSecurityGroupResponse& CreateSecurityGroupResponse::operator =(const Aws:: } } + XmlNode securityGroupArnNode = resultNode.FirstChild("securityGroupArn"); + if(!securityGroupArnNode.IsNull()) + { + m_securityGroupArn = Aws::Utils::Xml::DecodeEscapedXmlText(securityGroupArnNode.GetText()); + } } if (!rootNode.IsNull()) { diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/DescribeSecurityGroupVpcAssociationsRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeSecurityGroupVpcAssociationsRequest.cpp new file mode 100644 index 00000000000..aef53df99c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeSecurityGroupVpcAssociationsRequest.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +DescribeSecurityGroupVpcAssociationsRequest::DescribeSecurityGroupVpcAssociationsRequest() : + m_filtersHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_dryRun(false), + m_dryRunHasBeenSet(false) +{ +} + +Aws::String DescribeSecurityGroupVpcAssociationsRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DescribeSecurityGroupVpcAssociations&"; + if(m_filtersHasBeenSet) + { + unsigned filtersCount = 1; + for(auto& item : m_filters) + { + item.OutputToStream(ss, "Filter.", filtersCount, ""); + filtersCount++; + } + } + + if(m_nextTokenHasBeenSet) + { + ss << "NextToken=" << StringUtils::URLEncode(m_nextToken.c_str()) << "&"; + } + + if(m_maxResultsHasBeenSet) + { + ss << "MaxResults=" << m_maxResults << "&"; + } + + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void DescribeSecurityGroupVpcAssociationsRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/DescribeSecurityGroupVpcAssociationsResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeSecurityGroupVpcAssociationsResponse.cpp new file mode 100644 index 00000000000..1beb94499b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/DescribeSecurityGroupVpcAssociationsResponse.cpp @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DescribeSecurityGroupVpcAssociationsResponse::DescribeSecurityGroupVpcAssociationsResponse() +{ +} + +DescribeSecurityGroupVpcAssociationsResponse::DescribeSecurityGroupVpcAssociationsResponse(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeSecurityGroupVpcAssociationsResponse& DescribeSecurityGroupVpcAssociationsResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DescribeSecurityGroupVpcAssociationsResponse")) + { + resultNode = rootNode.FirstChild("DescribeSecurityGroupVpcAssociationsResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode securityGroupVpcAssociationsNode = resultNode.FirstChild("securityGroupVpcAssociationSet"); + if(!securityGroupVpcAssociationsNode.IsNull()) + { + XmlNode securityGroupVpcAssociationsMember = securityGroupVpcAssociationsNode.FirstChild("item"); + while(!securityGroupVpcAssociationsMember.IsNull()) + { + m_securityGroupVpcAssociations.push_back(securityGroupVpcAssociationsMember); + securityGroupVpcAssociationsMember = securityGroupVpcAssociationsMember.NextNode("item"); + } + + } + XmlNode nextTokenNode = resultNode.FirstChild("nextToken"); + if(!nextTokenNode.IsNull()) + { + m_nextToken = Aws::Utils::Xml::DecodeEscapedXmlText(nextTokenNode.GetText()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::DescribeSecurityGroupVpcAssociationsResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/DisassociateSecurityGroupVpcRequest.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/DisassociateSecurityGroupVpcRequest.cpp new file mode 100644 index 00000000000..5fd7ada402c --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/DisassociateSecurityGroupVpcRequest.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils; + +DisassociateSecurityGroupVpcRequest::DisassociateSecurityGroupVpcRequest() : + m_groupIdHasBeenSet(false), + m_vpcIdHasBeenSet(false), + m_dryRun(false), + m_dryRunHasBeenSet(false) +{ +} + +Aws::String DisassociateSecurityGroupVpcRequest::SerializePayload() const +{ + Aws::StringStream ss; + ss << "Action=DisassociateSecurityGroupVpc&"; + if(m_groupIdHasBeenSet) + { + ss << "GroupId=" << StringUtils::URLEncode(m_groupId.c_str()) << "&"; + } + + if(m_vpcIdHasBeenSet) + { + ss << "VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&"; + } + + if(m_dryRunHasBeenSet) + { + ss << "DryRun=" << std::boolalpha << m_dryRun << "&"; + } + + ss << "Version=2016-11-15"; + return ss.str(); +} + + +void DisassociateSecurityGroupVpcRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const +{ + uri.SetQueryString(SerializePayload()); +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/DisassociateSecurityGroupVpcResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/DisassociateSecurityGroupVpcResponse.cpp new file mode 100644 index 00000000000..42b6ca48c6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/DisassociateSecurityGroupVpcResponse.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::EC2::Model; +using namespace Aws::Utils::Xml; +using namespace Aws::Utils::Logging; +using namespace Aws::Utils; +using namespace Aws; + +DisassociateSecurityGroupVpcResponse::DisassociateSecurityGroupVpcResponse() : + m_state(SecurityGroupVpcAssociationState::NOT_SET) +{ +} + +DisassociateSecurityGroupVpcResponse::DisassociateSecurityGroupVpcResponse(const Aws::AmazonWebServiceResult& result) + : DisassociateSecurityGroupVpcResponse() +{ + *this = result; +} + +DisassociateSecurityGroupVpcResponse& DisassociateSecurityGroupVpcResponse::operator =(const Aws::AmazonWebServiceResult& result) +{ + const XmlDocument& xmlDocument = result.GetPayload(); + XmlNode rootNode = xmlDocument.GetRootElement(); + XmlNode resultNode = rootNode; + if (!rootNode.IsNull() && (rootNode.GetName() != "DisassociateSecurityGroupVpcResponse")) + { + resultNode = rootNode.FirstChild("DisassociateSecurityGroupVpcResponse"); + } + + if(!resultNode.IsNull()) + { + XmlNode stateNode = resultNode.FirstChild("state"); + if(!stateNode.IsNull()) + { + m_state = SecurityGroupVpcAssociationStateMapper::GetSecurityGroupVpcAssociationStateForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(stateNode.GetText()).c_str()).c_str()); + } + } + + if (!rootNode.IsNull()) { + XmlNode requestIdNode = rootNode.FirstChild("requestId"); + if (!requestIdNode.IsNull()) + { + m_responseMetadata.SetRequestId(StringUtils::Trim(requestIdNode.GetText().c_str())); + } + AWS_LOGSTREAM_DEBUG("Aws::EC2::Model::DisassociateSecurityGroupVpcResponse", "x-amzn-request-id: " << m_responseMetadata.GetRequestId() ); + } + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/RevokeSecurityGroupEgressResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/RevokeSecurityGroupEgressResponse.cpp index 165b3136753..713aa673b1e 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/RevokeSecurityGroupEgressResponse.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/RevokeSecurityGroupEgressResponse.cpp @@ -56,6 +56,17 @@ RevokeSecurityGroupEgressResponse& RevokeSecurityGroupEgressResponse::operator = } } + XmlNode revokedSecurityGroupRulesNode = resultNode.FirstChild("revokedSecurityGroupRuleSet"); + if(!revokedSecurityGroupRulesNode.IsNull()) + { + XmlNode revokedSecurityGroupRulesMember = revokedSecurityGroupRulesNode.FirstChild("item"); + while(!revokedSecurityGroupRulesMember.IsNull()) + { + m_revokedSecurityGroupRules.push_back(revokedSecurityGroupRulesMember); + revokedSecurityGroupRulesMember = revokedSecurityGroupRulesMember.NextNode("item"); + } + + } } if (!rootNode.IsNull()) { diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/RevokeSecurityGroupIngressResponse.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/RevokeSecurityGroupIngressResponse.cpp index f1b5065c1ef..3f285de7e4b 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/RevokeSecurityGroupIngressResponse.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/RevokeSecurityGroupIngressResponse.cpp @@ -56,6 +56,17 @@ RevokeSecurityGroupIngressResponse& RevokeSecurityGroupIngressResponse::operator } } + XmlNode revokedSecurityGroupRulesNode = resultNode.FirstChild("revokedSecurityGroupRuleSet"); + if(!revokedSecurityGroupRulesNode.IsNull()) + { + XmlNode revokedSecurityGroupRulesMember = revokedSecurityGroupRulesNode.FirstChild("item"); + while(!revokedSecurityGroupRulesMember.IsNull()) + { + m_revokedSecurityGroupRules.push_back(revokedSecurityGroupRulesMember); + revokedSecurityGroupRulesMember = revokedSecurityGroupRulesMember.NextNode("item"); + } + + } } if (!rootNode.IsNull()) { diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/RevokedSecurityGroupRule.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/RevokedSecurityGroupRule.cpp new file mode 100644 index 00000000000..ca02c8ea7f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/RevokedSecurityGroupRule.cpp @@ -0,0 +1,233 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +RevokedSecurityGroupRule::RevokedSecurityGroupRule() : + m_securityGroupRuleIdHasBeenSet(false), + m_groupIdHasBeenSet(false), + m_isEgress(false), + m_isEgressHasBeenSet(false), + m_ipProtocolHasBeenSet(false), + m_fromPort(0), + m_fromPortHasBeenSet(false), + m_toPort(0), + m_toPortHasBeenSet(false), + m_cidrIpv4HasBeenSet(false), + m_cidrIpv6HasBeenSet(false), + m_prefixListIdHasBeenSet(false), + m_referencedGroupIdHasBeenSet(false), + m_descriptionHasBeenSet(false) +{ +} + +RevokedSecurityGroupRule::RevokedSecurityGroupRule(const XmlNode& xmlNode) + : RevokedSecurityGroupRule() +{ + *this = xmlNode; +} + +RevokedSecurityGroupRule& RevokedSecurityGroupRule::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode securityGroupRuleIdNode = resultNode.FirstChild("securityGroupRuleId"); + if(!securityGroupRuleIdNode.IsNull()) + { + m_securityGroupRuleId = Aws::Utils::Xml::DecodeEscapedXmlText(securityGroupRuleIdNode.GetText()); + m_securityGroupRuleIdHasBeenSet = true; + } + XmlNode groupIdNode = resultNode.FirstChild("groupId"); + if(!groupIdNode.IsNull()) + { + m_groupId = Aws::Utils::Xml::DecodeEscapedXmlText(groupIdNode.GetText()); + m_groupIdHasBeenSet = true; + } + XmlNode isEgressNode = resultNode.FirstChild("isEgress"); + if(!isEgressNode.IsNull()) + { + m_isEgress = StringUtils::ConvertToBool(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(isEgressNode.GetText()).c_str()).c_str()); + m_isEgressHasBeenSet = true; + } + XmlNode ipProtocolNode = resultNode.FirstChild("ipProtocol"); + if(!ipProtocolNode.IsNull()) + { + m_ipProtocol = Aws::Utils::Xml::DecodeEscapedXmlText(ipProtocolNode.GetText()); + m_ipProtocolHasBeenSet = true; + } + XmlNode fromPortNode = resultNode.FirstChild("fromPort"); + if(!fromPortNode.IsNull()) + { + m_fromPort = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(fromPortNode.GetText()).c_str()).c_str()); + m_fromPortHasBeenSet = true; + } + XmlNode toPortNode = resultNode.FirstChild("toPort"); + if(!toPortNode.IsNull()) + { + m_toPort = StringUtils::ConvertToInt32(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(toPortNode.GetText()).c_str()).c_str()); + m_toPortHasBeenSet = true; + } + XmlNode cidrIpv4Node = resultNode.FirstChild("cidrIpv4"); + if(!cidrIpv4Node.IsNull()) + { + m_cidrIpv4 = Aws::Utils::Xml::DecodeEscapedXmlText(cidrIpv4Node.GetText()); + m_cidrIpv4HasBeenSet = true; + } + XmlNode cidrIpv6Node = resultNode.FirstChild("cidrIpv6"); + if(!cidrIpv6Node.IsNull()) + { + m_cidrIpv6 = Aws::Utils::Xml::DecodeEscapedXmlText(cidrIpv6Node.GetText()); + m_cidrIpv6HasBeenSet = true; + } + XmlNode prefixListIdNode = resultNode.FirstChild("prefixListId"); + if(!prefixListIdNode.IsNull()) + { + m_prefixListId = Aws::Utils::Xml::DecodeEscapedXmlText(prefixListIdNode.GetText()); + m_prefixListIdHasBeenSet = true; + } + XmlNode referencedGroupIdNode = resultNode.FirstChild("referencedGroupId"); + if(!referencedGroupIdNode.IsNull()) + { + m_referencedGroupId = Aws::Utils::Xml::DecodeEscapedXmlText(referencedGroupIdNode.GetText()); + m_referencedGroupIdHasBeenSet = true; + } + XmlNode descriptionNode = resultNode.FirstChild("description"); + if(!descriptionNode.IsNull()) + { + m_description = Aws::Utils::Xml::DecodeEscapedXmlText(descriptionNode.GetText()); + m_descriptionHasBeenSet = true; + } + } + + return *this; +} + +void RevokedSecurityGroupRule::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_securityGroupRuleIdHasBeenSet) + { + oStream << location << index << locationValue << ".SecurityGroupRuleId=" << StringUtils::URLEncode(m_securityGroupRuleId.c_str()) << "&"; + } + + if(m_groupIdHasBeenSet) + { + oStream << location << index << locationValue << ".GroupId=" << StringUtils::URLEncode(m_groupId.c_str()) << "&"; + } + + if(m_isEgressHasBeenSet) + { + oStream << location << index << locationValue << ".IsEgress=" << std::boolalpha << m_isEgress << "&"; + } + + if(m_ipProtocolHasBeenSet) + { + oStream << location << index << locationValue << ".IpProtocol=" << StringUtils::URLEncode(m_ipProtocol.c_str()) << "&"; + } + + if(m_fromPortHasBeenSet) + { + oStream << location << index << locationValue << ".FromPort=" << m_fromPort << "&"; + } + + if(m_toPortHasBeenSet) + { + oStream << location << index << locationValue << ".ToPort=" << m_toPort << "&"; + } + + if(m_cidrIpv4HasBeenSet) + { + oStream << location << index << locationValue << ".CidrIpv4=" << StringUtils::URLEncode(m_cidrIpv4.c_str()) << "&"; + } + + if(m_cidrIpv6HasBeenSet) + { + oStream << location << index << locationValue << ".CidrIpv6=" << StringUtils::URLEncode(m_cidrIpv6.c_str()) << "&"; + } + + if(m_prefixListIdHasBeenSet) + { + oStream << location << index << locationValue << ".PrefixListId=" << StringUtils::URLEncode(m_prefixListId.c_str()) << "&"; + } + + if(m_referencedGroupIdHasBeenSet) + { + oStream << location << index << locationValue << ".ReferencedGroupId=" << StringUtils::URLEncode(m_referencedGroupId.c_str()) << "&"; + } + + if(m_descriptionHasBeenSet) + { + oStream << location << index << locationValue << ".Description=" << StringUtils::URLEncode(m_description.c_str()) << "&"; + } + +} + +void RevokedSecurityGroupRule::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_securityGroupRuleIdHasBeenSet) + { + oStream << location << ".SecurityGroupRuleId=" << StringUtils::URLEncode(m_securityGroupRuleId.c_str()) << "&"; + } + if(m_groupIdHasBeenSet) + { + oStream << location << ".GroupId=" << StringUtils::URLEncode(m_groupId.c_str()) << "&"; + } + if(m_isEgressHasBeenSet) + { + oStream << location << ".IsEgress=" << std::boolalpha << m_isEgress << "&"; + } + if(m_ipProtocolHasBeenSet) + { + oStream << location << ".IpProtocol=" << StringUtils::URLEncode(m_ipProtocol.c_str()) << "&"; + } + if(m_fromPortHasBeenSet) + { + oStream << location << ".FromPort=" << m_fromPort << "&"; + } + if(m_toPortHasBeenSet) + { + oStream << location << ".ToPort=" << m_toPort << "&"; + } + if(m_cidrIpv4HasBeenSet) + { + oStream << location << ".CidrIpv4=" << StringUtils::URLEncode(m_cidrIpv4.c_str()) << "&"; + } + if(m_cidrIpv6HasBeenSet) + { + oStream << location << ".CidrIpv6=" << StringUtils::URLEncode(m_cidrIpv6.c_str()) << "&"; + } + if(m_prefixListIdHasBeenSet) + { + oStream << location << ".PrefixListId=" << StringUtils::URLEncode(m_prefixListId.c_str()) << "&"; + } + if(m_referencedGroupIdHasBeenSet) + { + oStream << location << ".ReferencedGroupId=" << StringUtils::URLEncode(m_referencedGroupId.c_str()) << "&"; + } + if(m_descriptionHasBeenSet) + { + oStream << location << ".Description=" << StringUtils::URLEncode(m_description.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroup.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroup.cpp index 95d51da4b3f..620336a973f 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroup.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroup.cpp @@ -25,6 +25,7 @@ SecurityGroup::SecurityGroup() : m_ipPermissionsEgressHasBeenSet(false), m_tagsHasBeenSet(false), m_vpcIdHasBeenSet(false), + m_securityGroupArnHasBeenSet(false), m_ownerIdHasBeenSet(false), m_groupNameHasBeenSet(false), m_descriptionHasBeenSet(false), @@ -80,6 +81,12 @@ SecurityGroup& SecurityGroup::operator =(const XmlNode& xmlNode) m_vpcId = Aws::Utils::Xml::DecodeEscapedXmlText(vpcIdNode.GetText()); m_vpcIdHasBeenSet = true; } + XmlNode securityGroupArnNode = resultNode.FirstChild("securityGroupArn"); + if(!securityGroupArnNode.IsNull()) + { + m_securityGroupArn = Aws::Utils::Xml::DecodeEscapedXmlText(securityGroupArnNode.GetText()); + m_securityGroupArnHasBeenSet = true; + } XmlNode ownerIdNode = resultNode.FirstChild("ownerId"); if(!ownerIdNode.IsNull()) { @@ -149,6 +156,11 @@ void SecurityGroup::OutputToStream(Aws::OStream& oStream, const char* location, oStream << location << index << locationValue << ".VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&"; } + if(m_securityGroupArnHasBeenSet) + { + oStream << location << index << locationValue << ".SecurityGroupArn=" << StringUtils::URLEncode(m_securityGroupArn.c_str()) << "&"; + } + if(m_ownerIdHasBeenSet) { oStream << location << index << locationValue << ".OwnerId=" << StringUtils::URLEncode(m_ownerId.c_str()) << "&"; @@ -207,6 +219,10 @@ void SecurityGroup::OutputToStream(Aws::OStream& oStream, const char* location) { oStream << location << ".VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&"; } + if(m_securityGroupArnHasBeenSet) + { + oStream << location << ".SecurityGroupArn=" << StringUtils::URLEncode(m_securityGroupArn.c_str()) << "&"; + } if(m_ownerIdHasBeenSet) { oStream << location << ".OwnerId=" << StringUtils::URLEncode(m_ownerId.c_str()) << "&"; diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroupRule.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroupRule.cpp index 28b8b389612..090ed19d99c 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroupRule.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroupRule.cpp @@ -36,7 +36,8 @@ SecurityGroupRule::SecurityGroupRule() : m_prefixListIdHasBeenSet(false), m_referencedGroupInfoHasBeenSet(false), m_descriptionHasBeenSet(false), - m_tagsHasBeenSet(false) + m_tagsHasBeenSet(false), + m_securityGroupRuleArnHasBeenSet(false) { } @@ -136,6 +137,12 @@ SecurityGroupRule& SecurityGroupRule::operator =(const XmlNode& xmlNode) m_tagsHasBeenSet = true; } + XmlNode securityGroupRuleArnNode = resultNode.FirstChild("securityGroupRuleArn"); + if(!securityGroupRuleArnNode.IsNull()) + { + m_securityGroupRuleArn = Aws::Utils::Xml::DecodeEscapedXmlText(securityGroupRuleArnNode.GetText()); + m_securityGroupRuleArnHasBeenSet = true; + } } return *this; @@ -216,6 +223,11 @@ void SecurityGroupRule::OutputToStream(Aws::OStream& oStream, const char* locati } } + if(m_securityGroupRuleArnHasBeenSet) + { + oStream << location << index << locationValue << ".SecurityGroupRuleArn=" << StringUtils::URLEncode(m_securityGroupRuleArn.c_str()) << "&"; + } + } void SecurityGroupRule::OutputToStream(Aws::OStream& oStream, const char* location) const @@ -280,6 +292,10 @@ void SecurityGroupRule::OutputToStream(Aws::OStream& oStream, const char* locati item.OutputToStream(oStream, tagsSs.str().c_str()); } } + if(m_securityGroupRuleArnHasBeenSet) + { + oStream << location << ".SecurityGroupRuleArn=" << StringUtils::URLEncode(m_securityGroupRuleArn.c_str()) << "&"; + } } } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroupVpcAssociation.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroupVpcAssociation.cpp new file mode 100644 index 00000000000..531e3c2d886 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroupVpcAssociation.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::Utils::Xml; +using namespace Aws::Utils; + +namespace Aws +{ +namespace EC2 +{ +namespace Model +{ + +SecurityGroupVpcAssociation::SecurityGroupVpcAssociation() : + m_groupIdHasBeenSet(false), + m_vpcIdHasBeenSet(false), + m_vpcOwnerIdHasBeenSet(false), + m_state(SecurityGroupVpcAssociationState::NOT_SET), + m_stateHasBeenSet(false), + m_stateReasonHasBeenSet(false) +{ +} + +SecurityGroupVpcAssociation::SecurityGroupVpcAssociation(const XmlNode& xmlNode) + : SecurityGroupVpcAssociation() +{ + *this = xmlNode; +} + +SecurityGroupVpcAssociation& SecurityGroupVpcAssociation::operator =(const XmlNode& xmlNode) +{ + XmlNode resultNode = xmlNode; + + if(!resultNode.IsNull()) + { + XmlNode groupIdNode = resultNode.FirstChild("groupId"); + if(!groupIdNode.IsNull()) + { + m_groupId = Aws::Utils::Xml::DecodeEscapedXmlText(groupIdNode.GetText()); + m_groupIdHasBeenSet = true; + } + XmlNode vpcIdNode = resultNode.FirstChild("vpcId"); + if(!vpcIdNode.IsNull()) + { + m_vpcId = Aws::Utils::Xml::DecodeEscapedXmlText(vpcIdNode.GetText()); + m_vpcIdHasBeenSet = true; + } + XmlNode vpcOwnerIdNode = resultNode.FirstChild("vpcOwnerId"); + if(!vpcOwnerIdNode.IsNull()) + { + m_vpcOwnerId = Aws::Utils::Xml::DecodeEscapedXmlText(vpcOwnerIdNode.GetText()); + m_vpcOwnerIdHasBeenSet = true; + } + XmlNode stateNode = resultNode.FirstChild("state"); + if(!stateNode.IsNull()) + { + m_state = SecurityGroupVpcAssociationStateMapper::GetSecurityGroupVpcAssociationStateForName(StringUtils::Trim(Aws::Utils::Xml::DecodeEscapedXmlText(stateNode.GetText()).c_str()).c_str()); + m_stateHasBeenSet = true; + } + XmlNode stateReasonNode = resultNode.FirstChild("stateReason"); + if(!stateReasonNode.IsNull()) + { + m_stateReason = Aws::Utils::Xml::DecodeEscapedXmlText(stateReasonNode.GetText()); + m_stateReasonHasBeenSet = true; + } + } + + return *this; +} + +void SecurityGroupVpcAssociation::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const +{ + if(m_groupIdHasBeenSet) + { + oStream << location << index << locationValue << ".GroupId=" << StringUtils::URLEncode(m_groupId.c_str()) << "&"; + } + + if(m_vpcIdHasBeenSet) + { + oStream << location << index << locationValue << ".VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&"; + } + + if(m_vpcOwnerIdHasBeenSet) + { + oStream << location << index << locationValue << ".VpcOwnerId=" << StringUtils::URLEncode(m_vpcOwnerId.c_str()) << "&"; + } + + if(m_stateHasBeenSet) + { + oStream << location << index << locationValue << ".State=" << SecurityGroupVpcAssociationStateMapper::GetNameForSecurityGroupVpcAssociationState(m_state) << "&"; + } + + if(m_stateReasonHasBeenSet) + { + oStream << location << index << locationValue << ".StateReason=" << StringUtils::URLEncode(m_stateReason.c_str()) << "&"; + } + +} + +void SecurityGroupVpcAssociation::OutputToStream(Aws::OStream& oStream, const char* location) const +{ + if(m_groupIdHasBeenSet) + { + oStream << location << ".GroupId=" << StringUtils::URLEncode(m_groupId.c_str()) << "&"; + } + if(m_vpcIdHasBeenSet) + { + oStream << location << ".VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&"; + } + if(m_vpcOwnerIdHasBeenSet) + { + oStream << location << ".VpcOwnerId=" << StringUtils::URLEncode(m_vpcOwnerId.c_str()) << "&"; + } + if(m_stateHasBeenSet) + { + oStream << location << ".State=" << SecurityGroupVpcAssociationStateMapper::GetNameForSecurityGroupVpcAssociationState(m_state) << "&"; + } + if(m_stateReasonHasBeenSet) + { + oStream << location << ".StateReason=" << StringUtils::URLEncode(m_stateReason.c_str()) << "&"; + } +} + +} // namespace Model +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroupVpcAssociationState.cpp b/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroupVpcAssociationState.cpp new file mode 100644 index 00000000000..827c257f285 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/model/SecurityGroupVpcAssociationState.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace EC2 + { + namespace Model + { + namespace SecurityGroupVpcAssociationStateMapper + { + + static const int associating_HASH = HashingUtils::HashString("associating"); + static const int associated_HASH = HashingUtils::HashString("associated"); + static const int association_failed_HASH = HashingUtils::HashString("association-failed"); + static const int disassociating_HASH = HashingUtils::HashString("disassociating"); + static const int disassociated_HASH = HashingUtils::HashString("disassociated"); + static const int disassociation_failed_HASH = HashingUtils::HashString("disassociation-failed"); + + + SecurityGroupVpcAssociationState GetSecurityGroupVpcAssociationStateForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == associating_HASH) + { + return SecurityGroupVpcAssociationState::associating; + } + else if (hashCode == associated_HASH) + { + return SecurityGroupVpcAssociationState::associated; + } + else if (hashCode == association_failed_HASH) + { + return SecurityGroupVpcAssociationState::association_failed; + } + else if (hashCode == disassociating_HASH) + { + return SecurityGroupVpcAssociationState::disassociating; + } + else if (hashCode == disassociated_HASH) + { + return SecurityGroupVpcAssociationState::disassociated; + } + else if (hashCode == disassociation_failed_HASH) + { + return SecurityGroupVpcAssociationState::disassociation_failed; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SecurityGroupVpcAssociationState::NOT_SET; + } + + Aws::String GetNameForSecurityGroupVpcAssociationState(SecurityGroupVpcAssociationState enumValue) + { + switch(enumValue) + { + case SecurityGroupVpcAssociationState::NOT_SET: + return {}; + case SecurityGroupVpcAssociationState::associating: + return "associating"; + case SecurityGroupVpcAssociationState::associated: + return "associated"; + case SecurityGroupVpcAssociationState::association_failed: + return "association-failed"; + case SecurityGroupVpcAssociationState::disassociating: + return "disassociating"; + case SecurityGroupVpcAssociationState::disassociated: + return "disassociated"; + case SecurityGroupVpcAssociationState::disassociation_failed: + return "disassociation-failed"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SecurityGroupVpcAssociationStateMapper + } // namespace Model + } // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h index 558f2f25984..19c34842723 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h @@ -125,13 +125,11 @@ namespace ECS *

          Creates a new Amazon ECS cluster. By default, your account receives a * default cluster when you launch your first container instance. * However, you can create your own cluster with a unique name.

          When - * you call the CreateCluster - * API operation, Amazon ECS attempts to create the Amazon ECS service-linked role - * for your account. This is so that it can manage required resources in other - * Amazon Web Services services on your behalf. However, if the user that makes the - * call doesn't have permissions to create the service-linked role, it isn't - * created. For more information, see CreateCluster API operation, Amazon ECS attempts to create + * the Amazon ECS service-linked role for your account. This is so that it can + * manage required resources in other Amazon Web Services services on your behalf. + * However, if the user that makes the call doesn't have permissions to create the + * service-linked role, it isn't created. For more information, see Using * service-linked roles for Amazon ECS in the Amazon Elastic Container * Service Developer Guide.

          See Also:

          Runs and maintains your desired number of tasks from a specified task * definition. If the number of tasks running in a service drops below the * desiredCount, Amazon ECS runs another copy of the task in the - * specified cluster. To update an existing service, use UpdateService.

          - *

          On March 21, 2024, a change was made to resolve the task definition - * revision before authorization. When a task definition revision is not specified, - * authorization will occur using the latest revision of a task definition.

          - *

          Amazon Elastic Inference (EI) is no longer available to - * customers.

          In addition to maintaining the desired count of tasks - * in your service, you can optionally run your service behind one or more load - * balancers. The load balancers distribute traffic across the tasks that are - * associated with the service. For more information, see UpdateService + * action.

          On March 21, 2024, a change was made to resolve the task + * definition revision before authorization. When a task definition revision is not + * specified, authorization will occur using the latest revision of a task + * definition.

          Amazon Elastic Inference (EI) is no longer + * available to customers.

          In addition to maintaining the desired + * count of tasks in your service, you can optionally run your service behind one + * or more load balancers. The load balancers distribute traffic across the tasks + * that are associated with the service. For more information, see Service * load balancing in the Amazon Elastic Container Service Developer * Guide.

          You can attach Amazon EBS volumes to Amazon ECS tasks by @@ -726,6 +723,66 @@ namespace ECS return SubmitAsync(&ECSClient::DescribeContainerInstances, request, handler, context); } + /** + *

          Describes one or more of your service deployments.

          A service + * deployment happens when you release a software update for the service. For more + * information, see Amazon + * ECS service deployments.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::DescribeServiceDeploymentsOutcome DescribeServiceDeployments(const Model::DescribeServiceDeploymentsRequest& request) const; + + /** + * A Callable wrapper for DescribeServiceDeployments that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeServiceDeploymentsOutcomeCallable DescribeServiceDeploymentsCallable(const DescribeServiceDeploymentsRequestT& request) const + { + return SubmitCallable(&ECSClient::DescribeServiceDeployments, request); + } + + /** + * An Async wrapper for DescribeServiceDeployments that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeServiceDeploymentsAsync(const DescribeServiceDeploymentsRequestT& request, const DescribeServiceDeploymentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ECSClient::DescribeServiceDeployments, request, handler, context); + } + + /** + *

          Describes one or more service revisions.

          A service revision is a + * version of the service that includes the values for the Amazon ECS resources + * (for example, task definition) and the environment resources (for example, load + * balancers, subnets, and security groups). For more information, see Amazon + * ECS service revisions.

          You can't describe a service revision that was + * created before October 25, 2024.

          See Also:

          AWS + * API Reference

          + */ + virtual Model::DescribeServiceRevisionsOutcome DescribeServiceRevisions(const Model::DescribeServiceRevisionsRequest& request) const; + + /** + * A Callable wrapper for DescribeServiceRevisions that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeServiceRevisionsOutcomeCallable DescribeServiceRevisionsCallable(const DescribeServiceRevisionsRequestT& request) const + { + return SubmitCallable(&ECSClient::DescribeServiceRevisions, request); + } + + /** + * An Async wrapper for DescribeServiceRevisions that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeServiceRevisionsAsync(const DescribeServiceRevisionsRequestT& request, const DescribeServiceRevisionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ECSClient::DescribeServiceRevisions, request, handler, context); + } + /** *

          Describes the specified services running in your cluster.

          See * Also:

          This operation lists all the service deployments that meet the specified + * filter criteria.

          A service deployment happens when you release a softwre + * update for the service. You route traffic from the running service revisions to + * the new service revison and control the number of running tasks.

          This + * API returns the values that you use for the request parameters in DescribeServiceRevisions.

          See + * Also:

          AWS + * API Reference

          + */ + virtual Model::ListServiceDeploymentsOutcome ListServiceDeployments(const Model::ListServiceDeploymentsRequest& request) const; + + /** + * A Callable wrapper for ListServiceDeployments that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListServiceDeploymentsOutcomeCallable ListServiceDeploymentsCallable(const ListServiceDeploymentsRequestT& request) const + { + return SubmitCallable(&ECSClient::ListServiceDeployments, request); + } + + /** + * An Async wrapper for ListServiceDeployments that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListServiceDeploymentsAsync(const ListServiceDeploymentsRequestT& request, const ListServiceDeploymentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&ECSClient::ListServiceDeployments, request, handler, context); + } + /** *

          Returns a list of services. You can filter the results by cluster, launch * type, and scheduling strategy.

          See Also:

          #include #include +#include +#include #include #include #include @@ -45,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -144,6 +147,8 @@ namespace Aws class DescribeCapacityProvidersRequest; class DescribeClustersRequest; class DescribeContainerInstancesRequest; + class DescribeServiceDeploymentsRequest; + class DescribeServiceRevisionsRequest; class DescribeServicesRequest; class DescribeTaskDefinitionRequest; class DescribeTaskSetsRequest; @@ -155,6 +160,7 @@ namespace Aws class ListAttributesRequest; class ListClustersRequest; class ListContainerInstancesRequest; + class ListServiceDeploymentsRequest; class ListServicesRequest; class ListServicesByNamespaceRequest; class ListTagsForResourceRequest; @@ -203,6 +209,8 @@ namespace Aws typedef Aws::Utils::Outcome DescribeCapacityProvidersOutcome; typedef Aws::Utils::Outcome DescribeClustersOutcome; typedef Aws::Utils::Outcome DescribeContainerInstancesOutcome; + typedef Aws::Utils::Outcome DescribeServiceDeploymentsOutcome; + typedef Aws::Utils::Outcome DescribeServiceRevisionsOutcome; typedef Aws::Utils::Outcome DescribeServicesOutcome; typedef Aws::Utils::Outcome DescribeTaskDefinitionOutcome; typedef Aws::Utils::Outcome DescribeTaskSetsOutcome; @@ -214,6 +222,7 @@ namespace Aws typedef Aws::Utils::Outcome ListAttributesOutcome; typedef Aws::Utils::Outcome ListClustersOutcome; typedef Aws::Utils::Outcome ListContainerInstancesOutcome; + typedef Aws::Utils::Outcome ListServiceDeploymentsOutcome; typedef Aws::Utils::Outcome ListServicesOutcome; typedef Aws::Utils::Outcome ListServicesByNamespaceOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; @@ -262,6 +271,8 @@ namespace Aws typedef std::future DescribeCapacityProvidersOutcomeCallable; typedef std::future DescribeClustersOutcomeCallable; typedef std::future DescribeContainerInstancesOutcomeCallable; + typedef std::future DescribeServiceDeploymentsOutcomeCallable; + typedef std::future DescribeServiceRevisionsOutcomeCallable; typedef std::future DescribeServicesOutcomeCallable; typedef std::future DescribeTaskDefinitionOutcomeCallable; typedef std::future DescribeTaskSetsOutcomeCallable; @@ -273,6 +284,7 @@ namespace Aws typedef std::future ListAttributesOutcomeCallable; typedef std::future ListClustersOutcomeCallable; typedef std::future ListContainerInstancesOutcomeCallable; + typedef std::future ListServiceDeploymentsOutcomeCallable; typedef std::future ListServicesOutcomeCallable; typedef std::future ListServicesByNamespaceOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; @@ -324,6 +336,8 @@ namespace Aws typedef std::function&) > DescribeCapacityProvidersResponseReceivedHandler; typedef std::function&) > DescribeClustersResponseReceivedHandler; typedef std::function&) > DescribeContainerInstancesResponseReceivedHandler; + typedef std::function&) > DescribeServiceDeploymentsResponseReceivedHandler; + typedef std::function&) > DescribeServiceRevisionsResponseReceivedHandler; typedef std::function&) > DescribeServicesResponseReceivedHandler; typedef std::function&) > DescribeTaskDefinitionResponseReceivedHandler; typedef std::function&) > DescribeTaskSetsResponseReceivedHandler; @@ -335,6 +349,7 @@ namespace Aws typedef std::function&) > ListAttributesResponseReceivedHandler; typedef std::function&) > ListClustersResponseReceivedHandler; typedef std::function&) > ListContainerInstancesResponseReceivedHandler; + typedef std::function&) > ListServiceDeploymentsResponseReceivedHandler; typedef std::function&) > ListServicesResponseReceivedHandler; typedef std::function&) > ListServicesByNamespaceResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerImage.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerImage.h new file mode 100644 index 00000000000..6a8d2c4dd52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ContainerImage.h @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + + /** + *

          The details about the container image a service revision uses.

          To + * ensure that all tasks in a service use the same container image, Amazon ECS + * resolves container image names and any image tags specified in the task + * definition to container image digests.

          After the container image digest + * has been established, Amazon ECS uses the digest to start any other desired + * tasks, and for any future service and service revision updates. This leads to + * all tasks in a service always running identical container images, resulting in + * version consistency for your software. For more information, see Container + * image resolution in the Amazon ECS Developer Guide.

          See Also:

          + * AWS + * API Reference

          + */ + class ContainerImage + { + public: + AWS_ECS_API ContainerImage(); + AWS_ECS_API ContainerImage(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API ContainerImage& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          The name of the container.

          + */ + inline const Aws::String& GetContainerName() const{ return m_containerName; } + inline bool ContainerNameHasBeenSet() const { return m_containerNameHasBeenSet; } + inline void SetContainerName(const Aws::String& value) { m_containerNameHasBeenSet = true; m_containerName = value; } + inline void SetContainerName(Aws::String&& value) { m_containerNameHasBeenSet = true; m_containerName = std::move(value); } + inline void SetContainerName(const char* value) { m_containerNameHasBeenSet = true; m_containerName.assign(value); } + inline ContainerImage& WithContainerName(const Aws::String& value) { SetContainerName(value); return *this;} + inline ContainerImage& WithContainerName(Aws::String&& value) { SetContainerName(std::move(value)); return *this;} + inline ContainerImage& WithContainerName(const char* value) { SetContainerName(value); return *this;} + ///@} + + ///@{ + /** + *

          The container image digest.

          + */ + inline const Aws::String& GetImageDigest() const{ return m_imageDigest; } + inline bool ImageDigestHasBeenSet() const { return m_imageDigestHasBeenSet; } + inline void SetImageDigest(const Aws::String& value) { m_imageDigestHasBeenSet = true; m_imageDigest = value; } + inline void SetImageDigest(Aws::String&& value) { m_imageDigestHasBeenSet = true; m_imageDigest = std::move(value); } + inline void SetImageDigest(const char* value) { m_imageDigestHasBeenSet = true; m_imageDigest.assign(value); } + inline ContainerImage& WithImageDigest(const Aws::String& value) { SetImageDigest(value); return *this;} + inline ContainerImage& WithImageDigest(Aws::String&& value) { SetImageDigest(std::move(value)); return *this;} + inline ContainerImage& WithImageDigest(const char* value) { SetImageDigest(value); return *this;} + ///@} + + ///@{ + /** + *

          The container image.

          + */ + inline const Aws::String& GetImage() const{ return m_image; } + inline bool ImageHasBeenSet() const { return m_imageHasBeenSet; } + inline void SetImage(const Aws::String& value) { m_imageHasBeenSet = true; m_image = value; } + inline void SetImage(Aws::String&& value) { m_imageHasBeenSet = true; m_image = std::move(value); } + inline void SetImage(const char* value) { m_imageHasBeenSet = true; m_image.assign(value); } + inline ContainerImage& WithImage(const Aws::String& value) { SetImage(value); return *this;} + inline ContainerImage& WithImage(Aws::String&& value) { SetImage(std::move(value)); return *this;} + inline ContainerImage& WithImage(const char* value) { SetImage(value); return *this;} + ///@} + private: + + Aws::String m_containerName; + bool m_containerNameHasBeenSet = false; + + Aws::String m_imageDigest; + bool m_imageDigestHasBeenSet = false; + + Aws::String m_image; + bool m_imageHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/CreateServiceRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/CreateServiceRequest.h index 11e6ac84e5a..7f8773be471 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/CreateServiceRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/CreateServiceRequest.h @@ -311,7 +311,7 @@ namespace Model ///@{ /** *

          Optional deployment parameters that control how many tasks run during the - * deployment and the ordering of stopping and starting tasks.

          + * deployment and the failure detection methods.

          */ inline const DeploymentConfiguration& GetDeploymentConfiguration() const{ return m_deploymentConfiguration; } inline bool DeploymentConfigurationHasBeenSet() const { return m_deploymentConfigurationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/CreatedAt.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/CreatedAt.h new file mode 100644 index 00000000000..c7cc9e609c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/CreatedAt.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + + /** + *

          The optional filter to narrow the ListServiceDeployment + * results.

          If you do not specify a value, service deployments that were + * created before the current time are included in the result.

          See + * Also:

          AWS API + * Reference

          + */ + class CreatedAt + { + public: + AWS_ECS_API CreatedAt(); + AWS_ECS_API CreatedAt(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API CreatedAt& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

          Include service deployments in the result that were created before this time. + * The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

          + */ + inline const Aws::Utils::DateTime& GetBefore() const{ return m_before; } + inline bool BeforeHasBeenSet() const { return m_beforeHasBeenSet; } + inline void SetBefore(const Aws::Utils::DateTime& value) { m_beforeHasBeenSet = true; m_before = value; } + inline void SetBefore(Aws::Utils::DateTime&& value) { m_beforeHasBeenSet = true; m_before = std::move(value); } + inline CreatedAt& WithBefore(const Aws::Utils::DateTime& value) { SetBefore(value); return *this;} + inline CreatedAt& WithBefore(Aws::Utils::DateTime&& value) { SetBefore(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          Include service deployments in the result that were created after this time. + * The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

          + */ + inline const Aws::Utils::DateTime& GetAfter() const{ return m_after; } + inline bool AfterHasBeenSet() const { return m_afterHasBeenSet; } + inline void SetAfter(const Aws::Utils::DateTime& value) { m_afterHasBeenSet = true; m_after = value; } + inline void SetAfter(Aws::Utils::DateTime&& value) { m_afterHasBeenSet = true; m_after = std::move(value); } + inline CreatedAt& WithAfter(const Aws::Utils::DateTime& value) { SetAfter(value); return *this;} + inline CreatedAt& WithAfter(Aws::Utils::DateTime&& value) { SetAfter(std::move(value)); return *this;} + ///@} + private: + + Aws::Utils::DateTime m_before; + bool m_beforeHasBeenSet = false; + + Aws::Utils::DateTime m_after; + bool m_afterHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentAlarms.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentAlarms.h index 7fbd547e777..e4e15925cf3 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentAlarms.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentAlarms.h @@ -63,17 +63,6 @@ namespace Model inline DeploymentAlarms& AddAlarmNames(const char* value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(value); return *this; } ///@} - ///@{ - /** - *

          Determines whether to use the CloudWatch alarm option in the service - * deployment process.

          - */ - inline bool GetEnable() const{ return m_enable; } - inline bool EnableHasBeenSet() const { return m_enableHasBeenSet; } - inline void SetEnable(bool value) { m_enableHasBeenSet = true; m_enable = value; } - inline DeploymentAlarms& WithEnable(bool value) { SetEnable(value); return *this;} - ///@} - ///@{ /** *

          Determines whether to configure Amazon ECS to roll back the service if a @@ -86,16 +75,27 @@ namespace Model inline void SetRollback(bool value) { m_rollbackHasBeenSet = true; m_rollback = value; } inline DeploymentAlarms& WithRollback(bool value) { SetRollback(value); return *this;} ///@} + + ///@{ + /** + *

          Determines whether to use the CloudWatch alarm option in the service + * deployment process.

          + */ + inline bool GetEnable() const{ return m_enable; } + inline bool EnableHasBeenSet() const { return m_enableHasBeenSet; } + inline void SetEnable(bool value) { m_enableHasBeenSet = true; m_enable = value; } + inline DeploymentAlarms& WithEnable(bool value) { SetEnable(value); return *this;} + ///@} private: Aws::Vector m_alarmNames; bool m_alarmNamesHasBeenSet = false; - bool m_enable; - bool m_enableHasBeenSet = false; - bool m_rollback; bool m_rollbackHasBeenSet = false; + + bool m_enable; + bool m_enableHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentConfiguration.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentConfiguration.h index 07994fe0e1b..f21b1152a6a 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentConfiguration.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentConfiguration.h @@ -25,9 +25,8 @@ namespace Model { /** - *

          Optional deployment parameters that control how many tasks run during a - * deployment and the ordering of stopping and starting tasks.

          See - * Also:

          Optional deployment parameters that control how many tasks run during the + * deployment and the failure detection methods.

          See Also:

          AWS * API Reference

          */ diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentEphemeralStorage.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentEphemeralStorage.h index dec7d88d32a..2b1c02ce0c7 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentEphemeralStorage.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentEphemeralStorage.h @@ -40,8 +40,8 @@ namespace Model ///@{ /** - *

          Specify an Key Management Service key ID to encrypt the ephemeral storage for - * deployment.

          + *

          Specify an Amazon Web Services Key Management Service key ID to encrypt the + * ephemeral storage for deployment.

          */ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceDeploymentsRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceDeploymentsRequest.h new file mode 100644 index 00000000000..7cdf915cbf6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceDeploymentsRequest.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + + /** + */ + class DescribeServiceDeploymentsRequest : public ECSRequest + { + public: + AWS_ECS_API DescribeServiceDeploymentsRequest(); + + // 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 "DescribeServiceDeployments"; } + + AWS_ECS_API Aws::String SerializePayload() const override; + + AWS_ECS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

          The ARN of the service deployment.

          You can specify a maximum of 20 + * ARNs.

          + */ + inline const Aws::Vector& GetServiceDeploymentArns() const{ return m_serviceDeploymentArns; } + inline bool ServiceDeploymentArnsHasBeenSet() const { return m_serviceDeploymentArnsHasBeenSet; } + inline void SetServiceDeploymentArns(const Aws::Vector& value) { m_serviceDeploymentArnsHasBeenSet = true; m_serviceDeploymentArns = value; } + inline void SetServiceDeploymentArns(Aws::Vector&& value) { m_serviceDeploymentArnsHasBeenSet = true; m_serviceDeploymentArns = std::move(value); } + inline DescribeServiceDeploymentsRequest& WithServiceDeploymentArns(const Aws::Vector& value) { SetServiceDeploymentArns(value); return *this;} + inline DescribeServiceDeploymentsRequest& WithServiceDeploymentArns(Aws::Vector&& value) { SetServiceDeploymentArns(std::move(value)); return *this;} + inline DescribeServiceDeploymentsRequest& AddServiceDeploymentArns(const Aws::String& value) { m_serviceDeploymentArnsHasBeenSet = true; m_serviceDeploymentArns.push_back(value); return *this; } + inline DescribeServiceDeploymentsRequest& AddServiceDeploymentArns(Aws::String&& value) { m_serviceDeploymentArnsHasBeenSet = true; m_serviceDeploymentArns.push_back(std::move(value)); return *this; } + inline DescribeServiceDeploymentsRequest& AddServiceDeploymentArns(const char* value) { m_serviceDeploymentArnsHasBeenSet = true; m_serviceDeploymentArns.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_serviceDeploymentArns; + bool m_serviceDeploymentArnsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceDeploymentsResult.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceDeploymentsResult.h new file mode 100644 index 00000000000..a037ebcb207 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceDeploymentsResult.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + class DescribeServiceDeploymentsResult + { + public: + AWS_ECS_API DescribeServiceDeploymentsResult(); + AWS_ECS_API DescribeServiceDeploymentsResult(const Aws::AmazonWebServiceResult& result); + AWS_ECS_API DescribeServiceDeploymentsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The list of service deployments described.

          + */ + inline const Aws::Vector& GetServiceDeployments() const{ return m_serviceDeployments; } + inline void SetServiceDeployments(const Aws::Vector& value) { m_serviceDeployments = value; } + inline void SetServiceDeployments(Aws::Vector&& value) { m_serviceDeployments = std::move(value); } + inline DescribeServiceDeploymentsResult& WithServiceDeployments(const Aws::Vector& value) { SetServiceDeployments(value); return *this;} + inline DescribeServiceDeploymentsResult& WithServiceDeployments(Aws::Vector&& value) { SetServiceDeployments(std::move(value)); return *this;} + inline DescribeServiceDeploymentsResult& AddServiceDeployments(const ServiceDeployment& value) { m_serviceDeployments.push_back(value); return *this; } + inline DescribeServiceDeploymentsResult& AddServiceDeployments(ServiceDeployment&& value) { m_serviceDeployments.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          Any failures associated with the call.

          If you decsribe a deployment + * with a service revision created before October 25, 2024, the call fails. The + * failure includes the service revision ARN and the reason set to + * MISSING.

          + */ + inline const Aws::Vector& GetFailures() const{ return m_failures; } + inline void SetFailures(const Aws::Vector& value) { m_failures = value; } + inline void SetFailures(Aws::Vector&& value) { m_failures = std::move(value); } + inline DescribeServiceDeploymentsResult& WithFailures(const Aws::Vector& value) { SetFailures(value); return *this;} + inline DescribeServiceDeploymentsResult& WithFailures(Aws::Vector&& value) { SetFailures(std::move(value)); return *this;} + inline DescribeServiceDeploymentsResult& AddFailures(const Failure& value) { m_failures.push_back(value); return *this; } + inline DescribeServiceDeploymentsResult& AddFailures(Failure&& value) { m_failures.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 DescribeServiceDeploymentsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DescribeServiceDeploymentsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DescribeServiceDeploymentsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_serviceDeployments; + + Aws::Vector m_failures; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceRevisionsRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceRevisionsRequest.h new file mode 100644 index 00000000000..4e152449129 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceRevisionsRequest.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + + /** + */ + class DescribeServiceRevisionsRequest : public ECSRequest + { + public: + AWS_ECS_API DescribeServiceRevisionsRequest(); + + // 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 "DescribeServiceRevisions"; } + + AWS_ECS_API Aws::String SerializePayload() const override; + + AWS_ECS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

          The ARN of the service revision.

          You can specify a maximum of 20 + * ARNs.

          You can call ListServiceDeployments + * to get the ARNs.

          + */ + inline const Aws::Vector& GetServiceRevisionArns() const{ return m_serviceRevisionArns; } + inline bool ServiceRevisionArnsHasBeenSet() const { return m_serviceRevisionArnsHasBeenSet; } + inline void SetServiceRevisionArns(const Aws::Vector& value) { m_serviceRevisionArnsHasBeenSet = true; m_serviceRevisionArns = value; } + inline void SetServiceRevisionArns(Aws::Vector&& value) { m_serviceRevisionArnsHasBeenSet = true; m_serviceRevisionArns = std::move(value); } + inline DescribeServiceRevisionsRequest& WithServiceRevisionArns(const Aws::Vector& value) { SetServiceRevisionArns(value); return *this;} + inline DescribeServiceRevisionsRequest& WithServiceRevisionArns(Aws::Vector&& value) { SetServiceRevisionArns(std::move(value)); return *this;} + inline DescribeServiceRevisionsRequest& AddServiceRevisionArns(const Aws::String& value) { m_serviceRevisionArnsHasBeenSet = true; m_serviceRevisionArns.push_back(value); return *this; } + inline DescribeServiceRevisionsRequest& AddServiceRevisionArns(Aws::String&& value) { m_serviceRevisionArnsHasBeenSet = true; m_serviceRevisionArns.push_back(std::move(value)); return *this; } + inline DescribeServiceRevisionsRequest& AddServiceRevisionArns(const char* value) { m_serviceRevisionArnsHasBeenSet = true; m_serviceRevisionArns.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_serviceRevisionArns; + bool m_serviceRevisionArnsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceRevisionsResult.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceRevisionsResult.h new file mode 100644 index 00000000000..41591f234e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/DescribeServiceRevisionsResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + class DescribeServiceRevisionsResult + { + public: + AWS_ECS_API DescribeServiceRevisionsResult(); + AWS_ECS_API DescribeServiceRevisionsResult(const Aws::AmazonWebServiceResult& result); + AWS_ECS_API DescribeServiceRevisionsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          The list of service revisions described.

          + */ + inline const Aws::Vector& GetServiceRevisions() const{ return m_serviceRevisions; } + inline void SetServiceRevisions(const Aws::Vector& value) { m_serviceRevisions = value; } + inline void SetServiceRevisions(Aws::Vector&& value) { m_serviceRevisions = std::move(value); } + inline DescribeServiceRevisionsResult& WithServiceRevisions(const Aws::Vector& value) { SetServiceRevisions(value); return *this;} + inline DescribeServiceRevisionsResult& WithServiceRevisions(Aws::Vector&& value) { SetServiceRevisions(std::move(value)); return *this;} + inline DescribeServiceRevisionsResult& AddServiceRevisions(const ServiceRevision& value) { m_serviceRevisions.push_back(value); return *this; } + inline DescribeServiceRevisionsResult& AddServiceRevisions(ServiceRevision&& value) { m_serviceRevisions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          Any failures associated with the call.

          + */ + inline const Aws::Vector& GetFailures() const{ return m_failures; } + inline void SetFailures(const Aws::Vector& value) { m_failures = value; } + inline void SetFailures(Aws::Vector&& value) { m_failures = std::move(value); } + inline DescribeServiceRevisionsResult& WithFailures(const Aws::Vector& value) { SetFailures(value); return *this;} + inline DescribeServiceRevisionsResult& WithFailures(Aws::Vector&& value) { SetFailures(std::move(value)); return *this;} + inline DescribeServiceRevisionsResult& AddFailures(const Failure& value) { m_failures.push_back(value); return *this; } + inline DescribeServiceRevisionsResult& AddFailures(Failure&& value) { m_failures.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 DescribeServiceRevisionsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DescribeServiceRevisionsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DescribeServiceRevisionsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_serviceRevisions; + + Aws::Vector m_failures; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ListServiceDeploymentsRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ListServiceDeploymentsRequest.h new file mode 100644 index 00000000000..4e6030d5d76 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ListServiceDeploymentsRequest.h @@ -0,0 +1,160 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + + /** + */ + class ListServiceDeploymentsRequest : public ECSRequest + { + public: + AWS_ECS_API ListServiceDeploymentsRequest(); + + // 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 "ListServiceDeployments"; } + + AWS_ECS_API Aws::String SerializePayload() const override; + + AWS_ECS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

          The ARN or name of the service

          + */ + inline const Aws::String& GetService() const{ return m_service; } + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } + inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } + inline ListServiceDeploymentsRequest& WithService(const Aws::String& value) { SetService(value); return *this;} + inline ListServiceDeploymentsRequest& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} + inline ListServiceDeploymentsRequest& WithService(const char* value) { SetService(value); return *this;} + ///@} + + ///@{ + /** + *

          The cluster that hosts the service. This can either be the cluster name or + * ARN. Starting April 15, 2023, Amazon Web Services will not onboard new customers + * to Amazon Elastic Inference (EI), and will help current customers migrate their + * workloads to options that offer better price and performanceIf you don't specify + * a cluster, deault is used.

          + */ + inline const Aws::String& GetCluster() const{ return m_cluster; } + inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; } + inline void SetCluster(const Aws::String& value) { m_clusterHasBeenSet = true; m_cluster = value; } + inline void SetCluster(Aws::String&& value) { m_clusterHasBeenSet = true; m_cluster = std::move(value); } + inline void SetCluster(const char* value) { m_clusterHasBeenSet = true; m_cluster.assign(value); } + inline ListServiceDeploymentsRequest& WithCluster(const Aws::String& value) { SetCluster(value); return *this;} + inline ListServiceDeploymentsRequest& WithCluster(Aws::String&& value) { SetCluster(std::move(value)); return *this;} + inline ListServiceDeploymentsRequest& WithCluster(const char* value) { SetCluster(value); return *this;} + ///@} + + ///@{ + /** + *

          An optional filter you can use to narrow the results. If you do not specify a + * status, then all status values are included in the result.

          + */ + inline const Aws::Vector& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const Aws::Vector& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(Aws::Vector&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ListServiceDeploymentsRequest& WithStatus(const Aws::Vector& value) { SetStatus(value); return *this;} + inline ListServiceDeploymentsRequest& WithStatus(Aws::Vector&& value) { SetStatus(std::move(value)); return *this;} + inline ListServiceDeploymentsRequest& AddStatus(const ServiceDeploymentStatus& value) { m_statusHasBeenSet = true; m_status.push_back(value); return *this; } + inline ListServiceDeploymentsRequest& AddStatus(ServiceDeploymentStatus&& value) { m_statusHasBeenSet = true; m_status.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          An optional filter you can use to narrow the results by the service creation + * date. If you do not specify a value, the result includes all services created + * before the current time. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

          + */ + inline const CreatedAt& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const CreatedAt& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(CreatedAt&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ListServiceDeploymentsRequest& WithCreatedAt(const CreatedAt& value) { SetCreatedAt(value); return *this;} + inline ListServiceDeploymentsRequest& WithCreatedAt(CreatedAt&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

          The nextToken value returned from a + * ListServiceDeployments request indicating that more results are + * available to fulfill the request and further calls are needed. If you provided + * maxResults, it's possible the number of results is fewer than + * maxResults.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListServiceDeploymentsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListServiceDeploymentsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListServiceDeploymentsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

          The maximum number of service deployment results that + * ListServiceDeployments returned in paginated output. When this + * parameter is used, ListServiceDeployments only returns + * maxResults results in a single page along with a + * nextToken response element. The remaining results of the initial + * request can be seen by sending another ListServiceDeployments + * request with the returned nextToken value. This value can be + * between 1 and 100. If this parameter isn't used, then + * ListServiceDeployments returns up to 20 results and a + * nextToken value if applicable.

          + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListServiceDeploymentsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_service; + bool m_serviceHasBeenSet = false; + + Aws::String m_cluster; + bool m_clusterHasBeenSet = false; + + Aws::Vector m_status; + bool m_statusHasBeenSet = false; + + CreatedAt m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ListServiceDeploymentsResult.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ListServiceDeploymentsResult.h new file mode 100644 index 00000000000..cea09b2163e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ListServiceDeploymentsResult.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + class ListServiceDeploymentsResult + { + public: + AWS_ECS_API ListServiceDeploymentsResult(); + AWS_ECS_API ListServiceDeploymentsResult(const Aws::AmazonWebServiceResult& result); + AWS_ECS_API ListServiceDeploymentsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

          An overview of the service deployment, including the following + * properties:

          • The ARN of the service deployment.

          • + *

            The ARN of the service being deployed.

          • The ARN of the + * cluster that hosts the service in the service deployment.

          • The + * time that the service deployment started.

          • The time that the + * service deployment completed.

          • The service deployment + * status.

          • Information about why the service deployment is in the + * current state.

          • The ARN of the service revision that is being + * deployed.

          + */ + inline const Aws::Vector& GetServiceDeployments() const{ return m_serviceDeployments; } + inline void SetServiceDeployments(const Aws::Vector& value) { m_serviceDeployments = value; } + inline void SetServiceDeployments(Aws::Vector&& value) { m_serviceDeployments = std::move(value); } + inline ListServiceDeploymentsResult& WithServiceDeployments(const Aws::Vector& value) { SetServiceDeployments(value); return *this;} + inline ListServiceDeploymentsResult& WithServiceDeployments(Aws::Vector&& value) { SetServiceDeployments(std::move(value)); return *this;} + inline ListServiceDeploymentsResult& AddServiceDeployments(const ServiceDeploymentBrief& value) { m_serviceDeployments.push_back(value); return *this; } + inline ListServiceDeploymentsResult& AddServiceDeployments(ServiceDeploymentBrief&& value) { m_serviceDeployments.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

          The nextToken value to include in a future + * ListServiceDeployments request. When the results of a + * ListServiceDeployments request exceed maxResults, this + * value can be used to retrieve the next page of results. This value is null when + * there are no more results to return.

          + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListServiceDeploymentsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListServiceDeploymentsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListServiceDeploymentsResult& WithNextToken(const char* value) { SetNextToken(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 ListServiceDeploymentsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListServiceDeploymentsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListServiceDeploymentsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_serviceDeployments; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/LoadBalancer.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/LoadBalancer.h index 726d48adf2f..7eda443d5e3 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/LoadBalancer.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/LoadBalancer.h @@ -79,9 +79,9 @@ namespace Model ///@{ /** - *

          The name of the load balancer to associate with the Amazon ECS service or - * task set.

          If you are using an Application Load Balancer or a Network Load - * Balancer the load balancer name parameter should be omitted.

          + *

          The name of the load balancer to associate with the service or task set.

          + *

          If you are using an Application Load Balancer or a Network Load Balancer the + * load balancer name parameter should be omitted.

          */ inline const Aws::String& GetLoadBalancerName() const{ return m_loadBalancerName; } inline bool LoadBalancerNameHasBeenSet() const { return m_loadBalancerNameHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ManagedScaling.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ManagedScaling.h index b36bb0c4417..ab9600b2bfe 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ManagedScaling.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ManagedScaling.h @@ -77,14 +77,14 @@ namespace Model ///@{ /** *

          The minimum number of Amazon EC2 instances that Amazon ECS will scale out at - * one time. The scale in process is not affected by this parameter If this - * parameter is omitted, the default value of 1 is used.

          When - * additional capacity is required, Amazon ECS will scale up the minimum scaling - * step size even if the actual demand is less than the minimum scaling step - * size.

          If you use a capacity provider with an Auto Scaling group - * configured with more than one Amazon EC2 instance type or Availability Zone, - * Amazon ECS will scale up by the exact minimum scaling step size value and will - * ignore both the maximum scaling step size as well as the capacity demand.

          + * one time. If this parameter is omitted, the default value of 1 is + * used.

          When additional capacity is required, Amazon ECS will scale up the + * minimum scaling step size even if the actual demand is less than the minimum + * scaling step size.

          If you use a capacity provider with an Auto Scaling + * group configured with more than one Amazon EC2 instance type or Availability + * Zone, Amazon ECS will scale up by the exact minimum scaling step size value and + * will ignore both the maximum scaling step size as well as the capacity + * demand.

          */ inline int GetMinimumScalingStepSize() const{ return m_minimumScalingStepSize; } inline bool MinimumScalingStepSizeHasBeenSet() const { return m_minimumScalingStepSizeHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ManagedStorageConfiguration.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ManagedStorageConfiguration.h index 57e271002f9..9aebfa620c2 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ManagedStorageConfiguration.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ManagedStorageConfiguration.h @@ -40,7 +40,8 @@ namespace Model ///@{ /** - *

          Specify a Key Management Service key ID to encrypt the managed storage.

          + *

          Specify a Amazon Web Services Key Management Service key ID to encrypt the + * managed storage.

          */ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PortMapping.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PortMapping.h index 656952d5ecf..d2b02a208fe 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PortMapping.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/PortMapping.h @@ -26,19 +26,20 @@ namespace Model { /** - *

          Port mappings allow containers to access ports on the host container instance - * to send or receive traffic. Port mappings are specified as part of the container - * definition.

          If you use containers in a task with the awsvpc - * or host network mode, specify the exposed ports using - * containerPort. The hostPort can be left blank or it - * must be the same value as the containerPort.

          Most fields of - * this parameter (containerPort, hostPort, - * protocol) maps to PortBindings in the docker container - * create command and the --publish option to docker run. - * If the network mode of a task definition is set to host, host ports - * must either be undefined or match the container port in the port mapping.

          - *

          You can't expose the same container port for multiple protocols. If - * you attempt this, an error is returned.

          After a task reaches the + *

          Port mappings expose your container's network ports to the outside world. + * this allows clients to access your application. It's also used for + * inter-container communication within the same task.

          For task definitions + * (both the Fargate and EC2 launch type) that use the awsvpc network + * mode, only specify the containerPort. The hostPort is + * always ignored, and the container port is automatically mapped to a random + * high-numbered port on the host.

          Most fields of this parameter + * (containerPort, hostPort, protocol) maps + * to PortBindings in the docker container create command and the + * --publish option to docker run. If the network mode of + * a task definition is set to host, host ports must either be + * undefined or match the container port in the port mapping.

          You + * can't expose the same container port for multiple protocols. If you attempt + * this, an error is returned.

          After a task reaches the * RUNNING status, manual and automatic host and container port * assignments are visible in the networkBindings section of DescribeTasks @@ -58,14 +59,16 @@ namespace Model ///@{ /** *

          The port number on the container that's bound to the user-specified or - * automatically assigned host port.

          If you use containers in a task with - * the awsvpc or host network mode, specify the exposed - * ports using containerPort.

          If you use containers in a task - * with the bridge network mode and you specify a container port and - * not a host port, your container automatically receives a host port in the - * ephemeral port range. For more information, see hostPort. Port - * mappings that are automatically assigned in this way do not count toward the 100 - * reserved ports limit of a container instance.

          + * automatically assigned host port.

          For tasks that use the Fargate launch + * type or EC2 tasks that use the awsvpc network mode, you use + * containerPort to specify the exposed ports.

          For Windows + * containers on Fargate, you can't use port 3150 for the + * containerPort. This is because it's reserved.

          Suppose that + * you're using containers in a task with the EC2 launch type and you specify a + * container port and not a host port. Then, your container automatically receives + * a host port in the ephemeral port range. For more information, see + * hostPort. Port mappings that are automatically assigned in this way + * don't count toward the 100 reserved ports quota of a container instance.

          */ inline int GetContainerPort() const{ return m_containerPort; } inline bool ContainerPortHasBeenSet() const { return m_containerPortHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RegisterTaskDefinitionRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RegisterTaskDefinitionRequest.h index f052cb6a66f..3de663da610 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RegisterTaskDefinitionRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RegisterTaskDefinitionRequest.h @@ -124,15 +124,16 @@ namespace Model *

          When using the host network mode, you should not run * containers using the root user (UID 0). It is considered best practice to use a * non-root user.

          If the network mode is awsvpc, - * the task is allocated an elastic network interface, and you must specify a NetworkConfiguration - * value when you create a service or run a task with the task definition. For more - * information, see NetworkConfiguration value when you create a service or run a task with + * the task definition. For more information, see Task * Networking in the Amazon Elastic Container Service Developer * Guide.

          If the network mode is host, you cannot run * multiple instantiations of the same task on a single container instance when - * port mappings are used.

          + * port mappings are used.

          For more information, see Network + * settings in the Docker run reference.

          */ inline const NetworkMode& GetNetworkMode() const{ return m_networkMode; } inline bool NetworkModeHasBeenSet() const { return m_networkModeHasBeenSet; } @@ -324,11 +325,16 @@ namespace Model * container instance share the same process namespace with the host Amazon EC2 * instance.

          If task is specified, all containers within the * specified task share the same process namespace.

          If no value is - * specified, the default is a private namespace for each container.

          If the - * host PID mode is used, there's a heightened risk of undesired - * process namespace exposure.

          This parameter is not supported for - * Windows containers.

          This parameter is only supported for - * tasks that are hosted on Fargate if the tasks are using platform version + * specified, the default is a private namespace for each container. For more + * information, see PID + * settings in the Docker run reference.

          If the host + * PID mode is used, there's a heightened risk of undesired process namespace + * exposure. For more information, see Docker + * security.

          This parameter is not supported for Windows + * containers.

          This parameter is only supported for tasks + * that are hosted on Fargate if the tasks are using platform version * 1.4.0 or later (Linux). This isn't supported for Windows containers * on Fargate.

          */ @@ -352,11 +358,15 @@ namespace Model * containers of a task are private and not shared with other containers in a task * or on the container instance. If no value is specified, then the IPC resource * namespace sharing depends on the Docker daemon setting on the container - * instance.

          If the host IPC mode is used, be aware that there - * is a heightened risk of undesired IPC namespace expose.

          If you are - * setting namespaced kernel parameters using systemControls for the - * containers in the task, the following will apply to your IPC resource namespace. - * For more information, see IPC + * settings in the Docker run reference.

          If the host + * IPC mode is used, be aware that there is a heightened risk of undesired IPC + * namespace expose. For more information, see Docker + * security.

          If you are setting namespaced kernel parameters using + * systemControls for the containers in the task, the following will + * apply to your IPC resource namespace. For more information, see System * Controls in the Amazon Elastic Container Service Developer Guide.

          *
          • For tasks that use the host IPC mode, IPC namespace diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Rollback.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Rollback.h new file mode 100644 index 00000000000..7e3a59c38b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Rollback.h @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + + /** + *

            Information about the service deployment rollback.

            See Also:

            + * AWS API + * Reference

            + */ + class Rollback + { + public: + AWS_ECS_API Rollback(); + AWS_ECS_API Rollback(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API Rollback& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

            The reason the rollback happened. For example, the circuit breaker initiated + * the rollback operation.

            + */ + inline const Aws::String& GetReason() const{ return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(const Aws::String& value) { m_reasonHasBeenSet = true; m_reason = value; } + inline void SetReason(Aws::String&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + inline void SetReason(const char* value) { m_reasonHasBeenSet = true; m_reason.assign(value); } + inline Rollback& WithReason(const Aws::String& value) { SetReason(value); return *this;} + inline Rollback& WithReason(Aws::String&& value) { SetReason(std::move(value)); return *this;} + inline Rollback& WithReason(const char* value) { SetReason(value); return *this;} + ///@} + + ///@{ + /** + *

            Time time that the rollback started. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.

            + */ + inline const Aws::Utils::DateTime& GetStartedAt() const{ return m_startedAt; } + inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; } + inline void SetStartedAt(const Aws::Utils::DateTime& value) { m_startedAtHasBeenSet = true; m_startedAt = value; } + inline void SetStartedAt(Aws::Utils::DateTime&& value) { m_startedAtHasBeenSet = true; m_startedAt = std::move(value); } + inline Rollback& WithStartedAt(const Aws::Utils::DateTime& value) { SetStartedAt(value); return *this;} + inline Rollback& WithStartedAt(Aws::Utils::DateTime&& value) { SetStartedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            The ARN of the service revision deployed as part of the rollback.

            When + * the type is GPU, the value is the number of physical + * GPUs the Amazon ECS container agent reserves for the container. The + * number of GPUs that's reserved for all containers in a task can't exceed the + * number of available GPUs on the container instance that the task is launched + * on.

            When the type is InferenceAccelerator, the + * value matches the deviceName for an InferenceAccelerator + * specified in a task definition.

            + */ + inline const Aws::String& GetServiceRevisionArn() const{ return m_serviceRevisionArn; } + inline bool ServiceRevisionArnHasBeenSet() const { return m_serviceRevisionArnHasBeenSet; } + inline void SetServiceRevisionArn(const Aws::String& value) { m_serviceRevisionArnHasBeenSet = true; m_serviceRevisionArn = value; } + inline void SetServiceRevisionArn(Aws::String&& value) { m_serviceRevisionArnHasBeenSet = true; m_serviceRevisionArn = std::move(value); } + inline void SetServiceRevisionArn(const char* value) { m_serviceRevisionArnHasBeenSet = true; m_serviceRevisionArn.assign(value); } + inline Rollback& WithServiceRevisionArn(const Aws::String& value) { SetServiceRevisionArn(value); return *this;} + inline Rollback& WithServiceRevisionArn(Aws::String&& value) { SetServiceRevisionArn(std::move(value)); return *this;} + inline Rollback& WithServiceRevisionArn(const char* value) { SetServiceRevisionArn(value); return *this;} + ///@} + private: + + Aws::String m_reason; + bool m_reasonHasBeenSet = false; + + Aws::Utils::DateTime m_startedAt; + bool m_startedAtHasBeenSet = false; + + Aws::String m_serviceRevisionArn; + bool m_serviceRevisionArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RuntimePlatform.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RuntimePlatform.h index a516274cec6..2bc8524736b 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RuntimePlatform.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/RuntimePlatform.h @@ -47,7 +47,7 @@ namespace Model *

            The CPU architecture.

            You can run your Linux tasks on an ARM-based * platform by setting the value to ARM64. This option is available * for tasks that run on Linux Amazon EC2 instance or Linux containers on - * Fargate.

            + * Fargate.

            The default is X86_64.

            */ inline const CPUArchitecture& GetCpuArchitecture() const{ return m_cpuArchitecture; } inline bool CpuArchitectureHasBeenSet() const { return m_cpuArchitectureHasBeenSet; } @@ -59,7 +59,7 @@ namespace Model ///@{ /** - *

            The operating system.

            + *

            The operating system.

            The default is Linux.

            */ inline const OSFamily& GetOperatingSystemFamily() const{ return m_operatingSystemFamily; } inline bool OperatingSystemFamilyHasBeenSet() const { return m_operatingSystemFamilyHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Service.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Service.h index 6c2ae42db88..d5ae31369d0 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Service.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/Service.h @@ -203,9 +203,9 @@ namespace Model ///@{ /** - *

            The capacity provider strategy the service uses. When using the - * DescribeServices API, this field is omitted if the service was created using a - * launch type.

            + *

            The capacity provider strategy the service uses. When using + * DescribeServices, this field is omitted if the service was created + * using a launch type.

            */ inline const Aws::Vector& GetCapacityProviderStrategy() const{ return m_capacityProviderStrategy; } inline bool CapacityProviderStrategyHasBeenSet() const { return m_capacityProviderStrategyHasBeenSet; } @@ -452,7 +452,7 @@ namespace Model ///@{ /** *

            The metadata that you apply to the service to help you categorize and - * organize them. Each tag consists of a key and an optional value. You define bot + * organize them. Each tag consists of a key and an optional value. You define both * the key and value.

            The following basic restrictions apply to tags:

            *
            • Maximum number of tags per resource - 50

            • For each * resource, each tag key must be unique, and each tag key can have only one diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeployment.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeployment.h new file mode 100644 index 00000000000..b09b129bdf4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeployment.h @@ -0,0 +1,317 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + + /** + *

              Information about the service deployment.

              Service deployments provide + * a comprehensive view of your deployments. For information about service + * deployments, see View + * service history using Amazon ECS service deployments in the Amazon + * Elastic Container Service Developer Guide .

              See Also:

              + * AWS + * API Reference

              + */ + class ServiceDeployment + { + public: + AWS_ECS_API ServiceDeployment(); + AWS_ECS_API ServiceDeployment(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API ServiceDeployment& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              The ARN of the service deployment.

              + */ + inline const Aws::String& GetServiceDeploymentArn() const{ return m_serviceDeploymentArn; } + inline bool ServiceDeploymentArnHasBeenSet() const { return m_serviceDeploymentArnHasBeenSet; } + inline void SetServiceDeploymentArn(const Aws::String& value) { m_serviceDeploymentArnHasBeenSet = true; m_serviceDeploymentArn = value; } + inline void SetServiceDeploymentArn(Aws::String&& value) { m_serviceDeploymentArnHasBeenSet = true; m_serviceDeploymentArn = std::move(value); } + inline void SetServiceDeploymentArn(const char* value) { m_serviceDeploymentArnHasBeenSet = true; m_serviceDeploymentArn.assign(value); } + inline ServiceDeployment& WithServiceDeploymentArn(const Aws::String& value) { SetServiceDeploymentArn(value); return *this;} + inline ServiceDeployment& WithServiceDeploymentArn(Aws::String&& value) { SetServiceDeploymentArn(std::move(value)); return *this;} + inline ServiceDeployment& WithServiceDeploymentArn(const char* value) { SetServiceDeploymentArn(value); return *this;} + ///@} + + ///@{ + /** + *

              The ARN of the service for this service deployment.

              + */ + inline const Aws::String& GetServiceArn() const{ return m_serviceArn; } + inline bool ServiceArnHasBeenSet() const { return m_serviceArnHasBeenSet; } + inline void SetServiceArn(const Aws::String& value) { m_serviceArnHasBeenSet = true; m_serviceArn = value; } + inline void SetServiceArn(Aws::String&& value) { m_serviceArnHasBeenSet = true; m_serviceArn = std::move(value); } + inline void SetServiceArn(const char* value) { m_serviceArnHasBeenSet = true; m_serviceArn.assign(value); } + inline ServiceDeployment& WithServiceArn(const Aws::String& value) { SetServiceArn(value); return *this;} + inline ServiceDeployment& WithServiceArn(Aws::String&& value) { SetServiceArn(std::move(value)); return *this;} + inline ServiceDeployment& WithServiceArn(const char* value) { SetServiceArn(value); return *this;} + ///@} + + ///@{ + /** + *

              The ARN of the cluster that hosts the service.

              + */ + inline const Aws::String& GetClusterArn() const{ return m_clusterArn; } + inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; } + inline void SetClusterArn(const Aws::String& value) { m_clusterArnHasBeenSet = true; m_clusterArn = value; } + inline void SetClusterArn(Aws::String&& value) { m_clusterArnHasBeenSet = true; m_clusterArn = std::move(value); } + inline void SetClusterArn(const char* value) { m_clusterArnHasBeenSet = true; m_clusterArn.assign(value); } + inline ServiceDeployment& WithClusterArn(const Aws::String& value) { SetClusterArn(value); return *this;} + inline ServiceDeployment& WithClusterArn(Aws::String&& value) { SetClusterArn(std::move(value)); return *this;} + inline ServiceDeployment& WithClusterArn(const char* value) { SetClusterArn(value); return *this;} + ///@} + + ///@{ + /** + *

              The time the service deployment was created. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.

              + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ServiceDeployment& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ServiceDeployment& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The time the service deployment statred. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.

              + */ + inline const Aws::Utils::DateTime& GetStartedAt() const{ return m_startedAt; } + inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; } + inline void SetStartedAt(const Aws::Utils::DateTime& value) { m_startedAtHasBeenSet = true; m_startedAt = value; } + inline void SetStartedAt(Aws::Utils::DateTime&& value) { m_startedAtHasBeenSet = true; m_startedAt = std::move(value); } + inline ServiceDeployment& WithStartedAt(const Aws::Utils::DateTime& value) { SetStartedAt(value); return *this;} + inline ServiceDeployment& WithStartedAt(Aws::Utils::DateTime&& value) { SetStartedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The time the service deployment finished. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.

              + */ + inline const Aws::Utils::DateTime& GetFinishedAt() const{ return m_finishedAt; } + inline bool FinishedAtHasBeenSet() const { return m_finishedAtHasBeenSet; } + inline void SetFinishedAt(const Aws::Utils::DateTime& value) { m_finishedAtHasBeenSet = true; m_finishedAt = value; } + inline void SetFinishedAt(Aws::Utils::DateTime&& value) { m_finishedAtHasBeenSet = true; m_finishedAt = std::move(value); } + inline ServiceDeployment& WithFinishedAt(const Aws::Utils::DateTime& value) { SetFinishedAt(value); return *this;} + inline ServiceDeployment& WithFinishedAt(Aws::Utils::DateTime&& value) { SetFinishedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The time the service deployment stopped. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.

              The service deployment stops when any of the following + * actions happen:

              • A user manually stops the deployment

              • + *
              • The rollback option is not in use for the failure detection mechanism + * (the circuit breaker or alarm-based) and the service fails.

              + */ + inline const Aws::Utils::DateTime& GetStoppedAt() const{ return m_stoppedAt; } + inline bool StoppedAtHasBeenSet() const { return m_stoppedAtHasBeenSet; } + inline void SetStoppedAt(const Aws::Utils::DateTime& value) { m_stoppedAtHasBeenSet = true; m_stoppedAt = value; } + inline void SetStoppedAt(Aws::Utils::DateTime&& value) { m_stoppedAtHasBeenSet = true; m_stoppedAt = std::move(value); } + inline ServiceDeployment& WithStoppedAt(const Aws::Utils::DateTime& value) { SetStoppedAt(value); return *this;} + inline ServiceDeployment& WithStoppedAt(Aws::Utils::DateTime&& value) { SetStoppedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The time that the service deployment was last updated. The format is + * yyyy-MM-dd HH:mm:ss.SSSSSS.

              + */ + inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } + inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } + inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } + inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } + inline ServiceDeployment& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} + inline ServiceDeployment& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The currently deployed workload configuration.

              + */ + inline const Aws::Vector& GetSourceServiceRevisions() const{ return m_sourceServiceRevisions; } + inline bool SourceServiceRevisionsHasBeenSet() const { return m_sourceServiceRevisionsHasBeenSet; } + inline void SetSourceServiceRevisions(const Aws::Vector& value) { m_sourceServiceRevisionsHasBeenSet = true; m_sourceServiceRevisions = value; } + inline void SetSourceServiceRevisions(Aws::Vector&& value) { m_sourceServiceRevisionsHasBeenSet = true; m_sourceServiceRevisions = std::move(value); } + inline ServiceDeployment& WithSourceServiceRevisions(const Aws::Vector& value) { SetSourceServiceRevisions(value); return *this;} + inline ServiceDeployment& WithSourceServiceRevisions(Aws::Vector&& value) { SetSourceServiceRevisions(std::move(value)); return *this;} + inline ServiceDeployment& AddSourceServiceRevisions(const ServiceRevisionSummary& value) { m_sourceServiceRevisionsHasBeenSet = true; m_sourceServiceRevisions.push_back(value); return *this; } + inline ServiceDeployment& AddSourceServiceRevisions(ServiceRevisionSummary&& value) { m_sourceServiceRevisionsHasBeenSet = true; m_sourceServiceRevisions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

              The workload configuration being deployed.

              + */ + inline const ServiceRevisionSummary& GetTargetServiceRevision() const{ return m_targetServiceRevision; } + inline bool TargetServiceRevisionHasBeenSet() const { return m_targetServiceRevisionHasBeenSet; } + inline void SetTargetServiceRevision(const ServiceRevisionSummary& value) { m_targetServiceRevisionHasBeenSet = true; m_targetServiceRevision = value; } + inline void SetTargetServiceRevision(ServiceRevisionSummary&& value) { m_targetServiceRevisionHasBeenSet = true; m_targetServiceRevision = std::move(value); } + inline ServiceDeployment& WithTargetServiceRevision(const ServiceRevisionSummary& value) { SetTargetServiceRevision(value); return *this;} + inline ServiceDeployment& WithTargetServiceRevision(ServiceRevisionSummary&& value) { SetTargetServiceRevision(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The service deployment state.

              + */ + inline const ServiceDeploymentStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ServiceDeploymentStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ServiceDeploymentStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ServiceDeployment& WithStatus(const ServiceDeploymentStatus& value) { SetStatus(value); return *this;} + inline ServiceDeployment& WithStatus(ServiceDeploymentStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              Information about why the service deployment is in the current status. For + * example, the circuit breaker detected a failure.

              + */ + inline const Aws::String& GetStatusReason() const{ return m_statusReason; } + inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } + inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } + inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } + inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } + inline ServiceDeployment& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} + inline ServiceDeployment& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} + inline ServiceDeployment& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} + ///@} + + ///@{ + + inline const DeploymentConfiguration& GetDeploymentConfiguration() const{ return m_deploymentConfiguration; } + inline bool DeploymentConfigurationHasBeenSet() const { return m_deploymentConfigurationHasBeenSet; } + inline void SetDeploymentConfiguration(const DeploymentConfiguration& value) { m_deploymentConfigurationHasBeenSet = true; m_deploymentConfiguration = value; } + inline void SetDeploymentConfiguration(DeploymentConfiguration&& value) { m_deploymentConfigurationHasBeenSet = true; m_deploymentConfiguration = std::move(value); } + inline ServiceDeployment& WithDeploymentConfiguration(const DeploymentConfiguration& value) { SetDeploymentConfiguration(value); return *this;} + inline ServiceDeployment& WithDeploymentConfiguration(DeploymentConfiguration&& value) { SetDeploymentConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The rollback options the service deployment uses when the deployment + * fails.

              + */ + inline const Rollback& GetRollback() const{ return m_rollback; } + inline bool RollbackHasBeenSet() const { return m_rollbackHasBeenSet; } + inline void SetRollback(const Rollback& value) { m_rollbackHasBeenSet = true; m_rollback = value; } + inline void SetRollback(Rollback&& value) { m_rollbackHasBeenSet = true; m_rollback = std::move(value); } + inline ServiceDeployment& WithRollback(const Rollback& value) { SetRollback(value); return *this;} + inline ServiceDeployment& WithRollback(Rollback&& value) { SetRollback(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The circuit breaker configuration that determines a service deployment + * failed.

              + */ + inline const ServiceDeploymentCircuitBreaker& GetDeploymentCircuitBreaker() const{ return m_deploymentCircuitBreaker; } + inline bool DeploymentCircuitBreakerHasBeenSet() const { return m_deploymentCircuitBreakerHasBeenSet; } + inline void SetDeploymentCircuitBreaker(const ServiceDeploymentCircuitBreaker& value) { m_deploymentCircuitBreakerHasBeenSet = true; m_deploymentCircuitBreaker = value; } + inline void SetDeploymentCircuitBreaker(ServiceDeploymentCircuitBreaker&& value) { m_deploymentCircuitBreakerHasBeenSet = true; m_deploymentCircuitBreaker = std::move(value); } + inline ServiceDeployment& WithDeploymentCircuitBreaker(const ServiceDeploymentCircuitBreaker& value) { SetDeploymentCircuitBreaker(value); return *this;} + inline ServiceDeployment& WithDeploymentCircuitBreaker(ServiceDeploymentCircuitBreaker&& value) { SetDeploymentCircuitBreaker(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The CloudWatch alarms that determine when a service deployment fails.

              + */ + inline const ServiceDeploymentAlarms& GetAlarms() const{ return m_alarms; } + inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; } + inline void SetAlarms(const ServiceDeploymentAlarms& value) { m_alarmsHasBeenSet = true; m_alarms = value; } + inline void SetAlarms(ServiceDeploymentAlarms&& value) { m_alarmsHasBeenSet = true; m_alarms = std::move(value); } + inline ServiceDeployment& WithAlarms(const ServiceDeploymentAlarms& value) { SetAlarms(value); return *this;} + inline ServiceDeployment& WithAlarms(ServiceDeploymentAlarms&& value) { SetAlarms(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_serviceDeploymentArn; + bool m_serviceDeploymentArnHasBeenSet = false; + + Aws::String m_serviceArn; + bool m_serviceArnHasBeenSet = false; + + Aws::String m_clusterArn; + bool m_clusterArnHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_startedAt; + bool m_startedAtHasBeenSet = false; + + Aws::Utils::DateTime m_finishedAt; + bool m_finishedAtHasBeenSet = false; + + Aws::Utils::DateTime m_stoppedAt; + bool m_stoppedAtHasBeenSet = false; + + Aws::Utils::DateTime m_updatedAt; + bool m_updatedAtHasBeenSet = false; + + Aws::Vector m_sourceServiceRevisions; + bool m_sourceServiceRevisionsHasBeenSet = false; + + ServiceRevisionSummary m_targetServiceRevision; + bool m_targetServiceRevisionHasBeenSet = false; + + ServiceDeploymentStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_statusReason; + bool m_statusReasonHasBeenSet = false; + + DeploymentConfiguration m_deploymentConfiguration; + bool m_deploymentConfigurationHasBeenSet = false; + + Rollback m_rollback; + bool m_rollbackHasBeenSet = false; + + ServiceDeploymentCircuitBreaker m_deploymentCircuitBreaker; + bool m_deploymentCircuitBreakerHasBeenSet = false; + + ServiceDeploymentAlarms m_alarms; + bool m_alarmsHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentAlarms.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentAlarms.h new file mode 100644 index 00000000000..b72760881df --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentAlarms.h @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + + /** + *

              The CloudWatch alarms used to determine a service deployment failed.

              + *

              Amazon ECS considers the service deployment as failed when any of the alarms + * move to the ALARM state. For more information, see How + * CloudWatch alarms detect Amazon ECS deployment failures in the Amazon ECS + * Developer Guide.

              See Also:

              AWS + * API Reference

              + */ + class ServiceDeploymentAlarms + { + public: + AWS_ECS_API ServiceDeploymentAlarms(); + AWS_ECS_API ServiceDeploymentAlarms(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API ServiceDeploymentAlarms& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              The status of the alarms check. Amazon ECS is not using alarms for service + * deployment failures when the status is DISABLED.

              + */ + inline const ServiceDeploymentRollbackMonitorsStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ServiceDeploymentRollbackMonitorsStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ServiceDeploymentRollbackMonitorsStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ServiceDeploymentAlarms& WithStatus(const ServiceDeploymentRollbackMonitorsStatus& value) { SetStatus(value); return *this;} + inline ServiceDeploymentAlarms& WithStatus(ServiceDeploymentRollbackMonitorsStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The name of the CloudWatch alarms that determine when a service deployment + * failed. A "," separates the alarms.

              + */ + inline const Aws::Vector& GetAlarmNames() const{ return m_alarmNames; } + inline bool AlarmNamesHasBeenSet() const { return m_alarmNamesHasBeenSet; } + inline void SetAlarmNames(const Aws::Vector& value) { m_alarmNamesHasBeenSet = true; m_alarmNames = value; } + inline void SetAlarmNames(Aws::Vector&& value) { m_alarmNamesHasBeenSet = true; m_alarmNames = std::move(value); } + inline ServiceDeploymentAlarms& WithAlarmNames(const Aws::Vector& value) { SetAlarmNames(value); return *this;} + inline ServiceDeploymentAlarms& WithAlarmNames(Aws::Vector&& value) { SetAlarmNames(std::move(value)); return *this;} + inline ServiceDeploymentAlarms& AddAlarmNames(const Aws::String& value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(value); return *this; } + inline ServiceDeploymentAlarms& AddAlarmNames(Aws::String&& value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(std::move(value)); return *this; } + inline ServiceDeploymentAlarms& AddAlarmNames(const char* value) { m_alarmNamesHasBeenSet = true; m_alarmNames.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

              One or more CloudWatch alarm names that have been triggered during the + * service deployment. A "," separates the alarm names.

              + */ + inline const Aws::Vector& GetTriggeredAlarmNames() const{ return m_triggeredAlarmNames; } + inline bool TriggeredAlarmNamesHasBeenSet() const { return m_triggeredAlarmNamesHasBeenSet; } + inline void SetTriggeredAlarmNames(const Aws::Vector& value) { m_triggeredAlarmNamesHasBeenSet = true; m_triggeredAlarmNames = value; } + inline void SetTriggeredAlarmNames(Aws::Vector&& value) { m_triggeredAlarmNamesHasBeenSet = true; m_triggeredAlarmNames = std::move(value); } + inline ServiceDeploymentAlarms& WithTriggeredAlarmNames(const Aws::Vector& value) { SetTriggeredAlarmNames(value); return *this;} + inline ServiceDeploymentAlarms& WithTriggeredAlarmNames(Aws::Vector&& value) { SetTriggeredAlarmNames(std::move(value)); return *this;} + inline ServiceDeploymentAlarms& AddTriggeredAlarmNames(const Aws::String& value) { m_triggeredAlarmNamesHasBeenSet = true; m_triggeredAlarmNames.push_back(value); return *this; } + inline ServiceDeploymentAlarms& AddTriggeredAlarmNames(Aws::String&& value) { m_triggeredAlarmNamesHasBeenSet = true; m_triggeredAlarmNames.push_back(std::move(value)); return *this; } + inline ServiceDeploymentAlarms& AddTriggeredAlarmNames(const char* value) { m_triggeredAlarmNamesHasBeenSet = true; m_triggeredAlarmNames.push_back(value); return *this; } + ///@} + private: + + ServiceDeploymentRollbackMonitorsStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::Vector m_alarmNames; + bool m_alarmNamesHasBeenSet = false; + + Aws::Vector m_triggeredAlarmNames; + bool m_triggeredAlarmNamesHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentBrief.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentBrief.h new file mode 100644 index 00000000000..2a36ca03d04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentBrief.h @@ -0,0 +1,197 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + + /** + *

              The service deployment properties that are retured when you call + * ListServiceDeployments.

              This provides a high-level overview + * of the service deployment.

              See Also:

              AWS + * API Reference

              + */ + class ServiceDeploymentBrief + { + public: + AWS_ECS_API ServiceDeploymentBrief(); + AWS_ECS_API ServiceDeploymentBrief(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API ServiceDeploymentBrief& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              The ARN of the service deployment.

              + */ + inline const Aws::String& GetServiceDeploymentArn() const{ return m_serviceDeploymentArn; } + inline bool ServiceDeploymentArnHasBeenSet() const { return m_serviceDeploymentArnHasBeenSet; } + inline void SetServiceDeploymentArn(const Aws::String& value) { m_serviceDeploymentArnHasBeenSet = true; m_serviceDeploymentArn = value; } + inline void SetServiceDeploymentArn(Aws::String&& value) { m_serviceDeploymentArnHasBeenSet = true; m_serviceDeploymentArn = std::move(value); } + inline void SetServiceDeploymentArn(const char* value) { m_serviceDeploymentArnHasBeenSet = true; m_serviceDeploymentArn.assign(value); } + inline ServiceDeploymentBrief& WithServiceDeploymentArn(const Aws::String& value) { SetServiceDeploymentArn(value); return *this;} + inline ServiceDeploymentBrief& WithServiceDeploymentArn(Aws::String&& value) { SetServiceDeploymentArn(std::move(value)); return *this;} + inline ServiceDeploymentBrief& WithServiceDeploymentArn(const char* value) { SetServiceDeploymentArn(value); return *this;} + ///@} + + ///@{ + /** + *

              The ARN of the service for this service deployment.

              + */ + inline const Aws::String& GetServiceArn() const{ return m_serviceArn; } + inline bool ServiceArnHasBeenSet() const { return m_serviceArnHasBeenSet; } + inline void SetServiceArn(const Aws::String& value) { m_serviceArnHasBeenSet = true; m_serviceArn = value; } + inline void SetServiceArn(Aws::String&& value) { m_serviceArnHasBeenSet = true; m_serviceArn = std::move(value); } + inline void SetServiceArn(const char* value) { m_serviceArnHasBeenSet = true; m_serviceArn.assign(value); } + inline ServiceDeploymentBrief& WithServiceArn(const Aws::String& value) { SetServiceArn(value); return *this;} + inline ServiceDeploymentBrief& WithServiceArn(Aws::String&& value) { SetServiceArn(std::move(value)); return *this;} + inline ServiceDeploymentBrief& WithServiceArn(const char* value) { SetServiceArn(value); return *this;} + ///@} + + ///@{ + /** + *

              The ARN of the cluster that hosts the service.

              + */ + inline const Aws::String& GetClusterArn() const{ return m_clusterArn; } + inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; } + inline void SetClusterArn(const Aws::String& value) { m_clusterArnHasBeenSet = true; m_clusterArn = value; } + inline void SetClusterArn(Aws::String&& value) { m_clusterArnHasBeenSet = true; m_clusterArn = std::move(value); } + inline void SetClusterArn(const char* value) { m_clusterArnHasBeenSet = true; m_clusterArn.assign(value); } + inline ServiceDeploymentBrief& WithClusterArn(const Aws::String& value) { SetClusterArn(value); return *this;} + inline ServiceDeploymentBrief& WithClusterArn(Aws::String&& value) { SetClusterArn(std::move(value)); return *this;} + inline ServiceDeploymentBrief& WithClusterArn(const char* value) { SetClusterArn(value); return *this;} + ///@} + + ///@{ + /** + *

              The time that the service deployment statred. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.

              + */ + inline const Aws::Utils::DateTime& GetStartedAt() const{ return m_startedAt; } + inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; } + inline void SetStartedAt(const Aws::Utils::DateTime& value) { m_startedAtHasBeenSet = true; m_startedAt = value; } + inline void SetStartedAt(Aws::Utils::DateTime&& value) { m_startedAtHasBeenSet = true; m_startedAt = std::move(value); } + inline ServiceDeploymentBrief& WithStartedAt(const Aws::Utils::DateTime& value) { SetStartedAt(value); return *this;} + inline ServiceDeploymentBrief& WithStartedAt(Aws::Utils::DateTime&& value) { SetStartedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The time that the service deployment was created. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.

              + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ServiceDeploymentBrief& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ServiceDeploymentBrief& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The time that the service deployment completed. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.

              + */ + inline const Aws::Utils::DateTime& GetFinishedAt() const{ return m_finishedAt; } + inline bool FinishedAtHasBeenSet() const { return m_finishedAtHasBeenSet; } + inline void SetFinishedAt(const Aws::Utils::DateTime& value) { m_finishedAtHasBeenSet = true; m_finishedAt = value; } + inline void SetFinishedAt(Aws::Utils::DateTime&& value) { m_finishedAtHasBeenSet = true; m_finishedAt = std::move(value); } + inline ServiceDeploymentBrief& WithFinishedAt(const Aws::Utils::DateTime& value) { SetFinishedAt(value); return *this;} + inline ServiceDeploymentBrief& WithFinishedAt(Aws::Utils::DateTime&& value) { SetFinishedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The ARN of the service revision being deplyed.

              + */ + inline const Aws::String& GetTargetServiceRevisionArn() const{ return m_targetServiceRevisionArn; } + inline bool TargetServiceRevisionArnHasBeenSet() const { return m_targetServiceRevisionArnHasBeenSet; } + inline void SetTargetServiceRevisionArn(const Aws::String& value) { m_targetServiceRevisionArnHasBeenSet = true; m_targetServiceRevisionArn = value; } + inline void SetTargetServiceRevisionArn(Aws::String&& value) { m_targetServiceRevisionArnHasBeenSet = true; m_targetServiceRevisionArn = std::move(value); } + inline void SetTargetServiceRevisionArn(const char* value) { m_targetServiceRevisionArnHasBeenSet = true; m_targetServiceRevisionArn.assign(value); } + inline ServiceDeploymentBrief& WithTargetServiceRevisionArn(const Aws::String& value) { SetTargetServiceRevisionArn(value); return *this;} + inline ServiceDeploymentBrief& WithTargetServiceRevisionArn(Aws::String&& value) { SetTargetServiceRevisionArn(std::move(value)); return *this;} + inline ServiceDeploymentBrief& WithTargetServiceRevisionArn(const char* value) { SetTargetServiceRevisionArn(value); return *this;} + ///@} + + ///@{ + /** + *

              The status of the service deployment

              + */ + inline const ServiceDeploymentStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ServiceDeploymentStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ServiceDeploymentStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ServiceDeploymentBrief& WithStatus(const ServiceDeploymentStatus& value) { SetStatus(value); return *this;} + inline ServiceDeploymentBrief& WithStatus(ServiceDeploymentStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              Information about why the service deployment is in the current status. For + * example, the circuit breaker detected a deployment failure.

              + */ + inline const Aws::String& GetStatusReason() const{ return m_statusReason; } + inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; } + inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; } + inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); } + inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); } + inline ServiceDeploymentBrief& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;} + inline ServiceDeploymentBrief& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;} + inline ServiceDeploymentBrief& WithStatusReason(const char* value) { SetStatusReason(value); return *this;} + ///@} + private: + + Aws::String m_serviceDeploymentArn; + bool m_serviceDeploymentArnHasBeenSet = false; + + Aws::String m_serviceArn; + bool m_serviceArnHasBeenSet = false; + + Aws::String m_clusterArn; + bool m_clusterArnHasBeenSet = false; + + Aws::Utils::DateTime m_startedAt; + bool m_startedAtHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_finishedAt; + bool m_finishedAtHasBeenSet = false; + + Aws::String m_targetServiceRevisionArn; + bool m_targetServiceRevisionArnHasBeenSet = false; + + ServiceDeploymentStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::String m_statusReason; + bool m_statusReasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentCircuitBreaker.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentCircuitBreaker.h new file mode 100644 index 00000000000..e391c3b4ab2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentCircuitBreaker.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + + /** + *

              Information about the circuit breaker used to determine when a service + * deployment has failed.

              The deployment circuit breaker is the rolling + * update mechanism that determines if the tasks reach a steady state. The + * deployment circuit breaker has an option that will automatically roll back a + * failed deployment to the last cpompleted service revision. For more information, + * see How + * the Amazon ECS deployment circuit breaker detects failures in the Amazon + * ECS Developer Guide.

              See Also:

              AWS + * API Reference

              + */ + class ServiceDeploymentCircuitBreaker + { + public: + AWS_ECS_API ServiceDeploymentCircuitBreaker(); + AWS_ECS_API ServiceDeploymentCircuitBreaker(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API ServiceDeploymentCircuitBreaker& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              The circuit breaker status. Amazon ECS is not using the circuit breaker for + * service deployment failures when the status is DISABLED.

              + */ + inline const ServiceDeploymentRollbackMonitorsStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ServiceDeploymentRollbackMonitorsStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ServiceDeploymentRollbackMonitorsStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ServiceDeploymentCircuitBreaker& WithStatus(const ServiceDeploymentRollbackMonitorsStatus& value) { SetStatus(value); return *this;} + inline ServiceDeploymentCircuitBreaker& WithStatus(ServiceDeploymentRollbackMonitorsStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The number of times the circuit breaker detected a service deploymeny + * failure.

              + */ + inline int GetFailureCount() const{ return m_failureCount; } + inline bool FailureCountHasBeenSet() const { return m_failureCountHasBeenSet; } + inline void SetFailureCount(int value) { m_failureCountHasBeenSet = true; m_failureCount = value; } + inline ServiceDeploymentCircuitBreaker& WithFailureCount(int value) { SetFailureCount(value); return *this;} + ///@} + + ///@{ + /** + *

              The threshhold which determines that the service deployment failed.

              + *

              The deployment circuit breaker calculates the threshold value, and then uses + * the value to determine when to move the deployment to a FAILED state. The + * deployment circuit breaker has a minimum threshold of 3 and a maximum threshold + * of 200. and uses the values in the following formula to determine the deployment + * failure.

              0.5 * desired task count

              + */ + inline int GetThreshold() const{ return m_threshold; } + inline bool ThresholdHasBeenSet() const { return m_thresholdHasBeenSet; } + inline void SetThreshold(int value) { m_thresholdHasBeenSet = true; m_threshold = value; } + inline ServiceDeploymentCircuitBreaker& WithThreshold(int value) { SetThreshold(value); return *this;} + ///@} + private: + + ServiceDeploymentRollbackMonitorsStatus m_status; + bool m_statusHasBeenSet = false; + + int m_failureCount; + bool m_failureCountHasBeenSet = false; + + int m_threshold; + bool m_thresholdHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentRollbackMonitorsStatus.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentRollbackMonitorsStatus.h new file mode 100644 index 00000000000..47f3f6cb9d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentRollbackMonitorsStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + enum class ServiceDeploymentRollbackMonitorsStatus + { + NOT_SET, + TRIGGERED, + MONITORING, + MONITORING_COMPLETE, + DISABLED + }; + +namespace ServiceDeploymentRollbackMonitorsStatusMapper +{ +AWS_ECS_API ServiceDeploymentRollbackMonitorsStatus GetServiceDeploymentRollbackMonitorsStatusForName(const Aws::String& name); + +AWS_ECS_API Aws::String GetNameForServiceDeploymentRollbackMonitorsStatus(ServiceDeploymentRollbackMonitorsStatus value); +} // namespace ServiceDeploymentRollbackMonitorsStatusMapper +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentStatus.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentStatus.h new file mode 100644 index 00000000000..a009f13019f --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceDeploymentStatus.h @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + enum class ServiceDeploymentStatus + { + NOT_SET, + PENDING, + SUCCESSFUL, + STOPPED, + STOP_REQUESTED, + IN_PROGRESS, + ROLLBACK_IN_PROGRESS, + ROLLBACK_SUCCESSFUL, + ROLLBACK_FAILED + }; + +namespace ServiceDeploymentStatusMapper +{ +AWS_ECS_API ServiceDeploymentStatus GetServiceDeploymentStatusForName(const Aws::String& name); + +AWS_ECS_API Aws::String GetNameForServiceDeploymentStatus(ServiceDeploymentStatus value); +} // namespace ServiceDeploymentStatusMapper +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceRevision.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceRevision.h new file mode 100644 index 00000000000..fdb13dc7913 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceRevision.h @@ -0,0 +1,334 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + + /** + *

              Information about the service revision.

              A service revision contains a + * record of the workload configuration Amazon ECS is attempting to deploy. + * Whenever you create or deploy a service, Amazon ECS automatically creates and + * captures the configuration that you're trying to deploy in the service revision. + * For information about service revisions, see Amazon + * ECS service revisions in the Amazon Elastic Container Service + * Developer Guide .

              See Also:

              AWS + * API Reference

              + */ + class ServiceRevision + { + public: + AWS_ECS_API ServiceRevision(); + AWS_ECS_API ServiceRevision(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API ServiceRevision& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              The ARN of the service revision.

              + */ + inline const Aws::String& GetServiceRevisionArn() const{ return m_serviceRevisionArn; } + inline bool ServiceRevisionArnHasBeenSet() const { return m_serviceRevisionArnHasBeenSet; } + inline void SetServiceRevisionArn(const Aws::String& value) { m_serviceRevisionArnHasBeenSet = true; m_serviceRevisionArn = value; } + inline void SetServiceRevisionArn(Aws::String&& value) { m_serviceRevisionArnHasBeenSet = true; m_serviceRevisionArn = std::move(value); } + inline void SetServiceRevisionArn(const char* value) { m_serviceRevisionArnHasBeenSet = true; m_serviceRevisionArn.assign(value); } + inline ServiceRevision& WithServiceRevisionArn(const Aws::String& value) { SetServiceRevisionArn(value); return *this;} + inline ServiceRevision& WithServiceRevisionArn(Aws::String&& value) { SetServiceRevisionArn(std::move(value)); return *this;} + inline ServiceRevision& WithServiceRevisionArn(const char* value) { SetServiceRevisionArn(value); return *this;} + ///@} + + ///@{ + /** + *

              The ARN of the service for the service revision.

              + */ + inline const Aws::String& GetServiceArn() const{ return m_serviceArn; } + inline bool ServiceArnHasBeenSet() const { return m_serviceArnHasBeenSet; } + inline void SetServiceArn(const Aws::String& value) { m_serviceArnHasBeenSet = true; m_serviceArn = value; } + inline void SetServiceArn(Aws::String&& value) { m_serviceArnHasBeenSet = true; m_serviceArn = std::move(value); } + inline void SetServiceArn(const char* value) { m_serviceArnHasBeenSet = true; m_serviceArn.assign(value); } + inline ServiceRevision& WithServiceArn(const Aws::String& value) { SetServiceArn(value); return *this;} + inline ServiceRevision& WithServiceArn(Aws::String&& value) { SetServiceArn(std::move(value)); return *this;} + inline ServiceRevision& WithServiceArn(const char* value) { SetServiceArn(value); return *this;} + ///@} + + ///@{ + /** + *

              The ARN of the cluster that hosts the service.

              + */ + inline const Aws::String& GetClusterArn() const{ return m_clusterArn; } + inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; } + inline void SetClusterArn(const Aws::String& value) { m_clusterArnHasBeenSet = true; m_clusterArn = value; } + inline void SetClusterArn(Aws::String&& value) { m_clusterArnHasBeenSet = true; m_clusterArn = std::move(value); } + inline void SetClusterArn(const char* value) { m_clusterArnHasBeenSet = true; m_clusterArn.assign(value); } + inline ServiceRevision& WithClusterArn(const Aws::String& value) { SetClusterArn(value); return *this;} + inline ServiceRevision& WithClusterArn(Aws::String&& value) { SetClusterArn(std::move(value)); return *this;} + inline ServiceRevision& WithClusterArn(const char* value) { SetClusterArn(value); return *this;} + ///@} + + ///@{ + /** + *

              The task definition the service revision uses.

              + */ + inline const Aws::String& GetTaskDefinition() const{ return m_taskDefinition; } + inline bool TaskDefinitionHasBeenSet() const { return m_taskDefinitionHasBeenSet; } + inline void SetTaskDefinition(const Aws::String& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = value; } + inline void SetTaskDefinition(Aws::String&& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = std::move(value); } + inline void SetTaskDefinition(const char* value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition.assign(value); } + inline ServiceRevision& WithTaskDefinition(const Aws::String& value) { SetTaskDefinition(value); return *this;} + inline ServiceRevision& WithTaskDefinition(Aws::String&& value) { SetTaskDefinition(std::move(value)); return *this;} + inline ServiceRevision& WithTaskDefinition(const char* value) { SetTaskDefinition(value); return *this;} + ///@} + + ///@{ + /** + *

              The capacity provider strategy the service revision uses.

              + */ + inline const Aws::Vector& GetCapacityProviderStrategy() const{ return m_capacityProviderStrategy; } + inline bool CapacityProviderStrategyHasBeenSet() const { return m_capacityProviderStrategyHasBeenSet; } + inline void SetCapacityProviderStrategy(const Aws::Vector& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy = value; } + inline void SetCapacityProviderStrategy(Aws::Vector&& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy = std::move(value); } + inline ServiceRevision& WithCapacityProviderStrategy(const Aws::Vector& value) { SetCapacityProviderStrategy(value); return *this;} + inline ServiceRevision& WithCapacityProviderStrategy(Aws::Vector&& value) { SetCapacityProviderStrategy(std::move(value)); return *this;} + inline ServiceRevision& AddCapacityProviderStrategy(const CapacityProviderStrategyItem& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy.push_back(value); return *this; } + inline ServiceRevision& AddCapacityProviderStrategy(CapacityProviderStrategyItem&& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

              The launch type the service revision uses.

              + */ + inline const LaunchType& GetLaunchType() const{ return m_launchType; } + inline bool LaunchTypeHasBeenSet() const { return m_launchTypeHasBeenSet; } + inline void SetLaunchType(const LaunchType& value) { m_launchTypeHasBeenSet = true; m_launchType = value; } + inline void SetLaunchType(LaunchType&& value) { m_launchTypeHasBeenSet = true; m_launchType = std::move(value); } + inline ServiceRevision& WithLaunchType(const LaunchType& value) { SetLaunchType(value); return *this;} + inline ServiceRevision& WithLaunchType(LaunchType&& value) { SetLaunchType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              For the Fargate launch type, the platform version the service revision + * uses.

              + */ + inline const Aws::String& GetPlatformVersion() const{ return m_platformVersion; } + inline bool PlatformVersionHasBeenSet() const { return m_platformVersionHasBeenSet; } + inline void SetPlatformVersion(const Aws::String& value) { m_platformVersionHasBeenSet = true; m_platformVersion = value; } + inline void SetPlatformVersion(Aws::String&& value) { m_platformVersionHasBeenSet = true; m_platformVersion = std::move(value); } + inline void SetPlatformVersion(const char* value) { m_platformVersionHasBeenSet = true; m_platformVersion.assign(value); } + inline ServiceRevision& WithPlatformVersion(const Aws::String& value) { SetPlatformVersion(value); return *this;} + inline ServiceRevision& WithPlatformVersion(Aws::String&& value) { SetPlatformVersion(std::move(value)); return *this;} + inline ServiceRevision& WithPlatformVersion(const char* value) { SetPlatformVersion(value); return *this;} + ///@} + + ///@{ + /** + *

              The platform family the service revision uses.

              + */ + inline const Aws::String& GetPlatformFamily() const{ return m_platformFamily; } + inline bool PlatformFamilyHasBeenSet() const { return m_platformFamilyHasBeenSet; } + inline void SetPlatformFamily(const Aws::String& value) { m_platformFamilyHasBeenSet = true; m_platformFamily = value; } + inline void SetPlatformFamily(Aws::String&& value) { m_platformFamilyHasBeenSet = true; m_platformFamily = std::move(value); } + inline void SetPlatformFamily(const char* value) { m_platformFamilyHasBeenSet = true; m_platformFamily.assign(value); } + inline ServiceRevision& WithPlatformFamily(const Aws::String& value) { SetPlatformFamily(value); return *this;} + inline ServiceRevision& WithPlatformFamily(Aws::String&& value) { SetPlatformFamily(std::move(value)); return *this;} + inline ServiceRevision& WithPlatformFamily(const char* value) { SetPlatformFamily(value); return *this;} + ///@} + + ///@{ + /** + *

              The load balancers the service revision uses.

              + */ + inline const Aws::Vector& GetLoadBalancers() const{ return m_loadBalancers; } + inline bool LoadBalancersHasBeenSet() const { return m_loadBalancersHasBeenSet; } + inline void SetLoadBalancers(const Aws::Vector& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers = value; } + inline void SetLoadBalancers(Aws::Vector&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers = std::move(value); } + inline ServiceRevision& WithLoadBalancers(const Aws::Vector& value) { SetLoadBalancers(value); return *this;} + inline ServiceRevision& WithLoadBalancers(Aws::Vector&& value) { SetLoadBalancers(std::move(value)); return *this;} + inline ServiceRevision& AddLoadBalancers(const LoadBalancer& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(value); return *this; } + inline ServiceRevision& AddLoadBalancers(LoadBalancer&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

              The service registries (for Service Discovery) the service revision uses.

              + */ + inline const Aws::Vector& GetServiceRegistries() const{ return m_serviceRegistries; } + inline bool ServiceRegistriesHasBeenSet() const { return m_serviceRegistriesHasBeenSet; } + inline void SetServiceRegistries(const Aws::Vector& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries = value; } + inline void SetServiceRegistries(Aws::Vector&& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries = std::move(value); } + inline ServiceRevision& WithServiceRegistries(const Aws::Vector& value) { SetServiceRegistries(value); return *this;} + inline ServiceRevision& WithServiceRegistries(Aws::Vector&& value) { SetServiceRegistries(std::move(value)); return *this;} + inline ServiceRevision& AddServiceRegistries(const ServiceRegistry& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries.push_back(value); return *this; } + inline ServiceRevision& AddServiceRegistries(ServiceRegistry&& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const NetworkConfiguration& GetNetworkConfiguration() const{ return m_networkConfiguration; } + inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; } + inline void SetNetworkConfiguration(const NetworkConfiguration& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = value; } + inline void SetNetworkConfiguration(NetworkConfiguration&& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = std::move(value); } + inline ServiceRevision& WithNetworkConfiguration(const NetworkConfiguration& value) { SetNetworkConfiguration(value); return *this;} + inline ServiceRevision& WithNetworkConfiguration(NetworkConfiguration&& value) { SetNetworkConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The container images the service revision uses.

              + */ + inline const Aws::Vector& GetContainerImages() const{ return m_containerImages; } + inline bool ContainerImagesHasBeenSet() const { return m_containerImagesHasBeenSet; } + inline void SetContainerImages(const Aws::Vector& value) { m_containerImagesHasBeenSet = true; m_containerImages = value; } + inline void SetContainerImages(Aws::Vector&& value) { m_containerImagesHasBeenSet = true; m_containerImages = std::move(value); } + inline ServiceRevision& WithContainerImages(const Aws::Vector& value) { SetContainerImages(value); return *this;} + inline ServiceRevision& WithContainerImages(Aws::Vector&& value) { SetContainerImages(std::move(value)); return *this;} + inline ServiceRevision& AddContainerImages(const ContainerImage& value) { m_containerImagesHasBeenSet = true; m_containerImages.push_back(value); return *this; } + inline ServiceRevision& AddContainerImages(ContainerImage&& value) { m_containerImagesHasBeenSet = true; m_containerImages.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

              Indicates whether Runtime Monitoring is turned on.

              + */ + inline bool GetGuardDutyEnabled() const{ return m_guardDutyEnabled; } + inline bool GuardDutyEnabledHasBeenSet() const { return m_guardDutyEnabledHasBeenSet; } + inline void SetGuardDutyEnabled(bool value) { m_guardDutyEnabledHasBeenSet = true; m_guardDutyEnabled = value; } + inline ServiceRevision& WithGuardDutyEnabled(bool value) { SetGuardDutyEnabled(value); return *this;} + ///@} + + ///@{ + + inline const ServiceConnectConfiguration& GetServiceConnectConfiguration() const{ return m_serviceConnectConfiguration; } + inline bool ServiceConnectConfigurationHasBeenSet() const { return m_serviceConnectConfigurationHasBeenSet; } + inline void SetServiceConnectConfiguration(const ServiceConnectConfiguration& value) { m_serviceConnectConfigurationHasBeenSet = true; m_serviceConnectConfiguration = value; } + inline void SetServiceConnectConfiguration(ServiceConnectConfiguration&& value) { m_serviceConnectConfigurationHasBeenSet = true; m_serviceConnectConfiguration = std::move(value); } + inline ServiceRevision& WithServiceConnectConfiguration(const ServiceConnectConfiguration& value) { SetServiceConnectConfiguration(value); return *this;} + inline ServiceRevision& WithServiceConnectConfiguration(ServiceConnectConfiguration&& value) { SetServiceConnectConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The volumes that are configured at deployment that the service revision + * uses.

              + */ + inline const Aws::Vector& GetVolumeConfigurations() const{ return m_volumeConfigurations; } + inline bool VolumeConfigurationsHasBeenSet() const { return m_volumeConfigurationsHasBeenSet; } + inline void SetVolumeConfigurations(const Aws::Vector& value) { m_volumeConfigurationsHasBeenSet = true; m_volumeConfigurations = value; } + inline void SetVolumeConfigurations(Aws::Vector&& value) { m_volumeConfigurationsHasBeenSet = true; m_volumeConfigurations = std::move(value); } + inline ServiceRevision& WithVolumeConfigurations(const Aws::Vector& value) { SetVolumeConfigurations(value); return *this;} + inline ServiceRevision& WithVolumeConfigurations(Aws::Vector&& value) { SetVolumeConfigurations(std::move(value)); return *this;} + inline ServiceRevision& AddVolumeConfigurations(const ServiceVolumeConfiguration& value) { m_volumeConfigurationsHasBeenSet = true; m_volumeConfigurations.push_back(value); return *this; } + inline ServiceRevision& AddVolumeConfigurations(ServiceVolumeConfiguration&& value) { m_volumeConfigurationsHasBeenSet = true; m_volumeConfigurations.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const DeploymentEphemeralStorage& GetFargateEphemeralStorage() const{ return m_fargateEphemeralStorage; } + inline bool FargateEphemeralStorageHasBeenSet() const { return m_fargateEphemeralStorageHasBeenSet; } + inline void SetFargateEphemeralStorage(const DeploymentEphemeralStorage& value) { m_fargateEphemeralStorageHasBeenSet = true; m_fargateEphemeralStorage = value; } + inline void SetFargateEphemeralStorage(DeploymentEphemeralStorage&& value) { m_fargateEphemeralStorageHasBeenSet = true; m_fargateEphemeralStorage = std::move(value); } + inline ServiceRevision& WithFargateEphemeralStorage(const DeploymentEphemeralStorage& value) { SetFargateEphemeralStorage(value); return *this;} + inline ServiceRevision& WithFargateEphemeralStorage(DeploymentEphemeralStorage&& value) { SetFargateEphemeralStorage(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

              The time that the service revision was created. The format is yyyy-mm-dd + * HH:mm:ss.SSSSS.

              + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ServiceRevision& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ServiceRevision& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_serviceRevisionArn; + bool m_serviceRevisionArnHasBeenSet = false; + + Aws::String m_serviceArn; + bool m_serviceArnHasBeenSet = false; + + Aws::String m_clusterArn; + bool m_clusterArnHasBeenSet = false; + + Aws::String m_taskDefinition; + bool m_taskDefinitionHasBeenSet = false; + + Aws::Vector m_capacityProviderStrategy; + bool m_capacityProviderStrategyHasBeenSet = false; + + LaunchType m_launchType; + bool m_launchTypeHasBeenSet = false; + + Aws::String m_platformVersion; + bool m_platformVersionHasBeenSet = false; + + Aws::String m_platformFamily; + bool m_platformFamilyHasBeenSet = false; + + Aws::Vector m_loadBalancers; + bool m_loadBalancersHasBeenSet = false; + + Aws::Vector m_serviceRegistries; + bool m_serviceRegistriesHasBeenSet = false; + + NetworkConfiguration m_networkConfiguration; + bool m_networkConfigurationHasBeenSet = false; + + Aws::Vector m_containerImages; + bool m_containerImagesHasBeenSet = false; + + bool m_guardDutyEnabled; + bool m_guardDutyEnabledHasBeenSet = false; + + ServiceConnectConfiguration m_serviceConnectConfiguration; + bool m_serviceConnectConfigurationHasBeenSet = false; + + Aws::Vector m_volumeConfigurations; + bool m_volumeConfigurationsHasBeenSet = false; + + DeploymentEphemeralStorage m_fargateEphemeralStorage; + bool m_fargateEphemeralStorageHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceRevisionSummary.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceRevisionSummary.h new file mode 100644 index 00000000000..dcc6b7cd278 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/ServiceRevisionSummary.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace ECS +{ +namespace Model +{ + + /** + *

              The information about the number of requested, pending, and running tasks for + * a service revision.

              See Also:

              AWS + * API Reference

              + */ + class ServiceRevisionSummary + { + public: + AWS_ECS_API ServiceRevisionSummary(); + AWS_ECS_API ServiceRevisionSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API ServiceRevisionSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

              The ARN of the service revision.

              + */ + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline ServiceRevisionSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline ServiceRevisionSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline ServiceRevisionSummary& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

              The number of requested tasks for the service revision.

              + */ + inline int GetRequestedTaskCount() const{ return m_requestedTaskCount; } + inline bool RequestedTaskCountHasBeenSet() const { return m_requestedTaskCountHasBeenSet; } + inline void SetRequestedTaskCount(int value) { m_requestedTaskCountHasBeenSet = true; m_requestedTaskCount = value; } + inline ServiceRevisionSummary& WithRequestedTaskCount(int value) { SetRequestedTaskCount(value); return *this;} + ///@} + + ///@{ + /** + *

              The number of running tasks for the service revision.

              + */ + inline int GetRunningTaskCount() const{ return m_runningTaskCount; } + inline bool RunningTaskCountHasBeenSet() const { return m_runningTaskCountHasBeenSet; } + inline void SetRunningTaskCount(int value) { m_runningTaskCountHasBeenSet = true; m_runningTaskCount = value; } + inline ServiceRevisionSummary& WithRunningTaskCount(int value) { SetRunningTaskCount(value); return *this;} + ///@} + + ///@{ + /** + *

              The number of pending tasks for the service revision.

              + */ + inline int GetPendingTaskCount() const{ return m_pendingTaskCount; } + inline bool PendingTaskCountHasBeenSet() const { return m_pendingTaskCountHasBeenSet; } + inline void SetPendingTaskCount(int value) { m_pendingTaskCountHasBeenSet = true; m_pendingTaskCount = value; } + inline ServiceRevisionSummary& WithPendingTaskCount(int value) { SetPendingTaskCount(value); return *this;} + ///@} + private: + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + int m_requestedTaskCount; + bool m_requestedTaskCountHasBeenSet = false; + + int m_runningTaskCount; + bool m_runningTaskCountHasBeenSet = false; + + int m_pendingTaskCount; + bool m_pendingTaskCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskDefinition.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskDefinition.h index 0f84337bd02..ecf14834e8c 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskDefinition.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskDefinition.h @@ -169,15 +169,16 @@ namespace Model *

              When using the host network mode, you should not run * containers using the root user (UID 0). It is considered best practice to use a * non-root user.

              If the network mode is awsvpc, - * the task is allocated an elastic network interface, and you must specify a NetworkConfiguration - * value when you create a service or run a task with the task definition. For more - * information, see NetworkConfiguration value when you create a service or run a task with + * the task definition. For more information, see Task * Networking in the Amazon Elastic Container Service Developer * Guide.

              If the network mode is host, you cannot run * multiple instantiations of the same task on a single container instance when - * port mappings are used.

              + * port mappings are used.

              For more information, see Network + * settings in the Docker run reference.

              */ inline const NetworkMode& GetNetworkMode() const{ return m_networkMode; } inline bool NetworkModeHasBeenSet() const { return m_networkModeHasBeenSet; } @@ -420,11 +421,16 @@ namespace Model * container instance share the same process namespace with the host Amazon EC2 * instance.

              If task is specified, all containers within the * specified task share the same process namespace.

              If no value is - * specified, the default is a private namespace for each container.

              If the - * host PID mode is used, there's a heightened risk of undesired - * process namespace exposure.

              This parameter is not supported for - * Windows containers.

              This parameter is only supported for - * tasks that are hosted on Fargate if the tasks are using platform version + * specified, the default is a private namespace for each container. For more + * information, see PID + * settings in the Docker run reference.

              If the host + * PID mode is used, there's a heightened risk of undesired process namespace + * exposure. For more information, see Docker + * security.

              This parameter is not supported for Windows + * containers.

              This parameter is only supported for tasks + * that are hosted on Fargate if the tasks are using platform version * 1.4.0 or later (Linux). This isn't supported for Windows containers * on Fargate.

              */ @@ -448,11 +454,15 @@ namespace Model * containers of a task are private and not shared with other containers in a task * or on the container instance. If no value is specified, then the IPC resource * namespace sharing depends on the Docker daemon setting on the container - * instance.

              If the host IPC mode is used, be aware that there - * is a heightened risk of undesired IPC namespace expose.

              If you are - * setting namespaced kernel parameters using systemControls for the - * containers in the task, the following will apply to your IPC resource namespace. - * For more information, see IPC + * settings in the Docker run reference.

              If the host + * IPC mode is used, be aware that there is a heightened risk of undesired IPC + * namespace expose. For more information, see Docker + * security.

              If you are setting namespaced kernel parameters using + * systemControls for the containers in the task, the following will + * apply to your IPC resource namespace. For more information, see System * Controls in the Amazon Elastic Container Service Developer Guide.

              *
              • For tasks that use the host IPC mode, IPC namespace diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskEphemeralStorage.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskEphemeralStorage.h index 42b143cb9a4..09fd4e352da 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskEphemeralStorage.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/TaskEphemeralStorage.h @@ -52,8 +52,8 @@ namespace Model ///@{ /** - *

                Specify an Key Management Service key ID to encrypt the ephemeral storage for - * the task.

                + *

                Specify an Amazon Web Services Key Management Service key ID to encrypt the + * ephemeral storage for the task.

                */ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h index 1e83866b6d3..0af68070f2c 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/model/UpdateServiceRequest.h @@ -145,7 +145,7 @@ namespace Model ///@{ /** *

                Optional deployment parameters that control how many tasks run during the - * deployment and the ordering of stopping and starting tasks.

                + * deployment and the failure detection methods.

                */ inline const DeploymentConfiguration& GetDeploymentConfiguration() const{ return m_deploymentConfiguration; } inline bool DeploymentConfigurationHasBeenSet() const { return m_deploymentConfigurationHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-ecs/source/ECSClient.cpp b/generated/src/aws-cpp-sdk-ecs/source/ECSClient.cpp index 1530916596d..f56a299c75e 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/ECSClient.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/ECSClient.cpp @@ -37,6 +37,8 @@ #include #include #include +#include +#include #include #include #include @@ -48,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -636,6 +639,58 @@ DescribeContainerInstancesOutcome ECSClient::DescribeContainerInstances(const De {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeServiceDeploymentsOutcome ECSClient::DescribeServiceDeployments(const DescribeServiceDeploymentsRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeServiceDeployments); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeServiceDeployments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeServiceDeployments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeServiceDeployments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeServiceDeployments", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeServiceDeploymentsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeServiceDeployments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeServiceDeploymentsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DescribeServiceRevisionsOutcome ECSClient::DescribeServiceRevisions(const DescribeServiceRevisionsRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeServiceRevisions); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeServiceRevisions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeServiceRevisions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeServiceRevisions, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeServiceRevisions", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeServiceRevisionsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeServiceRevisions, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeServiceRevisionsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DescribeServicesOutcome ECSClient::DescribeServices(const DescribeServicesRequest& request) const { AWS_OPERATION_GUARD(DescribeServices); @@ -922,6 +977,32 @@ ListContainerInstancesOutcome ECSClient::ListContainerInstances(const ListContai {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListServiceDeploymentsOutcome ECSClient::ListServiceDeployments(const ListServiceDeploymentsRequest& request) const +{ + AWS_OPERATION_GUARD(ListServiceDeployments); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListServiceDeployments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListServiceDeployments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListServiceDeployments, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListServiceDeployments", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListServiceDeploymentsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListServiceDeployments, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListServiceDeploymentsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListServicesOutcome ECSClient::ListServices(const ListServicesRequest& request) const { AWS_OPERATION_GUARD(ListServices); diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ContainerImage.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ContainerImage.cpp new file mode 100644 index 00000000000..2249126b1b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ContainerImage.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +ContainerImage::ContainerImage() : + m_containerNameHasBeenSet(false), + m_imageDigestHasBeenSet(false), + m_imageHasBeenSet(false) +{ +} + +ContainerImage::ContainerImage(JsonView jsonValue) + : ContainerImage() +{ + *this = jsonValue; +} + +ContainerImage& ContainerImage::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("containerName")) + { + m_containerName = jsonValue.GetString("containerName"); + + m_containerNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("imageDigest")) + { + m_imageDigest = jsonValue.GetString("imageDigest"); + + m_imageDigestHasBeenSet = true; + } + + if(jsonValue.ValueExists("image")) + { + m_image = jsonValue.GetString("image"); + + m_imageHasBeenSet = true; + } + + return *this; +} + +JsonValue ContainerImage::Jsonize() const +{ + JsonValue payload; + + if(m_containerNameHasBeenSet) + { + payload.WithString("containerName", m_containerName); + + } + + if(m_imageDigestHasBeenSet) + { + payload.WithString("imageDigest", m_imageDigest); + + } + + if(m_imageHasBeenSet) + { + payload.WithString("image", m_image); + + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/CreatedAt.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/CreatedAt.cpp new file mode 100644 index 00000000000..5e0665a87e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/CreatedAt.cpp @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +CreatedAt::CreatedAt() : + m_beforeHasBeenSet(false), + m_afterHasBeenSet(false) +{ +} + +CreatedAt::CreatedAt(JsonView jsonValue) + : CreatedAt() +{ + *this = jsonValue; +} + +CreatedAt& CreatedAt::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("before")) + { + m_before = jsonValue.GetDouble("before"); + + m_beforeHasBeenSet = true; + } + + if(jsonValue.ValueExists("after")) + { + m_after = jsonValue.GetDouble("after"); + + m_afterHasBeenSet = true; + } + + return *this; +} + +JsonValue CreatedAt::Jsonize() const +{ + JsonValue payload; + + if(m_beforeHasBeenSet) + { + payload.WithDouble("before", m_before.SecondsWithMSPrecision()); + } + + if(m_afterHasBeenSet) + { + payload.WithDouble("after", m_after.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/DeploymentAlarms.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/DeploymentAlarms.cpp index 30e4c100ece..b8c179f7fbd 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/model/DeploymentAlarms.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/model/DeploymentAlarms.cpp @@ -20,10 +20,10 @@ namespace Model DeploymentAlarms::DeploymentAlarms() : m_alarmNamesHasBeenSet(false), - m_enable(false), - m_enableHasBeenSet(false), m_rollback(false), - m_rollbackHasBeenSet(false) + m_rollbackHasBeenSet(false), + m_enable(false), + m_enableHasBeenSet(false) { } @@ -45,18 +45,18 @@ DeploymentAlarms& DeploymentAlarms::operator =(JsonView jsonValue) m_alarmNamesHasBeenSet = true; } - if(jsonValue.ValueExists("enable")) + if(jsonValue.ValueExists("rollback")) { - m_enable = jsonValue.GetBool("enable"); + m_rollback = jsonValue.GetBool("rollback"); - m_enableHasBeenSet = true; + m_rollbackHasBeenSet = true; } - if(jsonValue.ValueExists("rollback")) + if(jsonValue.ValueExists("enable")) { - m_rollback = jsonValue.GetBool("rollback"); + m_enable = jsonValue.GetBool("enable"); - m_rollbackHasBeenSet = true; + m_enableHasBeenSet = true; } return *this; @@ -77,15 +77,15 @@ JsonValue DeploymentAlarms::Jsonize() const } - if(m_enableHasBeenSet) + if(m_rollbackHasBeenSet) { - payload.WithBool("enable", m_enable); + payload.WithBool("rollback", m_rollback); } - if(m_rollbackHasBeenSet) + if(m_enableHasBeenSet) { - payload.WithBool("rollback", m_rollback); + payload.WithBool("enable", m_enable); } diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceDeploymentsRequest.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceDeploymentsRequest.cpp new file mode 100644 index 00000000000..c1249855e6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceDeploymentsRequest.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ECS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribeServiceDeploymentsRequest::DescribeServiceDeploymentsRequest() : + m_serviceDeploymentArnsHasBeenSet(false) +{ +} + +Aws::String DescribeServiceDeploymentsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_serviceDeploymentArnsHasBeenSet) + { + Aws::Utils::Array serviceDeploymentArnsJsonList(m_serviceDeploymentArns.size()); + for(unsigned serviceDeploymentArnsIndex = 0; serviceDeploymentArnsIndex < serviceDeploymentArnsJsonList.GetLength(); ++serviceDeploymentArnsIndex) + { + serviceDeploymentArnsJsonList[serviceDeploymentArnsIndex].AsString(m_serviceDeploymentArns[serviceDeploymentArnsIndex]); + } + payload.WithArray("serviceDeploymentArns", std::move(serviceDeploymentArnsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DescribeServiceDeploymentsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonEC2ContainerServiceV20141113.DescribeServiceDeployments")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceDeploymentsResult.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceDeploymentsResult.cpp new file mode 100644 index 00000000000..df7a6cc9737 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceDeploymentsResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ECS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeServiceDeploymentsResult::DescribeServiceDeploymentsResult() +{ +} + +DescribeServiceDeploymentsResult::DescribeServiceDeploymentsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeServiceDeploymentsResult& DescribeServiceDeploymentsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("serviceDeployments")) + { + Aws::Utils::Array serviceDeploymentsJsonList = jsonValue.GetArray("serviceDeployments"); + for(unsigned serviceDeploymentsIndex = 0; serviceDeploymentsIndex < serviceDeploymentsJsonList.GetLength(); ++serviceDeploymentsIndex) + { + m_serviceDeployments.push_back(serviceDeploymentsJsonList[serviceDeploymentsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("failures")) + { + Aws::Utils::Array failuresJsonList = jsonValue.GetArray("failures"); + for(unsigned failuresIndex = 0; failuresIndex < failuresJsonList.GetLength(); ++failuresIndex) + { + m_failures.push_back(failuresJsonList[failuresIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceRevisionsRequest.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceRevisionsRequest.cpp new file mode 100644 index 00000000000..6b93a791c63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceRevisionsRequest.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ECS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribeServiceRevisionsRequest::DescribeServiceRevisionsRequest() : + m_serviceRevisionArnsHasBeenSet(false) +{ +} + +Aws::String DescribeServiceRevisionsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_serviceRevisionArnsHasBeenSet) + { + Aws::Utils::Array serviceRevisionArnsJsonList(m_serviceRevisionArns.size()); + for(unsigned serviceRevisionArnsIndex = 0; serviceRevisionArnsIndex < serviceRevisionArnsJsonList.GetLength(); ++serviceRevisionArnsIndex) + { + serviceRevisionArnsJsonList[serviceRevisionArnsIndex].AsString(m_serviceRevisionArns[serviceRevisionArnsIndex]); + } + payload.WithArray("serviceRevisionArns", std::move(serviceRevisionArnsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DescribeServiceRevisionsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonEC2ContainerServiceV20141113.DescribeServiceRevisions")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceRevisionsResult.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceRevisionsResult.cpp new file mode 100644 index 00000000000..d49419bd71e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/DescribeServiceRevisionsResult.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ECS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeServiceRevisionsResult::DescribeServiceRevisionsResult() +{ +} + +DescribeServiceRevisionsResult::DescribeServiceRevisionsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DescribeServiceRevisionsResult& DescribeServiceRevisionsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("serviceRevisions")) + { + Aws::Utils::Array serviceRevisionsJsonList = jsonValue.GetArray("serviceRevisions"); + for(unsigned serviceRevisionsIndex = 0; serviceRevisionsIndex < serviceRevisionsJsonList.GetLength(); ++serviceRevisionsIndex) + { + m_serviceRevisions.push_back(serviceRevisionsJsonList[serviceRevisionsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("failures")) + { + Aws::Utils::Array failuresJsonList = jsonValue.GetArray("failures"); + for(unsigned failuresIndex = 0; failuresIndex < failuresJsonList.GetLength(); ++failuresIndex) + { + m_failures.push_back(failuresJsonList[failuresIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ListServiceDeploymentsRequest.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ListServiceDeploymentsRequest.cpp new file mode 100644 index 00000000000..e8db2677846 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ListServiceDeploymentsRequest.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::ECS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListServiceDeploymentsRequest::ListServiceDeploymentsRequest() : + m_serviceHasBeenSet(false), + m_clusterHasBeenSet(false), + m_statusHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListServiceDeploymentsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_serviceHasBeenSet) + { + payload.WithString("service", m_service); + + } + + if(m_clusterHasBeenSet) + { + payload.WithString("cluster", m_cluster); + + } + + if(m_statusHasBeenSet) + { + Aws::Utils::Array statusJsonList(m_status.size()); + for(unsigned statusIndex = 0; statusIndex < statusJsonList.GetLength(); ++statusIndex) + { + statusJsonList[statusIndex].AsString(ServiceDeploymentStatusMapper::GetNameForServiceDeploymentStatus(m_status[statusIndex])); + } + payload.WithArray("status", std::move(statusJsonList)); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithObject("createdAt", m_createdAt.Jsonize()); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListServiceDeploymentsRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonEC2ContainerServiceV20141113.ListServiceDeployments")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ListServiceDeploymentsResult.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ListServiceDeploymentsResult.cpp new file mode 100644 index 00000000000..ca64a1768c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ListServiceDeploymentsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::ECS::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListServiceDeploymentsResult::ListServiceDeploymentsResult() +{ +} + +ListServiceDeploymentsResult::ListServiceDeploymentsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListServiceDeploymentsResult& ListServiceDeploymentsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("serviceDeployments")) + { + Aws::Utils::Array serviceDeploymentsJsonList = jsonValue.GetArray("serviceDeployments"); + for(unsigned serviceDeploymentsIndex = 0; serviceDeploymentsIndex < serviceDeploymentsJsonList.GetLength(); ++serviceDeploymentsIndex) + { + m_serviceDeployments.push_back(serviceDeploymentsJsonList[serviceDeploymentsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/Rollback.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/Rollback.cpp new file mode 100644 index 00000000000..54077d2acb8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/Rollback.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +Rollback::Rollback() : + m_reasonHasBeenSet(false), + m_startedAtHasBeenSet(false), + m_serviceRevisionArnHasBeenSet(false) +{ +} + +Rollback::Rollback(JsonView jsonValue) + : Rollback() +{ + *this = jsonValue; +} + +Rollback& Rollback::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("reason")) + { + m_reason = jsonValue.GetString("reason"); + + m_reasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("startedAt")) + { + m_startedAt = jsonValue.GetDouble("startedAt"); + + m_startedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceRevisionArn")) + { + m_serviceRevisionArn = jsonValue.GetString("serviceRevisionArn"); + + m_serviceRevisionArnHasBeenSet = true; + } + + return *this; +} + +JsonValue Rollback::Jsonize() const +{ + JsonValue payload; + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", m_reason); + + } + + if(m_startedAtHasBeenSet) + { + payload.WithDouble("startedAt", m_startedAt.SecondsWithMSPrecision()); + } + + if(m_serviceRevisionArnHasBeenSet) + { + payload.WithString("serviceRevisionArn", m_serviceRevisionArn); + + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeployment.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeployment.cpp new file mode 100644 index 00000000000..30e6529dd48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeployment.cpp @@ -0,0 +1,272 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +ServiceDeployment::ServiceDeployment() : + m_serviceDeploymentArnHasBeenSet(false), + m_serviceArnHasBeenSet(false), + m_clusterArnHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_startedAtHasBeenSet(false), + m_finishedAtHasBeenSet(false), + m_stoppedAtHasBeenSet(false), + m_updatedAtHasBeenSet(false), + m_sourceServiceRevisionsHasBeenSet(false), + m_targetServiceRevisionHasBeenSet(false), + m_status(ServiceDeploymentStatus::NOT_SET), + m_statusHasBeenSet(false), + m_statusReasonHasBeenSet(false), + m_deploymentConfigurationHasBeenSet(false), + m_rollbackHasBeenSet(false), + m_deploymentCircuitBreakerHasBeenSet(false), + m_alarmsHasBeenSet(false) +{ +} + +ServiceDeployment::ServiceDeployment(JsonView jsonValue) + : ServiceDeployment() +{ + *this = jsonValue; +} + +ServiceDeployment& ServiceDeployment::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("serviceDeploymentArn")) + { + m_serviceDeploymentArn = jsonValue.GetString("serviceDeploymentArn"); + + m_serviceDeploymentArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceArn")) + { + m_serviceArn = jsonValue.GetString("serviceArn"); + + m_serviceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("clusterArn")) + { + m_clusterArn = jsonValue.GetString("clusterArn"); + + m_clusterArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("startedAt")) + { + m_startedAt = jsonValue.GetDouble("startedAt"); + + m_startedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("finishedAt")) + { + m_finishedAt = jsonValue.GetDouble("finishedAt"); + + m_finishedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("stoppedAt")) + { + m_stoppedAt = jsonValue.GetDouble("stoppedAt"); + + m_stoppedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("updatedAt")) + { + m_updatedAt = jsonValue.GetDouble("updatedAt"); + + m_updatedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("sourceServiceRevisions")) + { + Aws::Utils::Array sourceServiceRevisionsJsonList = jsonValue.GetArray("sourceServiceRevisions"); + for(unsigned sourceServiceRevisionsIndex = 0; sourceServiceRevisionsIndex < sourceServiceRevisionsJsonList.GetLength(); ++sourceServiceRevisionsIndex) + { + m_sourceServiceRevisions.push_back(sourceServiceRevisionsJsonList[sourceServiceRevisionsIndex].AsObject()); + } + m_sourceServiceRevisionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("targetServiceRevision")) + { + m_targetServiceRevision = jsonValue.GetObject("targetServiceRevision"); + + m_targetServiceRevisionHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ServiceDeploymentStatusMapper::GetServiceDeploymentStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("statusReason")) + { + m_statusReason = jsonValue.GetString("statusReason"); + + m_statusReasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("deploymentConfiguration")) + { + m_deploymentConfiguration = jsonValue.GetObject("deploymentConfiguration"); + + m_deploymentConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("rollback")) + { + m_rollback = jsonValue.GetObject("rollback"); + + m_rollbackHasBeenSet = true; + } + + if(jsonValue.ValueExists("deploymentCircuitBreaker")) + { + m_deploymentCircuitBreaker = jsonValue.GetObject("deploymentCircuitBreaker"); + + m_deploymentCircuitBreakerHasBeenSet = true; + } + + if(jsonValue.ValueExists("alarms")) + { + m_alarms = jsonValue.GetObject("alarms"); + + m_alarmsHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceDeployment::Jsonize() const +{ + JsonValue payload; + + if(m_serviceDeploymentArnHasBeenSet) + { + payload.WithString("serviceDeploymentArn", m_serviceDeploymentArn); + + } + + if(m_serviceArnHasBeenSet) + { + payload.WithString("serviceArn", m_serviceArn); + + } + + if(m_clusterArnHasBeenSet) + { + payload.WithString("clusterArn", m_clusterArn); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_startedAtHasBeenSet) + { + payload.WithDouble("startedAt", m_startedAt.SecondsWithMSPrecision()); + } + + if(m_finishedAtHasBeenSet) + { + payload.WithDouble("finishedAt", m_finishedAt.SecondsWithMSPrecision()); + } + + if(m_stoppedAtHasBeenSet) + { + payload.WithDouble("stoppedAt", m_stoppedAt.SecondsWithMSPrecision()); + } + + if(m_updatedAtHasBeenSet) + { + payload.WithDouble("updatedAt", m_updatedAt.SecondsWithMSPrecision()); + } + + if(m_sourceServiceRevisionsHasBeenSet) + { + Aws::Utils::Array sourceServiceRevisionsJsonList(m_sourceServiceRevisions.size()); + for(unsigned sourceServiceRevisionsIndex = 0; sourceServiceRevisionsIndex < sourceServiceRevisionsJsonList.GetLength(); ++sourceServiceRevisionsIndex) + { + sourceServiceRevisionsJsonList[sourceServiceRevisionsIndex].AsObject(m_sourceServiceRevisions[sourceServiceRevisionsIndex].Jsonize()); + } + payload.WithArray("sourceServiceRevisions", std::move(sourceServiceRevisionsJsonList)); + + } + + if(m_targetServiceRevisionHasBeenSet) + { + payload.WithObject("targetServiceRevision", m_targetServiceRevision.Jsonize()); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ServiceDeploymentStatusMapper::GetNameForServiceDeploymentStatus(m_status)); + } + + if(m_statusReasonHasBeenSet) + { + payload.WithString("statusReason", m_statusReason); + + } + + if(m_deploymentConfigurationHasBeenSet) + { + payload.WithObject("deploymentConfiguration", m_deploymentConfiguration.Jsonize()); + + } + + if(m_rollbackHasBeenSet) + { + payload.WithObject("rollback", m_rollback.Jsonize()); + + } + + if(m_deploymentCircuitBreakerHasBeenSet) + { + payload.WithObject("deploymentCircuitBreaker", m_deploymentCircuitBreaker.Jsonize()); + + } + + if(m_alarmsHasBeenSet) + { + payload.WithObject("alarms", m_alarms.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentAlarms.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentAlarms.cpp new file mode 100644 index 00000000000..a6a23fd23ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentAlarms.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +ServiceDeploymentAlarms::ServiceDeploymentAlarms() : + m_status(ServiceDeploymentRollbackMonitorsStatus::NOT_SET), + m_statusHasBeenSet(false), + m_alarmNamesHasBeenSet(false), + m_triggeredAlarmNamesHasBeenSet(false) +{ +} + +ServiceDeploymentAlarms::ServiceDeploymentAlarms(JsonView jsonValue) + : ServiceDeploymentAlarms() +{ + *this = jsonValue; +} + +ServiceDeploymentAlarms& ServiceDeploymentAlarms::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("status")) + { + m_status = ServiceDeploymentRollbackMonitorsStatusMapper::GetServiceDeploymentRollbackMonitorsStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("alarmNames")) + { + Aws::Utils::Array alarmNamesJsonList = jsonValue.GetArray("alarmNames"); + for(unsigned alarmNamesIndex = 0; alarmNamesIndex < alarmNamesJsonList.GetLength(); ++alarmNamesIndex) + { + m_alarmNames.push_back(alarmNamesJsonList[alarmNamesIndex].AsString()); + } + m_alarmNamesHasBeenSet = true; + } + + if(jsonValue.ValueExists("triggeredAlarmNames")) + { + Aws::Utils::Array triggeredAlarmNamesJsonList = jsonValue.GetArray("triggeredAlarmNames"); + for(unsigned triggeredAlarmNamesIndex = 0; triggeredAlarmNamesIndex < triggeredAlarmNamesJsonList.GetLength(); ++triggeredAlarmNamesIndex) + { + m_triggeredAlarmNames.push_back(triggeredAlarmNamesJsonList[triggeredAlarmNamesIndex].AsString()); + } + m_triggeredAlarmNamesHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceDeploymentAlarms::Jsonize() const +{ + JsonValue payload; + + if(m_statusHasBeenSet) + { + payload.WithString("status", ServiceDeploymentRollbackMonitorsStatusMapper::GetNameForServiceDeploymentRollbackMonitorsStatus(m_status)); + } + + if(m_alarmNamesHasBeenSet) + { + Aws::Utils::Array alarmNamesJsonList(m_alarmNames.size()); + for(unsigned alarmNamesIndex = 0; alarmNamesIndex < alarmNamesJsonList.GetLength(); ++alarmNamesIndex) + { + alarmNamesJsonList[alarmNamesIndex].AsString(m_alarmNames[alarmNamesIndex]); + } + payload.WithArray("alarmNames", std::move(alarmNamesJsonList)); + + } + + if(m_triggeredAlarmNamesHasBeenSet) + { + Aws::Utils::Array triggeredAlarmNamesJsonList(m_triggeredAlarmNames.size()); + for(unsigned triggeredAlarmNamesIndex = 0; triggeredAlarmNamesIndex < triggeredAlarmNamesJsonList.GetLength(); ++triggeredAlarmNamesIndex) + { + triggeredAlarmNamesJsonList[triggeredAlarmNamesIndex].AsString(m_triggeredAlarmNames[triggeredAlarmNamesIndex]); + } + payload.WithArray("triggeredAlarmNames", std::move(triggeredAlarmNamesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentBrief.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentBrief.cpp new file mode 100644 index 00000000000..526b4daf245 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentBrief.cpp @@ -0,0 +1,168 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +ServiceDeploymentBrief::ServiceDeploymentBrief() : + m_serviceDeploymentArnHasBeenSet(false), + m_serviceArnHasBeenSet(false), + m_clusterArnHasBeenSet(false), + m_startedAtHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_finishedAtHasBeenSet(false), + m_targetServiceRevisionArnHasBeenSet(false), + m_status(ServiceDeploymentStatus::NOT_SET), + m_statusHasBeenSet(false), + m_statusReasonHasBeenSet(false) +{ +} + +ServiceDeploymentBrief::ServiceDeploymentBrief(JsonView jsonValue) + : ServiceDeploymentBrief() +{ + *this = jsonValue; +} + +ServiceDeploymentBrief& ServiceDeploymentBrief::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("serviceDeploymentArn")) + { + m_serviceDeploymentArn = jsonValue.GetString("serviceDeploymentArn"); + + m_serviceDeploymentArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceArn")) + { + m_serviceArn = jsonValue.GetString("serviceArn"); + + m_serviceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("clusterArn")) + { + m_clusterArn = jsonValue.GetString("clusterArn"); + + m_clusterArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("startedAt")) + { + m_startedAt = jsonValue.GetDouble("startedAt"); + + m_startedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("finishedAt")) + { + m_finishedAt = jsonValue.GetDouble("finishedAt"); + + m_finishedAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("targetServiceRevisionArn")) + { + m_targetServiceRevisionArn = jsonValue.GetString("targetServiceRevisionArn"); + + m_targetServiceRevisionArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ServiceDeploymentStatusMapper::GetServiceDeploymentStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("statusReason")) + { + m_statusReason = jsonValue.GetString("statusReason"); + + m_statusReasonHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceDeploymentBrief::Jsonize() const +{ + JsonValue payload; + + if(m_serviceDeploymentArnHasBeenSet) + { + payload.WithString("serviceDeploymentArn", m_serviceDeploymentArn); + + } + + if(m_serviceArnHasBeenSet) + { + payload.WithString("serviceArn", m_serviceArn); + + } + + if(m_clusterArnHasBeenSet) + { + payload.WithString("clusterArn", m_clusterArn); + + } + + if(m_startedAtHasBeenSet) + { + payload.WithDouble("startedAt", m_startedAt.SecondsWithMSPrecision()); + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_finishedAtHasBeenSet) + { + payload.WithDouble("finishedAt", m_finishedAt.SecondsWithMSPrecision()); + } + + if(m_targetServiceRevisionArnHasBeenSet) + { + payload.WithString("targetServiceRevisionArn", m_targetServiceRevisionArn); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ServiceDeploymentStatusMapper::GetNameForServiceDeploymentStatus(m_status)); + } + + if(m_statusReasonHasBeenSet) + { + payload.WithString("statusReason", m_statusReason); + + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentCircuitBreaker.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentCircuitBreaker.cpp new file mode 100644 index 00000000000..56eeb43b2af --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentCircuitBreaker.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +ServiceDeploymentCircuitBreaker::ServiceDeploymentCircuitBreaker() : + m_status(ServiceDeploymentRollbackMonitorsStatus::NOT_SET), + m_statusHasBeenSet(false), + m_failureCount(0), + m_failureCountHasBeenSet(false), + m_threshold(0), + m_thresholdHasBeenSet(false) +{ +} + +ServiceDeploymentCircuitBreaker::ServiceDeploymentCircuitBreaker(JsonView jsonValue) + : ServiceDeploymentCircuitBreaker() +{ + *this = jsonValue; +} + +ServiceDeploymentCircuitBreaker& ServiceDeploymentCircuitBreaker::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("status")) + { + m_status = ServiceDeploymentRollbackMonitorsStatusMapper::GetServiceDeploymentRollbackMonitorsStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("failureCount")) + { + m_failureCount = jsonValue.GetInteger("failureCount"); + + m_failureCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("threshold")) + { + m_threshold = jsonValue.GetInteger("threshold"); + + m_thresholdHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceDeploymentCircuitBreaker::Jsonize() const +{ + JsonValue payload; + + if(m_statusHasBeenSet) + { + payload.WithString("status", ServiceDeploymentRollbackMonitorsStatusMapper::GetNameForServiceDeploymentRollbackMonitorsStatus(m_status)); + } + + if(m_failureCountHasBeenSet) + { + payload.WithInteger("failureCount", m_failureCount); + + } + + if(m_thresholdHasBeenSet) + { + payload.WithInteger("threshold", m_threshold); + + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentRollbackMonitorsStatus.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentRollbackMonitorsStatus.cpp new file mode 100644 index 00000000000..b21f962cc5c --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentRollbackMonitorsStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace ECS + { + namespace Model + { + namespace ServiceDeploymentRollbackMonitorsStatusMapper + { + + static const int TRIGGERED_HASH = HashingUtils::HashString("TRIGGERED"); + static const int MONITORING_HASH = HashingUtils::HashString("MONITORING"); + static const int MONITORING_COMPLETE_HASH = HashingUtils::HashString("MONITORING_COMPLETE"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + ServiceDeploymentRollbackMonitorsStatus GetServiceDeploymentRollbackMonitorsStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TRIGGERED_HASH) + { + return ServiceDeploymentRollbackMonitorsStatus::TRIGGERED; + } + else if (hashCode == MONITORING_HASH) + { + return ServiceDeploymentRollbackMonitorsStatus::MONITORING; + } + else if (hashCode == MONITORING_COMPLETE_HASH) + { + return ServiceDeploymentRollbackMonitorsStatus::MONITORING_COMPLETE; + } + else if (hashCode == DISABLED_HASH) + { + return ServiceDeploymentRollbackMonitorsStatus::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ServiceDeploymentRollbackMonitorsStatus::NOT_SET; + } + + Aws::String GetNameForServiceDeploymentRollbackMonitorsStatus(ServiceDeploymentRollbackMonitorsStatus enumValue) + { + switch(enumValue) + { + case ServiceDeploymentRollbackMonitorsStatus::NOT_SET: + return {}; + case ServiceDeploymentRollbackMonitorsStatus::TRIGGERED: + return "TRIGGERED"; + case ServiceDeploymentRollbackMonitorsStatus::MONITORING: + return "MONITORING"; + case ServiceDeploymentRollbackMonitorsStatus::MONITORING_COMPLETE: + return "MONITORING_COMPLETE"; + case ServiceDeploymentRollbackMonitorsStatus::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ServiceDeploymentRollbackMonitorsStatusMapper + } // namespace Model + } // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentStatus.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentStatus.cpp new file mode 100644 index 00000000000..d11e8b37768 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceDeploymentStatus.cpp @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace ECS + { + namespace Model + { + namespace ServiceDeploymentStatusMapper + { + + static const int PENDING_HASH = HashingUtils::HashString("PENDING"); + static const int SUCCESSFUL_HASH = HashingUtils::HashString("SUCCESSFUL"); + static const int STOPPED_HASH = HashingUtils::HashString("STOPPED"); + static const int STOP_REQUESTED_HASH = HashingUtils::HashString("STOP_REQUESTED"); + static const int IN_PROGRESS_HASH = HashingUtils::HashString("IN_PROGRESS"); + static const int ROLLBACK_IN_PROGRESS_HASH = HashingUtils::HashString("ROLLBACK_IN_PROGRESS"); + static const int ROLLBACK_SUCCESSFUL_HASH = HashingUtils::HashString("ROLLBACK_SUCCESSFUL"); + static const int ROLLBACK_FAILED_HASH = HashingUtils::HashString("ROLLBACK_FAILED"); + + + ServiceDeploymentStatus GetServiceDeploymentStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == PENDING_HASH) + { + return ServiceDeploymentStatus::PENDING; + } + else if (hashCode == SUCCESSFUL_HASH) + { + return ServiceDeploymentStatus::SUCCESSFUL; + } + else if (hashCode == STOPPED_HASH) + { + return ServiceDeploymentStatus::STOPPED; + } + else if (hashCode == STOP_REQUESTED_HASH) + { + return ServiceDeploymentStatus::STOP_REQUESTED; + } + else if (hashCode == IN_PROGRESS_HASH) + { + return ServiceDeploymentStatus::IN_PROGRESS; + } + else if (hashCode == ROLLBACK_IN_PROGRESS_HASH) + { + return ServiceDeploymentStatus::ROLLBACK_IN_PROGRESS; + } + else if (hashCode == ROLLBACK_SUCCESSFUL_HASH) + { + return ServiceDeploymentStatus::ROLLBACK_SUCCESSFUL; + } + else if (hashCode == ROLLBACK_FAILED_HASH) + { + return ServiceDeploymentStatus::ROLLBACK_FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ServiceDeploymentStatus::NOT_SET; + } + + Aws::String GetNameForServiceDeploymentStatus(ServiceDeploymentStatus enumValue) + { + switch(enumValue) + { + case ServiceDeploymentStatus::NOT_SET: + return {}; + case ServiceDeploymentStatus::PENDING: + return "PENDING"; + case ServiceDeploymentStatus::SUCCESSFUL: + return "SUCCESSFUL"; + case ServiceDeploymentStatus::STOPPED: + return "STOPPED"; + case ServiceDeploymentStatus::STOP_REQUESTED: + return "STOP_REQUESTED"; + case ServiceDeploymentStatus::IN_PROGRESS: + return "IN_PROGRESS"; + case ServiceDeploymentStatus::ROLLBACK_IN_PROGRESS: + return "ROLLBACK_IN_PROGRESS"; + case ServiceDeploymentStatus::ROLLBACK_SUCCESSFUL: + return "ROLLBACK_SUCCESSFUL"; + case ServiceDeploymentStatus::ROLLBACK_FAILED: + return "ROLLBACK_FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ServiceDeploymentStatusMapper + } // namespace Model + } // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ServiceRevision.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceRevision.cpp new file mode 100644 index 00000000000..1c77809a531 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceRevision.cpp @@ -0,0 +1,323 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +ServiceRevision::ServiceRevision() : + m_serviceRevisionArnHasBeenSet(false), + m_serviceArnHasBeenSet(false), + m_clusterArnHasBeenSet(false), + m_taskDefinitionHasBeenSet(false), + m_capacityProviderStrategyHasBeenSet(false), + m_launchType(LaunchType::NOT_SET), + m_launchTypeHasBeenSet(false), + m_platformVersionHasBeenSet(false), + m_platformFamilyHasBeenSet(false), + m_loadBalancersHasBeenSet(false), + m_serviceRegistriesHasBeenSet(false), + m_networkConfigurationHasBeenSet(false), + m_containerImagesHasBeenSet(false), + m_guardDutyEnabled(false), + m_guardDutyEnabledHasBeenSet(false), + m_serviceConnectConfigurationHasBeenSet(false), + m_volumeConfigurationsHasBeenSet(false), + m_fargateEphemeralStorageHasBeenSet(false), + m_createdAtHasBeenSet(false) +{ +} + +ServiceRevision::ServiceRevision(JsonView jsonValue) + : ServiceRevision() +{ + *this = jsonValue; +} + +ServiceRevision& ServiceRevision::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("serviceRevisionArn")) + { + m_serviceRevisionArn = jsonValue.GetString("serviceRevisionArn"); + + m_serviceRevisionArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceArn")) + { + m_serviceArn = jsonValue.GetString("serviceArn"); + + m_serviceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("clusterArn")) + { + m_clusterArn = jsonValue.GetString("clusterArn"); + + m_clusterArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("taskDefinition")) + { + m_taskDefinition = jsonValue.GetString("taskDefinition"); + + m_taskDefinitionHasBeenSet = true; + } + + if(jsonValue.ValueExists("capacityProviderStrategy")) + { + Aws::Utils::Array capacityProviderStrategyJsonList = jsonValue.GetArray("capacityProviderStrategy"); + for(unsigned capacityProviderStrategyIndex = 0; capacityProviderStrategyIndex < capacityProviderStrategyJsonList.GetLength(); ++capacityProviderStrategyIndex) + { + m_capacityProviderStrategy.push_back(capacityProviderStrategyJsonList[capacityProviderStrategyIndex].AsObject()); + } + m_capacityProviderStrategyHasBeenSet = true; + } + + if(jsonValue.ValueExists("launchType")) + { + m_launchType = LaunchTypeMapper::GetLaunchTypeForName(jsonValue.GetString("launchType")); + + m_launchTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("platformVersion")) + { + m_platformVersion = jsonValue.GetString("platformVersion"); + + m_platformVersionHasBeenSet = true; + } + + if(jsonValue.ValueExists("platformFamily")) + { + m_platformFamily = jsonValue.GetString("platformFamily"); + + m_platformFamilyHasBeenSet = true; + } + + if(jsonValue.ValueExists("loadBalancers")) + { + Aws::Utils::Array loadBalancersJsonList = jsonValue.GetArray("loadBalancers"); + for(unsigned loadBalancersIndex = 0; loadBalancersIndex < loadBalancersJsonList.GetLength(); ++loadBalancersIndex) + { + m_loadBalancers.push_back(loadBalancersJsonList[loadBalancersIndex].AsObject()); + } + m_loadBalancersHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceRegistries")) + { + Aws::Utils::Array serviceRegistriesJsonList = jsonValue.GetArray("serviceRegistries"); + for(unsigned serviceRegistriesIndex = 0; serviceRegistriesIndex < serviceRegistriesJsonList.GetLength(); ++serviceRegistriesIndex) + { + m_serviceRegistries.push_back(serviceRegistriesJsonList[serviceRegistriesIndex].AsObject()); + } + m_serviceRegistriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("networkConfiguration")) + { + m_networkConfiguration = jsonValue.GetObject("networkConfiguration"); + + m_networkConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("containerImages")) + { + Aws::Utils::Array containerImagesJsonList = jsonValue.GetArray("containerImages"); + for(unsigned containerImagesIndex = 0; containerImagesIndex < containerImagesJsonList.GetLength(); ++containerImagesIndex) + { + m_containerImages.push_back(containerImagesJsonList[containerImagesIndex].AsObject()); + } + m_containerImagesHasBeenSet = true; + } + + if(jsonValue.ValueExists("guardDutyEnabled")) + { + m_guardDutyEnabled = jsonValue.GetBool("guardDutyEnabled"); + + m_guardDutyEnabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("serviceConnectConfiguration")) + { + m_serviceConnectConfiguration = jsonValue.GetObject("serviceConnectConfiguration"); + + m_serviceConnectConfigurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("volumeConfigurations")) + { + Aws::Utils::Array volumeConfigurationsJsonList = jsonValue.GetArray("volumeConfigurations"); + for(unsigned volumeConfigurationsIndex = 0; volumeConfigurationsIndex < volumeConfigurationsJsonList.GetLength(); ++volumeConfigurationsIndex) + { + m_volumeConfigurations.push_back(volumeConfigurationsJsonList[volumeConfigurationsIndex].AsObject()); + } + m_volumeConfigurationsHasBeenSet = true; + } + + if(jsonValue.ValueExists("fargateEphemeralStorage")) + { + m_fargateEphemeralStorage = jsonValue.GetObject("fargateEphemeralStorage"); + + m_fargateEphemeralStorageHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceRevision::Jsonize() const +{ + JsonValue payload; + + if(m_serviceRevisionArnHasBeenSet) + { + payload.WithString("serviceRevisionArn", m_serviceRevisionArn); + + } + + if(m_serviceArnHasBeenSet) + { + payload.WithString("serviceArn", m_serviceArn); + + } + + if(m_clusterArnHasBeenSet) + { + payload.WithString("clusterArn", m_clusterArn); + + } + + if(m_taskDefinitionHasBeenSet) + { + payload.WithString("taskDefinition", m_taskDefinition); + + } + + if(m_capacityProviderStrategyHasBeenSet) + { + Aws::Utils::Array capacityProviderStrategyJsonList(m_capacityProviderStrategy.size()); + for(unsigned capacityProviderStrategyIndex = 0; capacityProviderStrategyIndex < capacityProviderStrategyJsonList.GetLength(); ++capacityProviderStrategyIndex) + { + capacityProviderStrategyJsonList[capacityProviderStrategyIndex].AsObject(m_capacityProviderStrategy[capacityProviderStrategyIndex].Jsonize()); + } + payload.WithArray("capacityProviderStrategy", std::move(capacityProviderStrategyJsonList)); + + } + + if(m_launchTypeHasBeenSet) + { + payload.WithString("launchType", LaunchTypeMapper::GetNameForLaunchType(m_launchType)); + } + + if(m_platformVersionHasBeenSet) + { + payload.WithString("platformVersion", m_platformVersion); + + } + + if(m_platformFamilyHasBeenSet) + { + payload.WithString("platformFamily", m_platformFamily); + + } + + if(m_loadBalancersHasBeenSet) + { + Aws::Utils::Array loadBalancersJsonList(m_loadBalancers.size()); + for(unsigned loadBalancersIndex = 0; loadBalancersIndex < loadBalancersJsonList.GetLength(); ++loadBalancersIndex) + { + loadBalancersJsonList[loadBalancersIndex].AsObject(m_loadBalancers[loadBalancersIndex].Jsonize()); + } + payload.WithArray("loadBalancers", std::move(loadBalancersJsonList)); + + } + + if(m_serviceRegistriesHasBeenSet) + { + Aws::Utils::Array serviceRegistriesJsonList(m_serviceRegistries.size()); + for(unsigned serviceRegistriesIndex = 0; serviceRegistriesIndex < serviceRegistriesJsonList.GetLength(); ++serviceRegistriesIndex) + { + serviceRegistriesJsonList[serviceRegistriesIndex].AsObject(m_serviceRegistries[serviceRegistriesIndex].Jsonize()); + } + payload.WithArray("serviceRegistries", std::move(serviceRegistriesJsonList)); + + } + + if(m_networkConfigurationHasBeenSet) + { + payload.WithObject("networkConfiguration", m_networkConfiguration.Jsonize()); + + } + + if(m_containerImagesHasBeenSet) + { + Aws::Utils::Array containerImagesJsonList(m_containerImages.size()); + for(unsigned containerImagesIndex = 0; containerImagesIndex < containerImagesJsonList.GetLength(); ++containerImagesIndex) + { + containerImagesJsonList[containerImagesIndex].AsObject(m_containerImages[containerImagesIndex].Jsonize()); + } + payload.WithArray("containerImages", std::move(containerImagesJsonList)); + + } + + if(m_guardDutyEnabledHasBeenSet) + { + payload.WithBool("guardDutyEnabled", m_guardDutyEnabled); + + } + + if(m_serviceConnectConfigurationHasBeenSet) + { + payload.WithObject("serviceConnectConfiguration", m_serviceConnectConfiguration.Jsonize()); + + } + + if(m_volumeConfigurationsHasBeenSet) + { + Aws::Utils::Array volumeConfigurationsJsonList(m_volumeConfigurations.size()); + for(unsigned volumeConfigurationsIndex = 0; volumeConfigurationsIndex < volumeConfigurationsJsonList.GetLength(); ++volumeConfigurationsIndex) + { + volumeConfigurationsJsonList[volumeConfigurationsIndex].AsObject(m_volumeConfigurations[volumeConfigurationsIndex].Jsonize()); + } + payload.WithArray("volumeConfigurations", std::move(volumeConfigurationsJsonList)); + + } + + if(m_fargateEphemeralStorageHasBeenSet) + { + payload.WithObject("fargateEphemeralStorage", m_fargateEphemeralStorage.Jsonize()); + + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/model/ServiceRevisionSummary.cpp b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceRevisionSummary.cpp new file mode 100644 index 00000000000..30daca24032 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/model/ServiceRevisionSummary.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace ECS +{ +namespace Model +{ + +ServiceRevisionSummary::ServiceRevisionSummary() : + m_arnHasBeenSet(false), + m_requestedTaskCount(0), + m_requestedTaskCountHasBeenSet(false), + m_runningTaskCount(0), + m_runningTaskCountHasBeenSet(false), + m_pendingTaskCount(0), + m_pendingTaskCountHasBeenSet(false) +{ +} + +ServiceRevisionSummary::ServiceRevisionSummary(JsonView jsonValue) + : ServiceRevisionSummary() +{ + *this = jsonValue; +} + +ServiceRevisionSummary& ServiceRevisionSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("requestedTaskCount")) + { + m_requestedTaskCount = jsonValue.GetInteger("requestedTaskCount"); + + m_requestedTaskCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("runningTaskCount")) + { + m_runningTaskCount = jsonValue.GetInteger("runningTaskCount"); + + m_runningTaskCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("pendingTaskCount")) + { + m_pendingTaskCount = jsonValue.GetInteger("pendingTaskCount"); + + m_pendingTaskCountHasBeenSet = true; + } + + return *this; +} + +JsonValue ServiceRevisionSummary::Jsonize() const +{ + JsonValue payload; + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_requestedTaskCountHasBeenSet) + { + payload.WithInteger("requestedTaskCount", m_requestedTaskCount); + + } + + if(m_runningTaskCountHasBeenSet) + { + payload.WithInteger("runningTaskCount", m_runningTaskCount); + + } + + if(m_pendingTaskCountHasBeenSet) + { + payload.WithInteger("pendingTaskCount", m_pendingTaskCount); + + } + + return payload; +} + +} // namespace Model +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/CMakeLists.txt b/generated/src/aws-cpp-sdk-geo-maps/CMakeLists.txt new file mode 100644 index 00000000000..af806d9dffe --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-geo-maps "C++ SDK for the AWS geo-maps service" aws-cpp-sdk-core) + +file(GLOB AWS_GEO-MAPS_HEADERS + "include/aws/geo-maps/*.h" +) + +file(GLOB AWS_GEO-MAPS_MODEL_HEADERS + "include/aws/geo-maps/model/*.h" +) + +file(GLOB AWS_GEO-MAPS_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_GEO-MAPS_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB GEO-MAPS_UNIFIED_HEADERS + ${AWS_GEO-MAPS_HEADERS} + ${AWS_GEO-MAPS_MODEL_HEADERS} +) + +file(GLOB GEO-MAPS_UNITY_SRC + ${AWS_GEO-MAPS_SOURCE} + ${AWS_GEO-MAPS_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("GEO-MAPS" GEO-MAPS_UNITY_SRC) +endif() + +file(GLOB GEO-MAPS_SRC + ${GEO-MAPS_UNIFIED_HEADERS} + ${GEO-MAPS_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\geo-maps" FILES ${AWS_GEO-MAPS_HEADERS}) + source_group("Header Files\\aws\\geo-maps\\model" FILES ${AWS_GEO-MAPS_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_GEO-MAPS_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_GEO-MAPS_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(GEO-MAPS_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${GEO-MAPS_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_GEOMAPS_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_GEO-MAPS_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/geo-maps) +install (FILES ${AWS_GEO-MAPS_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/geo-maps/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsClient.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsClient.h new file mode 100644 index 00000000000..2b0a48285aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsClient.h @@ -0,0 +1,231 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ + /** + *

                Integrate high-quality base map data into your applications using MapLibre. Capabilities include:

                • + *

                  Access to comprehensive base map data, allowing you to tailor the map display + * to your specific needs.

                • Multiple pre-designed map styles + * suited for various application types, such as navigation, logistics, or data + * visualization.

                • Generation of static map images for scenarios + * where interactive maps aren't suitable, such as:

                  • Embedding in + * emails or documents

                  • Displaying in low-bandwidth + * environments

                  • Creating printable maps

                  • + *

                    Enhancing application performance by reducing client-side rendering

                  • + *
                + */ + class AWS_GEOMAPS_API GeoMapsClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef GeoMapsClientConfiguration ClientConfigurationType; + typedef GeoMapsEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoMapsClient(const Aws::GeoMaps::GeoMapsClientConfiguration& clientConfiguration = Aws::GeoMaps::GeoMapsClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoMapsClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::GeoMaps::GeoMapsClientConfiguration& clientConfiguration = Aws::GeoMaps::GeoMapsClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + GeoMapsClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::GeoMaps::GeoMapsClientConfiguration& clientConfiguration = Aws::GeoMaps::GeoMapsClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoMapsClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoMapsClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + GeoMapsClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~GeoMapsClient(); + + /** + *

                Returns the map's glyphs.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::GetGlyphsOutcome GetGlyphs(const Model::GetGlyphsRequest& request) const; + + /** + * A Callable wrapper for GetGlyphs that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetGlyphsOutcomeCallable GetGlyphsCallable(const GetGlyphsRequestT& request) const + { + return SubmitCallable(&GeoMapsClient::GetGlyphs, request); + } + + /** + * An Async wrapper for GetGlyphs that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetGlyphsAsync(const GetGlyphsRequestT& request, const GetGlyphsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoMapsClient::GetGlyphs, request, handler, context); + } + + /** + *

                Returns the map's sprites.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::GetSpritesOutcome GetSprites(const Model::GetSpritesRequest& request) const; + + /** + * A Callable wrapper for GetSprites that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetSpritesOutcomeCallable GetSpritesCallable(const GetSpritesRequestT& request) const + { + return SubmitCallable(&GeoMapsClient::GetSprites, request); + } + + /** + * An Async wrapper for GetSprites that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetSpritesAsync(const GetSpritesRequestT& request, const GetSpritesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoMapsClient::GetSprites, request, handler, context); + } + + /** + *

                Provides high-quality static map images with customizable options. You can + * modify the map's appearance and overlay additional information. It's an ideal + * solution for applications requiring tailored static map snapshots.

                See + * Also:

                AWS + * API Reference

                + */ + virtual Model::GetStaticMapOutcome GetStaticMap(const Model::GetStaticMapRequest& request) const; + + /** + * A Callable wrapper for GetStaticMap that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetStaticMapOutcomeCallable GetStaticMapCallable(const GetStaticMapRequestT& request) const + { + return SubmitCallable(&GeoMapsClient::GetStaticMap, request); + } + + /** + * An Async wrapper for GetStaticMap that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetStaticMapAsync(const GetStaticMapRequestT& request, const GetStaticMapResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoMapsClient::GetStaticMap, request, handler, context); + } + + /** + *

                Returns information about the style.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::GetStyleDescriptorOutcome GetStyleDescriptor(const Model::GetStyleDescriptorRequest& request) const; + + /** + * A Callable wrapper for GetStyleDescriptor that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetStyleDescriptorOutcomeCallable GetStyleDescriptorCallable(const GetStyleDescriptorRequestT& request) const + { + return SubmitCallable(&GeoMapsClient::GetStyleDescriptor, request); + } + + /** + * An Async wrapper for GetStyleDescriptor that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetStyleDescriptorAsync(const GetStyleDescriptorRequestT& request, const GetStyleDescriptorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoMapsClient::GetStyleDescriptor, request, handler, context); + } + + /** + *

                Returns a tile. Map tiles are used by clients to render a map. they're + * addressed using a grid arrangement with an X coordinate, Y coordinate, and Z + * (zoom) level.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::GetTileOutcome GetTile(const Model::GetTileRequest& request) const; + + /** + * A Callable wrapper for GetTile that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetTileOutcomeCallable GetTileCallable(const GetTileRequestT& request) const + { + return SubmitCallable(&GeoMapsClient::GetTile, request); + } + + /** + * An Async wrapper for GetTile that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetTileAsync(const GetTileRequestT& request, const GetTileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoMapsClient::GetTile, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const GeoMapsClientConfiguration& clientConfiguration); + + GeoMapsClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsEndpointProvider.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsEndpointProvider.h new file mode 100644 index 00000000000..06072a927d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace GeoMaps +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using GeoMapsClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using GeoMapsClientConfiguration = Aws::Client::GenericClientConfiguration; +using GeoMapsBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the GeoMaps 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 GeoMapsEndpointProviderBase = + EndpointProviderBase; + +using GeoMapsDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_GEOMAPS_API GeoMapsEndpointProvider : public GeoMapsDefaultEpProviderBase +{ +public: + using GeoMapsResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + GeoMapsEndpointProvider() + : GeoMapsDefaultEpProviderBase(Aws::GeoMaps::GeoMapsEndpointRules::GetRulesBlob(), Aws::GeoMaps::GeoMapsEndpointRules::RulesBlobSize) + {} + + ~GeoMapsEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsEndpointRules.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsEndpointRules.h new file mode 100644 index 00000000000..c87c80e26e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ +class GeoMapsEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsErrorMarshaller.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsErrorMarshaller.h new file mode 100644 index 00000000000..92f6a810583 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_GEOMAPS_API GeoMapsErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsErrors.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsErrors.h new file mode 100644 index 00000000000..128f525e695 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsErrors.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ +enum class GeoMapsErrors +{ + //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, + /////////////////////////////////////////////////////////////////////////////////////////// + + INTERNAL_SERVER= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1 +}; + +class AWS_GEOMAPS_API GeoMapsError : public Aws::Client::AWSError +{ +public: + GeoMapsError() {} + GeoMapsError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + GeoMapsError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + GeoMapsError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + GeoMapsError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace GeoMapsErrorMapper +{ + AWS_GEOMAPS_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsRequest.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsRequest.h new file mode 100644 index 00000000000..b78fdbdef2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ + class AWS_GEOMAPS_API GeoMapsRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~GeoMapsRequest () {} + + 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::API_VERSION_HEADER, "2020-11-19")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsServiceClientModel.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsServiceClientModel.h new file mode 100644 index 00000000000..b054805b034 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsServiceClientModel.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in GeoMapsClient header */ +#include +#include +#include +#include +#include +/* End of service model headers required in GeoMapsClient 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 GeoMaps + { + using GeoMapsClientConfiguration = Aws::Client::GenericClientConfiguration; + using GeoMapsEndpointProviderBase = Aws::GeoMaps::Endpoint::GeoMapsEndpointProviderBase; + using GeoMapsEndpointProvider = Aws::GeoMaps::Endpoint::GeoMapsEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in GeoMapsClient header */ + class GetGlyphsRequest; + class GetSpritesRequest; + class GetStaticMapRequest; + class GetStyleDescriptorRequest; + class GetTileRequest; + /* End of service model forward declarations required in GeoMapsClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome GetGlyphsOutcome; + typedef Aws::Utils::Outcome GetSpritesOutcome; + typedef Aws::Utils::Outcome GetStaticMapOutcome; + typedef Aws::Utils::Outcome GetStyleDescriptorOutcome; + typedef Aws::Utils::Outcome GetTileOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future GetGlyphsOutcomeCallable; + typedef std::future GetSpritesOutcomeCallable; + typedef std::future GetStaticMapOutcomeCallable; + typedef std::future GetStyleDescriptorOutcomeCallable; + typedef std::future GetTileOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class GeoMapsClient; + + /* Service model async handlers definitions */ + typedef std::function&) > GetGlyphsResponseReceivedHandler; + typedef std::function&) > GetSpritesResponseReceivedHandler; + typedef std::function&) > GetStaticMapResponseReceivedHandler; + typedef std::function&) > GetStyleDescriptorResponseReceivedHandler; + typedef std::function&) > GetTileResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMaps_EXPORTS.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMaps_EXPORTS.h new file mode 100644 index 00000000000..021a75cbbb6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMaps_EXPORTS.h @@ -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_GEOMAPS_EXPORTS + #define AWS_GEOMAPS_API __declspec(dllexport) + #else + #define AWS_GEOMAPS_API __declspec(dllimport) + #endif /* AWS_GEOMAPS_EXPORTS */ + #define AWS_GEOMAPS_EXTERN + #else + #define AWS_GEOMAPS_API + #define AWS_GEOMAPS_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_GEOMAPS_API + #define AWS_GEOMAPS_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ColorScheme.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ColorScheme.h new file mode 100644 index 00000000000..7870905153b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ColorScheme.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ +namespace Model +{ + enum class ColorScheme + { + NOT_SET, + Light, + Dark + }; + +namespace ColorSchemeMapper +{ +AWS_GEOMAPS_API ColorScheme GetColorSchemeForName(const Aws::String& name); + +AWS_GEOMAPS_API Aws::String GetNameForColorScheme(ColorScheme value); +} // namespace ColorSchemeMapper +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetGlyphsRequest.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetGlyphsRequest.h new file mode 100644 index 00000000000..6c14f256b61 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetGlyphsRequest.h @@ -0,0 +1,124 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ +namespace Model +{ + + /** + */ + class GetGlyphsRequest : public GeoMapsRequest + { + public: + AWS_GEOMAPS_API GetGlyphsRequest(); + + // 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 "GetGlyphs"; } + + AWS_GEOMAPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                Name of the FontStack to retrieve.

                Example: Amazon + * Ember Bold,Noto Sans Bold.

                The supported font stacks are as + * follows:

                • Amazon Ember Bold

                • Amazon Ember Bold + * Italic

                • Amazon Ember Bold,Noto Sans Bold

                • + *

                  Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold

                • + *

                  Amazon Ember Condensed RC BdItalic

                • Amazon Ember Condensed + * RC Bold

                • Amazon Ember Condensed RC Bold Italic

                • + *

                  Amazon Ember Condensed RC Bold,Noto Sans Bold

                • Amazon Ember + * Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold

                • + *

                  Amazon Ember Condensed RC Light

                • Amazon Ember Condensed RC + * Light Italic

                • Amazon Ember Condensed RC LtItalic

                • + *

                  Amazon Ember Condensed RC Regular

                • Amazon Ember Condensed RC + * Regular Italic

                • Amazon Ember Condensed RC Regular,Noto Sans + * Regular

                • Amazon Ember Condensed RC Regular,Noto Sans + * Regular,Noto Sans Arabic Condensed Regular

                • Amazon Ember + * Condensed RC RgItalic

                • Amazon Ember Condensed RC ThItalic

                  + *
                • Amazon Ember Condensed RC Thin

                • Amazon Ember + * Condensed RC Thin Italic

                • Amazon Ember Heavy

                • + *

                  Amazon Ember Heavy Italic

                • Amazon Ember Light

                • + *

                  Amazon Ember Light Italic

                • Amazon Ember Medium

                • + *
                • Amazon Ember Medium Italic

                • Amazon Ember Medium,Noto + * Sans Medium

                • Amazon Ember Medium,Noto Sans Medium,Noto Sans + * Arabic Medium

                • Amazon Ember Regular

                • Amazon + * Ember Regular Italic

                • Amazon Ember Regular Italic,Noto Sans + * Italic

                • Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans + * Arabic Regular

                • Amazon Ember Regular,Noto Sans Regular

                  + *
                • Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic + * Regular

                • Amazon Ember Thin

                • Amazon Ember Thin + * Italic

                • AmazonEmberCdRC_Bd

                • + *

                  AmazonEmberCdRC_BdIt

                • AmazonEmberCdRC_Lt

                • + *

                  AmazonEmberCdRC_LtIt

                • AmazonEmberCdRC_Rg

                • + *

                  AmazonEmberCdRC_RgIt

                • AmazonEmberCdRC_Th

                • + *

                  AmazonEmberCdRC_ThIt

                • AmazonEmber_Bd

                • + *

                  AmazonEmber_BdIt

                • AmazonEmber_He

                • + *

                  AmazonEmber_HeIt

                • AmazonEmber_Lt

                • + *

                  AmazonEmber_LtIt

                • AmazonEmber_Md

                • + *

                  AmazonEmber_MdIt

                • AmazonEmber_Rg

                • + *

                  AmazonEmber_RgIt

                • AmazonEmber_Th

                • + *

                  AmazonEmber_ThIt

                • Noto Sans Black

                • Noto + * Sans Black Italic

                • Noto Sans Bold

                • Noto Sans + * Bold Italic

                • Noto Sans Extra Bold

                • Noto Sans + * Extra Bold Italic

                • Noto Sans Extra Light

                • Noto + * Sans Extra Light Italic

                • Noto Sans Italic

                • + *

                  Noto Sans Light

                • Noto Sans Light Italic

                • + *

                  Noto Sans Medium

                • Noto Sans Medium Italic

                • + *

                  Noto Sans Regular

                • Noto Sans Semi Bold

                • + *

                  Noto Sans Semi Bold Italic

                • Noto Sans Thin

                • + *

                  Noto Sans Thin Italic

                • NotoSans-Bold

                • + *

                  NotoSans-Italic

                • NotoSans-Medium

                • + *

                  NotoSans-Regular

                • Open Sans Regular,Arial Unicode MS + * Regular

                + */ + inline const Aws::String& GetFontStack() const{ return m_fontStack; } + inline bool FontStackHasBeenSet() const { return m_fontStackHasBeenSet; } + inline void SetFontStack(const Aws::String& value) { m_fontStackHasBeenSet = true; m_fontStack = value; } + inline void SetFontStack(Aws::String&& value) { m_fontStackHasBeenSet = true; m_fontStack = std::move(value); } + inline void SetFontStack(const char* value) { m_fontStackHasBeenSet = true; m_fontStack.assign(value); } + inline GetGlyphsRequest& WithFontStack(const Aws::String& value) { SetFontStack(value); return *this;} + inline GetGlyphsRequest& WithFontStack(Aws::String&& value) { SetFontStack(std::move(value)); return *this;} + inline GetGlyphsRequest& WithFontStack(const char* value) { SetFontStack(value); return *this;} + ///@} + + ///@{ + /** + *

                A Unicode range of characters to download glyphs for. This must be aligned to + * multiples of 256.

                Example: 0-255.pdf

                + */ + inline const Aws::String& GetFontUnicodeRange() const{ return m_fontUnicodeRange; } + inline bool FontUnicodeRangeHasBeenSet() const { return m_fontUnicodeRangeHasBeenSet; } + inline void SetFontUnicodeRange(const Aws::String& value) { m_fontUnicodeRangeHasBeenSet = true; m_fontUnicodeRange = value; } + inline void SetFontUnicodeRange(Aws::String&& value) { m_fontUnicodeRangeHasBeenSet = true; m_fontUnicodeRange = std::move(value); } + inline void SetFontUnicodeRange(const char* value) { m_fontUnicodeRangeHasBeenSet = true; m_fontUnicodeRange.assign(value); } + inline GetGlyphsRequest& WithFontUnicodeRange(const Aws::String& value) { SetFontUnicodeRange(value); return *this;} + inline GetGlyphsRequest& WithFontUnicodeRange(Aws::String&& value) { SetFontUnicodeRange(std::move(value)); return *this;} + inline GetGlyphsRequest& WithFontUnicodeRange(const char* value) { SetFontUnicodeRange(value); return *this;} + ///@} + private: + + Aws::String m_fontStack; + bool m_fontStackHasBeenSet = false; + + Aws::String m_fontUnicodeRange; + bool m_fontUnicodeRangeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetGlyphsResult.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetGlyphsResult.h new file mode 100644 index 00000000000..b5c95d97aac --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetGlyphsResult.h @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace GeoMaps +{ +namespace Model +{ + class GetGlyphsResult + { + public: + AWS_GEOMAPS_API GetGlyphsResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_GEOMAPS_API GetGlyphsResult(GetGlyphsResult&&); + AWS_GEOMAPS_API GetGlyphsResult& operator=(GetGlyphsResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + GetGlyphsResult(const GetGlyphsResult&) = delete; + GetGlyphsResult& operator=(const GetGlyphsResult&) = delete; + + + AWS_GEOMAPS_API GetGlyphsResult(Aws::AmazonWebServiceResult&& result); + AWS_GEOMAPS_API GetGlyphsResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + /** + *

                The Glyph, as a binary blob.

                + */ + inline Aws::IOStream& GetBlob() const { return m_blob.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_blob = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + /** + *

                Header that represents the format of the response. The response returns the + * following as the HTTP body.

                + */ + 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 GetGlyphsResult& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} + inline GetGlyphsResult& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} + inline GetGlyphsResult& WithContentType(const char* value) { SetContentType(value); return *this;} + ///@} + + ///@{ + /** + *

                Header that instructs caching configuration for the client.

                + */ + inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } + inline void SetCacheControl(const Aws::String& value) { m_cacheControl = value; } + inline void SetCacheControl(Aws::String&& value) { m_cacheControl = std::move(value); } + inline void SetCacheControl(const char* value) { m_cacheControl.assign(value); } + inline GetGlyphsResult& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} + inline GetGlyphsResult& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} + inline GetGlyphsResult& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} + ///@} + + ///@{ + /** + *

                The glyph's Etag.

                + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + inline void SetETag(const Aws::String& value) { m_eTag = value; } + inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } + inline void SetETag(const char* value) { m_eTag.assign(value); } + inline GetGlyphsResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + inline GetGlyphsResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + inline GetGlyphsResult& WithETag(const char* value) { SetETag(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 GetGlyphsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetGlyphsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetGlyphsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Stream::ResponseStream m_blob; + + Aws::String m_contentType; + + Aws::String m_cacheControl; + + Aws::String m_eTag; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetSpritesRequest.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetSpritesRequest.h new file mode 100644 index 00000000000..7dac4c52c13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetSpritesRequest.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ +namespace Model +{ + + /** + */ + class GetSpritesRequest : public GeoMapsRequest + { + public: + AWS_GEOMAPS_API GetSpritesRequest(); + + // 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 "GetSprites"; } + + AWS_GEOMAPS_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                Sprites API: The name of the sprite file to retrieve, following + * pattern sprites(@2x)?\.(png|json).

                Example: + * sprites.png

                + */ + inline const Aws::String& GetFileName() const{ return m_fileName; } + inline bool FileNameHasBeenSet() const { return m_fileNameHasBeenSet; } + inline void SetFileName(const Aws::String& value) { m_fileNameHasBeenSet = true; m_fileName = value; } + inline void SetFileName(Aws::String&& value) { m_fileNameHasBeenSet = true; m_fileName = std::move(value); } + inline void SetFileName(const char* value) { m_fileNameHasBeenSet = true; m_fileName.assign(value); } + inline GetSpritesRequest& WithFileName(const Aws::String& value) { SetFileName(value); return *this;} + inline GetSpritesRequest& WithFileName(Aws::String&& value) { SetFileName(std::move(value)); return *this;} + inline GetSpritesRequest& WithFileName(const char* value) { SetFileName(value); return *this;} + ///@} + + ///@{ + /** + *

                Style specifies the desired map style for the Sprites APIs.

                + */ + inline const MapStyle& GetStyle() const{ return m_style; } + inline bool StyleHasBeenSet() const { return m_styleHasBeenSet; } + inline void SetStyle(const MapStyle& value) { m_styleHasBeenSet = true; m_style = value; } + inline void SetStyle(MapStyle&& value) { m_styleHasBeenSet = true; m_style = std::move(value); } + inline GetSpritesRequest& WithStyle(const MapStyle& value) { SetStyle(value); return *this;} + inline GetSpritesRequest& WithStyle(MapStyle&& value) { SetStyle(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Sets color tone for map such as dark and light for specific map styles. It + * applies to only vector map styles such as Standard and Monochrome.

                + *

                Example: Light

                Default value: Light

                + *

                Valid values for ColorScheme are case sensitive.

                + */ + inline const ColorScheme& GetColorScheme() const{ return m_colorScheme; } + inline bool ColorSchemeHasBeenSet() const { return m_colorSchemeHasBeenSet; } + inline void SetColorScheme(const ColorScheme& value) { m_colorSchemeHasBeenSet = true; m_colorScheme = value; } + inline void SetColorScheme(ColorScheme&& value) { m_colorSchemeHasBeenSet = true; m_colorScheme = std::move(value); } + inline GetSpritesRequest& WithColorScheme(const ColorScheme& value) { SetColorScheme(value); return *this;} + inline GetSpritesRequest& WithColorScheme(ColorScheme&& value) { SetColorScheme(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Optimizes map styles for specific use case or industry. You can choose + * allowed variant only with Standard map style.

                Example: + * Default

                Valid values for Variant are case + * sensitive.

                + */ + inline const Variant& GetVariant() const{ return m_variant; } + inline bool VariantHasBeenSet() const { return m_variantHasBeenSet; } + inline void SetVariant(const Variant& value) { m_variantHasBeenSet = true; m_variant = value; } + inline void SetVariant(Variant&& value) { m_variantHasBeenSet = true; m_variant = std::move(value); } + inline GetSpritesRequest& WithVariant(const Variant& value) { SetVariant(value); return *this;} + inline GetSpritesRequest& WithVariant(Variant&& value) { SetVariant(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_fileName; + bool m_fileNameHasBeenSet = false; + + MapStyle m_style; + bool m_styleHasBeenSet = false; + + ColorScheme m_colorScheme; + bool m_colorSchemeHasBeenSet = false; + + Variant m_variant; + bool m_variantHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetSpritesResult.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetSpritesResult.h new file mode 100644 index 00000000000..f0f3a58d332 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetSpritesResult.h @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace GeoMaps +{ +namespace Model +{ + class GetSpritesResult + { + public: + AWS_GEOMAPS_API GetSpritesResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_GEOMAPS_API GetSpritesResult(GetSpritesResult&&); + AWS_GEOMAPS_API GetSpritesResult& operator=(GetSpritesResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + GetSpritesResult(const GetSpritesResult&) = delete; + GetSpritesResult& operator=(const GetSpritesResult&) = delete; + + + AWS_GEOMAPS_API GetSpritesResult(Aws::AmazonWebServiceResult&& result); + AWS_GEOMAPS_API GetSpritesResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + /** + *

                The body of the sprite sheet or JSON offset file (image/png or + * application/json, depending on input).

                + */ + inline Aws::IOStream& GetBlob() const { return m_blob.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_blob = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + /** + *

                Header that represents the format of the response. The response returns the + * following as the HTTP body.

                + */ + 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 GetSpritesResult& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} + inline GetSpritesResult& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} + inline GetSpritesResult& WithContentType(const char* value) { SetContentType(value); return *this;} + ///@} + + ///@{ + /** + *

                Header that instructs caching configuration for the client.

                + */ + inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } + inline void SetCacheControl(const Aws::String& value) { m_cacheControl = value; } + inline void SetCacheControl(Aws::String&& value) { m_cacheControl = std::move(value); } + inline void SetCacheControl(const char* value) { m_cacheControl.assign(value); } + inline GetSpritesResult& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} + inline GetSpritesResult& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} + inline GetSpritesResult& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} + ///@} + + ///@{ + /** + *

                The sprite's Etag.

                + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + inline void SetETag(const Aws::String& value) { m_eTag = value; } + inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } + inline void SetETag(const char* value) { m_eTag.assign(value); } + inline GetSpritesResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + inline GetSpritesResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + inline GetSpritesResult& WithETag(const char* value) { SetETag(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 GetSpritesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetSpritesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetSpritesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Stream::ResponseStream m_blob; + + Aws::String m_contentType; + + Aws::String m_cacheControl; + + Aws::String m_eTag; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStaticMapRequest.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStaticMapRequest.h new file mode 100644 index 00000000000..f230cd216fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStaticMapRequest.h @@ -0,0 +1,292 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoMaps +{ +namespace Model +{ + + /** + */ + class GetStaticMapRequest : public GeoMapsRequest + { + public: + AWS_GEOMAPS_API GetStaticMapRequest(); + + // 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 "GetStaticMap"; } + + AWS_GEOMAPS_API Aws::String SerializePayload() const override; + + AWS_GEOMAPS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                Takes in two pairs of coordinates, [Lon, Lat], denoting south-westerly and + * north-easterly edges of the image. The underlying area becomes the view of the + * image.

                Example: -123.17075,49.26959,-123.08125,49.31429

                + */ + inline const Aws::String& GetBoundingBox() const{ return m_boundingBox; } + inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } + inline void SetBoundingBox(const Aws::String& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } + inline void SetBoundingBox(Aws::String&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } + inline void SetBoundingBox(const char* value) { m_boundingBoxHasBeenSet = true; m_boundingBox.assign(value); } + inline GetStaticMapRequest& WithBoundingBox(const Aws::String& value) { SetBoundingBox(value); return *this;} + inline GetStaticMapRequest& WithBoundingBox(Aws::String&& value) { SetBoundingBox(std::move(value)); return *this;} + inline GetStaticMapRequest& WithBoundingBox(const char* value) { SetBoundingBox(value); return *this;} + ///@} + + ///@{ + /** + *

                Takes in two or more pair of coordinates, [Lon, Lat], with each coordinate + * separated by a comma. The API will generate an image to encompass all of the + * provided coordinates.

                Cannot be used with Zoom and + * or Radius

                Example: + * 97.170451,78.039098,99.045536,27.176178

                + */ + inline const Aws::String& GetBoundedPositions() const{ return m_boundedPositions; } + inline bool BoundedPositionsHasBeenSet() const { return m_boundedPositionsHasBeenSet; } + inline void SetBoundedPositions(const Aws::String& value) { m_boundedPositionsHasBeenSet = true; m_boundedPositions = value; } + inline void SetBoundedPositions(Aws::String&& value) { m_boundedPositionsHasBeenSet = true; m_boundedPositions = std::move(value); } + inline void SetBoundedPositions(const char* value) { m_boundedPositionsHasBeenSet = true; m_boundedPositions.assign(value); } + inline GetStaticMapRequest& WithBoundedPositions(const Aws::String& value) { SetBoundedPositions(value); return *this;} + inline GetStaticMapRequest& WithBoundedPositions(Aws::String&& value) { SetBoundedPositions(std::move(value)); return *this;} + inline GetStaticMapRequest& WithBoundedPositions(const char* value) { SetBoundedPositions(value); return *this;} + ///@} + + ///@{ + /** + *

                Takes in a pair of coordinates, [Lon, Lat], which becomes the center point of + * the image. This parameter requires that either zoom or radius is set.

                + *

                Cannot be used with Zoom and or Radius

                + *

                Example: 49.295,-123.108

                + */ + inline const Aws::String& GetCenter() const{ return m_center; } + inline bool CenterHasBeenSet() const { return m_centerHasBeenSet; } + inline void SetCenter(const Aws::String& value) { m_centerHasBeenSet = true; m_center = value; } + inline void SetCenter(Aws::String&& value) { m_centerHasBeenSet = true; m_center = std::move(value); } + inline void SetCenter(const char* value) { m_centerHasBeenSet = true; m_center.assign(value); } + inline GetStaticMapRequest& WithCenter(const Aws::String& value) { SetCenter(value); return *this;} + inline GetStaticMapRequest& WithCenter(Aws::String&& value) { SetCenter(std::move(value)); return *this;} + inline GetStaticMapRequest& WithCenter(const char* value) { SetCenter(value); return *this;} + ///@} + + ///@{ + /** + *

                Takes in a string to draw geometries on the image. The input is a comma + * separated format as follows format: [Lon, Lat]

                Example: + * line:-122.407653,37.798557,-122.413291,37.802443;color=%23DD0000;width=7;outline-color=#00DD00;outline-width=5yd|point:-122.40572,37.80004;label=Fog + * Hill Market;size=large;text-color=%23DD0000;color=#EE4B2B

                + *

                Currently it supports the following geometry types: point, line and polygon. + * It does not support multiPoint , multiLine and multiPolgyon.

                + */ + inline const Aws::String& GetCompactOverlay() const{ return m_compactOverlay; } + inline bool CompactOverlayHasBeenSet() const { return m_compactOverlayHasBeenSet; } + inline void SetCompactOverlay(const Aws::String& value) { m_compactOverlayHasBeenSet = true; m_compactOverlay = value; } + inline void SetCompactOverlay(Aws::String&& value) { m_compactOverlayHasBeenSet = true; m_compactOverlay = std::move(value); } + inline void SetCompactOverlay(const char* value) { m_compactOverlayHasBeenSet = true; m_compactOverlay.assign(value); } + inline GetStaticMapRequest& WithCompactOverlay(const Aws::String& value) { SetCompactOverlay(value); return *this;} + inline GetStaticMapRequest& WithCompactOverlay(Aws::String&& value) { SetCompactOverlay(std::move(value)); return *this;} + inline GetStaticMapRequest& WithCompactOverlay(const char* value) { SetCompactOverlay(value); return *this;} + ///@} + + ///@{ + /** + *

                Takes in a string to draw geometries on the image. The input is a valid + * GeoJSON collection object.

                Example: + * {"type":"FeatureCollection","features": + * [{"type":"Feature","geometry":{"type":"MultiPoint","coordinates": + * [[-90.076345,51.504107],[-0.074451,51.506892]]},"properties": + * {"color":"#00DD00"}}]}

                + */ + inline const Aws::String& GetGeoJsonOverlay() const{ return m_geoJsonOverlay; } + inline bool GeoJsonOverlayHasBeenSet() const { return m_geoJsonOverlayHasBeenSet; } + inline void SetGeoJsonOverlay(const Aws::String& value) { m_geoJsonOverlayHasBeenSet = true; m_geoJsonOverlay = value; } + inline void SetGeoJsonOverlay(Aws::String&& value) { m_geoJsonOverlayHasBeenSet = true; m_geoJsonOverlay = std::move(value); } + inline void SetGeoJsonOverlay(const char* value) { m_geoJsonOverlayHasBeenSet = true; m_geoJsonOverlay.assign(value); } + inline GetStaticMapRequest& WithGeoJsonOverlay(const Aws::String& value) { SetGeoJsonOverlay(value); return *this;} + inline GetStaticMapRequest& WithGeoJsonOverlay(Aws::String&& value) { SetGeoJsonOverlay(std::move(value)); return *this;} + inline GetStaticMapRequest& WithGeoJsonOverlay(const char* value) { SetGeoJsonOverlay(value); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the height of the map image.

                + */ + inline int GetHeight() const{ return m_height; } + inline bool HeightHasBeenSet() const { return m_heightHasBeenSet; } + inline void SetHeight(int value) { m_heightHasBeenSet = true; m_height = value; } + inline GetStaticMapRequest& WithHeight(int value) { SetHeight(value); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline GetStaticMapRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline GetStaticMapRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline GetStaticMapRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

                Applies additional space (in pixels) around overlay feature to prevent them + * from being cut or obscured.

                Value for max and min is determined + * by:

                Min: 1

                Max: min(height, width)/4 + *

                Example: 100

                + */ + inline int GetPadding() const{ return m_padding; } + inline bool PaddingHasBeenSet() const { return m_paddingHasBeenSet; } + inline void SetPadding(int value) { m_paddingHasBeenSet = true; m_padding = value; } + inline GetStaticMapRequest& WithPadding(int value) { SetPadding(value); return *this;} + ///@} + + ///@{ + /** + *

                Used with center parameter, it specifies the zoom of the image where you can + * control it on a granular level. Takes in any value >= 1.

                + *

                Example: 1500

                Cannot be used with + * Zoom.

                Unit: Meters

                + */ + inline long long GetRadius() const{ return m_radius; } + inline bool RadiusHasBeenSet() const { return m_radiusHasBeenSet; } + inline void SetRadius(long long value) { m_radiusHasBeenSet = true; m_radius = value; } + inline GetStaticMapRequest& WithRadius(long long value) { SetRadius(value); return *this;} + ///@} + + ///@{ + /** + *

                The map scaling parameter to size the image, icons, and labels. It follows + * the pattern of ^map(@2x)?$.

                Example: map, + * map@2x

                + */ + inline const Aws::String& GetFileName() const{ return m_fileName; } + inline bool FileNameHasBeenSet() const { return m_fileNameHasBeenSet; } + inline void SetFileName(const Aws::String& value) { m_fileNameHasBeenSet = true; m_fileName = value; } + inline void SetFileName(Aws::String&& value) { m_fileNameHasBeenSet = true; m_fileName = std::move(value); } + inline void SetFileName(const char* value) { m_fileNameHasBeenSet = true; m_fileName.assign(value); } + inline GetStaticMapRequest& WithFileName(const Aws::String& value) { SetFileName(value); return *this;} + inline GetStaticMapRequest& WithFileName(Aws::String&& value) { SetFileName(std::move(value)); return *this;} + inline GetStaticMapRequest& WithFileName(const char* value) { SetFileName(value); return *this;} + ///@} + + ///@{ + /** + *

                Displays a scale on the bottom right of the map image with the unit specified + * in the input.

                Example: KilometersMiles, Miles, Kilometers, + * MilesKilometers

                + */ + inline const ScaleBarUnit& GetScaleBarUnit() const{ return m_scaleBarUnit; } + inline bool ScaleBarUnitHasBeenSet() const { return m_scaleBarUnitHasBeenSet; } + inline void SetScaleBarUnit(const ScaleBarUnit& value) { m_scaleBarUnitHasBeenSet = true; m_scaleBarUnit = value; } + inline void SetScaleBarUnit(ScaleBarUnit&& value) { m_scaleBarUnitHasBeenSet = true; m_scaleBarUnit = std::move(value); } + inline GetStaticMapRequest& WithScaleBarUnit(const ScaleBarUnit& value) { SetScaleBarUnit(value); return *this;} + inline GetStaticMapRequest& WithScaleBarUnit(ScaleBarUnit&& value) { SetScaleBarUnit(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Style specifies the desired map style for the Style APIs.

                + */ + inline const StaticMapStyle& GetStyle() const{ return m_style; } + inline bool StyleHasBeenSet() const { return m_styleHasBeenSet; } + inline void SetStyle(const StaticMapStyle& value) { m_styleHasBeenSet = true; m_style = value; } + inline void SetStyle(StaticMapStyle&& value) { m_styleHasBeenSet = true; m_style = std::move(value); } + inline GetStaticMapRequest& WithStyle(const StaticMapStyle& value) { SetStyle(value); return *this;} + inline GetStaticMapRequest& WithStyle(StaticMapStyle&& value) { SetStyle(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the width of the map image.

                + */ + inline int GetWidth() const{ return m_width; } + inline bool WidthHasBeenSet() const { return m_widthHasBeenSet; } + inline void SetWidth(int value) { m_widthHasBeenSet = true; m_width = value; } + inline GetStaticMapRequest& WithWidth(int value) { SetWidth(value); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the zoom level of the map image.

                Cannot be used with + * Radius.

                + */ + inline double GetZoom() const{ return m_zoom; } + inline bool ZoomHasBeenSet() const { return m_zoomHasBeenSet; } + inline void SetZoom(double value) { m_zoomHasBeenSet = true; m_zoom = value; } + inline GetStaticMapRequest& WithZoom(double value) { SetZoom(value); return *this;} + ///@} + private: + + Aws::String m_boundingBox; + bool m_boundingBoxHasBeenSet = false; + + Aws::String m_boundedPositions; + bool m_boundedPositionsHasBeenSet = false; + + Aws::String m_center; + bool m_centerHasBeenSet = false; + + Aws::String m_compactOverlay; + bool m_compactOverlayHasBeenSet = false; + + Aws::String m_geoJsonOverlay; + bool m_geoJsonOverlayHasBeenSet = false; + + int m_height; + bool m_heightHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + int m_padding; + bool m_paddingHasBeenSet = false; + + long long m_radius; + bool m_radiusHasBeenSet = false; + + Aws::String m_fileName; + bool m_fileNameHasBeenSet = false; + + ScaleBarUnit m_scaleBarUnit; + bool m_scaleBarUnitHasBeenSet = false; + + StaticMapStyle m_style; + bool m_styleHasBeenSet = false; + + int m_width; + bool m_widthHasBeenSet = false; + + double m_zoom; + bool m_zoomHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStaticMapResult.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStaticMapResult.h new file mode 100644 index 00000000000..5768298af03 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStaticMapResult.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace GeoMaps +{ +namespace Model +{ + class GetStaticMapResult + { + public: + AWS_GEOMAPS_API GetStaticMapResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_GEOMAPS_API GetStaticMapResult(GetStaticMapResult&&); + AWS_GEOMAPS_API GetStaticMapResult& operator=(GetStaticMapResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + GetStaticMapResult(const GetStaticMapResult&) = delete; + GetStaticMapResult& operator=(const GetStaticMapResult&) = delete; + + + AWS_GEOMAPS_API GetStaticMapResult(Aws::AmazonWebServiceResult&& result); + AWS_GEOMAPS_API GetStaticMapResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + /** + *

                The blob represents a map image as a jpeg for the + * GetStaticMap API.

                + */ + inline Aws::IOStream& GetBlob() const { return m_blob.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_blob = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + /** + *

                Header that represents the format of the response. The response returns the + * following as the HTTP body.

                + */ + 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 GetStaticMapResult& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} + inline GetStaticMapResult& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} + inline GetStaticMapResult& WithContentType(const char* value) { SetContentType(value); return *this;} + ///@} + + ///@{ + /** + *

                Header that instructs caching configuration for the client.

                + */ + inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } + inline void SetCacheControl(const Aws::String& value) { m_cacheControl = value; } + inline void SetCacheControl(Aws::String&& value) { m_cacheControl = std::move(value); } + inline void SetCacheControl(const char* value) { m_cacheControl.assign(value); } + inline GetStaticMapResult& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} + inline GetStaticMapResult& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} + inline GetStaticMapResult& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} + ///@} + + ///@{ + /** + *

                The static map's Etag.

                + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + inline void SetETag(const Aws::String& value) { m_eTag = value; } + inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } + inline void SetETag(const char* value) { m_eTag.assign(value); } + inline GetStaticMapResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + inline GetStaticMapResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + inline GetStaticMapResult& WithETag(const char* value) { SetETag(value); return *this;} + ///@} + + ///@{ + /** + *

                The pricing bucket for which the request is charged at.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline GetStaticMapResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline GetStaticMapResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline GetStaticMapResult& WithPricingBucket(const char* value) { SetPricingBucket(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 GetStaticMapResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetStaticMapResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetStaticMapResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Stream::ResponseStream m_blob; + + Aws::String m_contentType; + + Aws::String m_cacheControl; + + Aws::String m_eTag; + + Aws::String m_pricingBucket; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStyleDescriptorRequest.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStyleDescriptorRequest.h new file mode 100644 index 00000000000..eac34a4b098 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStyleDescriptorRequest.h @@ -0,0 +1,133 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoMaps +{ +namespace Model +{ + + /** + */ + class GetStyleDescriptorRequest : public GeoMapsRequest + { + public: + AWS_GEOMAPS_API GetStyleDescriptorRequest(); + + // 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 "GetStyleDescriptor"; } + + AWS_GEOMAPS_API Aws::String SerializePayload() const override; + + AWS_GEOMAPS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                Style specifies the desired map style.

                + */ + inline const MapStyle& GetStyle() const{ return m_style; } + inline bool StyleHasBeenSet() const { return m_styleHasBeenSet; } + inline void SetStyle(const MapStyle& value) { m_styleHasBeenSet = true; m_style = value; } + inline void SetStyle(MapStyle&& value) { m_styleHasBeenSet = true; m_style = std::move(value); } + inline GetStyleDescriptorRequest& WithStyle(const MapStyle& value) { SetStyle(value); return *this;} + inline GetStyleDescriptorRequest& WithStyle(MapStyle&& value) { SetStyle(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Sets color tone for map such as dark and light for specific map styles. It + * applies to only vector map styles such as Standard and Monochrome.

                + *

                Example: Light

                Default value: Light

                + *

                Valid values for ColorScheme are case sensitive.

                + */ + inline const ColorScheme& GetColorScheme() const{ return m_colorScheme; } + inline bool ColorSchemeHasBeenSet() const { return m_colorSchemeHasBeenSet; } + inline void SetColorScheme(const ColorScheme& value) { m_colorSchemeHasBeenSet = true; m_colorScheme = value; } + inline void SetColorScheme(ColorScheme&& value) { m_colorSchemeHasBeenSet = true; m_colorScheme = std::move(value); } + inline GetStyleDescriptorRequest& WithColorScheme(const ColorScheme& value) { SetColorScheme(value); return *this;} + inline GetStyleDescriptorRequest& WithColorScheme(ColorScheme&& value) { SetColorScheme(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the political view using ISO 3166-2 or ISO 3166-3 country code + * format.

                The following political views are currently supported:

                  + *
                • ARG: Argentina's view on the Southern Patagonian Ice Field + * and Tierra Del Fuego, including the Falkland Islands, South Georgia, and South + * Sandwich Islands

                • EGY: Egypt's view on Bir + * Tawil

                • IND: India's view on Gilgit-Baltistan

                  + *
                • KEN: Kenya's view on the Ilemi Triangle

                • + *
                • MAR: Morocco's view on Western Sahara

                • + * PAK: Pakistan's view on Jammu and Kashmir and the Junagadh Area

                  + *
                • RUS: Russia's view on Crimea

                • + * SDN: Sudan's view on the Halaib Triangle

                • + * SRB: Serbia's view on Kosovo, Vukovar, and Sarengrad Islands

                  + *
                • SUR: Suriname's view on the Courantyne Headwaters + * and Lawa Headwaters

                • SYR: Syria's view on the + * Golan Heights

                • TUR: Turkey's view on Cyprus and + * Northern Cyprus

                • TZA: Tanzania's view on Lake + * Malawi

                • URY: Uruguay's view on Rincon de + * Artigas

                • VNM: Vietnam's view on the Paracel + * Islands and Spratly Islands

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline GetStyleDescriptorRequest& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline GetStyleDescriptorRequest& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline GetStyleDescriptorRequest& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline GetStyleDescriptorRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline GetStyleDescriptorRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline GetStyleDescriptorRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + private: + + MapStyle m_style; + bool m_styleHasBeenSet = false; + + ColorScheme m_colorScheme; + bool m_colorSchemeHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStyleDescriptorResult.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStyleDescriptorResult.h new file mode 100644 index 00000000000..6a038926f0c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetStyleDescriptorResult.h @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace GeoMaps +{ +namespace Model +{ + class GetStyleDescriptorResult + { + public: + AWS_GEOMAPS_API GetStyleDescriptorResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_GEOMAPS_API GetStyleDescriptorResult(GetStyleDescriptorResult&&); + AWS_GEOMAPS_API GetStyleDescriptorResult& operator=(GetStyleDescriptorResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + GetStyleDescriptorResult(const GetStyleDescriptorResult&) = delete; + GetStyleDescriptorResult& operator=(const GetStyleDescriptorResult&) = delete; + + + AWS_GEOMAPS_API GetStyleDescriptorResult(Aws::AmazonWebServiceResult&& result); + AWS_GEOMAPS_API GetStyleDescriptorResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + /** + *

                This Blob contains the body of the style descriptor which is in + * application/json format.

                + */ + inline Aws::IOStream& GetBlob() const { return m_blob.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_blob = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + /** + *

                Header that represents the format of the response. The response returns the + * following as the HTTP body.

                + */ + 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 GetStyleDescriptorResult& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} + inline GetStyleDescriptorResult& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} + inline GetStyleDescriptorResult& WithContentType(const char* value) { SetContentType(value); return *this;} + ///@} + + ///@{ + /** + *

                Header that instructs caching configuration for the client.

                + */ + inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } + inline void SetCacheControl(const Aws::String& value) { m_cacheControl = value; } + inline void SetCacheControl(Aws::String&& value) { m_cacheControl = std::move(value); } + inline void SetCacheControl(const char* value) { m_cacheControl.assign(value); } + inline GetStyleDescriptorResult& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} + inline GetStyleDescriptorResult& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} + inline GetStyleDescriptorResult& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} + ///@} + + ///@{ + /** + *

                The style descriptor's Etag.

                + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + inline void SetETag(const Aws::String& value) { m_eTag = value; } + inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } + inline void SetETag(const char* value) { m_eTag.assign(value); } + inline GetStyleDescriptorResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + inline GetStyleDescriptorResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + inline GetStyleDescriptorResult& WithETag(const char* value) { SetETag(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 GetStyleDescriptorResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetStyleDescriptorResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetStyleDescriptorResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Stream::ResponseStream m_blob; + + Aws::String m_contentType; + + Aws::String m_cacheControl; + + Aws::String m_eTag; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetTileRequest.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetTileRequest.h new file mode 100644 index 00000000000..8ccd3b819ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetTileRequest.h @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoMaps +{ +namespace Model +{ + + /** + */ + class GetTileRequest : public GeoMapsRequest + { + public: + AWS_GEOMAPS_API GetTileRequest(); + + // 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 "GetTile"; } + + AWS_GEOMAPS_API Aws::String SerializePayload() const override; + + AWS_GEOMAPS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                Specifies the desired tile set.

                Valid Values: raster.satellite | + * vector.basemap

                + */ + inline const Aws::String& GetTileset() const{ return m_tileset; } + inline bool TilesetHasBeenSet() const { return m_tilesetHasBeenSet; } + inline void SetTileset(const Aws::String& value) { m_tilesetHasBeenSet = true; m_tileset = value; } + inline void SetTileset(Aws::String&& value) { m_tilesetHasBeenSet = true; m_tileset = std::move(value); } + inline void SetTileset(const char* value) { m_tilesetHasBeenSet = true; m_tileset.assign(value); } + inline GetTileRequest& WithTileset(const Aws::String& value) { SetTileset(value); return *this;} + inline GetTileRequest& WithTileset(Aws::String&& value) { SetTileset(std::move(value)); return *this;} + inline GetTileRequest& WithTileset(const char* value) { SetTileset(value); return *this;} + ///@} + + ///@{ + /** + *

                The zoom value for the map tile.

                + */ + inline const Aws::String& GetZ() const{ return m_z; } + inline bool ZHasBeenSet() const { return m_zHasBeenSet; } + inline void SetZ(const Aws::String& value) { m_zHasBeenSet = true; m_z = value; } + inline void SetZ(Aws::String&& value) { m_zHasBeenSet = true; m_z = std::move(value); } + inline void SetZ(const char* value) { m_zHasBeenSet = true; m_z.assign(value); } + inline GetTileRequest& WithZ(const Aws::String& value) { SetZ(value); return *this;} + inline GetTileRequest& WithZ(Aws::String&& value) { SetZ(std::move(value)); return *this;} + inline GetTileRequest& WithZ(const char* value) { SetZ(value); return *this;} + ///@} + + ///@{ + /** + *

                The X axis value for the map tile. Must be between 0 and 19.

                + */ + inline const Aws::String& GetX() const{ return m_x; } + inline bool XHasBeenSet() const { return m_xHasBeenSet; } + inline void SetX(const Aws::String& value) { m_xHasBeenSet = true; m_x = value; } + inline void SetX(Aws::String&& value) { m_xHasBeenSet = true; m_x = std::move(value); } + inline void SetX(const char* value) { m_xHasBeenSet = true; m_x.assign(value); } + inline GetTileRequest& WithX(const Aws::String& value) { SetX(value); return *this;} + inline GetTileRequest& WithX(Aws::String&& value) { SetX(std::move(value)); return *this;} + inline GetTileRequest& WithX(const char* value) { SetX(value); return *this;} + ///@} + + ///@{ + /** + *

                The Y axis value for the map tile.

                + */ + inline const Aws::String& GetY() const{ return m_y; } + inline bool YHasBeenSet() const { return m_yHasBeenSet; } + inline void SetY(const Aws::String& value) { m_yHasBeenSet = true; m_y = value; } + inline void SetY(Aws::String&& value) { m_yHasBeenSet = true; m_y = std::move(value); } + inline void SetY(const char* value) { m_yHasBeenSet = true; m_y.assign(value); } + inline GetTileRequest& WithY(const Aws::String& value) { SetY(value); return *this;} + inline GetTileRequest& WithY(Aws::String&& value) { SetY(std::move(value)); return *this;} + inline GetTileRequest& WithY(const char* value) { SetY(value); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline GetTileRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline GetTileRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline GetTileRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + private: + + Aws::String m_tileset; + bool m_tilesetHasBeenSet = false; + + Aws::String m_z; + bool m_zHasBeenSet = false; + + Aws::String m_x; + bool m_xHasBeenSet = false; + + Aws::String m_y; + bool m_yHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetTileResult.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetTileResult.h new file mode 100644 index 00000000000..f04b71198c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/GetTileResult.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace GeoMaps +{ +namespace Model +{ + class GetTileResult + { + public: + AWS_GEOMAPS_API GetTileResult(); + //We have to define these because Microsoft doesn't auto generate them + AWS_GEOMAPS_API GetTileResult(GetTileResult&&); + AWS_GEOMAPS_API GetTileResult& operator=(GetTileResult&&); + //we delete these because Microsoft doesn't handle move generation correctly + //and we therefore don't trust them to get it right here either. + GetTileResult(const GetTileResult&) = delete; + GetTileResult& operator=(const GetTileResult&) = delete; + + + AWS_GEOMAPS_API GetTileResult(Aws::AmazonWebServiceResult&& result); + AWS_GEOMAPS_API GetTileResult& operator=(Aws::AmazonWebServiceResult&& result); + + + + ///@{ + /** + *

                The blob represents a vector tile in mvt format for the + * GetTile API.

                + */ + inline Aws::IOStream& GetBlob() const { return m_blob.GetUnderlyingStream(); } + inline void ReplaceBody(Aws::IOStream* body) { m_blob = Aws::Utils::Stream::ResponseStream(body); } + + ///@} + + ///@{ + /** + *

                Header that represents the format of the response. The response returns the + * following as the HTTP body.

                + */ + 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 GetTileResult& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} + inline GetTileResult& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} + inline GetTileResult& WithContentType(const char* value) { SetContentType(value); return *this;} + ///@} + + ///@{ + /** + *

                Header that instructs caching configuration for the client.

                + */ + inline const Aws::String& GetCacheControl() const{ return m_cacheControl; } + inline void SetCacheControl(const Aws::String& value) { m_cacheControl = value; } + inline void SetCacheControl(Aws::String&& value) { m_cacheControl = std::move(value); } + inline void SetCacheControl(const char* value) { m_cacheControl.assign(value); } + inline GetTileResult& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;} + inline GetTileResult& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;} + inline GetTileResult& WithCacheControl(const char* value) { SetCacheControl(value); return *this;} + ///@} + + ///@{ + /** + *

                The pricing bucket for which the request is charged at.

                + */ + inline const Aws::String& GetETag() const{ return m_eTag; } + inline void SetETag(const Aws::String& value) { m_eTag = value; } + inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); } + inline void SetETag(const char* value) { m_eTag.assign(value); } + inline GetTileResult& WithETag(const Aws::String& value) { SetETag(value); return *this;} + inline GetTileResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;} + inline GetTileResult& WithETag(const char* value) { SetETag(value); return *this;} + ///@} + + ///@{ + /** + *

                The pricing bucket for which the request is charged at.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline GetTileResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline GetTileResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline GetTileResult& WithPricingBucket(const char* value) { SetPricingBucket(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 GetTileResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetTileResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetTileResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Utils::Stream::ResponseStream m_blob; + + Aws::String m_contentType; + + Aws::String m_cacheControl; + + Aws::String m_eTag; + + Aws::String m_pricingBucket; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/MapStyle.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/MapStyle.h new file mode 100644 index 00000000000..1e0ae149716 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/MapStyle.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ +namespace Model +{ + enum class MapStyle + { + NOT_SET, + Standard, + Monochrome, + Hybrid, + Satellite + }; + +namespace MapStyleMapper +{ +AWS_GEOMAPS_API MapStyle GetMapStyleForName(const Aws::String& name); + +AWS_GEOMAPS_API Aws::String GetNameForMapStyle(MapStyle value); +} // namespace MapStyleMapper +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ScaleBarUnit.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ScaleBarUnit.h new file mode 100644 index 00000000000..13c71b5749f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ScaleBarUnit.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ +namespace Model +{ + enum class ScaleBarUnit + { + NOT_SET, + Kilometers, + KilometersMiles, + Miles, + MilesKilometers + }; + +namespace ScaleBarUnitMapper +{ +AWS_GEOMAPS_API ScaleBarUnit GetScaleBarUnitForName(const Aws::String& name); + +AWS_GEOMAPS_API Aws::String GetNameForScaleBarUnit(ScaleBarUnit value); +} // namespace ScaleBarUnitMapper +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/StaticMapStyle.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/StaticMapStyle.h new file mode 100644 index 00000000000..3623e2648de --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/StaticMapStyle.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ +namespace Model +{ + enum class StaticMapStyle + { + NOT_SET, + Satellite + }; + +namespace StaticMapStyleMapper +{ +AWS_GEOMAPS_API StaticMapStyle GetStaticMapStyleForName(const Aws::String& name); + +AWS_GEOMAPS_API Aws::String GetNameForStaticMapStyle(StaticMapStyle value); +} // namespace StaticMapStyleMapper +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ValidationException.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ValidationException.h new file mode 100644 index 00000000000..28f90d33674 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ValidationException.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoMaps +{ +namespace Model +{ + + /** + *

                The input fails to satisfy the constraints specified by an AWS + * service.

                See Also:

                AWS + * API Reference

                + */ + class ValidationException + { + public: + AWS_GEOMAPS_API ValidationException(); + AWS_GEOMAPS_API ValidationException(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOMAPS_API ValidationException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOMAPS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

                The field where thebb invalid entry was detected.

                + */ + inline const ValidationExceptionReason& GetReason() const{ return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(const ValidationExceptionReason& value) { m_reasonHasBeenSet = true; m_reason = value; } + inline void SetReason(ValidationExceptionReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + inline ValidationException& WithReason(const ValidationExceptionReason& value) { SetReason(value); return *this;} + inline ValidationException& WithReason(ValidationExceptionReason&& value) { SetReason(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A message with the reason for the validation exception error.

                + */ + inline const Aws::Vector& GetFieldList() const{ return m_fieldList; } + inline bool FieldListHasBeenSet() const { return m_fieldListHasBeenSet; } + inline void SetFieldList(const Aws::Vector& value) { m_fieldListHasBeenSet = true; m_fieldList = value; } + inline void SetFieldList(Aws::Vector&& value) { m_fieldListHasBeenSet = true; m_fieldList = std::move(value); } + inline ValidationException& WithFieldList(const Aws::Vector& value) { SetFieldList(value); return *this;} + inline ValidationException& WithFieldList(Aws::Vector&& value) { SetFieldList(std::move(value)); return *this;} + inline ValidationException& AddFieldList(const ValidationExceptionField& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(value); return *this; } + inline ValidationException& AddFieldList(ValidationExceptionField&& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + ValidationExceptionReason m_reason; + bool m_reasonHasBeenSet = false; + + Aws::Vector m_fieldList; + bool m_fieldListHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ValidationExceptionField.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ValidationExceptionField.h new file mode 100644 index 00000000000..68b89dd5825 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ValidationExceptionField.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoMaps +{ +namespace Model +{ + + /** + *

                The input fails to satisfy the constraints specified by the Amazon Location + * service.

                See Also:

                AWS + * API Reference

                + */ + class ValidationExceptionField + { + public: + AWS_GEOMAPS_API ValidationExceptionField(); + AWS_GEOMAPS_API ValidationExceptionField(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOMAPS_API ValidationExceptionField& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOMAPS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The name of the resource.

                + */ + 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 ValidationExceptionField& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ValidationExceptionField& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ValidationExceptionField& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                The error message.

                + */ + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationExceptionField& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationExceptionField& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationExceptionField& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..17100c0a984 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/ValidationExceptionReason.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + UnknownOperation, + Missing, + CannotParse, + FieldValidationFailed, + Other, + UnknownField + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_GEOMAPS_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_GEOMAPS_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/Variant.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/Variant.h new file mode 100644 index 00000000000..639e71ffe59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/model/Variant.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ +namespace Model +{ + enum class Variant + { + NOT_SET, + Default + }; + +namespace VariantMapper +{ +AWS_GEOMAPS_API Variant GetVariantForName(const Aws::String& name); + +AWS_GEOMAPS_API Aws::String GetNameForVariant(Variant value); +} // namespace VariantMapper +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsClient.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsClient.cpp new file mode 100644 index 00000000000..50c5ff9783c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsClient.cpp @@ -0,0 +1,390 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::GeoMaps; +using namespace Aws::GeoMaps::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace GeoMaps + { + const char SERVICE_NAME[] = "geo-maps"; + const char ALLOCATION_TAG[] = "GeoMapsClient"; + } +} +const char* GeoMapsClient::GetServiceName() {return SERVICE_NAME;} +const char* GeoMapsClient::GetAllocationTag() {return ALLOCATION_TAG;} + +GeoMapsClient::GeoMapsClient(const GeoMaps::GeoMapsClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoMapsClient::GeoMapsClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const GeoMaps::GeoMapsClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoMapsClient::GeoMapsClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const GeoMaps::GeoMapsClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + GeoMapsClient::GeoMapsClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoMapsClient::GeoMapsClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoMapsClient::GeoMapsClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +GeoMapsClient::~GeoMapsClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& GeoMapsClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void GeoMapsClient::init(const GeoMaps::GeoMapsClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Geo Maps"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void GeoMapsClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +GetGlyphsOutcome GeoMapsClient::GetGlyphs(const GetGlyphsRequest& request) const +{ + AWS_OPERATION_GUARD(GetGlyphs); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetGlyphs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FontStackHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetGlyphs", "Required field: FontStack, is not set"); + return GetGlyphsOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FontStack]", false)); + } + if (!request.FontUnicodeRangeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetGlyphs", "Required field: FontUnicodeRange, is not set"); + return GetGlyphsOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FontUnicodeRange]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetGlyphs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetGlyphs, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetGlyphs", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetGlyphsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetGlyphs, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/glyphs/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetFontStack()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetFontUnicodeRange()); + return GetGlyphsOutcome(MakeRequestWithUnparsedResponse(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetSpritesOutcome GeoMapsClient::GetSprites(const GetSpritesRequest& request) const +{ + AWS_OPERATION_GUARD(GetSprites); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetSprites, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.FileNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetSprites", "Required field: FileName, is not set"); + return GetSpritesOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FileName]", false)); + } + if (!request.StyleHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetSprites", "Required field: Style, is not set"); + return GetSpritesOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Style]", false)); + } + if (!request.ColorSchemeHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetSprites", "Required field: ColorScheme, is not set"); + return GetSpritesOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ColorScheme]", false)); + } + if (!request.VariantHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetSprites", "Required field: Variant, is not set"); + return GetSpritesOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Variant]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetSprites, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetSprites, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetSprites", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetSpritesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetSprites, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/styles/"); + endpointResolutionOutcome.GetResult().AddPathSegment(MapStyleMapper::GetNameForMapStyle(request.GetStyle())); + endpointResolutionOutcome.GetResult().AddPathSegment(ColorSchemeMapper::GetNameForColorScheme(request.GetColorScheme())); + endpointResolutionOutcome.GetResult().AddPathSegment(VariantMapper::GetNameForVariant(request.GetVariant())); + endpointResolutionOutcome.GetResult().AddPathSegments("/sprites/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetFileName()); + return GetSpritesOutcome(MakeRequestWithUnparsedResponse(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetStaticMapOutcome GeoMapsClient::GetStaticMap(const GetStaticMapRequest& request) const +{ + AWS_OPERATION_GUARD(GetStaticMap); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetStaticMap, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.HeightHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetStaticMap", "Required field: Height, is not set"); + return GetStaticMapOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Height]", false)); + } + if (!request.FileNameHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetStaticMap", "Required field: FileName, is not set"); + return GetStaticMapOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [FileName]", false)); + } + if (!request.WidthHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetStaticMap", "Required field: Width, is not set"); + return GetStaticMapOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Width]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetStaticMap, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetStaticMap, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetStaticMap", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetStaticMapOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetStaticMap, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/static/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetFileName()); + return GetStaticMapOutcome(MakeRequestWithUnparsedResponse(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetStyleDescriptorOutcome GeoMapsClient::GetStyleDescriptor(const GetStyleDescriptorRequest& request) const +{ + AWS_OPERATION_GUARD(GetStyleDescriptor); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetStyleDescriptor, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.StyleHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetStyleDescriptor", "Required field: Style, is not set"); + return GetStyleDescriptorOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Style]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetStyleDescriptor, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetStyleDescriptor, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetStyleDescriptor", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetStyleDescriptorOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetStyleDescriptor, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/styles/"); + endpointResolutionOutcome.GetResult().AddPathSegment(MapStyleMapper::GetNameForMapStyle(request.GetStyle())); + endpointResolutionOutcome.GetResult().AddPathSegments("/descriptor"); + return GetStyleDescriptorOutcome(MakeRequestWithUnparsedResponse(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetTileOutcome GeoMapsClient::GetTile(const GetTileRequest& request) const +{ + AWS_OPERATION_GUARD(GetTile); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetTile, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.TilesetHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetTile", "Required field: Tileset, is not set"); + return GetTileOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Tileset]", false)); + } + if (!request.ZHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetTile", "Required field: Z, is not set"); + return GetTileOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Z]", false)); + } + if (!request.XHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetTile", "Required field: X, is not set"); + return GetTileOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [X]", false)); + } + if (!request.YHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetTile", "Required field: Y, is not set"); + return GetTileOutcome(Aws::Client::AWSError(GeoMapsErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Y]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetTile, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetTile, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetTile", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetTileOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetTile, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/tiles/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetTileset()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetZ()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetX()); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetY()); + return GetTileOutcome(MakeRequestWithUnparsedResponse(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsEndpointProvider.cpp new file mode 100644 index 00000000000..744f35e5443 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace GeoMaps +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsEndpointRules.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsEndpointRules.cpp new file mode 100644 index 00000000000..3549db7c38e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsEndpointRules.cpp @@ -0,0 +1,292 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace GeoMaps +{ +const size_t GeoMapsEndpointRules::RulesBlobStrLen = 6625; +const size_t GeoMapsEndpointRules::RulesBlobSize = 6626; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','U','s','e','D','u','a','l','S','t','a','c','k','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l','S','t','a','c','k', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ','d','u','a','l','-', +'s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o', +'n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o', +'t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k',',',' ','d','i','s', +'p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','M','A','Y',' ', +'r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':', +'"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e', +'q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a', +'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n', +' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ', +'t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g', +'i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o', +'n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o', +'t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e', +'n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ', +'r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r', +'r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"', +'E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K', +':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a', +'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r', +'r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o', +' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e', +'"',':','"','S','t','r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q', +'u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i', +'o','n','"',':','"','T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ', +'t','o',' ','d','i','s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"', +',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a', +'c','k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r', +'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','a','p','s','.','g','e','o', +'.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l', +'t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','a','p','s','.', +'g','e','o','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f', +'f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',', +'"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d', +'p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', +'}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']','}',',','{','"','f','n','"',':', +'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u', +'r','l','"',':','"','h','t','t','p','s',':','/','/','m','a','p','s','.','g','e','o','-','f','i','p', +'s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}', +',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','a','p', +'s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x', +'}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"', +'n','a','m','e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s', +'e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S', +'t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','a','p','s','.','g','e', +'o','.','{','R','e','g','i','o','n','}','.','u','s','-','g','o','v','.','{','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',', +'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', +':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i', +'n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"', +'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']', +'}',',','"','a','w','s','-','u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b', +'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r', +'e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',', +'t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', +':','"','h','t','t','p','s',':','/','/','m','a','p','s','.','g','e','o','-','f','i','p','s','.','{', +'R','e','g','i','o','n','}','.','u','s','-','g','o','v','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x', +'}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"', +'n','a','m','e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','a','p','s','.','g','e','o', +'-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','u','s','-','g','o','v','.','{','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/', +'v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d', +'e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f', +'n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a', +'m','e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']','}',',','{','"','f','n', +'"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':', +'[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a', +'c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','m','a','p','s','.','g','e','o','.','{', +'R','e','g','i','o','n','}','.','u','s','-','g','o','v','.','{','P','a','r','t','i','t','i','o','n', +'R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x', +'}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', +'d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"', +':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"', +':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p', +'o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l', +'e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{', +'"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"', +'r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"', +'s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':', +'/','/','g','e','o','-','m','a','p','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.', +'{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c', +'k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e', +'"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o', +'r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r', +'e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i', +'t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e', +' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}', +']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I', +'P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',','t','r','u','e',']', +'}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t', +'t','p','s',':','/','/','g','e','o','-','m','a','p','s','-','f','i','p','s','.','{','R','e','g','i', +'o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S', +'u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"', +'h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p', +'o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F', +'I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p', +'a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t', +' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"', +'t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']', +'}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','g','e','o','-','m','a','p','s','.','{','R','e','g','i','o','n','}', +'.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a', +'c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e', +'e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r', +'o','r','"',':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d', +' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ', +'n','o','t',' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g', +'e','o','-','m','a','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o', +'p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}', +',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p', +'e','"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r', +'"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':', +' ','M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}', +'\0' +}}; + +const char* GeoMapsEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsErrorMarshaller.cpp new file mode 100644 index 00000000000..d3b06bbb3d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::GeoMaps; + +AWSError GeoMapsErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = GeoMapsErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsErrors.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsErrors.cpp new file mode 100644 index 00000000000..88c2065e845 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsErrors.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::GeoMaps; +using namespace Aws::GeoMaps::Model; + +namespace Aws +{ +namespace GeoMaps +{ +template<> AWS_GEOMAPS_API ValidationException GeoMapsError::GetModeledError() +{ + assert(this->GetErrorType() == GeoMapsErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +namespace GeoMapsErrorMapper +{ + +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(GeoMapsErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace GeoMapsErrorMapper +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsRequest.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsRequest.cpp new file mode 100644 index 00000000000..8aaf482ac56 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace GeoMaps +{ +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/ColorScheme.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/ColorScheme.cpp new file mode 100644 index 00000000000..bcb68637b26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/ColorScheme.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoMaps + { + namespace Model + { + namespace ColorSchemeMapper + { + + static const int Light_HASH = HashingUtils::HashString("Light"); + static const int Dark_HASH = HashingUtils::HashString("Dark"); + + + ColorScheme GetColorSchemeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Light_HASH) + { + return ColorScheme::Light; + } + else if (hashCode == Dark_HASH) + { + return ColorScheme::Dark; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ColorScheme::NOT_SET; + } + + Aws::String GetNameForColorScheme(ColorScheme enumValue) + { + switch(enumValue) + { + case ColorScheme::NOT_SET: + return {}; + case ColorScheme::Light: + return "Light"; + case ColorScheme::Dark: + return "Dark"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ColorSchemeMapper + } // namespace Model + } // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/GetGlyphsRequest.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetGlyphsRequest.cpp new file mode 100644 index 00000000000..d6417192d09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetGlyphsRequest.cpp @@ -0,0 +1,28 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::GeoMaps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetGlyphsRequest::GetGlyphsRequest() : + m_fontStackHasBeenSet(false), + m_fontUnicodeRangeHasBeenSet(false) +{ +} + +Aws::String GetGlyphsRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/GetGlyphsResult.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetGlyphsResult.cpp new file mode 100644 index 00000000000..97d28256fb6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetGlyphsResult.cpp @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoMaps::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +GetGlyphsResult::GetGlyphsResult() +{ +} + +GetGlyphsResult::GetGlyphsResult(GetGlyphsResult&& toMove) : + m_blob(std::move(toMove.m_blob)), + m_contentType(std::move(toMove.m_contentType)), + m_cacheControl(std::move(toMove.m_cacheControl)), + m_eTag(std::move(toMove.m_eTag)), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +GetGlyphsResult& GetGlyphsResult::operator=(GetGlyphsResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_blob = std::move(toMove.m_blob); + m_contentType = std::move(toMove.m_contentType); + m_cacheControl = std::move(toMove.m_cacheControl); + m_eTag = std::move(toMove.m_eTag); + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +GetGlyphsResult::GetGlyphsResult(Aws::AmazonWebServiceResult&& result) +{ + *this = std::move(result); +} + +GetGlyphsResult& GetGlyphsResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_blob = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& contentTypeIter = headers.find("content-type"); + if(contentTypeIter != headers.end()) + { + m_contentType = contentTypeIter->second; + } + + const auto& cacheControlIter = headers.find("cache-control"); + if(cacheControlIter != headers.end()) + { + m_cacheControl = cacheControlIter->second; + } + + const auto& eTagIter = headers.find("etag"); + if(eTagIter != headers.end()) + { + m_eTag = eTagIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/GetSpritesRequest.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetSpritesRequest.cpp new file mode 100644 index 00000000000..8dea17e6cc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetSpritesRequest.cpp @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::GeoMaps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetSpritesRequest::GetSpritesRequest() : + m_fileNameHasBeenSet(false), + m_style(MapStyle::NOT_SET), + m_styleHasBeenSet(false), + m_colorScheme(ColorScheme::NOT_SET), + m_colorSchemeHasBeenSet(false), + m_variant(Variant::NOT_SET), + m_variantHasBeenSet(false) +{ +} + +Aws::String GetSpritesRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/GetSpritesResult.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetSpritesResult.cpp new file mode 100644 index 00000000000..0b1d47acbdd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetSpritesResult.cpp @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoMaps::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +GetSpritesResult::GetSpritesResult() +{ +} + +GetSpritesResult::GetSpritesResult(GetSpritesResult&& toMove) : + m_blob(std::move(toMove.m_blob)), + m_contentType(std::move(toMove.m_contentType)), + m_cacheControl(std::move(toMove.m_cacheControl)), + m_eTag(std::move(toMove.m_eTag)), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +GetSpritesResult& GetSpritesResult::operator=(GetSpritesResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_blob = std::move(toMove.m_blob); + m_contentType = std::move(toMove.m_contentType); + m_cacheControl = std::move(toMove.m_cacheControl); + m_eTag = std::move(toMove.m_eTag); + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +GetSpritesResult::GetSpritesResult(Aws::AmazonWebServiceResult&& result) +{ + *this = std::move(result); +} + +GetSpritesResult& GetSpritesResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_blob = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& contentTypeIter = headers.find("content-type"); + if(contentTypeIter != headers.end()) + { + m_contentType = contentTypeIter->second; + } + + const auto& cacheControlIter = headers.find("cache-control"); + if(cacheControlIter != headers.end()) + { + m_cacheControl = cacheControlIter->second; + } + + const auto& eTagIter = headers.find("etag"); + if(eTagIter != headers.end()) + { + m_eTag = eTagIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStaticMapRequest.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStaticMapRequest.cpp new file mode 100644 index 00000000000..b9629e05545 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStaticMapRequest.cpp @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoMaps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetStaticMapRequest::GetStaticMapRequest() : + m_boundingBoxHasBeenSet(false), + m_boundedPositionsHasBeenSet(false), + m_centerHasBeenSet(false), + m_compactOverlayHasBeenSet(false), + m_geoJsonOverlayHasBeenSet(false), + m_height(0), + m_heightHasBeenSet(false), + m_keyHasBeenSet(false), + m_padding(0), + m_paddingHasBeenSet(false), + m_radius(0), + m_radiusHasBeenSet(false), + m_fileNameHasBeenSet(false), + m_scaleBarUnit(ScaleBarUnit::NOT_SET), + m_scaleBarUnitHasBeenSet(false), + m_style(StaticMapStyle::NOT_SET), + m_styleHasBeenSet(false), + m_width(0), + m_widthHasBeenSet(false), + m_zoom(0.0), + m_zoomHasBeenSet(false) +{ +} + +Aws::String GetStaticMapRequest::SerializePayload() const +{ + return {}; +} + +void GetStaticMapRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_boundingBoxHasBeenSet) + { + ss << m_boundingBox; + uri.AddQueryStringParameter("bounding-box", ss.str()); + ss.str(""); + } + + if(m_boundedPositionsHasBeenSet) + { + ss << m_boundedPositions; + uri.AddQueryStringParameter("bounded-positions", ss.str()); + ss.str(""); + } + + if(m_centerHasBeenSet) + { + ss << m_center; + uri.AddQueryStringParameter("center", ss.str()); + ss.str(""); + } + + if(m_compactOverlayHasBeenSet) + { + ss << m_compactOverlay; + uri.AddQueryStringParameter("compact-overlay", ss.str()); + ss.str(""); + } + + if(m_geoJsonOverlayHasBeenSet) + { + ss << m_geoJsonOverlay; + uri.AddQueryStringParameter("geojson-overlay", ss.str()); + ss.str(""); + } + + if(m_heightHasBeenSet) + { + ss << m_height; + uri.AddQueryStringParameter("height", ss.str()); + ss.str(""); + } + + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + + if(m_paddingHasBeenSet) + { + ss << m_padding; + uri.AddQueryStringParameter("padding", ss.str()); + ss.str(""); + } + + if(m_radiusHasBeenSet) + { + ss << m_radius; + uri.AddQueryStringParameter("radius", ss.str()); + ss.str(""); + } + + if(m_scaleBarUnitHasBeenSet) + { + ss << ScaleBarUnitMapper::GetNameForScaleBarUnit(m_scaleBarUnit); + uri.AddQueryStringParameter("scale-unit", ss.str()); + ss.str(""); + } + + if(m_styleHasBeenSet) + { + ss << StaticMapStyleMapper::GetNameForStaticMapStyle(m_style); + uri.AddQueryStringParameter("style", ss.str()); + ss.str(""); + } + + if(m_widthHasBeenSet) + { + ss << m_width; + uri.AddQueryStringParameter("width", ss.str()); + ss.str(""); + } + + if(m_zoomHasBeenSet) + { + ss << m_zoom; + uri.AddQueryStringParameter("zoom", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStaticMapResult.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStaticMapResult.cpp new file mode 100644 index 00000000000..846b42edf46 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStaticMapResult.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoMaps::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +GetStaticMapResult::GetStaticMapResult() +{ +} + +GetStaticMapResult::GetStaticMapResult(GetStaticMapResult&& toMove) : + m_blob(std::move(toMove.m_blob)), + m_contentType(std::move(toMove.m_contentType)), + m_cacheControl(std::move(toMove.m_cacheControl)), + m_eTag(std::move(toMove.m_eTag)), + m_pricingBucket(std::move(toMove.m_pricingBucket)), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +GetStaticMapResult& GetStaticMapResult::operator=(GetStaticMapResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_blob = std::move(toMove.m_blob); + m_contentType = std::move(toMove.m_contentType); + m_cacheControl = std::move(toMove.m_cacheControl); + m_eTag = std::move(toMove.m_eTag); + m_pricingBucket = std::move(toMove.m_pricingBucket); + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +GetStaticMapResult::GetStaticMapResult(Aws::AmazonWebServiceResult&& result) +{ + *this = std::move(result); +} + +GetStaticMapResult& GetStaticMapResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_blob = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& contentTypeIter = headers.find("content-type"); + if(contentTypeIter != headers.end()) + { + m_contentType = contentTypeIter->second; + } + + const auto& cacheControlIter = headers.find("cache-control"); + if(cacheControlIter != headers.end()) + { + m_cacheControl = cacheControlIter->second; + } + + const auto& eTagIter = headers.find("etag"); + if(eTagIter != headers.end()) + { + m_eTag = eTagIter->second; + } + + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStyleDescriptorRequest.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStyleDescriptorRequest.cpp new file mode 100644 index 00000000000..4af5f0e3105 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStyleDescriptorRequest.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoMaps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetStyleDescriptorRequest::GetStyleDescriptorRequest() : + m_style(MapStyle::NOT_SET), + m_styleHasBeenSet(false), + m_colorScheme(ColorScheme::NOT_SET), + m_colorSchemeHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_keyHasBeenSet(false) +{ +} + +Aws::String GetStyleDescriptorRequest::SerializePayload() const +{ + return {}; +} + +void GetStyleDescriptorRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_colorSchemeHasBeenSet) + { + ss << ColorSchemeMapper::GetNameForColorScheme(m_colorScheme); + uri.AddQueryStringParameter("color-scheme", ss.str()); + ss.str(""); + } + + if(m_politicalViewHasBeenSet) + { + ss << m_politicalView; + uri.AddQueryStringParameter("political-view", ss.str()); + ss.str(""); + } + + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStyleDescriptorResult.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStyleDescriptorResult.cpp new file mode 100644 index 00000000000..e1bbe7e1edb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetStyleDescriptorResult.cpp @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoMaps::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +GetStyleDescriptorResult::GetStyleDescriptorResult() +{ +} + +GetStyleDescriptorResult::GetStyleDescriptorResult(GetStyleDescriptorResult&& toMove) : + m_blob(std::move(toMove.m_blob)), + m_contentType(std::move(toMove.m_contentType)), + m_cacheControl(std::move(toMove.m_cacheControl)), + m_eTag(std::move(toMove.m_eTag)), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +GetStyleDescriptorResult& GetStyleDescriptorResult::operator=(GetStyleDescriptorResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_blob = std::move(toMove.m_blob); + m_contentType = std::move(toMove.m_contentType); + m_cacheControl = std::move(toMove.m_cacheControl); + m_eTag = std::move(toMove.m_eTag); + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +GetStyleDescriptorResult::GetStyleDescriptorResult(Aws::AmazonWebServiceResult&& result) +{ + *this = std::move(result); +} + +GetStyleDescriptorResult& GetStyleDescriptorResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_blob = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& contentTypeIter = headers.find("content-type"); + if(contentTypeIter != headers.end()) + { + m_contentType = contentTypeIter->second; + } + + const auto& cacheControlIter = headers.find("cache-control"); + if(cacheControlIter != headers.end()) + { + m_cacheControl = cacheControlIter->second; + } + + const auto& eTagIter = headers.find("etag"); + if(eTagIter != headers.end()) + { + m_eTag = eTagIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/GetTileRequest.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetTileRequest.cpp new file mode 100644 index 00000000000..a9ef4931c24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetTileRequest.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoMaps::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetTileRequest::GetTileRequest() : + m_tilesetHasBeenSet(false), + m_zHasBeenSet(false), + m_xHasBeenSet(false), + m_yHasBeenSet(false), + m_keyHasBeenSet(false) +{ +} + +Aws::String GetTileRequest::SerializePayload() const +{ + return {}; +} + +void GetTileRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/GetTileResult.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetTileResult.cpp new file mode 100644 index 00000000000..b56bae3bb68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/GetTileResult.cpp @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoMaps::Model; +using namespace Aws::Utils::Stream; +using namespace Aws::Utils; +using namespace Aws; + +GetTileResult::GetTileResult() +{ +} + +GetTileResult::GetTileResult(GetTileResult&& toMove) : + m_blob(std::move(toMove.m_blob)), + m_contentType(std::move(toMove.m_contentType)), + m_cacheControl(std::move(toMove.m_cacheControl)), + m_eTag(std::move(toMove.m_eTag)), + m_pricingBucket(std::move(toMove.m_pricingBucket)), + m_requestId(std::move(toMove.m_requestId)) +{ +} + +GetTileResult& GetTileResult::operator=(GetTileResult&& toMove) +{ + if(this == &toMove) + { + return *this; + } + + m_blob = std::move(toMove.m_blob); + m_contentType = std::move(toMove.m_contentType); + m_cacheControl = std::move(toMove.m_cacheControl); + m_eTag = std::move(toMove.m_eTag); + m_pricingBucket = std::move(toMove.m_pricingBucket); + m_requestId = std::move(toMove.m_requestId); + + return *this; +} + +GetTileResult::GetTileResult(Aws::AmazonWebServiceResult&& result) +{ + *this = std::move(result); +} + +GetTileResult& GetTileResult::operator =(Aws::AmazonWebServiceResult&& result) +{ + m_blob = result.TakeOwnershipOfPayload(); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& contentTypeIter = headers.find("content-type"); + if(contentTypeIter != headers.end()) + { + m_contentType = contentTypeIter->second; + } + + const auto& cacheControlIter = headers.find("cache-control"); + if(cacheControlIter != headers.end()) + { + m_cacheControl = cacheControlIter->second; + } + + const auto& eTagIter = headers.find("etag"); + if(eTagIter != headers.end()) + { + m_eTag = eTagIter->second; + } + + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/MapStyle.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/MapStyle.cpp new file mode 100644 index 00000000000..6d379c2b067 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/MapStyle.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoMaps + { + namespace Model + { + namespace MapStyleMapper + { + + static const int Standard_HASH = HashingUtils::HashString("Standard"); + static const int Monochrome_HASH = HashingUtils::HashString("Monochrome"); + static const int Hybrid_HASH = HashingUtils::HashString("Hybrid"); + static const int Satellite_HASH = HashingUtils::HashString("Satellite"); + + + MapStyle GetMapStyleForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Standard_HASH) + { + return MapStyle::Standard; + } + else if (hashCode == Monochrome_HASH) + { + return MapStyle::Monochrome; + } + else if (hashCode == Hybrid_HASH) + { + return MapStyle::Hybrid; + } + else if (hashCode == Satellite_HASH) + { + return MapStyle::Satellite; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MapStyle::NOT_SET; + } + + Aws::String GetNameForMapStyle(MapStyle enumValue) + { + switch(enumValue) + { + case MapStyle::NOT_SET: + return {}; + case MapStyle::Standard: + return "Standard"; + case MapStyle::Monochrome: + return "Monochrome"; + case MapStyle::Hybrid: + return "Hybrid"; + case MapStyle::Satellite: + return "Satellite"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MapStyleMapper + } // namespace Model + } // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/ScaleBarUnit.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/ScaleBarUnit.cpp new file mode 100644 index 00000000000..b684e7c8c3c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/ScaleBarUnit.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoMaps + { + namespace Model + { + namespace ScaleBarUnitMapper + { + + static const int Kilometers_HASH = HashingUtils::HashString("Kilometers"); + static const int KilometersMiles_HASH = HashingUtils::HashString("KilometersMiles"); + static const int Miles_HASH = HashingUtils::HashString("Miles"); + static const int MilesKilometers_HASH = HashingUtils::HashString("MilesKilometers"); + + + ScaleBarUnit GetScaleBarUnitForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Kilometers_HASH) + { + return ScaleBarUnit::Kilometers; + } + else if (hashCode == KilometersMiles_HASH) + { + return ScaleBarUnit::KilometersMiles; + } + else if (hashCode == Miles_HASH) + { + return ScaleBarUnit::Miles; + } + else if (hashCode == MilesKilometers_HASH) + { + return ScaleBarUnit::MilesKilometers; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ScaleBarUnit::NOT_SET; + } + + Aws::String GetNameForScaleBarUnit(ScaleBarUnit enumValue) + { + switch(enumValue) + { + case ScaleBarUnit::NOT_SET: + return {}; + case ScaleBarUnit::Kilometers: + return "Kilometers"; + case ScaleBarUnit::KilometersMiles: + return "KilometersMiles"; + case ScaleBarUnit::Miles: + return "Miles"; + case ScaleBarUnit::MilesKilometers: + return "MilesKilometers"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ScaleBarUnitMapper + } // namespace Model + } // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/StaticMapStyle.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/StaticMapStyle.cpp new file mode 100644 index 00000000000..99227d3fa14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/StaticMapStyle.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoMaps + { + namespace Model + { + namespace StaticMapStyleMapper + { + + static const int Satellite_HASH = HashingUtils::HashString("Satellite"); + + + StaticMapStyle GetStaticMapStyleForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Satellite_HASH) + { + return StaticMapStyle::Satellite; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return StaticMapStyle::NOT_SET; + } + + Aws::String GetNameForStaticMapStyle(StaticMapStyle enumValue) + { + switch(enumValue) + { + case StaticMapStyle::NOT_SET: + return {}; + case StaticMapStyle::Satellite: + return "Satellite"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace StaticMapStyleMapper + } // namespace Model + } // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/ValidationException.cpp new file mode 100644 index 00000000000..b401c861f1c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/ValidationException.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoMaps +{ +namespace Model +{ + +ValidationException::ValidationException() : + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false), + m_fieldListHasBeenSet(false) +{ +} + +ValidationException::ValidationException(JsonView jsonValue) + : ValidationException() +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("reason")); + + m_reasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("fieldList")) + { + Aws::Utils::Array fieldListJsonList = jsonValue.GetArray("fieldList"); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + m_fieldList.push_back(fieldListJsonList[fieldListIndex].AsObject()); + } + m_fieldListHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + if(m_fieldListHasBeenSet) + { + Aws::Utils::Array fieldListJsonList(m_fieldList.size()); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + fieldListJsonList[fieldListIndex].AsObject(m_fieldList[fieldListIndex].Jsonize()); + } + payload.WithArray("fieldList", std::move(fieldListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/ValidationExceptionField.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/ValidationExceptionField.cpp new file mode 100644 index 00000000000..3626b362504 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/ValidationExceptionField.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoMaps +{ +namespace Model +{ + +ValidationExceptionField::ValidationExceptionField() : + m_nameHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +ValidationExceptionField::ValidationExceptionField(JsonView jsonValue) + : ValidationExceptionField() +{ + *this = jsonValue; +} + +ValidationExceptionField& ValidationExceptionField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationExceptionField::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..76f610cd715 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/ValidationExceptionReason.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoMaps + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int UnknownOperation_HASH = HashingUtils::HashString("UnknownOperation"); + static const int Missing_HASH = HashingUtils::HashString("Missing"); + static const int CannotParse_HASH = HashingUtils::HashString("CannotParse"); + static const int FieldValidationFailed_HASH = HashingUtils::HashString("FieldValidationFailed"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int UnknownField_HASH = HashingUtils::HashString("UnknownField"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == UnknownOperation_HASH) + { + return ValidationExceptionReason::UnknownOperation; + } + else if (hashCode == Missing_HASH) + { + return ValidationExceptionReason::Missing; + } + else if (hashCode == CannotParse_HASH) + { + return ValidationExceptionReason::CannotParse; + } + else if (hashCode == FieldValidationFailed_HASH) + { + return ValidationExceptionReason::FieldValidationFailed; + } + else if (hashCode == Other_HASH) + { + return ValidationExceptionReason::Other; + } + else if (hashCode == UnknownField_HASH) + { + return ValidationExceptionReason::UnknownField; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::UnknownOperation: + return "UnknownOperation"; + case ValidationExceptionReason::Missing: + return "Missing"; + case ValidationExceptionReason::CannotParse: + return "CannotParse"; + case ValidationExceptionReason::FieldValidationFailed: + return "FieldValidationFailed"; + case ValidationExceptionReason::Other: + return "Other"; + case ValidationExceptionReason::UnknownField: + return "UnknownField"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/model/Variant.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/model/Variant.cpp new file mode 100644 index 00000000000..0964955d115 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/model/Variant.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoMaps + { + namespace Model + { + namespace VariantMapper + { + + static const int Default_HASH = HashingUtils::HashString("Default"); + + + Variant GetVariantForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Default_HASH) + { + return Variant::Default; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return Variant::NOT_SET; + } + + Aws::String GetNameForVariant(Variant enumValue) + { + switch(enumValue) + { + case Variant::NOT_SET: + return {}; + case Variant::Default: + return "Default"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace VariantMapper + } // namespace Model + } // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/CMakeLists.txt b/generated/src/aws-cpp-sdk-geo-places/CMakeLists.txt new file mode 100644 index 00000000000..0e8cbf599bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-geo-places "C++ SDK for the AWS geo-places service" aws-cpp-sdk-core) + +file(GLOB AWS_GEO-PLACES_HEADERS + "include/aws/geo-places/*.h" +) + +file(GLOB AWS_GEO-PLACES_MODEL_HEADERS + "include/aws/geo-places/model/*.h" +) + +file(GLOB AWS_GEO-PLACES_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_GEO-PLACES_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB GEO-PLACES_UNIFIED_HEADERS + ${AWS_GEO-PLACES_HEADERS} + ${AWS_GEO-PLACES_MODEL_HEADERS} +) + +file(GLOB GEO-PLACES_UNITY_SRC + ${AWS_GEO-PLACES_SOURCE} + ${AWS_GEO-PLACES_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("GEO-PLACES" GEO-PLACES_UNITY_SRC) +endif() + +file(GLOB GEO-PLACES_SRC + ${GEO-PLACES_UNIFIED_HEADERS} + ${GEO-PLACES_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\geo-places" FILES ${AWS_GEO-PLACES_HEADERS}) + source_group("Header Files\\aws\\geo-places\\model" FILES ${AWS_GEO-PLACES_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_GEO-PLACES_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_GEO-PLACES_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(GEO-PLACES_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${GEO-PLACES_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_GEOPLACES_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_GEO-PLACES_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/geo-places) +install (FILES ${AWS_GEO-PLACES_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/geo-places/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h new file mode 100644 index 00000000000..bf829a3e23b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h @@ -0,0 +1,287 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ + /** + *

                The Places API enables powerful location search and geocoding capabilities + * for your applications, offering global coverage with rich, detailed information. + * Key features include:

                • Forward and reverse geocoding for + * addresses and coordinates

                • Comprehensive place searches with + * detailed information, including:

                  • Business names and + * addresses

                  • Contact information

                  • Hours of + * operation

                  • POI (Points of Interest) categories

                  • + *

                    Food types for restaurants

                  • Chain affiliation for relevant + * businesses

                • Global data coverage with a wide range + * of POI categories

                • Regular data updates to ensure accuracy and + * relevance

                + */ + class AWS_GEOPLACES_API GeoPlacesClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef GeoPlacesClientConfiguration ClientConfigurationType; + typedef GeoPlacesEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoPlacesClient(const Aws::GeoPlaces::GeoPlacesClientConfiguration& clientConfiguration = Aws::GeoPlaces::GeoPlacesClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoPlacesClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::GeoPlaces::GeoPlacesClientConfiguration& clientConfiguration = Aws::GeoPlaces::GeoPlacesClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + GeoPlacesClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::GeoPlaces::GeoPlacesClientConfiguration& clientConfiguration = Aws::GeoPlaces::GeoPlacesClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoPlacesClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoPlacesClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + GeoPlacesClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~GeoPlacesClient(); + + /** + *

                The autocomplete operation speeds up and increases the accuracy of entering + * addresses by providing a list of address candidates matching a partially entered + * address. Results are sorted from most to least matching. Filtering and biasing + * can be used to increase the relevance of the results if additional search + * context is known

                See Also:

                AWS + * API Reference

                + */ + virtual Model::AutocompleteOutcome Autocomplete(const Model::AutocompleteRequest& request) const; + + /** + * A Callable wrapper for Autocomplete that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::AutocompleteOutcomeCallable AutocompleteCallable(const AutocompleteRequestT& request) const + { + return SubmitCallable(&GeoPlacesClient::Autocomplete, request); + } + + /** + * An Async wrapper for Autocomplete that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void AutocompleteAsync(const AutocompleteRequestT& request, const AutocompleteResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoPlacesClient::Autocomplete, request, handler, context); + } + + /** + *

                The Geocode action allows you to obtain coordinates, addresses, + * and other information about places.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::GeocodeOutcome Geocode(const Model::GeocodeRequest& request = {}) const; + + /** + * A Callable wrapper for Geocode that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GeocodeOutcomeCallable GeocodeCallable(const GeocodeRequestT& request = {}) const + { + return SubmitCallable(&GeoPlacesClient::Geocode, request); + } + + /** + * An Async wrapper for Geocode that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GeocodeAsync(const GeocodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const GeocodeRequestT& request = {}) const + { + return SubmitAsync(&GeoPlacesClient::Geocode, request, handler, context); + } + + /** + *

                Finds a place by its unique ID. A PlaceId is returned by other + * place operations.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::GetPlaceOutcome GetPlace(const Model::GetPlaceRequest& request) const; + + /** + * A Callable wrapper for GetPlace that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetPlaceOutcomeCallable GetPlaceCallable(const GetPlaceRequestT& request) const + { + return SubmitCallable(&GeoPlacesClient::GetPlace, request); + } + + /** + * An Async wrapper for GetPlace that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetPlaceAsync(const GetPlaceRequestT& request, const GetPlaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoPlacesClient::GetPlace, request, handler, context); + } + + /** + *

                The ReverseGeocode operation allows you to retrieve addresses + * and place information from coordinates.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::ReverseGeocodeOutcome ReverseGeocode(const Model::ReverseGeocodeRequest& request) const; + + /** + * A Callable wrapper for ReverseGeocode that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ReverseGeocodeOutcomeCallable ReverseGeocodeCallable(const ReverseGeocodeRequestT& request) const + { + return SubmitCallable(&GeoPlacesClient::ReverseGeocode, request); + } + + /** + * An Async wrapper for ReverseGeocode that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ReverseGeocodeAsync(const ReverseGeocodeRequestT& request, const ReverseGeocodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoPlacesClient::ReverseGeocode, request, handler, context); + } + + /** + *

                Search nearby a specified location.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::SearchNearbyOutcome SearchNearby(const Model::SearchNearbyRequest& request) const; + + /** + * A Callable wrapper for SearchNearby that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SearchNearbyOutcomeCallable SearchNearbyCallable(const SearchNearbyRequestT& request) const + { + return SubmitCallable(&GeoPlacesClient::SearchNearby, request); + } + + /** + * An Async wrapper for SearchNearby that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SearchNearbyAsync(const SearchNearbyRequestT& request, const SearchNearbyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoPlacesClient::SearchNearby, request, handler, context); + } + + /** + *

                Use the SearchText operation to search for geocode and place + * information. You can then complete a follow-up query suggested from the + * Suggest API via a query id.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::SearchTextOutcome SearchText(const Model::SearchTextRequest& request = {}) const; + + /** + * A Callable wrapper for SearchText that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SearchTextOutcomeCallable SearchTextCallable(const SearchTextRequestT& request = {}) const + { + return SubmitCallable(&GeoPlacesClient::SearchText, request); + } + + /** + * An Async wrapper for SearchText that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SearchTextAsync(const SearchTextResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const SearchTextRequestT& request = {}) const + { + return SubmitAsync(&GeoPlacesClient::SearchText, request, handler, context); + } + + /** + *

                The Suggest operation finds addresses or place candidates based + * on incomplete or misspelled queries. You then select the best query to submit + * based on the returned results.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::SuggestOutcome Suggest(const Model::SuggestRequest& request) const; + + /** + * A Callable wrapper for Suggest that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SuggestOutcomeCallable SuggestCallable(const SuggestRequestT& request) const + { + return SubmitCallable(&GeoPlacesClient::Suggest, request); + } + + /** + * An Async wrapper for Suggest that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SuggestAsync(const SuggestRequestT& request, const SuggestResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoPlacesClient::Suggest, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const GeoPlacesClientConfiguration& clientConfiguration); + + GeoPlacesClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesEndpointProvider.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesEndpointProvider.h new file mode 100644 index 00000000000..2b03ff04c40 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using GeoPlacesClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using GeoPlacesClientConfiguration = Aws::Client::GenericClientConfiguration; +using GeoPlacesBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the GeoPlaces 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 GeoPlacesEndpointProviderBase = + EndpointProviderBase; + +using GeoPlacesDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_GEOPLACES_API GeoPlacesEndpointProvider : public GeoPlacesDefaultEpProviderBase +{ +public: + using GeoPlacesResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + GeoPlacesEndpointProvider() + : GeoPlacesDefaultEpProviderBase(Aws::GeoPlaces::GeoPlacesEndpointRules::GetRulesBlob(), Aws::GeoPlaces::GeoPlacesEndpointRules::RulesBlobSize) + {} + + ~GeoPlacesEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesEndpointRules.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesEndpointRules.h new file mode 100644 index 00000000000..68375e3e7eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +class GeoPlacesEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesErrorMarshaller.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesErrorMarshaller.h new file mode 100644 index 00000000000..e1b0fe0ea8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_GEOPLACES_API GeoPlacesErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesErrors.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesErrors.h new file mode 100644 index 00000000000..1e665bed422 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesErrors.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +enum class GeoPlacesErrors +{ + //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, + /////////////////////////////////////////////////////////////////////////////////////////// + + INTERNAL_SERVER= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1 +}; + +class AWS_GEOPLACES_API GeoPlacesError : public Aws::Client::AWSError +{ +public: + GeoPlacesError() {} + GeoPlacesError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + GeoPlacesError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + GeoPlacesError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + GeoPlacesError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace GeoPlacesErrorMapper +{ + AWS_GEOPLACES_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesRequest.h new file mode 100644 index 00000000000..a062be2f287 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ + class AWS_GEOPLACES_API GeoPlacesRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~GeoPlacesRequest () {} + + 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::API_VERSION_HEADER, "2020-11-19")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesServiceClientModel.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesServiceClientModel.h new file mode 100644 index 00000000000..3d33a4b6ca1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesServiceClientModel.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in GeoPlacesClient header */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of service model headers required in GeoPlacesClient 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 GeoPlaces + { + using GeoPlacesClientConfiguration = Aws::Client::GenericClientConfiguration; + using GeoPlacesEndpointProviderBase = Aws::GeoPlaces::Endpoint::GeoPlacesEndpointProviderBase; + using GeoPlacesEndpointProvider = Aws::GeoPlaces::Endpoint::GeoPlacesEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in GeoPlacesClient header */ + class AutocompleteRequest; + class GeocodeRequest; + class GetPlaceRequest; + class ReverseGeocodeRequest; + class SearchNearbyRequest; + class SearchTextRequest; + class SuggestRequest; + /* End of service model forward declarations required in GeoPlacesClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome AutocompleteOutcome; + typedef Aws::Utils::Outcome GeocodeOutcome; + typedef Aws::Utils::Outcome GetPlaceOutcome; + typedef Aws::Utils::Outcome ReverseGeocodeOutcome; + typedef Aws::Utils::Outcome SearchNearbyOutcome; + typedef Aws::Utils::Outcome SearchTextOutcome; + typedef Aws::Utils::Outcome SuggestOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future AutocompleteOutcomeCallable; + typedef std::future GeocodeOutcomeCallable; + typedef std::future GetPlaceOutcomeCallable; + typedef std::future ReverseGeocodeOutcomeCallable; + typedef std::future SearchNearbyOutcomeCallable; + typedef std::future SearchTextOutcomeCallable; + typedef std::future SuggestOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class GeoPlacesClient; + + /* Service model async handlers definitions */ + typedef std::function&) > AutocompleteResponseReceivedHandler; + typedef std::function&) > GeocodeResponseReceivedHandler; + typedef std::function&) > GetPlaceResponseReceivedHandler; + typedef std::function&) > ReverseGeocodeResponseReceivedHandler; + typedef std::function&) > SearchNearbyResponseReceivedHandler; + typedef std::function&) > SearchTextResponseReceivedHandler; + typedef std::function&) > SuggestResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlaces_EXPORTS.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlaces_EXPORTS.h new file mode 100644 index 00000000000..9c61e5b18c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlaces_EXPORTS.h @@ -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_GEOPLACES_EXPORTS + #define AWS_GEOPLACES_API __declspec(dllexport) + #else + #define AWS_GEOPLACES_API __declspec(dllimport) + #endif /* AWS_GEOPLACES_EXPORTS */ + #define AWS_GEOPLACES_EXTERN + #else + #define AWS_GEOPLACES_API + #define AWS_GEOPLACES_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_GEOPLACES_API + #define AWS_GEOPLACES_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AccessPoint.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AccessPoint.h new file mode 100644 index 00000000000..aa48c172294 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AccessPoint.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Position of the access point represented by longitude and latitude for a + * vehicle.

                See Also:

                AWS + * API Reference

                + */ + class AccessPoint + { + public: + AWS_GEOPLACES_API AccessPoint(); + AWS_GEOPLACES_API AccessPoint(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API AccessPoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The position, in longitude and latitude.

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline AccessPoint& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline AccessPoint& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline AccessPoint& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AccessRestriction.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AccessRestriction.h new file mode 100644 index 00000000000..0af2ed642ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AccessRestriction.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Indicates if the access location is restricted. Index correlates to that of + * an access point and indicates if access through this point has some form of + * restriction.

                See Also:

                AWS + * API Reference

                + */ + class AccessRestriction + { + public: + AWS_GEOPLACES_API AccessRestriction(); + AWS_GEOPLACES_API AccessRestriction(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API AccessRestriction& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The restriction.

                + */ + inline bool GetRestricted() const{ return m_restricted; } + inline bool RestrictedHasBeenSet() const { return m_restrictedHasBeenSet; } + inline void SetRestricted(bool value) { m_restrictedHasBeenSet = true; m_restricted = value; } + inline AccessRestriction& WithRestricted(bool value) { SetRestricted(value); return *this;} + ///@} + + ///@{ + /** + *

                Categories of results that results must belong too.

                + */ + inline const Aws::Vector& GetCategories() const{ return m_categories; } + inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } + inline void SetCategories(const Aws::Vector& value) { m_categoriesHasBeenSet = true; m_categories = value; } + inline void SetCategories(Aws::Vector&& value) { m_categoriesHasBeenSet = true; m_categories = std::move(value); } + inline AccessRestriction& WithCategories(const Aws::Vector& value) { SetCategories(value); return *this;} + inline AccessRestriction& WithCategories(Aws::Vector&& value) { SetCategories(std::move(value)); return *this;} + inline AccessRestriction& AddCategories(const Category& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } + inline AccessRestriction& AddCategories(Category&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(std::move(value)); return *this; } + ///@} + private: + + bool m_restricted; + bool m_restrictedHasBeenSet = false; + + Aws::Vector m_categories; + bool m_categoriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Address.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Address.h new file mode 100644 index 00000000000..653bf4565d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Address.h @@ -0,0 +1,309 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The place address.

                See Also:

                AWS + * API Reference

                + */ + class Address + { + public: + AWS_GEOPLACES_API Address(); + AWS_GEOPLACES_API Address(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Address& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Assembled address value built out of the address components, according to the + * regional postal rules. This is the correctly formatted address.

                + */ + inline const Aws::String& GetLabel() const{ return m_label; } + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; } + inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); } + inline Address& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} + inline Address& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} + inline Address& WithLabel(const char* value) { SetLabel(value); return *this;} + ///@} + + ///@{ + /** + *

                The country component of the address.

                + */ + inline const Country& GetCountry() const{ return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + inline void SetCountry(const Country& value) { m_countryHasBeenSet = true; m_country = value; } + inline void SetCountry(Country&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } + inline Address& WithCountry(const Country& value) { SetCountry(value); return *this;} + inline Address& WithCountry(Country&& value) { SetCountry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The region or state results should be present in.

                Example: + * North Rhine-Westphalia.

                + */ + inline const Region& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const Region& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(Region&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline Address& WithRegion(const Region& value) { SetRegion(value); return *this;} + inline Address& WithRegion(Region&& value) { SetRegion(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The sub-region or county for which results should be present in.

                + */ + inline const SubRegion& GetSubRegion() const{ return m_subRegion; } + inline bool SubRegionHasBeenSet() const { return m_subRegionHasBeenSet; } + inline void SetSubRegion(const SubRegion& value) { m_subRegionHasBeenSet = true; m_subRegion = value; } + inline void SetSubRegion(SubRegion&& value) { m_subRegionHasBeenSet = true; m_subRegion = std::move(value); } + inline Address& WithSubRegion(const SubRegion& value) { SetSubRegion(value); return *this;} + inline Address& WithSubRegion(SubRegion&& value) { SetSubRegion(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The locality or city of the address.

                Example: + * Vancouver.

                + */ + inline const Aws::String& GetLocality() const{ return m_locality; } + inline bool LocalityHasBeenSet() const { return m_localityHasBeenSet; } + inline void SetLocality(const Aws::String& value) { m_localityHasBeenSet = true; m_locality = value; } + inline void SetLocality(Aws::String&& value) { m_localityHasBeenSet = true; m_locality = std::move(value); } + inline void SetLocality(const char* value) { m_localityHasBeenSet = true; m_locality.assign(value); } + inline Address& WithLocality(const Aws::String& value) { SetLocality(value); return *this;} + inline Address& WithLocality(Aws::String&& value) { SetLocality(std::move(value)); return *this;} + inline Address& WithLocality(const char* value) { SetLocality(value); return *this;} + ///@} + + ///@{ + /** + *

                The district or division of a locality associated with this address.

                + */ + inline const Aws::String& GetDistrict() const{ return m_district; } + inline bool DistrictHasBeenSet() const { return m_districtHasBeenSet; } + inline void SetDistrict(const Aws::String& value) { m_districtHasBeenSet = true; m_district = value; } + inline void SetDistrict(Aws::String&& value) { m_districtHasBeenSet = true; m_district = std::move(value); } + inline void SetDistrict(const char* value) { m_districtHasBeenSet = true; m_district.assign(value); } + inline Address& WithDistrict(const Aws::String& value) { SetDistrict(value); return *this;} + inline Address& WithDistrict(Aws::String&& value) { SetDistrict(std::move(value)); return *this;} + inline Address& WithDistrict(const char* value) { SetDistrict(value); return *this;} + ///@} + + ///@{ + /** + *

                A subdivision of a district.

                Example: + * Minden-Lübbecke.

                + */ + inline const Aws::String& GetSubDistrict() const{ return m_subDistrict; } + inline bool SubDistrictHasBeenSet() const { return m_subDistrictHasBeenSet; } + inline void SetSubDistrict(const Aws::String& value) { m_subDistrictHasBeenSet = true; m_subDistrict = value; } + inline void SetSubDistrict(Aws::String&& value) { m_subDistrictHasBeenSet = true; m_subDistrict = std::move(value); } + inline void SetSubDistrict(const char* value) { m_subDistrictHasBeenSet = true; m_subDistrict.assign(value); } + inline Address& WithSubDistrict(const Aws::String& value) { SetSubDistrict(value); return *this;} + inline Address& WithSubDistrict(Aws::String&& value) { SetSubDistrict(std::move(value)); return *this;} + inline Address& WithSubDistrict(const char* value) { SetSubDistrict(value); return *this;} + ///@} + + ///@{ + /** + *

                An alphanumeric string included in a postal address to facilitate mail + * sorting, such as post code, postcode, or ZIP code, for which the result should + * posses.

                + */ + inline const Aws::String& GetPostalCode() const{ return m_postalCode; } + inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } + inline void SetPostalCode(const Aws::String& value) { m_postalCodeHasBeenSet = true; m_postalCode = value; } + inline void SetPostalCode(Aws::String&& value) { m_postalCodeHasBeenSet = true; m_postalCode = std::move(value); } + inline void SetPostalCode(const char* value) { m_postalCodeHasBeenSet = true; m_postalCode.assign(value); } + inline Address& WithPostalCode(const Aws::String& value) { SetPostalCode(value); return *this;} + inline Address& WithPostalCode(Aws::String&& value) { SetPostalCode(std::move(value)); return *this;} + inline Address& WithPostalCode(const char* value) { SetPostalCode(value); return *this;} + ///@} + + ///@{ + /** + *

                Name of the block.

                Example: Sunny Mansion 203 block: 2 + * Chome

                + */ + inline const Aws::String& GetBlock() const{ return m_block; } + inline bool BlockHasBeenSet() const { return m_blockHasBeenSet; } + inline void SetBlock(const Aws::String& value) { m_blockHasBeenSet = true; m_block = value; } + inline void SetBlock(Aws::String&& value) { m_blockHasBeenSet = true; m_block = std::move(value); } + inline void SetBlock(const char* value) { m_blockHasBeenSet = true; m_block.assign(value); } + inline Address& WithBlock(const Aws::String& value) { SetBlock(value); return *this;} + inline Address& WithBlock(Aws::String&& value) { SetBlock(std::move(value)); return *this;} + inline Address& WithBlock(const char* value) { SetBlock(value); return *this;} + ///@} + + ///@{ + /** + *

                Name of sub-block.

                Example: Sunny Mansion 203 sub-block: + * 4

                + */ + inline const Aws::String& GetSubBlock() const{ return m_subBlock; } + inline bool SubBlockHasBeenSet() const { return m_subBlockHasBeenSet; } + inline void SetSubBlock(const Aws::String& value) { m_subBlockHasBeenSet = true; m_subBlock = value; } + inline void SetSubBlock(Aws::String&& value) { m_subBlockHasBeenSet = true; m_subBlock = std::move(value); } + inline void SetSubBlock(const char* value) { m_subBlockHasBeenSet = true; m_subBlock.assign(value); } + inline Address& WithSubBlock(const Aws::String& value) { SetSubBlock(value); return *this;} + inline Address& WithSubBlock(Aws::String&& value) { SetSubBlock(std::move(value)); return *this;} + inline Address& WithSubBlock(const char* value) { SetSubBlock(value); return *this;} + ///@} + + ///@{ + /** + *

                Name of the streets in the intersection.

                Example: + * ["Friedrichstraße","Unter den Linden"]

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline Address& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline Address& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline Address& AddIntersection(const Aws::String& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline Address& AddIntersection(Aws::String&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + inline Address& AddIntersection(const char* value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The name of the street results should be present in.

                + */ + inline const Aws::String& GetStreet() const{ return m_street; } + inline bool StreetHasBeenSet() const { return m_streetHasBeenSet; } + inline void SetStreet(const Aws::String& value) { m_streetHasBeenSet = true; m_street = value; } + inline void SetStreet(Aws::String&& value) { m_streetHasBeenSet = true; m_street = std::move(value); } + inline void SetStreet(const char* value) { m_streetHasBeenSet = true; m_street.assign(value); } + inline Address& WithStreet(const Aws::String& value) { SetStreet(value); return *this;} + inline Address& WithStreet(Aws::String&& value) { SetStreet(std::move(value)); return *this;} + inline Address& WithStreet(const char* value) { SetStreet(value); return *this;} + ///@} + + ///@{ + /** + *

                Components of the street.

                Example: Younge from the "Younge + * street".

                + */ + inline const Aws::Vector& GetStreetComponents() const{ return m_streetComponents; } + inline bool StreetComponentsHasBeenSet() const { return m_streetComponentsHasBeenSet; } + inline void SetStreetComponents(const Aws::Vector& value) { m_streetComponentsHasBeenSet = true; m_streetComponents = value; } + inline void SetStreetComponents(Aws::Vector&& value) { m_streetComponentsHasBeenSet = true; m_streetComponents = std::move(value); } + inline Address& WithStreetComponents(const Aws::Vector& value) { SetStreetComponents(value); return *this;} + inline Address& WithStreetComponents(Aws::Vector&& value) { SetStreetComponents(std::move(value)); return *this;} + inline Address& AddStreetComponents(const StreetComponents& value) { m_streetComponentsHasBeenSet = true; m_streetComponents.push_back(value); return *this; } + inline Address& AddStreetComponents(StreetComponents&& value) { m_streetComponentsHasBeenSet = true; m_streetComponents.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The number that identifies an address within a street.

                + */ + inline const Aws::String& GetAddressNumber() const{ return m_addressNumber; } + inline bool AddressNumberHasBeenSet() const { return m_addressNumberHasBeenSet; } + inline void SetAddressNumber(const Aws::String& value) { m_addressNumberHasBeenSet = true; m_addressNumber = value; } + inline void SetAddressNumber(Aws::String&& value) { m_addressNumberHasBeenSet = true; m_addressNumber = std::move(value); } + inline void SetAddressNumber(const char* value) { m_addressNumberHasBeenSet = true; m_addressNumber.assign(value); } + inline Address& WithAddressNumber(const Aws::String& value) { SetAddressNumber(value); return *this;} + inline Address& WithAddressNumber(Aws::String&& value) { SetAddressNumber(std::move(value)); return *this;} + inline Address& WithAddressNumber(const char* value) { SetAddressNumber(value); return *this;} + ///@} + + ///@{ + /** + *

                The name of the building at the address.

                + */ + inline const Aws::String& GetBuilding() const{ return m_building; } + inline bool BuildingHasBeenSet() const { return m_buildingHasBeenSet; } + inline void SetBuilding(const Aws::String& value) { m_buildingHasBeenSet = true; m_building = value; } + inline void SetBuilding(Aws::String&& value) { m_buildingHasBeenSet = true; m_building = std::move(value); } + inline void SetBuilding(const char* value) { m_buildingHasBeenSet = true; m_building.assign(value); } + inline Address& WithBuilding(const Aws::String& value) { SetBuilding(value); return *this;} + inline Address& WithBuilding(Aws::String&& value) { SetBuilding(std::move(value)); return *this;} + inline Address& WithBuilding(const char* value) { SetBuilding(value); return *this;} + ///@} + private: + + Aws::String m_label; + bool m_labelHasBeenSet = false; + + Country m_country; + bool m_countryHasBeenSet = false; + + Region m_region; + bool m_regionHasBeenSet = false; + + SubRegion m_subRegion; + bool m_subRegionHasBeenSet = false; + + Aws::String m_locality; + bool m_localityHasBeenSet = false; + + Aws::String m_district; + bool m_districtHasBeenSet = false; + + Aws::String m_subDistrict; + bool m_subDistrictHasBeenSet = false; + + Aws::String m_postalCode; + bool m_postalCodeHasBeenSet = false; + + Aws::String m_block; + bool m_blockHasBeenSet = false; + + Aws::String m_subBlock; + bool m_subBlockHasBeenSet = false; + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + Aws::String m_street; + bool m_streetHasBeenSet = false; + + Aws::Vector m_streetComponents; + bool m_streetComponentsHasBeenSet = false; + + Aws::String m_addressNumber; + bool m_addressNumberHasBeenSet = false; + + Aws::String m_building; + bool m_buildingHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentMatchScores.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentMatchScores.h new file mode 100644 index 00000000000..6eefe6306f8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentMatchScores.h @@ -0,0 +1,213 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Indicates how well the entire input matches the returned. It is equal to 1 if + * all input tokens are recognized and matched.

                See Also:

                AWS + * API Reference

                + */ + class AddressComponentMatchScores + { + public: + AWS_GEOPLACES_API AddressComponentMatchScores(); + AWS_GEOPLACES_API AddressComponentMatchScores(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API AddressComponentMatchScores& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the country that the results will + * be present in.

                + */ + inline double GetCountry() const{ return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + inline void SetCountry(double value) { m_countryHasBeenSet = true; m_country = value; } + inline AddressComponentMatchScores& WithCountry(double value) { SetCountry(value); return *this;} + ///@} + + ///@{ + /** + *

                The region or state results should be to be present in.

                Example: + * North Rhine-Westphalia.

                + */ + inline double GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(double value) { m_regionHasBeenSet = true; m_region = value; } + inline AddressComponentMatchScores& WithRegion(double value) { SetRegion(value); return *this;} + ///@} + + ///@{ + /** + *

                The sub-region or county for which results should be present in.

                + */ + inline double GetSubRegion() const{ return m_subRegion; } + inline bool SubRegionHasBeenSet() const { return m_subRegionHasBeenSet; } + inline void SetSubRegion(double value) { m_subRegionHasBeenSet = true; m_subRegion = value; } + inline AddressComponentMatchScores& WithSubRegion(double value) { SetSubRegion(value); return *this;} + ///@} + + ///@{ + /** + *

                The city or locality results should be present in.

                Example: + * Vancouver.

                + */ + inline double GetLocality() const{ return m_locality; } + inline bool LocalityHasBeenSet() const { return m_localityHasBeenSet; } + inline void SetLocality(double value) { m_localityHasBeenSet = true; m_locality = value; } + inline AddressComponentMatchScores& WithLocality(double value) { SetLocality(value); return *this;} + ///@} + + ///@{ + /** + *

                The district or division of a city the results should be present in.

                + */ + inline double GetDistrict() const{ return m_district; } + inline bool DistrictHasBeenSet() const { return m_districtHasBeenSet; } + inline void SetDistrict(double value) { m_districtHasBeenSet = true; m_district = value; } + inline AddressComponentMatchScores& WithDistrict(double value) { SetDistrict(value); return *this;} + ///@} + + ///@{ + /** + *

                A subdivision of a district.

                Example: Minden-Lübbecke + *

                + */ + inline double GetSubDistrict() const{ return m_subDistrict; } + inline bool SubDistrictHasBeenSet() const { return m_subDistrictHasBeenSet; } + inline void SetSubDistrict(double value) { m_subDistrictHasBeenSet = true; m_subDistrict = value; } + inline AddressComponentMatchScores& WithSubDistrict(double value) { SetSubDistrict(value); return *this;} + ///@} + + ///@{ + /** + *

                An alphanumeric string included in a postal address to facilitate mail + * sorting, such as post code, postcode, or ZIP code, for which the result should + * posses.

                + */ + inline double GetPostalCode() const{ return m_postalCode; } + inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } + inline void SetPostalCode(double value) { m_postalCodeHasBeenSet = true; m_postalCode = value; } + inline AddressComponentMatchScores& WithPostalCode(double value) { SetPostalCode(value); return *this;} + ///@} + + ///@{ + /** + *

                Name of the block.

                Example: Sunny Mansion 203 block: 2 + * Chome

                + */ + inline double GetBlock() const{ return m_block; } + inline bool BlockHasBeenSet() const { return m_blockHasBeenSet; } + inline void SetBlock(double value) { m_blockHasBeenSet = true; m_block = value; } + inline AddressComponentMatchScores& WithBlock(double value) { SetBlock(value); return *this;} + ///@} + + ///@{ + /** + *

                Name of sub-block.

                Example: Sunny Mansion 203 sub-block: + * 4

                + */ + inline double GetSubBlock() const{ return m_subBlock; } + inline bool SubBlockHasBeenSet() const { return m_subBlockHasBeenSet; } + inline void SetSubBlock(double value) { m_subBlockHasBeenSet = true; m_subBlock = value; } + inline AddressComponentMatchScores& WithSubBlock(double value) { SetSubBlock(value); return *this;} + ///@} + + ///@{ + /** + *

                Name of the streets in the intersection.

                Example: + * ["Friedrichstraße","Unter den Linden"]

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline AddressComponentMatchScores& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline AddressComponentMatchScores& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline AddressComponentMatchScores& AddIntersection(double value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The house number or address results should have.

                + */ + inline double GetAddressNumber() const{ return m_addressNumber; } + inline bool AddressNumberHasBeenSet() const { return m_addressNumberHasBeenSet; } + inline void SetAddressNumber(double value) { m_addressNumberHasBeenSet = true; m_addressNumber = value; } + inline AddressComponentMatchScores& WithAddressNumber(double value) { SetAddressNumber(value); return *this;} + ///@} + + ///@{ + /** + *

                The name of the building at the address.

                + */ + inline double GetBuilding() const{ return m_building; } + inline bool BuildingHasBeenSet() const { return m_buildingHasBeenSet; } + inline void SetBuilding(double value) { m_buildingHasBeenSet = true; m_building = value; } + inline AddressComponentMatchScores& WithBuilding(double value) { SetBuilding(value); return *this;} + ///@} + private: + + double m_country; + bool m_countryHasBeenSet = false; + + double m_region; + bool m_regionHasBeenSet = false; + + double m_subRegion; + bool m_subRegionHasBeenSet = false; + + double m_locality; + bool m_localityHasBeenSet = false; + + double m_district; + bool m_districtHasBeenSet = false; + + double m_subDistrict; + bool m_subDistrictHasBeenSet = false; + + double m_postalCode; + bool m_postalCodeHasBeenSet = false; + + double m_block; + bool m_blockHasBeenSet = false; + + double m_subBlock; + bool m_subBlockHasBeenSet = false; + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + double m_addressNumber; + bool m_addressNumberHasBeenSet = false; + + double m_building; + bool m_buildingHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentPhonemes.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentPhonemes.h new file mode 100644 index 00000000000..84a9410effb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AddressComponentPhonemes.h @@ -0,0 +1,204 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                How to pronounce the various components of the address or + * place.

                See Also:

                AWS + * API Reference

                + */ + class AddressComponentPhonemes + { + public: + AWS_GEOPLACES_API AddressComponentPhonemes(); + AWS_GEOPLACES_API AddressComponentPhonemes(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API AddressComponentPhonemes& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the country that the results will + * be present in.

                + */ + inline const Aws::Vector& GetCountry() const{ return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + inline void SetCountry(const Aws::Vector& value) { m_countryHasBeenSet = true; m_country = value; } + inline void SetCountry(Aws::Vector&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } + inline AddressComponentPhonemes& WithCountry(const Aws::Vector& value) { SetCountry(value); return *this;} + inline AddressComponentPhonemes& WithCountry(Aws::Vector&& value) { SetCountry(std::move(value)); return *this;} + inline AddressComponentPhonemes& AddCountry(const PhonemeTranscription& value) { m_countryHasBeenSet = true; m_country.push_back(value); return *this; } + inline AddressComponentPhonemes& AddCountry(PhonemeTranscription&& value) { m_countryHasBeenSet = true; m_country.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                How to pronounce the region or state results should be to be present in.

                + */ + inline const Aws::Vector& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const Aws::Vector& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(Aws::Vector&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline AddressComponentPhonemes& WithRegion(const Aws::Vector& value) { SetRegion(value); return *this;} + inline AddressComponentPhonemes& WithRegion(Aws::Vector&& value) { SetRegion(std::move(value)); return *this;} + inline AddressComponentPhonemes& AddRegion(const PhonemeTranscription& value) { m_regionHasBeenSet = true; m_region.push_back(value); return *this; } + inline AddressComponentPhonemes& AddRegion(PhonemeTranscription&& value) { m_regionHasBeenSet = true; m_region.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                How to pronounce the sub-region or county for which results should be present + * in.

                + */ + inline const Aws::Vector& GetSubRegion() const{ return m_subRegion; } + inline bool SubRegionHasBeenSet() const { return m_subRegionHasBeenSet; } + inline void SetSubRegion(const Aws::Vector& value) { m_subRegionHasBeenSet = true; m_subRegion = value; } + inline void SetSubRegion(Aws::Vector&& value) { m_subRegionHasBeenSet = true; m_subRegion = std::move(value); } + inline AddressComponentPhonemes& WithSubRegion(const Aws::Vector& value) { SetSubRegion(value); return *this;} + inline AddressComponentPhonemes& WithSubRegion(Aws::Vector&& value) { SetSubRegion(std::move(value)); return *this;} + inline AddressComponentPhonemes& AddSubRegion(const PhonemeTranscription& value) { m_subRegionHasBeenSet = true; m_subRegion.push_back(value); return *this; } + inline AddressComponentPhonemes& AddSubRegion(PhonemeTranscription&& value) { m_subRegionHasBeenSet = true; m_subRegion.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                How to pronounce the city or locality results should be present in.

                + *

                Example: Vancouver.

                + */ + inline const Aws::Vector& GetLocality() const{ return m_locality; } + inline bool LocalityHasBeenSet() const { return m_localityHasBeenSet; } + inline void SetLocality(const Aws::Vector& value) { m_localityHasBeenSet = true; m_locality = value; } + inline void SetLocality(Aws::Vector&& value) { m_localityHasBeenSet = true; m_locality = std::move(value); } + inline AddressComponentPhonemes& WithLocality(const Aws::Vector& value) { SetLocality(value); return *this;} + inline AddressComponentPhonemes& WithLocality(Aws::Vector&& value) { SetLocality(std::move(value)); return *this;} + inline AddressComponentPhonemes& AddLocality(const PhonemeTranscription& value) { m_localityHasBeenSet = true; m_locality.push_back(value); return *this; } + inline AddressComponentPhonemes& AddLocality(PhonemeTranscription&& value) { m_localityHasBeenSet = true; m_locality.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                How to pronounce the district or division of a city results should be present + * in.

                + */ + inline const Aws::Vector& GetDistrict() const{ return m_district; } + inline bool DistrictHasBeenSet() const { return m_districtHasBeenSet; } + inline void SetDistrict(const Aws::Vector& value) { m_districtHasBeenSet = true; m_district = value; } + inline void SetDistrict(Aws::Vector&& value) { m_districtHasBeenSet = true; m_district = std::move(value); } + inline AddressComponentPhonemes& WithDistrict(const Aws::Vector& value) { SetDistrict(value); return *this;} + inline AddressComponentPhonemes& WithDistrict(Aws::Vector&& value) { SetDistrict(std::move(value)); return *this;} + inline AddressComponentPhonemes& AddDistrict(const PhonemeTranscription& value) { m_districtHasBeenSet = true; m_district.push_back(value); return *this; } + inline AddressComponentPhonemes& AddDistrict(PhonemeTranscription&& value) { m_districtHasBeenSet = true; m_district.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                How to pronounce the sub-district or division of a city results should be + * present in.

                + */ + inline const Aws::Vector& GetSubDistrict() const{ return m_subDistrict; } + inline bool SubDistrictHasBeenSet() const { return m_subDistrictHasBeenSet; } + inline void SetSubDistrict(const Aws::Vector& value) { m_subDistrictHasBeenSet = true; m_subDistrict = value; } + inline void SetSubDistrict(Aws::Vector&& value) { m_subDistrictHasBeenSet = true; m_subDistrict = std::move(value); } + inline AddressComponentPhonemes& WithSubDistrict(const Aws::Vector& value) { SetSubDistrict(value); return *this;} + inline AddressComponentPhonemes& WithSubDistrict(Aws::Vector&& value) { SetSubDistrict(std::move(value)); return *this;} + inline AddressComponentPhonemes& AddSubDistrict(const PhonemeTranscription& value) { m_subDistrictHasBeenSet = true; m_subDistrict.push_back(value); return *this; } + inline AddressComponentPhonemes& AddSubDistrict(PhonemeTranscription&& value) { m_subDistrictHasBeenSet = true; m_subDistrict.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                How to pronounce the name of the block.

                + */ + inline const Aws::Vector& GetBlock() const{ return m_block; } + inline bool BlockHasBeenSet() const { return m_blockHasBeenSet; } + inline void SetBlock(const Aws::Vector& value) { m_blockHasBeenSet = true; m_block = value; } + inline void SetBlock(Aws::Vector&& value) { m_blockHasBeenSet = true; m_block = std::move(value); } + inline AddressComponentPhonemes& WithBlock(const Aws::Vector& value) { SetBlock(value); return *this;} + inline AddressComponentPhonemes& WithBlock(Aws::Vector&& value) { SetBlock(std::move(value)); return *this;} + inline AddressComponentPhonemes& AddBlock(const PhonemeTranscription& value) { m_blockHasBeenSet = true; m_block.push_back(value); return *this; } + inline AddressComponentPhonemes& AddBlock(PhonemeTranscription&& value) { m_blockHasBeenSet = true; m_block.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                How to pronounce the name of the sub-block.

                + */ + inline const Aws::Vector& GetSubBlock() const{ return m_subBlock; } + inline bool SubBlockHasBeenSet() const { return m_subBlockHasBeenSet; } + inline void SetSubBlock(const Aws::Vector& value) { m_subBlockHasBeenSet = true; m_subBlock = value; } + inline void SetSubBlock(Aws::Vector&& value) { m_subBlockHasBeenSet = true; m_subBlock = std::move(value); } + inline AddressComponentPhonemes& WithSubBlock(const Aws::Vector& value) { SetSubBlock(value); return *this;} + inline AddressComponentPhonemes& WithSubBlock(Aws::Vector&& value) { SetSubBlock(std::move(value)); return *this;} + inline AddressComponentPhonemes& AddSubBlock(const PhonemeTranscription& value) { m_subBlockHasBeenSet = true; m_subBlock.push_back(value); return *this; } + inline AddressComponentPhonemes& AddSubBlock(PhonemeTranscription&& value) { m_subBlockHasBeenSet = true; m_subBlock.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                How to pronounce the name of the street results should be present in.

                + */ + inline const Aws::Vector& GetStreet() const{ return m_street; } + inline bool StreetHasBeenSet() const { return m_streetHasBeenSet; } + inline void SetStreet(const Aws::Vector& value) { m_streetHasBeenSet = true; m_street = value; } + inline void SetStreet(Aws::Vector&& value) { m_streetHasBeenSet = true; m_street = std::move(value); } + inline AddressComponentPhonemes& WithStreet(const Aws::Vector& value) { SetStreet(value); return *this;} + inline AddressComponentPhonemes& WithStreet(Aws::Vector&& value) { SetStreet(std::move(value)); return *this;} + inline AddressComponentPhonemes& AddStreet(const PhonemeTranscription& value) { m_streetHasBeenSet = true; m_street.push_back(value); return *this; } + inline AddressComponentPhonemes& AddStreet(PhonemeTranscription&& value) { m_streetHasBeenSet = true; m_street.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_country; + bool m_countryHasBeenSet = false; + + Aws::Vector m_region; + bool m_regionHasBeenSet = false; + + Aws::Vector m_subRegion; + bool m_subRegionHasBeenSet = false; + + Aws::Vector m_locality; + bool m_localityHasBeenSet = false; + + Aws::Vector m_district; + bool m_districtHasBeenSet = false; + + Aws::Vector m_subDistrict; + bool m_subDistrictHasBeenSet = false; + + Aws::Vector m_block; + bool m_blockHasBeenSet = false; + + Aws::Vector m_subBlock; + bool m_subBlockHasBeenSet = false; + + Aws::Vector m_street; + bool m_streetHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAdditionalFeature.h new file mode 100644 index 00000000000..2c15f33f16f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAdditionalFeature.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class AutocompleteAdditionalFeature + { + NOT_SET, + Core + }; + +namespace AutocompleteAdditionalFeatureMapper +{ +AWS_GEOPLACES_API AutocompleteAdditionalFeature GetAutocompleteAdditionalFeatureForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForAutocompleteAdditionalFeature(AutocompleteAdditionalFeature value); +} // namespace AutocompleteAdditionalFeatureMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAddressHighlights.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAddressHighlights.h new file mode 100644 index 00000000000..bf114470b59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteAddressHighlights.h @@ -0,0 +1,292 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Describes how the parts of the response element matched the input query by + * returning the sections of the response which matched to input query + * terms.

                See Also:

                AWS + * API Reference

                + */ + class AutocompleteAddressHighlights + { + public: + AWS_GEOPLACES_API AutocompleteAddressHighlights(); + AWS_GEOPLACES_API AutocompleteAddressHighlights(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API AutocompleteAddressHighlights& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Indicates the starting and ending indexes for result items where they are + * identified to match the input query. This should be used to provide emphasis to + * output display to make selecting the correct result from a list easier for end + * users.

                + */ + inline const Aws::Vector& GetLabel() const{ return m_label; } + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + inline void SetLabel(const Aws::Vector& value) { m_labelHasBeenSet = true; m_label = value; } + inline void SetLabel(Aws::Vector&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + inline AutocompleteAddressHighlights& WithLabel(const Aws::Vector& value) { SetLabel(value); return *this;} + inline AutocompleteAddressHighlights& WithLabel(Aws::Vector&& value) { SetLabel(std::move(value)); return *this;} + inline AutocompleteAddressHighlights& AddLabel(const Highlight& value) { m_labelHasBeenSet = true; m_label.push_back(value); return *this; } + inline AutocompleteAddressHighlights& AddLabel(Highlight&& value) { m_labelHasBeenSet = true; m_label.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the country that the results will + * be present in.

                + */ + inline const CountryHighlights& GetCountry() const{ return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + inline void SetCountry(const CountryHighlights& value) { m_countryHasBeenSet = true; m_country = value; } + inline void SetCountry(CountryHighlights&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } + inline AutocompleteAddressHighlights& WithCountry(const CountryHighlights& value) { SetCountry(value); return *this;} + inline AutocompleteAddressHighlights& WithCountry(CountryHighlights&& value) { SetCountry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The region or state results should be to be present in.

                Example: + * North Rhine-Westphalia.

                + */ + inline const RegionHighlights& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const RegionHighlights& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(RegionHighlights&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline AutocompleteAddressHighlights& WithRegion(const RegionHighlights& value) { SetRegion(value); return *this;} + inline AutocompleteAddressHighlights& WithRegion(RegionHighlights&& value) { SetRegion(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The sub-region or county for which results should be present in.

                + */ + inline const SubRegionHighlights& GetSubRegion() const{ return m_subRegion; } + inline bool SubRegionHasBeenSet() const { return m_subRegionHasBeenSet; } + inline void SetSubRegion(const SubRegionHighlights& value) { m_subRegionHasBeenSet = true; m_subRegion = value; } + inline void SetSubRegion(SubRegionHighlights&& value) { m_subRegionHasBeenSet = true; m_subRegion = std::move(value); } + inline AutocompleteAddressHighlights& WithSubRegion(const SubRegionHighlights& value) { SetSubRegion(value); return *this;} + inline AutocompleteAddressHighlights& WithSubRegion(SubRegionHighlights&& value) { SetSubRegion(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The city or locality results should be present in.

                Example: + * Vancouver.

                + */ + inline const Aws::Vector& GetLocality() const{ return m_locality; } + inline bool LocalityHasBeenSet() const { return m_localityHasBeenSet; } + inline void SetLocality(const Aws::Vector& value) { m_localityHasBeenSet = true; m_locality = value; } + inline void SetLocality(Aws::Vector&& value) { m_localityHasBeenSet = true; m_locality = std::move(value); } + inline AutocompleteAddressHighlights& WithLocality(const Aws::Vector& value) { SetLocality(value); return *this;} + inline AutocompleteAddressHighlights& WithLocality(Aws::Vector&& value) { SetLocality(std::move(value)); return *this;} + inline AutocompleteAddressHighlights& AddLocality(const Highlight& value) { m_localityHasBeenSet = true; m_locality.push_back(value); return *this; } + inline AutocompleteAddressHighlights& AddLocality(Highlight&& value) { m_localityHasBeenSet = true; m_locality.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The district or division of a city the results should be present in.

                + */ + inline const Aws::Vector& GetDistrict() const{ return m_district; } + inline bool DistrictHasBeenSet() const { return m_districtHasBeenSet; } + inline void SetDistrict(const Aws::Vector& value) { m_districtHasBeenSet = true; m_district = value; } + inline void SetDistrict(Aws::Vector&& value) { m_districtHasBeenSet = true; m_district = std::move(value); } + inline AutocompleteAddressHighlights& WithDistrict(const Aws::Vector& value) { SetDistrict(value); return *this;} + inline AutocompleteAddressHighlights& WithDistrict(Aws::Vector&& value) { SetDistrict(std::move(value)); return *this;} + inline AutocompleteAddressHighlights& AddDistrict(const Highlight& value) { m_districtHasBeenSet = true; m_district.push_back(value); return *this; } + inline AutocompleteAddressHighlights& AddDistrict(Highlight&& value) { m_districtHasBeenSet = true; m_district.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Indicates the starting and ending index of the title in the text query that + * match the found title.

                + */ + inline const Aws::Vector& GetSubDistrict() const{ return m_subDistrict; } + inline bool SubDistrictHasBeenSet() const { return m_subDistrictHasBeenSet; } + inline void SetSubDistrict(const Aws::Vector& value) { m_subDistrictHasBeenSet = true; m_subDistrict = value; } + inline void SetSubDistrict(Aws::Vector&& value) { m_subDistrictHasBeenSet = true; m_subDistrict = std::move(value); } + inline AutocompleteAddressHighlights& WithSubDistrict(const Aws::Vector& value) { SetSubDistrict(value); return *this;} + inline AutocompleteAddressHighlights& WithSubDistrict(Aws::Vector&& value) { SetSubDistrict(std::move(value)); return *this;} + inline AutocompleteAddressHighlights& AddSubDistrict(const Highlight& value) { m_subDistrictHasBeenSet = true; m_subDistrict.push_back(value); return *this; } + inline AutocompleteAddressHighlights& AddSubDistrict(Highlight&& value) { m_subDistrictHasBeenSet = true; m_subDistrict.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The name of the street results should be present in.

                + */ + inline const Aws::Vector& GetStreet() const{ return m_street; } + inline bool StreetHasBeenSet() const { return m_streetHasBeenSet; } + inline void SetStreet(const Aws::Vector& value) { m_streetHasBeenSet = true; m_street = value; } + inline void SetStreet(Aws::Vector&& value) { m_streetHasBeenSet = true; m_street = std::move(value); } + inline AutocompleteAddressHighlights& WithStreet(const Aws::Vector& value) { SetStreet(value); return *this;} + inline AutocompleteAddressHighlights& WithStreet(Aws::Vector&& value) { SetStreet(std::move(value)); return *this;} + inline AutocompleteAddressHighlights& AddStreet(const Highlight& value) { m_streetHasBeenSet = true; m_street.push_back(value); return *this; } + inline AutocompleteAddressHighlights& AddStreet(Highlight&& value) { m_streetHasBeenSet = true; m_street.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Name of the block. Example: Sunny Mansion 203 block: 2 Chome

                + */ + inline const Aws::Vector& GetBlock() const{ return m_block; } + inline bool BlockHasBeenSet() const { return m_blockHasBeenSet; } + inline void SetBlock(const Aws::Vector& value) { m_blockHasBeenSet = true; m_block = value; } + inline void SetBlock(Aws::Vector&& value) { m_blockHasBeenSet = true; m_block = std::move(value); } + inline AutocompleteAddressHighlights& WithBlock(const Aws::Vector& value) { SetBlock(value); return *this;} + inline AutocompleteAddressHighlights& WithBlock(Aws::Vector&& value) { SetBlock(std::move(value)); return *this;} + inline AutocompleteAddressHighlights& AddBlock(const Highlight& value) { m_blockHasBeenSet = true; m_block.push_back(value); return *this; } + inline AutocompleteAddressHighlights& AddBlock(Highlight&& value) { m_blockHasBeenSet = true; m_block.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Name of sub-block. Example Sunny Mansion 203 sub-block: 4

                + */ + inline const Aws::Vector& GetSubBlock() const{ return m_subBlock; } + inline bool SubBlockHasBeenSet() const { return m_subBlockHasBeenSet; } + inline void SetSubBlock(const Aws::Vector& value) { m_subBlockHasBeenSet = true; m_subBlock = value; } + inline void SetSubBlock(Aws::Vector&& value) { m_subBlockHasBeenSet = true; m_subBlock = std::move(value); } + inline AutocompleteAddressHighlights& WithSubBlock(const Aws::Vector& value) { SetSubBlock(value); return *this;} + inline AutocompleteAddressHighlights& WithSubBlock(Aws::Vector&& value) { SetSubBlock(std::move(value)); return *this;} + inline AutocompleteAddressHighlights& AddSubBlock(const Highlight& value) { m_subBlockHasBeenSet = true; m_subBlock.push_back(value); return *this; } + inline AutocompleteAddressHighlights& AddSubBlock(Highlight&& value) { m_subBlockHasBeenSet = true; m_subBlock.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Name of the streets in the intersection. For example: e.g. + * ["Friedrichstraße","Unter den Linden"]

                + */ + inline const Aws::Vector>& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector>& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector>&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline AutocompleteAddressHighlights& WithIntersection(const Aws::Vector>& value) { SetIntersection(value); return *this;} + inline AutocompleteAddressHighlights& WithIntersection(Aws::Vector>&& value) { SetIntersection(std::move(value)); return *this;} + inline AutocompleteAddressHighlights& AddIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline AutocompleteAddressHighlights& AddIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                An alphanumeric string included in a postal address to facilitate mail + * sorting, such as post code, postcode, or ZIP code for which the result should + * posses.

                + */ + inline const Aws::Vector& GetPostalCode() const{ return m_postalCode; } + inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } + inline void SetPostalCode(const Aws::Vector& value) { m_postalCodeHasBeenSet = true; m_postalCode = value; } + inline void SetPostalCode(Aws::Vector&& value) { m_postalCodeHasBeenSet = true; m_postalCode = std::move(value); } + inline AutocompleteAddressHighlights& WithPostalCode(const Aws::Vector& value) { SetPostalCode(value); return *this;} + inline AutocompleteAddressHighlights& WithPostalCode(Aws::Vector&& value) { SetPostalCode(std::move(value)); return *this;} + inline AutocompleteAddressHighlights& AddPostalCode(const Highlight& value) { m_postalCodeHasBeenSet = true; m_postalCode.push_back(value); return *this; } + inline AutocompleteAddressHighlights& AddPostalCode(Highlight&& value) { m_postalCodeHasBeenSet = true; m_postalCode.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The house number or address results should have.

                + */ + inline const Aws::Vector& GetAddressNumber() const{ return m_addressNumber; } + inline bool AddressNumberHasBeenSet() const { return m_addressNumberHasBeenSet; } + inline void SetAddressNumber(const Aws::Vector& value) { m_addressNumberHasBeenSet = true; m_addressNumber = value; } + inline void SetAddressNumber(Aws::Vector&& value) { m_addressNumberHasBeenSet = true; m_addressNumber = std::move(value); } + inline AutocompleteAddressHighlights& WithAddressNumber(const Aws::Vector& value) { SetAddressNumber(value); return *this;} + inline AutocompleteAddressHighlights& WithAddressNumber(Aws::Vector&& value) { SetAddressNumber(std::move(value)); return *this;} + inline AutocompleteAddressHighlights& AddAddressNumber(const Highlight& value) { m_addressNumberHasBeenSet = true; m_addressNumber.push_back(value); return *this; } + inline AutocompleteAddressHighlights& AddAddressNumber(Highlight&& value) { m_addressNumberHasBeenSet = true; m_addressNumber.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The name of the building at the address.

                + */ + inline const Aws::Vector& GetBuilding() const{ return m_building; } + inline bool BuildingHasBeenSet() const { return m_buildingHasBeenSet; } + inline void SetBuilding(const Aws::Vector& value) { m_buildingHasBeenSet = true; m_building = value; } + inline void SetBuilding(Aws::Vector&& value) { m_buildingHasBeenSet = true; m_building = std::move(value); } + inline AutocompleteAddressHighlights& WithBuilding(const Aws::Vector& value) { SetBuilding(value); return *this;} + inline AutocompleteAddressHighlights& WithBuilding(Aws::Vector&& value) { SetBuilding(std::move(value)); return *this;} + inline AutocompleteAddressHighlights& AddBuilding(const Highlight& value) { m_buildingHasBeenSet = true; m_building.push_back(value); return *this; } + inline AutocompleteAddressHighlights& AddBuilding(Highlight&& value) { m_buildingHasBeenSet = true; m_building.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_label; + bool m_labelHasBeenSet = false; + + CountryHighlights m_country; + bool m_countryHasBeenSet = false; + + RegionHighlights m_region; + bool m_regionHasBeenSet = false; + + SubRegionHighlights m_subRegion; + bool m_subRegionHasBeenSet = false; + + Aws::Vector m_locality; + bool m_localityHasBeenSet = false; + + Aws::Vector m_district; + bool m_districtHasBeenSet = false; + + Aws::Vector m_subDistrict; + bool m_subDistrictHasBeenSet = false; + + Aws::Vector m_street; + bool m_streetHasBeenSet = false; + + Aws::Vector m_block; + bool m_blockHasBeenSet = false; + + Aws::Vector m_subBlock; + bool m_subBlockHasBeenSet = false; + + Aws::Vector> m_intersection; + bool m_intersectionHasBeenSet = false; + + Aws::Vector m_postalCode; + bool m_postalCodeHasBeenSet = false; + + Aws::Vector m_addressNumber; + bool m_addressNumberHasBeenSet = false; + + Aws::Vector m_building; + bool m_buildingHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilter.h new file mode 100644 index 00000000000..94fe35be325 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilter.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Autocomplete structure which contains a set of inclusion/exclusion properties + * that results must posses in order to be returned as a result.

                See + * Also:

                AWS + * API Reference

                + */ + class AutocompleteFilter + { + public: + AWS_GEOPLACES_API AutocompleteFilter(); + AWS_GEOPLACES_API AutocompleteFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API AutocompleteFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                The bounding box formed is defined as a set 4 + * coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern + * lat}]

                + */ + inline const Aws::Vector& GetBoundingBox() const{ return m_boundingBox; } + inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } + inline void SetBoundingBox(const Aws::Vector& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } + inline void SetBoundingBox(Aws::Vector&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } + inline AutocompleteFilter& WithBoundingBox(const Aws::Vector& value) { SetBoundingBox(value); return *this;} + inline AutocompleteFilter& WithBoundingBox(Aws::Vector&& value) { SetBoundingBox(std::move(value)); return *this;} + inline AutocompleteFilter& AddBoundingBox(double value) { m_boundingBoxHasBeenSet = true; m_boundingBox.push_back(value); return *this; } + ///@} + + ///@{ + + inline const FilterCircle& GetCircle() const{ return m_circle; } + inline bool CircleHasBeenSet() const { return m_circleHasBeenSet; } + inline void SetCircle(const FilterCircle& value) { m_circleHasBeenSet = true; m_circle = value; } + inline void SetCircle(FilterCircle&& value) { m_circleHasBeenSet = true; m_circle = std::move(value); } + inline AutocompleteFilter& WithCircle(const FilterCircle& value) { SetCircle(value); return *this;} + inline AutocompleteFilter& WithCircle(FilterCircle&& value) { SetCircle(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of countries that all results must be in. Countries are represented + * by either their alpha-2 or alpha-3 character codes.

                + */ + inline const Aws::Vector& GetIncludeCountries() const{ return m_includeCountries; } + inline bool IncludeCountriesHasBeenSet() const { return m_includeCountriesHasBeenSet; } + inline void SetIncludeCountries(const Aws::Vector& value) { m_includeCountriesHasBeenSet = true; m_includeCountries = value; } + inline void SetIncludeCountries(Aws::Vector&& value) { m_includeCountriesHasBeenSet = true; m_includeCountries = std::move(value); } + inline AutocompleteFilter& WithIncludeCountries(const Aws::Vector& value) { SetIncludeCountries(value); return *this;} + inline AutocompleteFilter& WithIncludeCountries(Aws::Vector&& value) { SetIncludeCountries(std::move(value)); return *this;} + inline AutocompleteFilter& AddIncludeCountries(const Aws::String& value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(value); return *this; } + inline AutocompleteFilter& AddIncludeCountries(Aws::String&& value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(std::move(value)); return *this; } + inline AutocompleteFilter& AddIncludeCountries(const char* value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The included place types.

                + */ + inline const Aws::Vector& GetIncludePlaceTypes() const{ return m_includePlaceTypes; } + inline bool IncludePlaceTypesHasBeenSet() const { return m_includePlaceTypesHasBeenSet; } + inline void SetIncludePlaceTypes(const Aws::Vector& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes = value; } + inline void SetIncludePlaceTypes(Aws::Vector&& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes = std::move(value); } + inline AutocompleteFilter& WithIncludePlaceTypes(const Aws::Vector& value) { SetIncludePlaceTypes(value); return *this;} + inline AutocompleteFilter& WithIncludePlaceTypes(Aws::Vector&& value) { SetIncludePlaceTypes(std::move(value)); return *this;} + inline AutocompleteFilter& AddIncludePlaceTypes(const AutocompleteFilterPlaceType& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes.push_back(value); return *this; } + inline AutocompleteFilter& AddIncludePlaceTypes(AutocompleteFilterPlaceType&& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_boundingBox; + bool m_boundingBoxHasBeenSet = false; + + FilterCircle m_circle; + bool m_circleHasBeenSet = false; + + Aws::Vector m_includeCountries; + bool m_includeCountriesHasBeenSet = false; + + Aws::Vector m_includePlaceTypes; + bool m_includePlaceTypesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilterPlaceType.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilterPlaceType.h new file mode 100644 index 00000000000..dd9d08dd284 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteFilterPlaceType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class AutocompleteFilterPlaceType + { + NOT_SET, + Locality, + PostalCode + }; + +namespace AutocompleteFilterPlaceTypeMapper +{ +AWS_GEOPLACES_API AutocompleteFilterPlaceType GetAutocompleteFilterPlaceTypeForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForAutocompleteFilterPlaceType(AutocompleteFilterPlaceType value); +} // namespace AutocompleteFilterPlaceTypeMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteHighlights.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteHighlights.h new file mode 100644 index 00000000000..b4252da8296 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteHighlights.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Describes how the parts of the response element matched the input query by + * returning the sections of the response which matched to input query + * terms.

                See Also:

                AWS + * API Reference

                + */ + class AutocompleteHighlights + { + public: + AWS_GEOPLACES_API AutocompleteHighlights(); + AWS_GEOPLACES_API AutocompleteHighlights(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API AutocompleteHighlights& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Indicates where the title field in the result matches the input query.

                + */ + inline const Aws::Vector& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::Vector& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::Vector&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline AutocompleteHighlights& WithTitle(const Aws::Vector& value) { SetTitle(value); return *this;} + inline AutocompleteHighlights& WithTitle(Aws::Vector&& value) { SetTitle(std::move(value)); return *this;} + inline AutocompleteHighlights& AddTitle(const Highlight& value) { m_titleHasBeenSet = true; m_title.push_back(value); return *this; } + inline AutocompleteHighlights& AddTitle(Highlight&& value) { m_titleHasBeenSet = true; m_title.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Describes how part of the result address match the input query.

                + */ + inline const AutocompleteAddressHighlights& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const AutocompleteAddressHighlights& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(AutocompleteAddressHighlights&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline AutocompleteHighlights& WithAddress(const AutocompleteAddressHighlights& value) { SetAddress(value); return *this;} + inline AutocompleteHighlights& WithAddress(AutocompleteAddressHighlights&& value) { SetAddress(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_title; + bool m_titleHasBeenSet = false; + + AutocompleteAddressHighlights m_address; + bool m_addressHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteIntendedUse.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteIntendedUse.h new file mode 100644 index 00000000000..eec5a1a2e82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteIntendedUse.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class AutocompleteIntendedUse + { + NOT_SET, + SingleUse + }; + +namespace AutocompleteIntendedUseMapper +{ +AWS_GEOPLACES_API AutocompleteIntendedUse GetAutocompleteIntendedUseForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForAutocompleteIntendedUse(AutocompleteIntendedUse value); +} // namespace AutocompleteIntendedUseMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteRequest.h new file mode 100644 index 00000000000..d625c74584f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteRequest.h @@ -0,0 +1,227 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoPlaces +{ +namespace Model +{ + + /** + */ + class AutocompleteRequest : public GeoPlacesRequest + { + public: + AWS_GEOPLACES_API AutocompleteRequest(); + + // 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 "Autocomplete"; } + + AWS_GEOPLACES_API Aws::String SerializePayload() const override; + + AWS_GEOPLACES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                The free-form text query to match addresses against. This is usually a + * partially typed address from an end user in an address box or form.

                + */ + inline const Aws::String& GetQueryText() const{ return m_queryText; } + inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } + inline void SetQueryText(const Aws::String& value) { m_queryTextHasBeenSet = true; m_queryText = value; } + inline void SetQueryText(Aws::String&& value) { m_queryTextHasBeenSet = true; m_queryText = std::move(value); } + inline void SetQueryText(const char* value) { m_queryTextHasBeenSet = true; m_queryText.assign(value); } + inline AutocompleteRequest& WithQueryText(const Aws::String& value) { SetQueryText(value); return *this;} + inline AutocompleteRequest& WithQueryText(Aws::String&& value) { SetQueryText(std::move(value)); return *this;} + inline AutocompleteRequest& WithQueryText(const char* value) { SetQueryText(value); return *this;} + ///@} + + ///@{ + /** + *

                An optional limit for the number of results returned in a single call.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline AutocompleteRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

                The position in longitude and latitude that the results should be close to. + * Typically, place results returned are ranked higher the closer they are to this + * position. Stored in [lng, lat] and in the WSG84 format.

                + *

                The fields BiasPosition, FilterBoundingBox, and + * FilterCircle are mutually exclusive.

                + */ + inline const Aws::Vector& GetBiasPosition() const{ return m_biasPosition; } + inline bool BiasPositionHasBeenSet() const { return m_biasPositionHasBeenSet; } + inline void SetBiasPosition(const Aws::Vector& value) { m_biasPositionHasBeenSet = true; m_biasPosition = value; } + inline void SetBiasPosition(Aws::Vector&& value) { m_biasPositionHasBeenSet = true; m_biasPosition = std::move(value); } + inline AutocompleteRequest& WithBiasPosition(const Aws::Vector& value) { SetBiasPosition(value); return *this;} + inline AutocompleteRequest& WithBiasPosition(Aws::Vector&& value) { SetBiasPosition(std::move(value)); return *this;} + inline AutocompleteRequest& AddBiasPosition(double value) { m_biasPositionHasBeenSet = true; m_biasPosition.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                A structure which contains a set of inclusion/exclusion properties that + * results must posses in order to be returned as a result.

                + */ + inline const AutocompleteFilter& GetFilter() const{ return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + inline void SetFilter(const AutocompleteFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + inline void SetFilter(AutocompleteFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + inline AutocompleteRequest& WithFilter(const AutocompleteFilter& value) { SetFilter(value); return *this;} + inline AutocompleteRequest& WithFilter(AutocompleteFilter&& value) { SetFilter(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The PostalCodeMode affects how postal code results are returned. + * If a postal code spans multiple localities and this value is empty, partial + * district or locality information may be returned under a single postal code + * result entry. If it's populated with the value cityLookup, all + * cities in that postal code are returned.

                + */ + inline const PostalCodeMode& GetPostalCodeMode() const{ return m_postalCodeMode; } + inline bool PostalCodeModeHasBeenSet() const { return m_postalCodeModeHasBeenSet; } + inline void SetPostalCodeMode(const PostalCodeMode& value) { m_postalCodeModeHasBeenSet = true; m_postalCodeMode = value; } + inline void SetPostalCodeMode(PostalCodeMode&& value) { m_postalCodeModeHasBeenSet = true; m_postalCodeMode = std::move(value); } + inline AutocompleteRequest& WithPostalCodeMode(const PostalCodeMode& value) { SetPostalCodeMode(value); return *this;} + inline AutocompleteRequest& WithPostalCodeMode(PostalCodeMode&& value) { SetPostalCodeMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of optional additional parameters that can be requested for each + * result.

                + */ + inline const Aws::Vector& GetAdditionalFeatures() const{ return m_additionalFeatures; } + inline bool AdditionalFeaturesHasBeenSet() const { return m_additionalFeaturesHasBeenSet; } + inline void SetAdditionalFeatures(const Aws::Vector& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = value; } + inline void SetAdditionalFeatures(Aws::Vector&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = std::move(value); } + inline AutocompleteRequest& WithAdditionalFeatures(const Aws::Vector& value) { SetAdditionalFeatures(value); return *this;} + inline AutocompleteRequest& WithAdditionalFeatures(Aws::Vector&& value) { SetAdditionalFeatures(std::move(value)); return *this;} + inline AutocompleteRequest& AddAdditionalFeatures(const AutocompleteAdditionalFeature& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(value); return *this; } + inline AutocompleteRequest& AddAdditionalFeatures(AutocompleteAdditionalFeature&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                A list of BCP + * 47 compliant language codes for the results to be rendered in. If there is + * no data for the result in the requested language, data will be returned in the + * default language for the entry.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline AutocompleteRequest& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline AutocompleteRequest& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline AutocompleteRequest& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline AutocompleteRequest& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline AutocompleteRequest& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline AutocompleteRequest& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                Indicates if the results will be stored. Defaults to SingleUse, + * if left empty.

                + */ + inline const AutocompleteIntendedUse& GetIntendedUse() const{ return m_intendedUse; } + inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } + inline void SetIntendedUse(const AutocompleteIntendedUse& value) { m_intendedUseHasBeenSet = true; m_intendedUse = value; } + inline void SetIntendedUse(AutocompleteIntendedUse&& value) { m_intendedUseHasBeenSet = true; m_intendedUse = std::move(value); } + inline AutocompleteRequest& WithIntendedUse(const AutocompleteIntendedUse& value) { SetIntendedUse(value); return *this;} + inline AutocompleteRequest& WithIntendedUse(AutocompleteIntendedUse&& value) { SetIntendedUse(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline AutocompleteRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline AutocompleteRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline AutocompleteRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + private: + + Aws::String m_queryText; + bool m_queryTextHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::Vector m_biasPosition; + bool m_biasPositionHasBeenSet = false; + + AutocompleteFilter m_filter; + bool m_filterHasBeenSet = false; + + PostalCodeMode m_postalCodeMode; + bool m_postalCodeModeHasBeenSet = false; + + Aws::Vector m_additionalFeatures; + bool m_additionalFeaturesHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + AutocompleteIntendedUse m_intendedUse; + bool m_intendedUseHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResult.h new file mode 100644 index 00000000000..985ff681b6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + class AutocompleteResult + { + public: + AWS_GEOPLACES_API AutocompleteResult(); + AWS_GEOPLACES_API AutocompleteResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOPLACES_API AutocompleteResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                For more + * inforamtion on pricing, please visit Amazon Location Service + * Pricing.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline AutocompleteResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline AutocompleteResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline AutocompleteResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                List of places or results returned for a query.

                + */ + inline const Aws::Vector& GetResultItems() const{ return m_resultItems; } + inline void SetResultItems(const Aws::Vector& value) { m_resultItems = value; } + inline void SetResultItems(Aws::Vector&& value) { m_resultItems = std::move(value); } + inline AutocompleteResult& WithResultItems(const Aws::Vector& value) { SetResultItems(value); return *this;} + inline AutocompleteResult& WithResultItems(Aws::Vector&& value) { SetResultItems(std::move(value)); return *this;} + inline AutocompleteResult& AddResultItems(const AutocompleteResultItem& value) { m_resultItems.push_back(value); return *this; } + inline AutocompleteResult& AddResultItems(AutocompleteResultItem&& value) { m_resultItems.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 AutocompleteResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline AutocompleteResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline AutocompleteResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_pricingBucket; + + Aws::Vector m_resultItems; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResultItem.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResultItem.h new file mode 100644 index 00000000000..603ed8d9a96 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/AutocompleteResultItem.h @@ -0,0 +1,183 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                A result matching the input query text.

                See Also:

                AWS + * API Reference

                + */ + class AutocompleteResultItem + { + public: + AWS_GEOPLACES_API AutocompleteResultItem(); + AWS_GEOPLACES_API AutocompleteResultItem(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API AutocompleteResultItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The PlaceId of the place associated with this result. This can be used to + * look up additional details about the result via GetPlace.

                + */ + inline const Aws::String& GetPlaceId() const{ return m_placeId; } + inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } + inline void SetPlaceId(const Aws::String& value) { m_placeIdHasBeenSet = true; m_placeId = value; } + inline void SetPlaceId(Aws::String&& value) { m_placeIdHasBeenSet = true; m_placeId = std::move(value); } + inline void SetPlaceId(const char* value) { m_placeIdHasBeenSet = true; m_placeId.assign(value); } + inline AutocompleteResultItem& WithPlaceId(const Aws::String& value) { SetPlaceId(value); return *this;} + inline AutocompleteResultItem& WithPlaceId(Aws::String&& value) { SetPlaceId(std::move(value)); return *this;} + inline AutocompleteResultItem& WithPlaceId(const char* value) { SetPlaceId(value); return *this;} + ///@} + + ///@{ + /** + *

                PlaceType describes the type of result entry returned.

                + */ + inline const PlaceType& GetPlaceType() const{ return m_placeType; } + inline bool PlaceTypeHasBeenSet() const { return m_placeTypeHasBeenSet; } + inline void SetPlaceType(const PlaceType& value) { m_placeTypeHasBeenSet = true; m_placeType = value; } + inline void SetPlaceType(PlaceType&& value) { m_placeTypeHasBeenSet = true; m_placeType = std::move(value); } + inline AutocompleteResultItem& WithPlaceType(const PlaceType& value) { SetPlaceType(value); return *this;} + inline AutocompleteResultItem& WithPlaceType(PlaceType&& value) { SetPlaceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A formatted string for display when presenting this result to an end + * user.

                + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline AutocompleteResultItem& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline AutocompleteResultItem& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline AutocompleteResultItem& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

                The address associated with this result.

                + */ + inline const Address& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const Address& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(Address&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline AutocompleteResultItem& WithAddress(const Address& value) { SetAddress(value); return *this;} + inline AutocompleteResultItem& WithAddress(Address&& value) { SetAddress(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The distance in meters between the center of the search area and this result. + * Useful to evaluate how far away from the original bias position the result + * is.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline AutocompleteResultItem& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                A list of BCP + * 47 compliant language codes for the results to be rendered in. If there is + * no data for the result in the requested language, data will be returned in the + * default language for the entry.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline AutocompleteResultItem& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline AutocompleteResultItem& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline AutocompleteResultItem& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline AutocompleteResultItem& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline AutocompleteResultItem& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline AutocompleteResultItem& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                Indicates the starting and ending index of the place in the text query that + * match the found title.

                + */ + inline const AutocompleteHighlights& GetHighlights() const{ return m_highlights; } + inline bool HighlightsHasBeenSet() const { return m_highlightsHasBeenSet; } + inline void SetHighlights(const AutocompleteHighlights& value) { m_highlightsHasBeenSet = true; m_highlights = value; } + inline void SetHighlights(AutocompleteHighlights&& value) { m_highlightsHasBeenSet = true; m_highlights = std::move(value); } + inline AutocompleteResultItem& WithHighlights(const AutocompleteHighlights& value) { SetHighlights(value); return *this;} + inline AutocompleteResultItem& WithHighlights(AutocompleteHighlights&& value) { SetHighlights(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_placeId; + bool m_placeIdHasBeenSet = false; + + PlaceType m_placeType; + bool m_placeTypeHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Address m_address; + bool m_addressHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + AutocompleteHighlights m_highlights; + bool m_highlightsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/BusinessChain.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/BusinessChain.h new file mode 100644 index 00000000000..a17653f566d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/BusinessChain.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                A businesschain is a chain of businesses that belong to the same brand. For + * example 7-11.

                See Also:

                AWS + * API Reference

                + */ + class BusinessChain + { + public: + AWS_GEOPLACES_API BusinessChain(); + AWS_GEOPLACES_API BusinessChain(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API BusinessChain& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The business chain name.

                + */ + 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 BusinessChain& WithName(const Aws::String& value) { SetName(value); return *this;} + inline BusinessChain& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline BusinessChain& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                The Business Chain Id.

                + */ + 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 BusinessChain& WithId(const Aws::String& value) { SetId(value); return *this;} + inline BusinessChain& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline BusinessChain& WithId(const char* value) { SetId(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Category.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Category.h new file mode 100644 index 00000000000..0022cebe2fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Category.h @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Category of the Place returned.

                See Also:

                AWS + * API Reference

                + */ + class Category + { + public: + AWS_GEOPLACES_API Category(); + AWS_GEOPLACES_API Category(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Category& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The category ID.

                + */ + 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 Category& WithId(const Aws::String& value) { SetId(value); return *this;} + inline Category& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline Category& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

                The category name.

                + */ + 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 Category& WithName(const Aws::String& value) { SetName(value); return *this;} + inline Category& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline Category& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                Localized name of the category type.

                + */ + inline const Aws::String& GetLocalizedName() const{ return m_localizedName; } + inline bool LocalizedNameHasBeenSet() const { return m_localizedNameHasBeenSet; } + inline void SetLocalizedName(const Aws::String& value) { m_localizedNameHasBeenSet = true; m_localizedName = value; } + inline void SetLocalizedName(Aws::String&& value) { m_localizedNameHasBeenSet = true; m_localizedName = std::move(value); } + inline void SetLocalizedName(const char* value) { m_localizedNameHasBeenSet = true; m_localizedName.assign(value); } + inline Category& WithLocalizedName(const Aws::String& value) { SetLocalizedName(value); return *this;} + inline Category& WithLocalizedName(Aws::String&& value) { SetLocalizedName(std::move(value)); return *this;} + inline Category& WithLocalizedName(const char* value) { SetLocalizedName(value); return *this;} + ///@} + + ///@{ + /** + *

                Boolean which indicates if this category is the primary offered by the + * place.

                + */ + inline bool GetPrimary() const{ return m_primary; } + inline bool PrimaryHasBeenSet() const { return m_primaryHasBeenSet; } + inline void SetPrimary(bool value) { m_primaryHasBeenSet = true; m_primary = value; } + inline Category& WithPrimary(bool value) { SetPrimary(value); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_localizedName; + bool m_localizedNameHasBeenSet = false; + + bool m_primary; + bool m_primaryHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ComponentMatchScores.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ComponentMatchScores.h new file mode 100644 index 00000000000..f46b2853409 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ComponentMatchScores.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Indicates how well the input matches the returned element. It is equal to 1 + * if all input tokens are recognized and matched to the title in the + * result.

                See Also:

                AWS + * API Reference

                + */ + class ComponentMatchScores + { + public: + AWS_GEOPLACES_API ComponentMatchScores(); + AWS_GEOPLACES_API ComponentMatchScores(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API ComponentMatchScores& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Indicates the starting and ending index of the title in the text query that + * match the found title.

                + */ + inline double GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(double value) { m_titleHasBeenSet = true; m_title = value; } + inline ComponentMatchScores& WithTitle(double value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

                The place's address.

                + */ + inline const AddressComponentMatchScores& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const AddressComponentMatchScores& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(AddressComponentMatchScores&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline ComponentMatchScores& WithAddress(const AddressComponentMatchScores& value) { SetAddress(value); return *this;} + inline ComponentMatchScores& WithAddress(AddressComponentMatchScores&& value) { SetAddress(std::move(value)); return *this;} + ///@} + private: + + double m_title; + bool m_titleHasBeenSet = false; + + AddressComponentMatchScores m_address; + bool m_addressHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ContactDetails.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ContactDetails.h new file mode 100644 index 00000000000..58563dea059 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ContactDetails.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Details related to contacts.

                See Also:

                AWS + * API Reference

                + */ + class ContactDetails + { + public: + AWS_GEOPLACES_API ContactDetails(); + AWS_GEOPLACES_API ContactDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API ContactDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The contact's label.

                + */ + inline const Aws::String& GetLabel() const{ return m_label; } + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; } + inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); } + inline ContactDetails& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} + inline ContactDetails& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} + inline ContactDetails& WithLabel(const char* value) { SetLabel(value); return *this;} + ///@} + + ///@{ + /** + *

                The contact's value.

                + */ + 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 ContactDetails& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline ContactDetails& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline ContactDetails& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + + ///@{ + /** + *

                Categories of results that results must belong too.

                + */ + inline const Aws::Vector& GetCategories() const{ return m_categories; } + inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } + inline void SetCategories(const Aws::Vector& value) { m_categoriesHasBeenSet = true; m_categories = value; } + inline void SetCategories(Aws::Vector&& value) { m_categoriesHasBeenSet = true; m_categories = std::move(value); } + inline ContactDetails& WithCategories(const Aws::Vector& value) { SetCategories(value); return *this;} + inline ContactDetails& WithCategories(Aws::Vector&& value) { SetCategories(std::move(value)); return *this;} + inline ContactDetails& AddCategories(const Category& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } + inline ContactDetails& AddCategories(Category&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_label; + bool m_labelHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + + Aws::Vector m_categories; + bool m_categoriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Contacts.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Contacts.h new file mode 100644 index 00000000000..1fafda0c64f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Contacts.h @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                A list of potential contact methods for the result/place.

                See + * Also:

                AWS + * API Reference

                + */ + class Contacts + { + public: + AWS_GEOPLACES_API Contacts(); + AWS_GEOPLACES_API Contacts(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Contacts& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                List of phone numbers for the results contact.

                + */ + inline const Aws::Vector& GetPhones() const{ return m_phones; } + inline bool PhonesHasBeenSet() const { return m_phonesHasBeenSet; } + inline void SetPhones(const Aws::Vector& value) { m_phonesHasBeenSet = true; m_phones = value; } + inline void SetPhones(Aws::Vector&& value) { m_phonesHasBeenSet = true; m_phones = std::move(value); } + inline Contacts& WithPhones(const Aws::Vector& value) { SetPhones(value); return *this;} + inline Contacts& WithPhones(Aws::Vector&& value) { SetPhones(std::move(value)); return *this;} + inline Contacts& AddPhones(const ContactDetails& value) { m_phonesHasBeenSet = true; m_phones.push_back(value); return *this; } + inline Contacts& AddPhones(ContactDetails&& value) { m_phonesHasBeenSet = true; m_phones.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of fax addresses for the result contact.

                + */ + inline const Aws::Vector& GetFaxes() const{ return m_faxes; } + inline bool FaxesHasBeenSet() const { return m_faxesHasBeenSet; } + inline void SetFaxes(const Aws::Vector& value) { m_faxesHasBeenSet = true; m_faxes = value; } + inline void SetFaxes(Aws::Vector&& value) { m_faxesHasBeenSet = true; m_faxes = std::move(value); } + inline Contacts& WithFaxes(const Aws::Vector& value) { SetFaxes(value); return *this;} + inline Contacts& WithFaxes(Aws::Vector&& value) { SetFaxes(std::move(value)); return *this;} + inline Contacts& AddFaxes(const ContactDetails& value) { m_faxesHasBeenSet = true; m_faxes.push_back(value); return *this; } + inline Contacts& AddFaxes(ContactDetails&& value) { m_faxesHasBeenSet = true; m_faxes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of website URLs that belong to the result.

                + */ + inline const Aws::Vector& GetWebsites() const{ return m_websites; } + inline bool WebsitesHasBeenSet() const { return m_websitesHasBeenSet; } + inline void SetWebsites(const Aws::Vector& value) { m_websitesHasBeenSet = true; m_websites = value; } + inline void SetWebsites(Aws::Vector&& value) { m_websitesHasBeenSet = true; m_websites = std::move(value); } + inline Contacts& WithWebsites(const Aws::Vector& value) { SetWebsites(value); return *this;} + inline Contacts& WithWebsites(Aws::Vector&& value) { SetWebsites(std::move(value)); return *this;} + inline Contacts& AddWebsites(const ContactDetails& value) { m_websitesHasBeenSet = true; m_websites.push_back(value); return *this; } + inline Contacts& AddWebsites(ContactDetails&& value) { m_websitesHasBeenSet = true; m_websites.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of emails for contacts of the result.

                + */ + inline const Aws::Vector& GetEmails() const{ return m_emails; } + inline bool EmailsHasBeenSet() const { return m_emailsHasBeenSet; } + inline void SetEmails(const Aws::Vector& value) { m_emailsHasBeenSet = true; m_emails = value; } + inline void SetEmails(Aws::Vector&& value) { m_emailsHasBeenSet = true; m_emails = std::move(value); } + inline Contacts& WithEmails(const Aws::Vector& value) { SetEmails(value); return *this;} + inline Contacts& WithEmails(Aws::Vector&& value) { SetEmails(std::move(value)); return *this;} + inline Contacts& AddEmails(const ContactDetails& value) { m_emailsHasBeenSet = true; m_emails.push_back(value); return *this; } + inline Contacts& AddEmails(ContactDetails&& value) { m_emailsHasBeenSet = true; m_emails.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_phones; + bool m_phonesHasBeenSet = false; + + Aws::Vector m_faxes; + bool m_faxesHasBeenSet = false; + + Aws::Vector m_websites; + bool m_websitesHasBeenSet = false; + + Aws::Vector m_emails; + bool m_emailsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Country.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Country.h new file mode 100644 index 00000000000..7ec17a87f0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Country.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The alpha-2 or alpha-3 character code for the country that the results will + * be present in.

                See Also:

                AWS + * API Reference

                + */ + class Country + { + public: + AWS_GEOPLACES_API Country(); + AWS_GEOPLACES_API Country(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Country& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Country, represented by its alpha 2-character code.

                + */ + inline const Aws::String& GetCode2() const{ return m_code2; } + inline bool Code2HasBeenSet() const { return m_code2HasBeenSet; } + inline void SetCode2(const Aws::String& value) { m_code2HasBeenSet = true; m_code2 = value; } + inline void SetCode2(Aws::String&& value) { m_code2HasBeenSet = true; m_code2 = std::move(value); } + inline void SetCode2(const char* value) { m_code2HasBeenSet = true; m_code2.assign(value); } + inline Country& WithCode2(const Aws::String& value) { SetCode2(value); return *this;} + inline Country& WithCode2(Aws::String&& value) { SetCode2(std::move(value)); return *this;} + inline Country& WithCode2(const char* value) { SetCode2(value); return *this;} + ///@} + + ///@{ + /** + *

                Country, represented by its alpha t-character code.

                + */ + inline const Aws::String& GetCode3() const{ return m_code3; } + inline bool Code3HasBeenSet() const { return m_code3HasBeenSet; } + inline void SetCode3(const Aws::String& value) { m_code3HasBeenSet = true; m_code3 = value; } + inline void SetCode3(Aws::String&& value) { m_code3HasBeenSet = true; m_code3 = std::move(value); } + inline void SetCode3(const char* value) { m_code3HasBeenSet = true; m_code3.assign(value); } + inline Country& WithCode3(const Aws::String& value) { SetCode3(value); return *this;} + inline Country& WithCode3(Aws::String&& value) { SetCode3(std::move(value)); return *this;} + inline Country& WithCode3(const char* value) { SetCode3(value); return *this;} + ///@} + + ///@{ + /** + *

                Name of the country.

                + */ + 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 Country& WithName(const Aws::String& value) { SetName(value); return *this;} + inline Country& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline Country& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_code2; + bool m_code2HasBeenSet = false; + + Aws::String m_code3; + bool m_code3HasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/CountryHighlights.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/CountryHighlights.h new file mode 100644 index 00000000000..3f1756a1611 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/CountryHighlights.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Indicates the starting and ending index of the country in the text query that + * match the found title.

                See Also:

                AWS + * API Reference

                + */ + class CountryHighlights + { + public: + AWS_GEOPLACES_API CountryHighlights(); + AWS_GEOPLACES_API CountryHighlights(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API CountryHighlights& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Indicates the starting and ending index of the country code in the text query + * that match the found title.

                + */ + inline const Aws::Vector& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const Aws::Vector& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(Aws::Vector&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline CountryHighlights& WithCode(const Aws::Vector& value) { SetCode(value); return *this;} + inline CountryHighlights& WithCode(Aws::Vector&& value) { SetCode(std::move(value)); return *this;} + inline CountryHighlights& AddCode(const Highlight& value) { m_codeHasBeenSet = true; m_code.push_back(value); return *this; } + inline CountryHighlights& AddCode(Highlight&& value) { m_codeHasBeenSet = true; m_code.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Indicates the starting and ending index of the country code in the text query + * that match the found title.

                + */ + inline const Aws::Vector& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::Vector& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::Vector&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline CountryHighlights& WithName(const Aws::Vector& value) { SetName(value); return *this;} + inline CountryHighlights& WithName(Aws::Vector&& value) { SetName(std::move(value)); return *this;} + inline CountryHighlights& AddName(const Highlight& value) { m_nameHasBeenSet = true; m_name.push_back(value); return *this; } + inline CountryHighlights& AddName(Highlight&& value) { m_nameHasBeenSet = true; m_name.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_code; + bool m_codeHasBeenSet = false; + + Aws::Vector m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/FilterCircle.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/FilterCircle.h new file mode 100644 index 00000000000..aa01121a9e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/FilterCircle.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The Circle that all results must be in.

                See + * Also:

                AWS + * API Reference

                + */ + class FilterCircle + { + public: + AWS_GEOPLACES_API FilterCircle(); + AWS_GEOPLACES_API FilterCircle(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API FilterCircle& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The center position, in longitude and latitude, of the + * FilterCircle.

                + */ + inline const Aws::Vector& GetCenter() const{ return m_center; } + inline bool CenterHasBeenSet() const { return m_centerHasBeenSet; } + inline void SetCenter(const Aws::Vector& value) { m_centerHasBeenSet = true; m_center = value; } + inline void SetCenter(Aws::Vector&& value) { m_centerHasBeenSet = true; m_center = std::move(value); } + inline FilterCircle& WithCenter(const Aws::Vector& value) { SetCenter(value); return *this;} + inline FilterCircle& WithCenter(Aws::Vector&& value) { SetCenter(std::move(value)); return *this;} + inline FilterCircle& AddCenter(double value) { m_centerHasBeenSet = true; m_center.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The radius, in meters, of the FilterCircle.

                + */ + inline long long GetRadius() const{ return m_radius; } + inline bool RadiusHasBeenSet() const { return m_radiusHasBeenSet; } + inline void SetRadius(long long value) { m_radiusHasBeenSet = true; m_radius = value; } + inline FilterCircle& WithRadius(long long value) { SetRadius(value); return *this;} + ///@} + private: + + Aws::Vector m_center; + bool m_centerHasBeenSet = false; + + long long m_radius; + bool m_radiusHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/FoodType.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/FoodType.h new file mode 100644 index 00000000000..18a840cc357 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/FoodType.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                List of Food types offered by this result.

                See + * Also:

                AWS + * API Reference

                + */ + class FoodType + { + public: + AWS_GEOPLACES_API FoodType(); + AWS_GEOPLACES_API FoodType(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API FoodType& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Localized name of the food type.

                + */ + inline const Aws::String& GetLocalizedName() const{ return m_localizedName; } + inline bool LocalizedNameHasBeenSet() const { return m_localizedNameHasBeenSet; } + inline void SetLocalizedName(const Aws::String& value) { m_localizedNameHasBeenSet = true; m_localizedName = value; } + inline void SetLocalizedName(Aws::String&& value) { m_localizedNameHasBeenSet = true; m_localizedName = std::move(value); } + inline void SetLocalizedName(const char* value) { m_localizedNameHasBeenSet = true; m_localizedName.assign(value); } + inline FoodType& WithLocalizedName(const Aws::String& value) { SetLocalizedName(value); return *this;} + inline FoodType& WithLocalizedName(Aws::String&& value) { SetLocalizedName(std::move(value)); return *this;} + inline FoodType& WithLocalizedName(const char* value) { SetLocalizedName(value); return *this;} + ///@} + + ///@{ + /** + *

                The Food Type Id.

                + */ + 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 FoodType& WithId(const Aws::String& value) { SetId(value); return *this;} + inline FoodType& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline FoodType& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

                Boolean which indicates if this food type is the primary offered by the + * place. For example, if a location serves fast food, but also dessert, he primary + * would likely be fast food.

                + */ + inline bool GetPrimary() const{ return m_primary; } + inline bool PrimaryHasBeenSet() const { return m_primaryHasBeenSet; } + inline void SetPrimary(bool value) { m_primaryHasBeenSet = true; m_primary = value; } + inline FoodType& WithPrimary(bool value) { SetPrimary(value); return *this;} + ///@} + private: + + Aws::String m_localizedName; + bool m_localizedNameHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + bool m_primary; + bool m_primaryHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeAdditionalFeature.h new file mode 100644 index 00000000000..a1d24f0a9aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeAdditionalFeature.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class GeocodeAdditionalFeature + { + NOT_SET, + TimeZone, + Access + }; + +namespace GeocodeAdditionalFeatureMapper +{ +AWS_GEOPLACES_API GeocodeAdditionalFeature GetGeocodeAdditionalFeatureForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForGeocodeAdditionalFeature(GeocodeAdditionalFeature value); +} // namespace GeocodeAdditionalFeatureMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilter.h new file mode 100644 index 00000000000..d89babdd987 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilter.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Geocode structure which contains a set of inclusion/exclusion properties that + * results must posses in order to be returned as a result.

                See + * Also:

                AWS + * API Reference

                + */ + class GeocodeFilter + { + public: + AWS_GEOPLACES_API GeocodeFilter(); + AWS_GEOPLACES_API GeocodeFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API GeocodeFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                A list of countries that all results must be in. Countries are represented + * by either their alpha-2 or alpha-3 character codes.

                + */ + inline const Aws::Vector& GetIncludeCountries() const{ return m_includeCountries; } + inline bool IncludeCountriesHasBeenSet() const { return m_includeCountriesHasBeenSet; } + inline void SetIncludeCountries(const Aws::Vector& value) { m_includeCountriesHasBeenSet = true; m_includeCountries = value; } + inline void SetIncludeCountries(Aws::Vector&& value) { m_includeCountriesHasBeenSet = true; m_includeCountries = std::move(value); } + inline GeocodeFilter& WithIncludeCountries(const Aws::Vector& value) { SetIncludeCountries(value); return *this;} + inline GeocodeFilter& WithIncludeCountries(Aws::Vector&& value) { SetIncludeCountries(std::move(value)); return *this;} + inline GeocodeFilter& AddIncludeCountries(const Aws::String& value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(value); return *this; } + inline GeocodeFilter& AddIncludeCountries(Aws::String&& value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(std::move(value)); return *this; } + inline GeocodeFilter& AddIncludeCountries(const char* value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The included place types.

                + */ + inline const Aws::Vector& GetIncludePlaceTypes() const{ return m_includePlaceTypes; } + inline bool IncludePlaceTypesHasBeenSet() const { return m_includePlaceTypesHasBeenSet; } + inline void SetIncludePlaceTypes(const Aws::Vector& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes = value; } + inline void SetIncludePlaceTypes(Aws::Vector&& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes = std::move(value); } + inline GeocodeFilter& WithIncludePlaceTypes(const Aws::Vector& value) { SetIncludePlaceTypes(value); return *this;} + inline GeocodeFilter& WithIncludePlaceTypes(Aws::Vector&& value) { SetIncludePlaceTypes(std::move(value)); return *this;} + inline GeocodeFilter& AddIncludePlaceTypes(const GeocodeFilterPlaceType& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes.push_back(value); return *this; } + inline GeocodeFilter& AddIncludePlaceTypes(GeocodeFilterPlaceType&& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_includeCountries; + bool m_includeCountriesHasBeenSet = false; + + Aws::Vector m_includePlaceTypes; + bool m_includePlaceTypesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilterPlaceType.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilterPlaceType.h new file mode 100644 index 00000000000..0fe4fe779c1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeFilterPlaceType.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class GeocodeFilterPlaceType + { + NOT_SET, + Locality, + PostalCode, + Intersection, + Street, + PointAddress, + InterpolatedAddress + }; + +namespace GeocodeFilterPlaceTypeMapper +{ +AWS_GEOPLACES_API GeocodeFilterPlaceType GetGeocodeFilterPlaceTypeForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForGeocodeFilterPlaceType(GeocodeFilterPlaceType value); +} // namespace GeocodeFilterPlaceTypeMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeIntendedUse.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeIntendedUse.h new file mode 100644 index 00000000000..40efc30f8e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeIntendedUse.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class GeocodeIntendedUse + { + NOT_SET, + SingleUse, + Storage + }; + +namespace GeocodeIntendedUseMapper +{ +AWS_GEOPLACES_API GeocodeIntendedUse GetGeocodeIntendedUseForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForGeocodeIntendedUse(GeocodeIntendedUse value); +} // namespace GeocodeIntendedUseMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeQueryComponents.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeQueryComponents.h new file mode 100644 index 00000000000..6b694e07142 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeQueryComponents.h @@ -0,0 +1,187 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                A structured free text query allows you to search for places by the name or + * text representation of specific properties of the place.

                See + * Also:

                AWS + * API Reference

                + */ + class GeocodeQueryComponents + { + public: + AWS_GEOPLACES_API GeocodeQueryComponents(); + AWS_GEOPLACES_API GeocodeQueryComponents(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API GeocodeQueryComponents& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the country that the results will + * be present in.

                + */ + inline const Aws::String& GetCountry() const{ return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + inline void SetCountry(const Aws::String& value) { m_countryHasBeenSet = true; m_country = value; } + inline void SetCountry(Aws::String&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } + inline void SetCountry(const char* value) { m_countryHasBeenSet = true; m_country.assign(value); } + inline GeocodeQueryComponents& WithCountry(const Aws::String& value) { SetCountry(value); return *this;} + inline GeocodeQueryComponents& WithCountry(Aws::String&& value) { SetCountry(std::move(value)); return *this;} + inline GeocodeQueryComponents& WithCountry(const char* value) { SetCountry(value); return *this;} + ///@} + + ///@{ + /** + *

                The region or state results should be to be present in.

                Example: + * North Rhine-Westphalia.

                + */ + inline const Aws::String& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + inline GeocodeQueryComponents& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + inline GeocodeQueryComponents& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + inline GeocodeQueryComponents& WithRegion(const char* value) { SetRegion(value); return *this;} + ///@} + + ///@{ + /** + *

                The sub-region or county for which results should be present in.

                + */ + inline const Aws::String& GetSubRegion() const{ return m_subRegion; } + inline bool SubRegionHasBeenSet() const { return m_subRegionHasBeenSet; } + inline void SetSubRegion(const Aws::String& value) { m_subRegionHasBeenSet = true; m_subRegion = value; } + inline void SetSubRegion(Aws::String&& value) { m_subRegionHasBeenSet = true; m_subRegion = std::move(value); } + inline void SetSubRegion(const char* value) { m_subRegionHasBeenSet = true; m_subRegion.assign(value); } + inline GeocodeQueryComponents& WithSubRegion(const Aws::String& value) { SetSubRegion(value); return *this;} + inline GeocodeQueryComponents& WithSubRegion(Aws::String&& value) { SetSubRegion(std::move(value)); return *this;} + inline GeocodeQueryComponents& WithSubRegion(const char* value) { SetSubRegion(value); return *this;} + ///@} + + ///@{ + /** + *

                City or locality results should be present in.

                Example: + * Vancouver.

                + */ + inline const Aws::String& GetLocality() const{ return m_locality; } + inline bool LocalityHasBeenSet() const { return m_localityHasBeenSet; } + inline void SetLocality(const Aws::String& value) { m_localityHasBeenSet = true; m_locality = value; } + inline void SetLocality(Aws::String&& value) { m_localityHasBeenSet = true; m_locality = std::move(value); } + inline void SetLocality(const char* value) { m_localityHasBeenSet = true; m_locality.assign(value); } + inline GeocodeQueryComponents& WithLocality(const Aws::String& value) { SetLocality(value); return *this;} + inline GeocodeQueryComponents& WithLocality(Aws::String&& value) { SetLocality(std::move(value)); return *this;} + inline GeocodeQueryComponents& WithLocality(const char* value) { SetLocality(value); return *this;} + ///@} + + ///@{ + /** + *

                The district or division of a city the results should be present in.

                + */ + inline const Aws::String& GetDistrict() const{ return m_district; } + inline bool DistrictHasBeenSet() const { return m_districtHasBeenSet; } + inline void SetDistrict(const Aws::String& value) { m_districtHasBeenSet = true; m_district = value; } + inline void SetDistrict(Aws::String&& value) { m_districtHasBeenSet = true; m_district = std::move(value); } + inline void SetDistrict(const char* value) { m_districtHasBeenSet = true; m_district.assign(value); } + inline GeocodeQueryComponents& WithDistrict(const Aws::String& value) { SetDistrict(value); return *this;} + inline GeocodeQueryComponents& WithDistrict(Aws::String&& value) { SetDistrict(std::move(value)); return *this;} + inline GeocodeQueryComponents& WithDistrict(const char* value) { SetDistrict(value); return *this;} + ///@} + + ///@{ + /** + *

                The name of the street results should be present in.

                + */ + inline const Aws::String& GetStreet() const{ return m_street; } + inline bool StreetHasBeenSet() const { return m_streetHasBeenSet; } + inline void SetStreet(const Aws::String& value) { m_streetHasBeenSet = true; m_street = value; } + inline void SetStreet(Aws::String&& value) { m_streetHasBeenSet = true; m_street = std::move(value); } + inline void SetStreet(const char* value) { m_streetHasBeenSet = true; m_street.assign(value); } + inline GeocodeQueryComponents& WithStreet(const Aws::String& value) { SetStreet(value); return *this;} + inline GeocodeQueryComponents& WithStreet(Aws::String&& value) { SetStreet(std::move(value)); return *this;} + inline GeocodeQueryComponents& WithStreet(const char* value) { SetStreet(value); return *this;} + ///@} + + ///@{ + /** + *

                The house number or address results should have.

                + */ + inline const Aws::String& GetAddressNumber() const{ return m_addressNumber; } + inline bool AddressNumberHasBeenSet() const { return m_addressNumberHasBeenSet; } + inline void SetAddressNumber(const Aws::String& value) { m_addressNumberHasBeenSet = true; m_addressNumber = value; } + inline void SetAddressNumber(Aws::String&& value) { m_addressNumberHasBeenSet = true; m_addressNumber = std::move(value); } + inline void SetAddressNumber(const char* value) { m_addressNumberHasBeenSet = true; m_addressNumber.assign(value); } + inline GeocodeQueryComponents& WithAddressNumber(const Aws::String& value) { SetAddressNumber(value); return *this;} + inline GeocodeQueryComponents& WithAddressNumber(Aws::String&& value) { SetAddressNumber(std::move(value)); return *this;} + inline GeocodeQueryComponents& WithAddressNumber(const char* value) { SetAddressNumber(value); return *this;} + ///@} + + ///@{ + /** + *

                An alphanumeric string included in a postal address to facilitate mail + * sorting, such as post code, postcode, or ZIP code for which the result should + * posses.

                + */ + inline const Aws::String& GetPostalCode() const{ return m_postalCode; } + inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } + inline void SetPostalCode(const Aws::String& value) { m_postalCodeHasBeenSet = true; m_postalCode = value; } + inline void SetPostalCode(Aws::String&& value) { m_postalCodeHasBeenSet = true; m_postalCode = std::move(value); } + inline void SetPostalCode(const char* value) { m_postalCodeHasBeenSet = true; m_postalCode.assign(value); } + inline GeocodeQueryComponents& WithPostalCode(const Aws::String& value) { SetPostalCode(value); return *this;} + inline GeocodeQueryComponents& WithPostalCode(Aws::String&& value) { SetPostalCode(std::move(value)); return *this;} + inline GeocodeQueryComponents& WithPostalCode(const char* value) { SetPostalCode(value); return *this;} + ///@} + private: + + Aws::String m_country; + bool m_countryHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + Aws::String m_subRegion; + bool m_subRegionHasBeenSet = false; + + Aws::String m_locality; + bool m_localityHasBeenSet = false; + + Aws::String m_district; + bool m_districtHasBeenSet = false; + + Aws::String m_street; + bool m_streetHasBeenSet = false; + + Aws::String m_addressNumber; + bool m_addressNumberHasBeenSet = false; + + Aws::String m_postalCode; + bool m_postalCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeRequest.h new file mode 100644 index 00000000000..0275ba46804 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeRequest.h @@ -0,0 +1,221 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoPlaces +{ +namespace Model +{ + + /** + */ + class GeocodeRequest : public GeoPlacesRequest + { + public: + AWS_GEOPLACES_API GeocodeRequest(); + + // 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 "Geocode"; } + + AWS_GEOPLACES_API Aws::String SerializePayload() const override; + + AWS_GEOPLACES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                The free-form text query to match addresses against. This is usually a + * partially typed address from an end user in an address box or form.

                + */ + inline const Aws::String& GetQueryText() const{ return m_queryText; } + inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } + inline void SetQueryText(const Aws::String& value) { m_queryTextHasBeenSet = true; m_queryText = value; } + inline void SetQueryText(Aws::String&& value) { m_queryTextHasBeenSet = true; m_queryText = std::move(value); } + inline void SetQueryText(const char* value) { m_queryTextHasBeenSet = true; m_queryText.assign(value); } + inline GeocodeRequest& WithQueryText(const Aws::String& value) { SetQueryText(value); return *this;} + inline GeocodeRequest& WithQueryText(Aws::String&& value) { SetQueryText(std::move(value)); return *this;} + inline GeocodeRequest& WithQueryText(const char* value) { SetQueryText(value); return *this;} + ///@} + + ///@{ + + inline const GeocodeQueryComponents& GetQueryComponents() const{ return m_queryComponents; } + inline bool QueryComponentsHasBeenSet() const { return m_queryComponentsHasBeenSet; } + inline void SetQueryComponents(const GeocodeQueryComponents& value) { m_queryComponentsHasBeenSet = true; m_queryComponents = value; } + inline void SetQueryComponents(GeocodeQueryComponents&& value) { m_queryComponentsHasBeenSet = true; m_queryComponents = std::move(value); } + inline GeocodeRequest& WithQueryComponents(const GeocodeQueryComponents& value) { SetQueryComponents(value); return *this;} + inline GeocodeRequest& WithQueryComponents(GeocodeQueryComponents&& value) { SetQueryComponents(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                An optional limit for the number of results returned in a single call.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline GeocodeRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

                The position, in longitude and latitude, that the results should be close to. + * Typically, place results returned are ranked higher the closer they are to this + * position. Stored in [lng, lat] and in the WSG84 format.

                + *

                The fields BiasPosition, FilterBoundingBox, and + * FilterCircle are mutually exclusive.

                + */ + inline const Aws::Vector& GetBiasPosition() const{ return m_biasPosition; } + inline bool BiasPositionHasBeenSet() const { return m_biasPositionHasBeenSet; } + inline void SetBiasPosition(const Aws::Vector& value) { m_biasPositionHasBeenSet = true; m_biasPosition = value; } + inline void SetBiasPosition(Aws::Vector&& value) { m_biasPositionHasBeenSet = true; m_biasPosition = std::move(value); } + inline GeocodeRequest& WithBiasPosition(const Aws::Vector& value) { SetBiasPosition(value); return *this;} + inline GeocodeRequest& WithBiasPosition(Aws::Vector&& value) { SetBiasPosition(std::move(value)); return *this;} + inline GeocodeRequest& AddBiasPosition(double value) { m_biasPositionHasBeenSet = true; m_biasPosition.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                A structure which contains a set of inclusion/exclusion properties that + * results must posses in order to be returned as a result.

                + */ + inline const GeocodeFilter& GetFilter() const{ return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + inline void SetFilter(const GeocodeFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + inline void SetFilter(GeocodeFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + inline GeocodeRequest& WithFilter(const GeocodeFilter& value) { SetFilter(value); return *this;} + inline GeocodeRequest& WithFilter(GeocodeFilter&& value) { SetFilter(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of optional additional parameters, such as time zone, that can be + * requested for each result.

                + */ + inline const Aws::Vector& GetAdditionalFeatures() const{ return m_additionalFeatures; } + inline bool AdditionalFeaturesHasBeenSet() const { return m_additionalFeaturesHasBeenSet; } + inline void SetAdditionalFeatures(const Aws::Vector& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = value; } + inline void SetAdditionalFeatures(Aws::Vector&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = std::move(value); } + inline GeocodeRequest& WithAdditionalFeatures(const Aws::Vector& value) { SetAdditionalFeatures(value); return *this;} + inline GeocodeRequest& WithAdditionalFeatures(Aws::Vector&& value) { SetAdditionalFeatures(std::move(value)); return *this;} + inline GeocodeRequest& AddAdditionalFeatures(const GeocodeAdditionalFeature& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(value); return *this; } + inline GeocodeRequest& AddAdditionalFeatures(GeocodeAdditionalFeature&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                A list of BCP + * 47 compliant language codes for the results to be rendered in. If there is + * no data for the result in the requested language, data will be returned in the + * default language for the entry.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline GeocodeRequest& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline GeocodeRequest& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline GeocodeRequest& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline GeocodeRequest& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline GeocodeRequest& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline GeocodeRequest& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                Indicates if the results will be stored. Defaults to SingleUse, + * if left empty.

                + */ + inline const GeocodeIntendedUse& GetIntendedUse() const{ return m_intendedUse; } + inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } + inline void SetIntendedUse(const GeocodeIntendedUse& value) { m_intendedUseHasBeenSet = true; m_intendedUse = value; } + inline void SetIntendedUse(GeocodeIntendedUse&& value) { m_intendedUseHasBeenSet = true; m_intendedUse = std::move(value); } + inline GeocodeRequest& WithIntendedUse(const GeocodeIntendedUse& value) { SetIntendedUse(value); return *this;} + inline GeocodeRequest& WithIntendedUse(GeocodeIntendedUse&& value) { SetIntendedUse(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline GeocodeRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline GeocodeRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline GeocodeRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + private: + + Aws::String m_queryText; + bool m_queryTextHasBeenSet = false; + + GeocodeQueryComponents m_queryComponents; + bool m_queryComponentsHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::Vector m_biasPosition; + bool m_biasPositionHasBeenSet = false; + + GeocodeFilter m_filter; + bool m_filterHasBeenSet = false; + + Aws::Vector m_additionalFeatures; + bool m_additionalFeaturesHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + GeocodeIntendedUse m_intendedUse; + bool m_intendedUseHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResult.h new file mode 100644 index 00000000000..1e8099f4006 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + class GeocodeResult + { + public: + AWS_GEOPLACES_API GeocodeResult(); + AWS_GEOPLACES_API GeocodeResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOPLACES_API GeocodeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                For more + * inforamtion on pricing, please visit Amazon Location Service + * Pricing.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline GeocodeResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline GeocodeResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline GeocodeResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                List of places or results returned for a query.

                + */ + inline const Aws::Vector& GetResultItems() const{ return m_resultItems; } + inline void SetResultItems(const Aws::Vector& value) { m_resultItems = value; } + inline void SetResultItems(Aws::Vector&& value) { m_resultItems = std::move(value); } + inline GeocodeResult& WithResultItems(const Aws::Vector& value) { SetResultItems(value); return *this;} + inline GeocodeResult& WithResultItems(Aws::Vector&& value) { SetResultItems(std::move(value)); return *this;} + inline GeocodeResult& AddResultItems(const GeocodeResultItem& value) { m_resultItems.push_back(value); return *this; } + inline GeocodeResult& AddResultItems(GeocodeResultItem&& value) { m_resultItems.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 GeocodeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GeocodeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GeocodeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_pricingBucket; + + Aws::Vector m_resultItems; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResultItem.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResultItem.h new file mode 100644 index 00000000000..5d165762e85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GeocodeResultItem.h @@ -0,0 +1,299 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The Geocoded result.

                See Also:

                AWS + * API Reference

                + */ + class GeocodeResultItem + { + public: + AWS_GEOPLACES_API GeocodeResultItem(); + AWS_GEOPLACES_API GeocodeResultItem(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API GeocodeResultItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The PlaceId of the place you wish to receive the information + * for.

                + */ + inline const Aws::String& GetPlaceId() const{ return m_placeId; } + inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } + inline void SetPlaceId(const Aws::String& value) { m_placeIdHasBeenSet = true; m_placeId = value; } + inline void SetPlaceId(Aws::String&& value) { m_placeIdHasBeenSet = true; m_placeId = std::move(value); } + inline void SetPlaceId(const char* value) { m_placeIdHasBeenSet = true; m_placeId.assign(value); } + inline GeocodeResultItem& WithPlaceId(const Aws::String& value) { SetPlaceId(value); return *this;} + inline GeocodeResultItem& WithPlaceId(Aws::String&& value) { SetPlaceId(std::move(value)); return *this;} + inline GeocodeResultItem& WithPlaceId(const char* value) { SetPlaceId(value); return *this;} + ///@} + + ///@{ + /** + *

                A PlaceType is a category that the result place must belong + * to.

                + */ + inline const PlaceType& GetPlaceType() const{ return m_placeType; } + inline bool PlaceTypeHasBeenSet() const { return m_placeTypeHasBeenSet; } + inline void SetPlaceType(const PlaceType& value) { m_placeTypeHasBeenSet = true; m_placeType = value; } + inline void SetPlaceType(PlaceType&& value) { m_placeTypeHasBeenSet = true; m_placeType = std::move(value); } + inline GeocodeResultItem& WithPlaceType(const PlaceType& value) { SetPlaceType(value); return *this;} + inline GeocodeResultItem& WithPlaceType(PlaceType&& value) { SetPlaceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The localized display name of this result item based on request parameter + * language.

                + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline GeocodeResultItem& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline GeocodeResultItem& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline GeocodeResultItem& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

                The place's address.

                + */ + inline const Address& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const Address& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(Address&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline GeocodeResultItem& WithAddress(const Address& value) { SetAddress(value); return *this;} + inline GeocodeResultItem& WithAddress(Address&& value) { SetAddress(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Boolean indicating if the address provided has been corrected.

                + */ + inline bool GetAddressNumberCorrected() const{ return m_addressNumberCorrected; } + inline bool AddressNumberCorrectedHasBeenSet() const { return m_addressNumberCorrectedHasBeenSet; } + inline void SetAddressNumberCorrected(bool value) { m_addressNumberCorrectedHasBeenSet = true; m_addressNumberCorrected = value; } + inline GeocodeResultItem& WithAddressNumberCorrected(bool value) { SetAddressNumberCorrected(value); return *this;} + ///@} + + ///@{ + /** + *

                Contains details about the postal code of the place/result.

                + */ + inline const Aws::Vector& GetPostalCodeDetails() const{ return m_postalCodeDetails; } + inline bool PostalCodeDetailsHasBeenSet() const { return m_postalCodeDetailsHasBeenSet; } + inline void SetPostalCodeDetails(const Aws::Vector& value) { m_postalCodeDetailsHasBeenSet = true; m_postalCodeDetails = value; } + inline void SetPostalCodeDetails(Aws::Vector&& value) { m_postalCodeDetailsHasBeenSet = true; m_postalCodeDetails = std::move(value); } + inline GeocodeResultItem& WithPostalCodeDetails(const Aws::Vector& value) { SetPostalCodeDetails(value); return *this;} + inline GeocodeResultItem& WithPostalCodeDetails(Aws::Vector&& value) { SetPostalCodeDetails(std::move(value)); return *this;} + inline GeocodeResultItem& AddPostalCodeDetails(const PostalCodeDetails& value) { m_postalCodeDetailsHasBeenSet = true; m_postalCodeDetails.push_back(value); return *this; } + inline GeocodeResultItem& AddPostalCodeDetails(PostalCodeDetails&& value) { m_postalCodeDetailsHasBeenSet = true; m_postalCodeDetails.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The position in longitude and latitude.

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline GeocodeResultItem& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline GeocodeResultItem& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline GeocodeResultItem& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The distance in meters from the QueryPosition.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline GeocodeResultItem& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                The bounding box formed is defined as a set 4 + * coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern + * lat}]

                + */ + inline const Aws::Vector& GetMapView() const{ return m_mapView; } + inline bool MapViewHasBeenSet() const { return m_mapViewHasBeenSet; } + inline void SetMapView(const Aws::Vector& value) { m_mapViewHasBeenSet = true; m_mapView = value; } + inline void SetMapView(Aws::Vector&& value) { m_mapViewHasBeenSet = true; m_mapView = std::move(value); } + inline GeocodeResultItem& WithMapView(const Aws::Vector& value) { SetMapView(value); return *this;} + inline GeocodeResultItem& WithMapView(Aws::Vector&& value) { SetMapView(std::move(value)); return *this;} + inline GeocodeResultItem& AddMapView(double value) { m_mapViewHasBeenSet = true; m_mapView.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Categories of results that results must belong to.

                + */ + inline const Aws::Vector& GetCategories() const{ return m_categories; } + inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } + inline void SetCategories(const Aws::Vector& value) { m_categoriesHasBeenSet = true; m_categories = value; } + inline void SetCategories(Aws::Vector&& value) { m_categoriesHasBeenSet = true; m_categories = std::move(value); } + inline GeocodeResultItem& WithCategories(const Aws::Vector& value) { SetCategories(value); return *this;} + inline GeocodeResultItem& WithCategories(Aws::Vector&& value) { SetCategories(std::move(value)); return *this;} + inline GeocodeResultItem& AddCategories(const Category& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } + inline GeocodeResultItem& AddCategories(Category&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of food types offered by this result.

                + */ + inline const Aws::Vector& GetFoodTypes() const{ return m_foodTypes; } + inline bool FoodTypesHasBeenSet() const { return m_foodTypesHasBeenSet; } + inline void SetFoodTypes(const Aws::Vector& value) { m_foodTypesHasBeenSet = true; m_foodTypes = value; } + inline void SetFoodTypes(Aws::Vector&& value) { m_foodTypesHasBeenSet = true; m_foodTypes = std::move(value); } + inline GeocodeResultItem& WithFoodTypes(const Aws::Vector& value) { SetFoodTypes(value); return *this;} + inline GeocodeResultItem& WithFoodTypes(Aws::Vector&& value) { SetFoodTypes(std::move(value)); return *this;} + inline GeocodeResultItem& AddFoodTypes(const FoodType& value) { m_foodTypesHasBeenSet = true; m_foodTypes.push_back(value); return *this; } + inline GeocodeResultItem& AddFoodTypes(FoodType&& value) { m_foodTypesHasBeenSet = true; m_foodTypes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Position of the access point represent by longitude and latitude.

                + */ + inline const Aws::Vector& GetAccessPoints() const{ return m_accessPoints; } + inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } + inline void SetAccessPoints(const Aws::Vector& value) { m_accessPointsHasBeenSet = true; m_accessPoints = value; } + inline void SetAccessPoints(Aws::Vector&& value) { m_accessPointsHasBeenSet = true; m_accessPoints = std::move(value); } + inline GeocodeResultItem& WithAccessPoints(const Aws::Vector& value) { SetAccessPoints(value); return *this;} + inline GeocodeResultItem& WithAccessPoints(Aws::Vector&& value) { SetAccessPoints(std::move(value)); return *this;} + inline GeocodeResultItem& AddAccessPoints(const AccessPoint& value) { m_accessPointsHasBeenSet = true; m_accessPoints.push_back(value); return *this; } + inline GeocodeResultItem& AddAccessPoints(AccessPoint&& value) { m_accessPointsHasBeenSet = true; m_accessPoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The time zone in which the place is located.

                + */ + inline const TimeZone& GetTimeZone() const{ return m_timeZone; } + inline bool TimeZoneHasBeenSet() const { return m_timeZoneHasBeenSet; } + inline void SetTimeZone(const TimeZone& value) { m_timeZoneHasBeenSet = true; m_timeZone = value; } + inline void SetTimeZone(TimeZone&& value) { m_timeZoneHasBeenSet = true; m_timeZone = std::move(value); } + inline GeocodeResultItem& WithTimeZone(const TimeZone& value) { SetTimeZone(value); return *this;} + inline GeocodeResultItem& WithTimeZone(TimeZone&& value) { SetTimeZone(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline GeocodeResultItem& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline GeocodeResultItem& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline GeocodeResultItem& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                Indicates how well the entire input matches the returned. It is equal to 1 if + * all input tokens are recognized and matched.

                + */ + inline const MatchScoreDetails& GetMatchScores() const{ return m_matchScores; } + inline bool MatchScoresHasBeenSet() const { return m_matchScoresHasBeenSet; } + inline void SetMatchScores(const MatchScoreDetails& value) { m_matchScoresHasBeenSet = true; m_matchScores = value; } + inline void SetMatchScores(MatchScoreDetails&& value) { m_matchScoresHasBeenSet = true; m_matchScores = std::move(value); } + inline GeocodeResultItem& WithMatchScores(const MatchScoreDetails& value) { SetMatchScores(value); return *this;} + inline GeocodeResultItem& WithMatchScores(MatchScoreDetails&& value) { SetMatchScores(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_placeId; + bool m_placeIdHasBeenSet = false; + + PlaceType m_placeType; + bool m_placeTypeHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Address m_address; + bool m_addressHasBeenSet = false; + + bool m_addressNumberCorrected; + bool m_addressNumberCorrectedHasBeenSet = false; + + Aws::Vector m_postalCodeDetails; + bool m_postalCodeDetailsHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + Aws::Vector m_mapView; + bool m_mapViewHasBeenSet = false; + + Aws::Vector m_categories; + bool m_categoriesHasBeenSet = false; + + Aws::Vector m_foodTypes; + bool m_foodTypesHasBeenSet = false; + + Aws::Vector m_accessPoints; + bool m_accessPointsHasBeenSet = false; + + TimeZone m_timeZone; + bool m_timeZoneHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + MatchScoreDetails m_matchScores; + bool m_matchScoresHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceAdditionalFeature.h new file mode 100644 index 00000000000..d06910caa41 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceAdditionalFeature.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class GetPlaceAdditionalFeature + { + NOT_SET, + TimeZone, + Phonemes, + Access, + Contact + }; + +namespace GetPlaceAdditionalFeatureMapper +{ +AWS_GEOPLACES_API GetPlaceAdditionalFeature GetGetPlaceAdditionalFeatureForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForGetPlaceAdditionalFeature(GetPlaceAdditionalFeature value); +} // namespace GetPlaceAdditionalFeatureMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceIntendedUse.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceIntendedUse.h new file mode 100644 index 00000000000..a8ae11aab22 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceIntendedUse.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class GetPlaceIntendedUse + { + NOT_SET, + SingleUse, + Storage + }; + +namespace GetPlaceIntendedUseMapper +{ +AWS_GEOPLACES_API GetPlaceIntendedUse GetGetPlaceIntendedUseForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForGetPlaceIntendedUse(GetPlaceIntendedUse value); +} // namespace GetPlaceIntendedUseMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceRequest.h new file mode 100644 index 00000000000..4a9f51e4926 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceRequest.h @@ -0,0 +1,157 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoPlaces +{ +namespace Model +{ + + /** + */ + class GetPlaceRequest : public GeoPlacesRequest + { + public: + AWS_GEOPLACES_API GetPlaceRequest(); + + // 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 "GetPlace"; } + + AWS_GEOPLACES_API Aws::String SerializePayload() const override; + + AWS_GEOPLACES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                The PlaceId of the place you wish to receive the information + * for.

                + */ + inline const Aws::String& GetPlaceId() const{ return m_placeId; } + inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } + inline void SetPlaceId(const Aws::String& value) { m_placeIdHasBeenSet = true; m_placeId = value; } + inline void SetPlaceId(Aws::String&& value) { m_placeIdHasBeenSet = true; m_placeId = std::move(value); } + inline void SetPlaceId(const char* value) { m_placeIdHasBeenSet = true; m_placeId.assign(value); } + inline GetPlaceRequest& WithPlaceId(const Aws::String& value) { SetPlaceId(value); return *this;} + inline GetPlaceRequest& WithPlaceId(Aws::String&& value) { SetPlaceId(std::move(value)); return *this;} + inline GetPlaceRequest& WithPlaceId(const char* value) { SetPlaceId(value); return *this;} + ///@} + + ///@{ + /** + *

                A list of optional additional parameters such as time zone that can be + * requested for each result.

                + */ + inline const Aws::Vector& GetAdditionalFeatures() const{ return m_additionalFeatures; } + inline bool AdditionalFeaturesHasBeenSet() const { return m_additionalFeaturesHasBeenSet; } + inline void SetAdditionalFeatures(const Aws::Vector& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = value; } + inline void SetAdditionalFeatures(Aws::Vector&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = std::move(value); } + inline GetPlaceRequest& WithAdditionalFeatures(const Aws::Vector& value) { SetAdditionalFeatures(value); return *this;} + inline GetPlaceRequest& WithAdditionalFeatures(Aws::Vector&& value) { SetAdditionalFeatures(std::move(value)); return *this;} + inline GetPlaceRequest& AddAdditionalFeatures(const GetPlaceAdditionalFeature& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(value); return *this; } + inline GetPlaceRequest& AddAdditionalFeatures(GetPlaceAdditionalFeature&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                A list of BCP + * 47 compliant language codes for the results to be rendered in. If there is + * no data for the result in the requested language, data will be returned in the + * default language for the entry.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline GetPlaceRequest& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline GetPlaceRequest& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline GetPlaceRequest& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline GetPlaceRequest& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline GetPlaceRequest& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline GetPlaceRequest& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                Indicates if the results will be stored. Defaults to SingleUse, + * if left empty.

                + */ + inline const GetPlaceIntendedUse& GetIntendedUse() const{ return m_intendedUse; } + inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } + inline void SetIntendedUse(const GetPlaceIntendedUse& value) { m_intendedUseHasBeenSet = true; m_intendedUse = value; } + inline void SetIntendedUse(GetPlaceIntendedUse&& value) { m_intendedUseHasBeenSet = true; m_intendedUse = std::move(value); } + inline GetPlaceRequest& WithIntendedUse(const GetPlaceIntendedUse& value) { SetIntendedUse(value); return *this;} + inline GetPlaceRequest& WithIntendedUse(GetPlaceIntendedUse&& value) { SetIntendedUse(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline GetPlaceRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline GetPlaceRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline GetPlaceRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + private: + + Aws::String m_placeId; + bool m_placeIdHasBeenSet = false; + + Aws::Vector m_additionalFeatures; + bool m_additionalFeaturesHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + GetPlaceIntendedUse m_intendedUse; + bool m_intendedUseHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceResult.h new file mode 100644 index 00000000000..e8f02050a9b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/GetPlaceResult.h @@ -0,0 +1,348 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + class GetPlaceResult + { + public: + AWS_GEOPLACES_API GetPlaceResult(); + AWS_GEOPLACES_API GetPlaceResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOPLACES_API GetPlaceResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The PlaceId of the place you wish to receive the information + * for.

                + */ + inline const Aws::String& GetPlaceId() const{ return m_placeId; } + inline void SetPlaceId(const Aws::String& value) { m_placeId = value; } + inline void SetPlaceId(Aws::String&& value) { m_placeId = std::move(value); } + inline void SetPlaceId(const char* value) { m_placeId.assign(value); } + inline GetPlaceResult& WithPlaceId(const Aws::String& value) { SetPlaceId(value); return *this;} + inline GetPlaceResult& WithPlaceId(Aws::String&& value) { SetPlaceId(std::move(value)); return *this;} + inline GetPlaceResult& WithPlaceId(const char* value) { SetPlaceId(value); return *this;} + ///@} + + ///@{ + /** + *

                A PlaceType is a category that the result place must belong + * to.

                + */ + inline const PlaceType& GetPlaceType() const{ return m_placeType; } + inline void SetPlaceType(const PlaceType& value) { m_placeType = value; } + inline void SetPlaceType(PlaceType&& value) { m_placeType = std::move(value); } + inline GetPlaceResult& WithPlaceType(const PlaceType& value) { SetPlaceType(value); return *this;} + inline GetPlaceResult& WithPlaceType(PlaceType&& value) { SetPlaceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The localized display name of this result item based on request parameter + * language.

                + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline void SetTitle(const Aws::String& value) { m_title = value; } + inline void SetTitle(Aws::String&& value) { m_title = std::move(value); } + inline void SetTitle(const char* value) { m_title.assign(value); } + inline GetPlaceResult& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline GetPlaceResult& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline GetPlaceResult& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                For more + * inforamtion on pricing, please visit Amazon Location Service + * Pricing.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline GetPlaceResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline GetPlaceResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline GetPlaceResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                The place's address.

                + */ + inline const Address& GetAddress() const{ return m_address; } + inline void SetAddress(const Address& value) { m_address = value; } + inline void SetAddress(Address&& value) { m_address = std::move(value); } + inline GetPlaceResult& WithAddress(const Address& value) { SetAddress(value); return *this;} + inline GetPlaceResult& WithAddress(Address&& value) { SetAddress(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Boolean indicating if the address provided has been corrected.

                + */ + inline bool GetAddressNumberCorrected() const{ return m_addressNumberCorrected; } + inline void SetAddressNumberCorrected(bool value) { m_addressNumberCorrected = value; } + inline GetPlaceResult& WithAddressNumberCorrected(bool value) { SetAddressNumberCorrected(value); return *this;} + ///@} + + ///@{ + /** + *

                Contains details about the postal code of the place/result.

                + */ + inline const Aws::Vector& GetPostalCodeDetails() const{ return m_postalCodeDetails; } + inline void SetPostalCodeDetails(const Aws::Vector& value) { m_postalCodeDetails = value; } + inline void SetPostalCodeDetails(Aws::Vector&& value) { m_postalCodeDetails = std::move(value); } + inline GetPlaceResult& WithPostalCodeDetails(const Aws::Vector& value) { SetPostalCodeDetails(value); return *this;} + inline GetPlaceResult& WithPostalCodeDetails(Aws::Vector&& value) { SetPostalCodeDetails(std::move(value)); return *this;} + inline GetPlaceResult& AddPostalCodeDetails(const PostalCodeDetails& value) { m_postalCodeDetails.push_back(value); return *this; } + inline GetPlaceResult& AddPostalCodeDetails(PostalCodeDetails&& value) { m_postalCodeDetails.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The position, in longitude and latitude.

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline void SetPosition(const Aws::Vector& value) { m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_position = std::move(value); } + inline GetPlaceResult& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline GetPlaceResult& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline GetPlaceResult& AddPosition(double value) { m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                The bounding box formed is defined as a set of + * four coordinates: [{westward lng}, {southern lat}, {eastward lng}, + * {northern lat}]

                + */ + inline const Aws::Vector& GetMapView() const{ return m_mapView; } + inline void SetMapView(const Aws::Vector& value) { m_mapView = value; } + inline void SetMapView(Aws::Vector&& value) { m_mapView = std::move(value); } + inline GetPlaceResult& WithMapView(const Aws::Vector& value) { SetMapView(value); return *this;} + inline GetPlaceResult& WithMapView(Aws::Vector&& value) { SetMapView(std::move(value)); return *this;} + inline GetPlaceResult& AddMapView(double value) { m_mapView.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Categories of results that results must belong to.

                + */ + inline const Aws::Vector& GetCategories() const{ return m_categories; } + inline void SetCategories(const Aws::Vector& value) { m_categories = value; } + inline void SetCategories(Aws::Vector&& value) { m_categories = std::move(value); } + inline GetPlaceResult& WithCategories(const Aws::Vector& value) { SetCategories(value); return *this;} + inline GetPlaceResult& WithCategories(Aws::Vector&& value) { SetCategories(std::move(value)); return *this;} + inline GetPlaceResult& AddCategories(const Category& value) { m_categories.push_back(value); return *this; } + inline GetPlaceResult& AddCategories(Category&& value) { m_categories.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of food types offered by this result.

                + */ + inline const Aws::Vector& GetFoodTypes() const{ return m_foodTypes; } + inline void SetFoodTypes(const Aws::Vector& value) { m_foodTypes = value; } + inline void SetFoodTypes(Aws::Vector&& value) { m_foodTypes = std::move(value); } + inline GetPlaceResult& WithFoodTypes(const Aws::Vector& value) { SetFoodTypes(value); return *this;} + inline GetPlaceResult& WithFoodTypes(Aws::Vector&& value) { SetFoodTypes(std::move(value)); return *this;} + inline GetPlaceResult& AddFoodTypes(const FoodType& value) { m_foodTypes.push_back(value); return *this; } + inline GetPlaceResult& AddFoodTypes(FoodType&& value) { m_foodTypes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The Business Chains associated with the place.

                + */ + inline const Aws::Vector& GetBusinessChains() const{ return m_businessChains; } + inline void SetBusinessChains(const Aws::Vector& value) { m_businessChains = value; } + inline void SetBusinessChains(Aws::Vector&& value) { m_businessChains = std::move(value); } + inline GetPlaceResult& WithBusinessChains(const Aws::Vector& value) { SetBusinessChains(value); return *this;} + inline GetPlaceResult& WithBusinessChains(Aws::Vector&& value) { SetBusinessChains(std::move(value)); return *this;} + inline GetPlaceResult& AddBusinessChains(const BusinessChain& value) { m_businessChains.push_back(value); return *this; } + inline GetPlaceResult& AddBusinessChains(BusinessChain&& value) { m_businessChains.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of potential contact methods for the result/place.

                + */ + inline const Contacts& GetContacts() const{ return m_contacts; } + inline void SetContacts(const Contacts& value) { m_contacts = value; } + inline void SetContacts(Contacts&& value) { m_contacts = std::move(value); } + inline GetPlaceResult& WithContacts(const Contacts& value) { SetContacts(value); return *this;} + inline GetPlaceResult& WithContacts(Contacts&& value) { SetContacts(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                List of opening hours objects.

                + */ + inline const Aws::Vector& GetOpeningHours() const{ return m_openingHours; } + inline void SetOpeningHours(const Aws::Vector& value) { m_openingHours = value; } + inline void SetOpeningHours(Aws::Vector&& value) { m_openingHours = std::move(value); } + inline GetPlaceResult& WithOpeningHours(const Aws::Vector& value) { SetOpeningHours(value); return *this;} + inline GetPlaceResult& WithOpeningHours(Aws::Vector&& value) { SetOpeningHours(std::move(value)); return *this;} + inline GetPlaceResult& AddOpeningHours(const OpeningHours& value) { m_openingHours.push_back(value); return *this; } + inline GetPlaceResult& AddOpeningHours(OpeningHours&& value) { m_openingHours.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Position of the access point in (lng,lat).

                + */ + inline const Aws::Vector& GetAccessPoints() const{ return m_accessPoints; } + inline void SetAccessPoints(const Aws::Vector& value) { m_accessPoints = value; } + inline void SetAccessPoints(Aws::Vector&& value) { m_accessPoints = std::move(value); } + inline GetPlaceResult& WithAccessPoints(const Aws::Vector& value) { SetAccessPoints(value); return *this;} + inline GetPlaceResult& WithAccessPoints(Aws::Vector&& value) { SetAccessPoints(std::move(value)); return *this;} + inline GetPlaceResult& AddAccessPoints(const AccessPoint& value) { m_accessPoints.push_back(value); return *this; } + inline GetPlaceResult& AddAccessPoints(AccessPoint&& value) { m_accessPoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Indicates known access restrictions on a vehicle access point. The index + * correlates to an access point and indicates if access through this point has + * some form of restriction.

                + */ + inline const Aws::Vector& GetAccessRestrictions() const{ return m_accessRestrictions; } + inline void SetAccessRestrictions(const Aws::Vector& value) { m_accessRestrictions = value; } + inline void SetAccessRestrictions(Aws::Vector&& value) { m_accessRestrictions = std::move(value); } + inline GetPlaceResult& WithAccessRestrictions(const Aws::Vector& value) { SetAccessRestrictions(value); return *this;} + inline GetPlaceResult& WithAccessRestrictions(Aws::Vector&& value) { SetAccessRestrictions(std::move(value)); return *this;} + inline GetPlaceResult& AddAccessRestrictions(const AccessRestriction& value) { m_accessRestrictions.push_back(value); return *this; } + inline GetPlaceResult& AddAccessRestrictions(AccessRestriction&& value) { m_accessRestrictions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The time zone in which the place is located.

                + */ + inline const TimeZone& GetTimeZone() const{ return m_timeZone; } + inline void SetTimeZone(const TimeZone& value) { m_timeZone = value; } + inline void SetTimeZone(TimeZone&& value) { m_timeZone = std::move(value); } + inline GetPlaceResult& WithTimeZone(const TimeZone& value) { SetTimeZone(value); return *this;} + inline GetPlaceResult& WithTimeZone(TimeZone&& value) { SetTimeZone(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalView.assign(value); } + inline GetPlaceResult& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline GetPlaceResult& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline GetPlaceResult& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                How the various components of the result's address are pronounced in various + * languages.

                + */ + inline const PhonemeDetails& GetPhonemes() const{ return m_phonemes; } + inline void SetPhonemes(const PhonemeDetails& value) { m_phonemes = value; } + inline void SetPhonemes(PhonemeDetails&& value) { m_phonemes = std::move(value); } + inline GetPlaceResult& WithPhonemes(const PhonemeDetails& value) { SetPhonemes(value); return *this;} + inline GetPlaceResult& WithPhonemes(PhonemeDetails&& value) { SetPhonemes(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 GetPlaceResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetPlaceResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetPlaceResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_placeId; + + PlaceType m_placeType; + + Aws::String m_title; + + Aws::String m_pricingBucket; + + Address m_address; + + bool m_addressNumberCorrected; + + Aws::Vector m_postalCodeDetails; + + Aws::Vector m_position; + + Aws::Vector m_mapView; + + Aws::Vector m_categories; + + Aws::Vector m_foodTypes; + + Aws::Vector m_businessChains; + + Contacts m_contacts; + + Aws::Vector m_openingHours; + + Aws::Vector m_accessPoints; + + Aws::Vector m_accessRestrictions; + + TimeZone m_timeZone; + + Aws::String m_politicalView; + + PhonemeDetails m_phonemes; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Highlight.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Highlight.h new file mode 100644 index 00000000000..c937d29accc --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Highlight.h @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Describes how parts of the result response match the input + * query.

                See Also:

                AWS + * API Reference

                + */ + class Highlight + { + public: + AWS_GEOPLACES_API Highlight(); + AWS_GEOPLACES_API Highlight(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Highlight& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Start index of the highlight.

                + */ + inline int GetStartIndex() const{ return m_startIndex; } + inline bool StartIndexHasBeenSet() const { return m_startIndexHasBeenSet; } + inline void SetStartIndex(int value) { m_startIndexHasBeenSet = true; m_startIndex = value; } + inline Highlight& WithStartIndex(int value) { SetStartIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                End index of the highlight.

                + */ + inline int GetEndIndex() const{ return m_endIndex; } + inline bool EndIndexHasBeenSet() const { return m_endIndexHasBeenSet; } + inline void SetEndIndex(int value) { m_endIndexHasBeenSet = true; m_endIndex = value; } + inline Highlight& WithEndIndex(int value) { SetEndIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                The highlight's value.

                + */ + 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 Highlight& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline Highlight& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline Highlight& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + private: + + int m_startIndex; + bool m_startIndexHasBeenSet = false; + + int m_endIndex; + bool m_endIndexHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/MatchScoreDetails.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/MatchScoreDetails.h new file mode 100644 index 00000000000..48aa0ce8996 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/MatchScoreDetails.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Details related to the match score.

                See Also:

                AWS + * API Reference

                + */ + class MatchScoreDetails + { + public: + AWS_GEOPLACES_API MatchScoreDetails(); + AWS_GEOPLACES_API MatchScoreDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API MatchScoreDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Indicates how well the entire input matches the returned. It is equal to 1 if + * all input tokens are recognized and matched.

                + */ + inline double GetOverall() const{ return m_overall; } + inline bool OverallHasBeenSet() const { return m_overallHasBeenSet; } + inline void SetOverall(double value) { m_overallHasBeenSet = true; m_overall = value; } + inline MatchScoreDetails& WithOverall(double value) { SetOverall(value); return *this;} + ///@} + + ///@{ + /** + *

                Indicates how well the component input matches the returned. It is equal to 1 + * if all input tokens are recognized and matched.

                + */ + inline const ComponentMatchScores& GetComponents() const{ return m_components; } + inline bool ComponentsHasBeenSet() const { return m_componentsHasBeenSet; } + inline void SetComponents(const ComponentMatchScores& value) { m_componentsHasBeenSet = true; m_components = value; } + inline void SetComponents(ComponentMatchScores&& value) { m_componentsHasBeenSet = true; m_components = std::move(value); } + inline MatchScoreDetails& WithComponents(const ComponentMatchScores& value) { SetComponents(value); return *this;} + inline MatchScoreDetails& WithComponents(ComponentMatchScores&& value) { SetComponents(std::move(value)); return *this;} + ///@} + private: + + double m_overall; + bool m_overallHasBeenSet = false; + + ComponentMatchScores m_components; + bool m_componentsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/OpeningHours.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/OpeningHours.h new file mode 100644 index 00000000000..3e988e2c32d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/OpeningHours.h @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                List of opening hours objects.

                See Also:

                AWS + * API Reference

                + */ + class OpeningHours + { + public: + AWS_GEOPLACES_API OpeningHours(); + AWS_GEOPLACES_API OpeningHours(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API OpeningHours& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                List of opening hours in the format they are displayed in. This can vary by + * result and in most cases represents how the result uniquely formats their + * opening hours.

                + */ + inline const Aws::Vector& GetDisplay() const{ return m_display; } + inline bool DisplayHasBeenSet() const { return m_displayHasBeenSet; } + inline void SetDisplay(const Aws::Vector& value) { m_displayHasBeenSet = true; m_display = value; } + inline void SetDisplay(Aws::Vector&& value) { m_displayHasBeenSet = true; m_display = std::move(value); } + inline OpeningHours& WithDisplay(const Aws::Vector& value) { SetDisplay(value); return *this;} + inline OpeningHours& WithDisplay(Aws::Vector&& value) { SetDisplay(std::move(value)); return *this;} + inline OpeningHours& AddDisplay(const Aws::String& value) { m_displayHasBeenSet = true; m_display.push_back(value); return *this; } + inline OpeningHours& AddDisplay(Aws::String&& value) { m_displayHasBeenSet = true; m_display.push_back(std::move(value)); return *this; } + inline OpeningHours& AddDisplay(const char* value) { m_displayHasBeenSet = true; m_display.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Boolean which indicates if the result/place is currently open.

                + */ + inline bool GetOpenNow() const{ return m_openNow; } + inline bool OpenNowHasBeenSet() const { return m_openNowHasBeenSet; } + inline void SetOpenNow(bool value) { m_openNowHasBeenSet = true; m_openNow = value; } + inline OpeningHours& WithOpenNow(bool value) { SetOpenNow(value); return *this;} + ///@} + + ///@{ + /** + *

                Components of the opening hours object.

                + */ + inline const Aws::Vector& GetComponents() const{ return m_components; } + inline bool ComponentsHasBeenSet() const { return m_componentsHasBeenSet; } + inline void SetComponents(const Aws::Vector& value) { m_componentsHasBeenSet = true; m_components = value; } + inline void SetComponents(Aws::Vector&& value) { m_componentsHasBeenSet = true; m_components = std::move(value); } + inline OpeningHours& WithComponents(const Aws::Vector& value) { SetComponents(value); return *this;} + inline OpeningHours& WithComponents(Aws::Vector&& value) { SetComponents(std::move(value)); return *this;} + inline OpeningHours& AddComponents(const OpeningHoursComponents& value) { m_componentsHasBeenSet = true; m_components.push_back(value); return *this; } + inline OpeningHours& AddComponents(OpeningHoursComponents&& value) { m_componentsHasBeenSet = true; m_components.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Categories of results that results must belong too.

                + */ + inline const Aws::Vector& GetCategories() const{ return m_categories; } + inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } + inline void SetCategories(const Aws::Vector& value) { m_categoriesHasBeenSet = true; m_categories = value; } + inline void SetCategories(Aws::Vector&& value) { m_categoriesHasBeenSet = true; m_categories = std::move(value); } + inline OpeningHours& WithCategories(const Aws::Vector& value) { SetCategories(value); return *this;} + inline OpeningHours& WithCategories(Aws::Vector&& value) { SetCategories(std::move(value)); return *this;} + inline OpeningHours& AddCategories(const Category& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } + inline OpeningHours& AddCategories(Category&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_display; + bool m_displayHasBeenSet = false; + + bool m_openNow; + bool m_openNowHasBeenSet = false; + + Aws::Vector m_components; + bool m_componentsHasBeenSet = false; + + Aws::Vector m_categories; + bool m_categoriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/OpeningHoursComponents.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/OpeningHoursComponents.h new file mode 100644 index 00000000000..be5a382df81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/OpeningHoursComponents.h @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Components of the opening hours object.

                See Also:

                AWS + * API Reference

                + */ + class OpeningHoursComponents + { + public: + AWS_GEOPLACES_API OpeningHoursComponents(); + AWS_GEOPLACES_API OpeningHoursComponents(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API OpeningHoursComponents& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                String which represents the opening hours, such as + * "T070000".

                + */ + inline const Aws::String& GetOpenTime() const{ return m_openTime; } + inline bool OpenTimeHasBeenSet() const { return m_openTimeHasBeenSet; } + inline void SetOpenTime(const Aws::String& value) { m_openTimeHasBeenSet = true; m_openTime = value; } + inline void SetOpenTime(Aws::String&& value) { m_openTimeHasBeenSet = true; m_openTime = std::move(value); } + inline void SetOpenTime(const char* value) { m_openTimeHasBeenSet = true; m_openTime.assign(value); } + inline OpeningHoursComponents& WithOpenTime(const Aws::String& value) { SetOpenTime(value); return *this;} + inline OpeningHoursComponents& WithOpenTime(Aws::String&& value) { SetOpenTime(std::move(value)); return *this;} + inline OpeningHoursComponents& WithOpenTime(const char* value) { SetOpenTime(value); return *this;} + ///@} + + ///@{ + /** + *

                String which represents the duration of the opening period, such as + * "PT12H00M".

                + */ + inline const Aws::String& GetOpenDuration() const{ return m_openDuration; } + inline bool OpenDurationHasBeenSet() const { return m_openDurationHasBeenSet; } + inline void SetOpenDuration(const Aws::String& value) { m_openDurationHasBeenSet = true; m_openDuration = value; } + inline void SetOpenDuration(Aws::String&& value) { m_openDurationHasBeenSet = true; m_openDuration = std::move(value); } + inline void SetOpenDuration(const char* value) { m_openDurationHasBeenSet = true; m_openDuration.assign(value); } + inline OpeningHoursComponents& WithOpenDuration(const Aws::String& value) { SetOpenDuration(value); return *this;} + inline OpeningHoursComponents& WithOpenDuration(Aws::String&& value) { SetOpenDuration(std::move(value)); return *this;} + inline OpeningHoursComponents& WithOpenDuration(const char* value) { SetOpenDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Days or periods when the provided opening hours are in affect.

                + *

                Example: FREQ:DAILY;BYDAY:MO,TU,WE,TH,SU

                + */ + inline const Aws::String& GetRecurrence() const{ return m_recurrence; } + inline bool RecurrenceHasBeenSet() const { return m_recurrenceHasBeenSet; } + inline void SetRecurrence(const Aws::String& value) { m_recurrenceHasBeenSet = true; m_recurrence = value; } + inline void SetRecurrence(Aws::String&& value) { m_recurrenceHasBeenSet = true; m_recurrence = std::move(value); } + inline void SetRecurrence(const char* value) { m_recurrenceHasBeenSet = true; m_recurrence.assign(value); } + inline OpeningHoursComponents& WithRecurrence(const Aws::String& value) { SetRecurrence(value); return *this;} + inline OpeningHoursComponents& WithRecurrence(Aws::String&& value) { SetRecurrence(std::move(value)); return *this;} + inline OpeningHoursComponents& WithRecurrence(const char* value) { SetRecurrence(value); return *this;} + ///@} + private: + + Aws::String m_openTime; + bool m_openTimeHasBeenSet = false; + + Aws::String m_openDuration; + bool m_openDurationHasBeenSet = false; + + Aws::String m_recurrence; + bool m_recurrenceHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PhonemeDetails.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PhonemeDetails.h new file mode 100644 index 00000000000..b5a7b49faa9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PhonemeDetails.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The phoneme details.

                See Also:

                AWS + * API Reference

                + */ + class PhonemeDetails + { + public: + AWS_GEOPLACES_API PhonemeDetails(); + AWS_GEOPLACES_API PhonemeDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API PhonemeDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                List of PhonemeTranscription. See + * PhonemeTranscription for fields.

                + */ + inline const Aws::Vector& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::Vector& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::Vector&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline PhonemeDetails& WithTitle(const Aws::Vector& value) { SetTitle(value); return *this;} + inline PhonemeDetails& WithTitle(Aws::Vector&& value) { SetTitle(std::move(value)); return *this;} + inline PhonemeDetails& AddTitle(const PhonemeTranscription& value) { m_titleHasBeenSet = true; m_title.push_back(value); return *this; } + inline PhonemeDetails& AddTitle(PhonemeTranscription&& value) { m_titleHasBeenSet = true; m_title.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                How to pronounce the address.

                + */ + inline const AddressComponentPhonemes& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const AddressComponentPhonemes& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(AddressComponentPhonemes&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline PhonemeDetails& WithAddress(const AddressComponentPhonemes& value) { SetAddress(value); return *this;} + inline PhonemeDetails& WithAddress(AddressComponentPhonemes&& value) { SetAddress(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_title; + bool m_titleHasBeenSet = false; + + AddressComponentPhonemes m_address; + bool m_addressHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PhonemeTranscription.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PhonemeTranscription.h new file mode 100644 index 00000000000..93fcee1a64f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PhonemeTranscription.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                How to pronounce the various components of the address or + * place.

                See Also:

                AWS + * API Reference

                + */ + class PhonemeTranscription + { + public: + AWS_GEOPLACES_API PhonemeTranscription(); + AWS_GEOPLACES_API PhonemeTranscription(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API PhonemeTranscription& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Value which indicates how to pronounce the value.

                + */ + 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 PhonemeTranscription& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline PhonemeTranscription& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline PhonemeTranscription& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + + ///@{ + /** + *

                A list of BCP + * 47 compliant language codes for the results to be rendered in. If there is + * no data for the result in the requested language, data will be returned in the + * default language for the entry.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline PhonemeTranscription& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline PhonemeTranscription& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline PhonemeTranscription& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                Boolean which indicates if it the preferred pronunciation.

                + */ + inline bool GetPreferred() const{ return m_preferred; } + inline bool PreferredHasBeenSet() const { return m_preferredHasBeenSet; } + inline void SetPreferred(bool value) { m_preferredHasBeenSet = true; m_preferred = value; } + inline PhonemeTranscription& WithPreferred(bool value) { SetPreferred(value); return *this;} + ///@} + private: + + Aws::String m_value; + bool m_valueHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + bool m_preferred; + bool m_preferredHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PlaceType.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PlaceType.h new file mode 100644 index 00000000000..e7ae2a84a3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PlaceType.h @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class PlaceType + { + NOT_SET, + Country, + Region, + SubRegion, + Locality, + District, + SubDistrict, + PostalCode, + Block, + SubBlock, + Intersection, + Street, + PointOfInterest, + PointAddress, + InterpolatedAddress + }; + +namespace PlaceTypeMapper +{ +AWS_GEOPLACES_API PlaceType GetPlaceTypeForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForPlaceType(PlaceType value); +} // namespace PlaceTypeMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalAuthority.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalAuthority.h new file mode 100644 index 00000000000..95962d17031 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalAuthority.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class PostalAuthority + { + NOT_SET, + Usps + }; + +namespace PostalAuthorityMapper +{ +AWS_GEOPLACES_API PostalAuthority GetPostalAuthorityForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForPostalAuthority(PostalAuthority value); +} // namespace PostalAuthorityMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeDetails.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeDetails.h new file mode 100644 index 00000000000..d0fac849b97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeDetails.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Contains details about the postal code of the place or result.

                See + * Also:

                AWS + * API Reference

                + */ + class PostalCodeDetails + { + public: + AWS_GEOPLACES_API PostalCodeDetails(); + AWS_GEOPLACES_API PostalCodeDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API PostalCodeDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                An alphanumeric string included in a postal address to facilitate mail + * sorting, such as post code, postcode, or ZIP code for which the result should + * posses.

                + */ + inline const Aws::String& GetPostalCode() const{ return m_postalCode; } + inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } + inline void SetPostalCode(const Aws::String& value) { m_postalCodeHasBeenSet = true; m_postalCode = value; } + inline void SetPostalCode(Aws::String&& value) { m_postalCodeHasBeenSet = true; m_postalCode = std::move(value); } + inline void SetPostalCode(const char* value) { m_postalCodeHasBeenSet = true; m_postalCode.assign(value); } + inline PostalCodeDetails& WithPostalCode(const Aws::String& value) { SetPostalCode(value); return *this;} + inline PostalCodeDetails& WithPostalCode(Aws::String&& value) { SetPostalCode(std::move(value)); return *this;} + inline PostalCodeDetails& WithPostalCode(const char* value) { SetPostalCode(value); return *this;} + ///@} + + ///@{ + /** + *

                The postal authority or entity. This could be a governmental authority, a + * regulatory authority, or a designated postal operator.

                + */ + inline const PostalAuthority& GetPostalAuthority() const{ return m_postalAuthority; } + inline bool PostalAuthorityHasBeenSet() const { return m_postalAuthorityHasBeenSet; } + inline void SetPostalAuthority(const PostalAuthority& value) { m_postalAuthorityHasBeenSet = true; m_postalAuthority = value; } + inline void SetPostalAuthority(PostalAuthority&& value) { m_postalAuthorityHasBeenSet = true; m_postalAuthority = std::move(value); } + inline PostalCodeDetails& WithPostalAuthority(const PostalAuthority& value) { SetPostalAuthority(value); return *this;} + inline PostalCodeDetails& WithPostalAuthority(PostalAuthority&& value) { SetPostalAuthority(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The postal code type.

                + */ + inline const PostalCodeType& GetPostalCodeType() const{ return m_postalCodeType; } + inline bool PostalCodeTypeHasBeenSet() const { return m_postalCodeTypeHasBeenSet; } + inline void SetPostalCodeType(const PostalCodeType& value) { m_postalCodeTypeHasBeenSet = true; m_postalCodeType = value; } + inline void SetPostalCodeType(PostalCodeType&& value) { m_postalCodeTypeHasBeenSet = true; m_postalCodeType = std::move(value); } + inline PostalCodeDetails& WithPostalCodeType(const PostalCodeType& value) { SetPostalCodeType(value); return *this;} + inline PostalCodeDetails& WithPostalCodeType(PostalCodeType&& value) { SetPostalCodeType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The ZIP Classification Code, or in other words what type of postal code is + * it.

                + */ + inline const UspsZip& GetUspsZip() const{ return m_uspsZip; } + inline bool UspsZipHasBeenSet() const { return m_uspsZipHasBeenSet; } + inline void SetUspsZip(const UspsZip& value) { m_uspsZipHasBeenSet = true; m_uspsZip = value; } + inline void SetUspsZip(UspsZip&& value) { m_uspsZipHasBeenSet = true; m_uspsZip = std::move(value); } + inline PostalCodeDetails& WithUspsZip(const UspsZip& value) { SetUspsZip(value); return *this;} + inline PostalCodeDetails& WithUspsZip(UspsZip&& value) { SetUspsZip(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The USPS ZIP+4 Record Type Code.

                + */ + inline const UspsZipPlus4& GetUspsZipPlus4() const{ return m_uspsZipPlus4; } + inline bool UspsZipPlus4HasBeenSet() const { return m_uspsZipPlus4HasBeenSet; } + inline void SetUspsZipPlus4(const UspsZipPlus4& value) { m_uspsZipPlus4HasBeenSet = true; m_uspsZipPlus4 = value; } + inline void SetUspsZipPlus4(UspsZipPlus4&& value) { m_uspsZipPlus4HasBeenSet = true; m_uspsZipPlus4 = std::move(value); } + inline PostalCodeDetails& WithUspsZipPlus4(const UspsZipPlus4& value) { SetUspsZipPlus4(value); return *this;} + inline PostalCodeDetails& WithUspsZipPlus4(UspsZipPlus4&& value) { SetUspsZipPlus4(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_postalCode; + bool m_postalCodeHasBeenSet = false; + + PostalAuthority m_postalAuthority; + bool m_postalAuthorityHasBeenSet = false; + + PostalCodeType m_postalCodeType; + bool m_postalCodeTypeHasBeenSet = false; + + UspsZip m_uspsZip; + bool m_uspsZipHasBeenSet = false; + + UspsZipPlus4 m_uspsZipPlus4; + bool m_uspsZipPlus4HasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeMode.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeMode.h new file mode 100644 index 00000000000..a4baea6ecf3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeMode.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class PostalCodeMode + { + NOT_SET, + MergeAllSpannedLocalities, + EnumerateSpannedLocalities + }; + +namespace PostalCodeModeMapper +{ +AWS_GEOPLACES_API PostalCodeMode GetPostalCodeModeForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForPostalCodeMode(PostalCodeMode value); +} // namespace PostalCodeModeMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeType.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeType.h new file mode 100644 index 00000000000..a51bedbd689 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/PostalCodeType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class PostalCodeType + { + NOT_SET, + UspsZip, + UspsZipPlus4 + }; + +namespace PostalCodeTypeMapper +{ +AWS_GEOPLACES_API PostalCodeType GetPostalCodeTypeForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForPostalCodeType(PostalCodeType value); +} // namespace PostalCodeTypeMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/QueryRefinement.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/QueryRefinement.h new file mode 100644 index 00000000000..53324f8db70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/QueryRefinement.h @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Suggestions for refining individual query terms. Suggestions are returned as + * objects which note the term, suggested replacement, and its index in the query. + *

                See Also:

                AWS + * API Reference

                + */ + class QueryRefinement + { + public: + AWS_GEOPLACES_API QueryRefinement(); + AWS_GEOPLACES_API QueryRefinement(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API QueryRefinement& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The term that will be suggested to the user.

                + */ + inline const Aws::String& GetRefinedTerm() const{ return m_refinedTerm; } + inline bool RefinedTermHasBeenSet() const { return m_refinedTermHasBeenSet; } + inline void SetRefinedTerm(const Aws::String& value) { m_refinedTermHasBeenSet = true; m_refinedTerm = value; } + inline void SetRefinedTerm(Aws::String&& value) { m_refinedTermHasBeenSet = true; m_refinedTerm = std::move(value); } + inline void SetRefinedTerm(const char* value) { m_refinedTermHasBeenSet = true; m_refinedTerm.assign(value); } + inline QueryRefinement& WithRefinedTerm(const Aws::String& value) { SetRefinedTerm(value); return *this;} + inline QueryRefinement& WithRefinedTerm(Aws::String&& value) { SetRefinedTerm(std::move(value)); return *this;} + inline QueryRefinement& WithRefinedTerm(const char* value) { SetRefinedTerm(value); return *this;} + ///@} + + ///@{ + /** + *

                The sub-string of the original query that is replaced by this query term.

                + */ + inline const Aws::String& GetOriginalTerm() const{ return m_originalTerm; } + inline bool OriginalTermHasBeenSet() const { return m_originalTermHasBeenSet; } + inline void SetOriginalTerm(const Aws::String& value) { m_originalTermHasBeenSet = true; m_originalTerm = value; } + inline void SetOriginalTerm(Aws::String&& value) { m_originalTermHasBeenSet = true; m_originalTerm = std::move(value); } + inline void SetOriginalTerm(const char* value) { m_originalTermHasBeenSet = true; m_originalTerm.assign(value); } + inline QueryRefinement& WithOriginalTerm(const Aws::String& value) { SetOriginalTerm(value); return *this;} + inline QueryRefinement& WithOriginalTerm(Aws::String&& value) { SetOriginalTerm(std::move(value)); return *this;} + inline QueryRefinement& WithOriginalTerm(const char* value) { SetOriginalTerm(value); return *this;} + ///@} + + ///@{ + /** + *

                Start index of the parsed component.

                + */ + inline int GetStartIndex() const{ return m_startIndex; } + inline bool StartIndexHasBeenSet() const { return m_startIndexHasBeenSet; } + inline void SetStartIndex(int value) { m_startIndexHasBeenSet = true; m_startIndex = value; } + inline QueryRefinement& WithStartIndex(int value) { SetStartIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                End index of the parsed query.

                + */ + inline int GetEndIndex() const{ return m_endIndex; } + inline bool EndIndexHasBeenSet() const { return m_endIndexHasBeenSet; } + inline void SetEndIndex(int value) { m_endIndexHasBeenSet = true; m_endIndex = value; } + inline QueryRefinement& WithEndIndex(int value) { SetEndIndex(value); return *this;} + ///@} + private: + + Aws::String m_refinedTerm; + bool m_refinedTermHasBeenSet = false; + + Aws::String m_originalTerm; + bool m_originalTermHasBeenSet = false; + + int m_startIndex; + bool m_startIndexHasBeenSet = false; + + int m_endIndex; + bool m_endIndexHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/QueryType.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/QueryType.h new file mode 100644 index 00000000000..8f33804f191 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/QueryType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class QueryType + { + NOT_SET, + Category, + BusinessChain + }; + +namespace QueryTypeMapper +{ +AWS_GEOPLACES_API QueryType GetQueryTypeForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForQueryType(QueryType value); +} // namespace QueryTypeMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RecordTypeCode.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RecordTypeCode.h new file mode 100644 index 00000000000..5406553b025 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RecordTypeCode.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class RecordTypeCode + { + NOT_SET, + Firm, + General, + HighRise, + PostOfficeBox, + Rural, + Street + }; + +namespace RecordTypeCodeMapper +{ +AWS_GEOPLACES_API RecordTypeCode GetRecordTypeCodeForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForRecordTypeCode(RecordTypeCode value); +} // namespace RecordTypeCodeMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Region.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Region.h new file mode 100644 index 00000000000..079fdb64376 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/Region.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The region or state results should be to be present in.

                Example: + * North Rhine-Westphalia.

                See Also:

                AWS + * API Reference

                + */ + class Region + { + public: + AWS_GEOPLACES_API Region(); + AWS_GEOPLACES_API Region(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Region& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Abbreviated code for a the state, province or region of the country.

                + *

                Example: BC.

                + */ + inline const Aws::String& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const Aws::String& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(Aws::String&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline void SetCode(const char* value) { m_codeHasBeenSet = true; m_code.assign(value); } + inline Region& WithCode(const Aws::String& value) { SetCode(value); return *this;} + inline Region& WithCode(Aws::String&& value) { SetCode(std::move(value)); return *this;} + inline Region& WithCode(const char* value) { SetCode(value); return *this;} + ///@} + + ///@{ + /** + *

                Name for a the state, province, or region of the country.

                Example: + * British Columbia.

                + */ + 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 Region& WithName(const Aws::String& value) { SetName(value); return *this;} + inline Region& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline Region& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_code; + bool m_codeHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RegionHighlights.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RegionHighlights.h new file mode 100644 index 00000000000..7da7665c649 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/RegionHighlights.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Indicates the starting and ending index of the region in the text query that + * match the found title.

                See Also:

                AWS + * API Reference

                + */ + class RegionHighlights + { + public: + AWS_GEOPLACES_API RegionHighlights(); + AWS_GEOPLACES_API RegionHighlights(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API RegionHighlights& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Indicates the starting and ending index of the region in the text query that + * match the found title.

                + */ + inline const Aws::Vector& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const Aws::Vector& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(Aws::Vector&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline RegionHighlights& WithCode(const Aws::Vector& value) { SetCode(value); return *this;} + inline RegionHighlights& WithCode(Aws::Vector&& value) { SetCode(std::move(value)); return *this;} + inline RegionHighlights& AddCode(const Highlight& value) { m_codeHasBeenSet = true; m_code.push_back(value); return *this; } + inline RegionHighlights& AddCode(Highlight&& value) { m_codeHasBeenSet = true; m_code.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Indicates the starting and ending index of the region name in the text query + * that match the found title.

                + */ + inline const Aws::Vector& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::Vector& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::Vector&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline RegionHighlights& WithName(const Aws::Vector& value) { SetName(value); return *this;} + inline RegionHighlights& WithName(Aws::Vector&& value) { SetName(std::move(value)); return *this;} + inline RegionHighlights& AddName(const Highlight& value) { m_nameHasBeenSet = true; m_name.push_back(value); return *this; } + inline RegionHighlights& AddName(Highlight&& value) { m_nameHasBeenSet = true; m_name.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_code; + bool m_codeHasBeenSet = false; + + Aws::Vector m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeAdditionalFeature.h new file mode 100644 index 00000000000..863017c3aae --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeAdditionalFeature.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class ReverseGeocodeAdditionalFeature + { + NOT_SET, + TimeZone, + Access + }; + +namespace ReverseGeocodeAdditionalFeatureMapper +{ +AWS_GEOPLACES_API ReverseGeocodeAdditionalFeature GetReverseGeocodeAdditionalFeatureForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForReverseGeocodeAdditionalFeature(ReverseGeocodeAdditionalFeature value); +} // namespace ReverseGeocodeAdditionalFeatureMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeFilter.h new file mode 100644 index 00000000000..c88ea62fde3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeFilter.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The included place types.

                See Also:

                AWS + * API Reference

                + */ + class ReverseGeocodeFilter + { + public: + AWS_GEOPLACES_API ReverseGeocodeFilter(); + AWS_GEOPLACES_API ReverseGeocodeFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API ReverseGeocodeFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The included place types.

                + */ + inline const Aws::Vector& GetIncludePlaceTypes() const{ return m_includePlaceTypes; } + inline bool IncludePlaceTypesHasBeenSet() const { return m_includePlaceTypesHasBeenSet; } + inline void SetIncludePlaceTypes(const Aws::Vector& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes = value; } + inline void SetIncludePlaceTypes(Aws::Vector&& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes = std::move(value); } + inline ReverseGeocodeFilter& WithIncludePlaceTypes(const Aws::Vector& value) { SetIncludePlaceTypes(value); return *this;} + inline ReverseGeocodeFilter& WithIncludePlaceTypes(Aws::Vector&& value) { SetIncludePlaceTypes(std::move(value)); return *this;} + inline ReverseGeocodeFilter& AddIncludePlaceTypes(const ReverseGeocodeFilterPlaceType& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes.push_back(value); return *this; } + inline ReverseGeocodeFilter& AddIncludePlaceTypes(ReverseGeocodeFilterPlaceType&& value) { m_includePlaceTypesHasBeenSet = true; m_includePlaceTypes.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_includePlaceTypes; + bool m_includePlaceTypesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeFilterPlaceType.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeFilterPlaceType.h new file mode 100644 index 00000000000..e6e1081cf00 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeFilterPlaceType.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class ReverseGeocodeFilterPlaceType + { + NOT_SET, + Locality, + Intersection, + Street, + PointAddress, + InterpolatedAddress + }; + +namespace ReverseGeocodeFilterPlaceTypeMapper +{ +AWS_GEOPLACES_API ReverseGeocodeFilterPlaceType GetReverseGeocodeFilterPlaceTypeForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForReverseGeocodeFilterPlaceType(ReverseGeocodeFilterPlaceType value); +} // namespace ReverseGeocodeFilterPlaceTypeMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeIntendedUse.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeIntendedUse.h new file mode 100644 index 00000000000..3fc1c191647 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeIntendedUse.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class ReverseGeocodeIntendedUse + { + NOT_SET, + SingleUse, + Storage + }; + +namespace ReverseGeocodeIntendedUseMapper +{ +AWS_GEOPLACES_API ReverseGeocodeIntendedUse GetReverseGeocodeIntendedUseForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForReverseGeocodeIntendedUse(ReverseGeocodeIntendedUse value); +} // namespace ReverseGeocodeIntendedUseMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeRequest.h new file mode 100644 index 00000000000..d6705012e99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeRequest.h @@ -0,0 +1,201 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoPlaces +{ +namespace Model +{ + + /** + */ + class ReverseGeocodeRequest : public GeoPlacesRequest + { + public: + AWS_GEOPLACES_API ReverseGeocodeRequest(); + + // 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 "ReverseGeocode"; } + + AWS_GEOPLACES_API Aws::String SerializePayload() const override; + + AWS_GEOPLACES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                The position, in [lng, lat] for which you are querying nearby + * resultsfor. Results closer to the position will be ranked higher then results + * further away from the position

                + */ + inline const Aws::Vector& GetQueryPosition() const{ return m_queryPosition; } + inline bool QueryPositionHasBeenSet() const { return m_queryPositionHasBeenSet; } + inline void SetQueryPosition(const Aws::Vector& value) { m_queryPositionHasBeenSet = true; m_queryPosition = value; } + inline void SetQueryPosition(Aws::Vector&& value) { m_queryPositionHasBeenSet = true; m_queryPosition = std::move(value); } + inline ReverseGeocodeRequest& WithQueryPosition(const Aws::Vector& value) { SetQueryPosition(value); return *this;} + inline ReverseGeocodeRequest& WithQueryPosition(Aws::Vector&& value) { SetQueryPosition(std::move(value)); return *this;} + inline ReverseGeocodeRequest& AddQueryPosition(double value) { m_queryPositionHasBeenSet = true; m_queryPosition.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The maximum distance in meters from the QueryPosition from which a result + * will be returned.

                + */ + inline long long GetQueryRadius() const{ return m_queryRadius; } + inline bool QueryRadiusHasBeenSet() const { return m_queryRadiusHasBeenSet; } + inline void SetQueryRadius(long long value) { m_queryRadiusHasBeenSet = true; m_queryRadius = value; } + inline ReverseGeocodeRequest& WithQueryRadius(long long value) { SetQueryRadius(value); return *this;} + ///@} + + ///@{ + /** + *

                An optional limit for the number of results returned in a single call.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ReverseGeocodeRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

                A structure which contains a set of inclusion/exclusion properties that + * results must posses in order to be returned as a result.

                + */ + inline const ReverseGeocodeFilter& GetFilter() const{ return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + inline void SetFilter(const ReverseGeocodeFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + inline void SetFilter(ReverseGeocodeFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + inline ReverseGeocodeRequest& WithFilter(const ReverseGeocodeFilter& value) { SetFilter(value); return *this;} + inline ReverseGeocodeRequest& WithFilter(ReverseGeocodeFilter&& value) { SetFilter(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of optional additional parameters, such as time zone that can be + * requested for each result.

                + */ + inline const Aws::Vector& GetAdditionalFeatures() const{ return m_additionalFeatures; } + inline bool AdditionalFeaturesHasBeenSet() const { return m_additionalFeaturesHasBeenSet; } + inline void SetAdditionalFeatures(const Aws::Vector& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = value; } + inline void SetAdditionalFeatures(Aws::Vector&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = std::move(value); } + inline ReverseGeocodeRequest& WithAdditionalFeatures(const Aws::Vector& value) { SetAdditionalFeatures(value); return *this;} + inline ReverseGeocodeRequest& WithAdditionalFeatures(Aws::Vector&& value) { SetAdditionalFeatures(std::move(value)); return *this;} + inline ReverseGeocodeRequest& AddAdditionalFeatures(const ReverseGeocodeAdditionalFeature& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(value); return *this; } + inline ReverseGeocodeRequest& AddAdditionalFeatures(ReverseGeocodeAdditionalFeature&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                A list of BCP + * 47 compliant language codes for the results to be rendered in. If there is + * no data for the result in the requested language, data will be returned in the + * default language for the entry.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline ReverseGeocodeRequest& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline ReverseGeocodeRequest& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline ReverseGeocodeRequest& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline ReverseGeocodeRequest& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline ReverseGeocodeRequest& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline ReverseGeocodeRequest& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                Indicates if the results will be stored. Defaults to SingleUse, + * if left empty.

                + */ + inline const ReverseGeocodeIntendedUse& GetIntendedUse() const{ return m_intendedUse; } + inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } + inline void SetIntendedUse(const ReverseGeocodeIntendedUse& value) { m_intendedUseHasBeenSet = true; m_intendedUse = value; } + inline void SetIntendedUse(ReverseGeocodeIntendedUse&& value) { m_intendedUseHasBeenSet = true; m_intendedUse = std::move(value); } + inline ReverseGeocodeRequest& WithIntendedUse(const ReverseGeocodeIntendedUse& value) { SetIntendedUse(value); return *this;} + inline ReverseGeocodeRequest& WithIntendedUse(ReverseGeocodeIntendedUse&& value) { SetIntendedUse(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline ReverseGeocodeRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline ReverseGeocodeRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline ReverseGeocodeRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + private: + + Aws::Vector m_queryPosition; + bool m_queryPositionHasBeenSet = false; + + long long m_queryRadius; + bool m_queryRadiusHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + ReverseGeocodeFilter m_filter; + bool m_filterHasBeenSet = false; + + Aws::Vector m_additionalFeatures; + bool m_additionalFeaturesHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + ReverseGeocodeIntendedUse m_intendedUse; + bool m_intendedUseHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResult.h new file mode 100644 index 00000000000..899d04dcd86 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResult.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + class ReverseGeocodeResult + { + public: + AWS_GEOPLACES_API ReverseGeocodeResult(); + AWS_GEOPLACES_API ReverseGeocodeResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOPLACES_API ReverseGeocodeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                For more + * inforamtion on pricing, please visit Amazon Location Service + * Pricing.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline ReverseGeocodeResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline ReverseGeocodeResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline ReverseGeocodeResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                List of places or results returned for a query.

                + */ + inline const Aws::Vector& GetResultItems() const{ return m_resultItems; } + inline void SetResultItems(const Aws::Vector& value) { m_resultItems = value; } + inline void SetResultItems(Aws::Vector&& value) { m_resultItems = std::move(value); } + inline ReverseGeocodeResult& WithResultItems(const Aws::Vector& value) { SetResultItems(value); return *this;} + inline ReverseGeocodeResult& WithResultItems(Aws::Vector&& value) { SetResultItems(std::move(value)); return *this;} + inline ReverseGeocodeResult& AddResultItems(const ReverseGeocodeResultItem& value) { m_resultItems.push_back(value); return *this; } + inline ReverseGeocodeResult& AddResultItems(ReverseGeocodeResultItem&& value) { m_resultItems.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 ReverseGeocodeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ReverseGeocodeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ReverseGeocodeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_pricingBucket; + + Aws::Vector m_resultItems; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResultItem.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResultItem.h new file mode 100644 index 00000000000..4b92b22ce64 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ReverseGeocodeResultItem.h @@ -0,0 +1,283 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The returned location from the Reverse Geocode + * action.

                See Also:

                AWS + * API Reference

                + */ + class ReverseGeocodeResultItem + { + public: + AWS_GEOPLACES_API ReverseGeocodeResultItem(); + AWS_GEOPLACES_API ReverseGeocodeResultItem(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API ReverseGeocodeResultItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The PlaceId of the place you wish to receive the information + * for.

                + */ + inline const Aws::String& GetPlaceId() const{ return m_placeId; } + inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } + inline void SetPlaceId(const Aws::String& value) { m_placeIdHasBeenSet = true; m_placeId = value; } + inline void SetPlaceId(Aws::String&& value) { m_placeIdHasBeenSet = true; m_placeId = std::move(value); } + inline void SetPlaceId(const char* value) { m_placeIdHasBeenSet = true; m_placeId.assign(value); } + inline ReverseGeocodeResultItem& WithPlaceId(const Aws::String& value) { SetPlaceId(value); return *this;} + inline ReverseGeocodeResultItem& WithPlaceId(Aws::String&& value) { SetPlaceId(std::move(value)); return *this;} + inline ReverseGeocodeResultItem& WithPlaceId(const char* value) { SetPlaceId(value); return *this;} + ///@} + + ///@{ + /** + *

                A PlaceType is a category that the result place must belong + * to.

                + */ + inline const PlaceType& GetPlaceType() const{ return m_placeType; } + inline bool PlaceTypeHasBeenSet() const { return m_placeTypeHasBeenSet; } + inline void SetPlaceType(const PlaceType& value) { m_placeTypeHasBeenSet = true; m_placeType = value; } + inline void SetPlaceType(PlaceType&& value) { m_placeTypeHasBeenSet = true; m_placeType = std::move(value); } + inline ReverseGeocodeResultItem& WithPlaceType(const PlaceType& value) { SetPlaceType(value); return *this;} + inline ReverseGeocodeResultItem& WithPlaceType(PlaceType&& value) { SetPlaceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The localized display name of this result item based on request parameter + * language.

                + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline ReverseGeocodeResultItem& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline ReverseGeocodeResultItem& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline ReverseGeocodeResultItem& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

                The place's address.

                + */ + inline const Address& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const Address& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(Address&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline ReverseGeocodeResultItem& WithAddress(const Address& value) { SetAddress(value); return *this;} + inline ReverseGeocodeResultItem& WithAddress(Address&& value) { SetAddress(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Boolean indicating if the address provided has been corrected.

                + */ + inline bool GetAddressNumberCorrected() const{ return m_addressNumberCorrected; } + inline bool AddressNumberCorrectedHasBeenSet() const { return m_addressNumberCorrectedHasBeenSet; } + inline void SetAddressNumberCorrected(bool value) { m_addressNumberCorrectedHasBeenSet = true; m_addressNumberCorrected = value; } + inline ReverseGeocodeResultItem& WithAddressNumberCorrected(bool value) { SetAddressNumberCorrected(value); return *this;} + ///@} + + ///@{ + /** + *

                Contains details about the postal code of the place/result.

                + */ + inline const Aws::Vector& GetPostalCodeDetails() const{ return m_postalCodeDetails; } + inline bool PostalCodeDetailsHasBeenSet() const { return m_postalCodeDetailsHasBeenSet; } + inline void SetPostalCodeDetails(const Aws::Vector& value) { m_postalCodeDetailsHasBeenSet = true; m_postalCodeDetails = value; } + inline void SetPostalCodeDetails(Aws::Vector&& value) { m_postalCodeDetailsHasBeenSet = true; m_postalCodeDetails = std::move(value); } + inline ReverseGeocodeResultItem& WithPostalCodeDetails(const Aws::Vector& value) { SetPostalCodeDetails(value); return *this;} + inline ReverseGeocodeResultItem& WithPostalCodeDetails(Aws::Vector&& value) { SetPostalCodeDetails(std::move(value)); return *this;} + inline ReverseGeocodeResultItem& AddPostalCodeDetails(const PostalCodeDetails& value) { m_postalCodeDetailsHasBeenSet = true; m_postalCodeDetails.push_back(value); return *this; } + inline ReverseGeocodeResultItem& AddPostalCodeDetails(PostalCodeDetails&& value) { m_postalCodeDetailsHasBeenSet = true; m_postalCodeDetails.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The position in longitude and latitude.

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline ReverseGeocodeResultItem& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline ReverseGeocodeResultItem& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline ReverseGeocodeResultItem& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The distance in meters from the QueryPosition.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline ReverseGeocodeResultItem& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                The bounding box formed is defined as a set 4 + * coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern + * lat}]

                + */ + inline const Aws::Vector& GetMapView() const{ return m_mapView; } + inline bool MapViewHasBeenSet() const { return m_mapViewHasBeenSet; } + inline void SetMapView(const Aws::Vector& value) { m_mapViewHasBeenSet = true; m_mapView = value; } + inline void SetMapView(Aws::Vector&& value) { m_mapViewHasBeenSet = true; m_mapView = std::move(value); } + inline ReverseGeocodeResultItem& WithMapView(const Aws::Vector& value) { SetMapView(value); return *this;} + inline ReverseGeocodeResultItem& WithMapView(Aws::Vector&& value) { SetMapView(std::move(value)); return *this;} + inline ReverseGeocodeResultItem& AddMapView(double value) { m_mapViewHasBeenSet = true; m_mapView.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Categories of results that results must belong to.

                + */ + inline const Aws::Vector& GetCategories() const{ return m_categories; } + inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } + inline void SetCategories(const Aws::Vector& value) { m_categoriesHasBeenSet = true; m_categories = value; } + inline void SetCategories(Aws::Vector&& value) { m_categoriesHasBeenSet = true; m_categories = std::move(value); } + inline ReverseGeocodeResultItem& WithCategories(const Aws::Vector& value) { SetCategories(value); return *this;} + inline ReverseGeocodeResultItem& WithCategories(Aws::Vector&& value) { SetCategories(std::move(value)); return *this;} + inline ReverseGeocodeResultItem& AddCategories(const Category& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } + inline ReverseGeocodeResultItem& AddCategories(Category&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of food types offered by this result.

                + */ + inline const Aws::Vector& GetFoodTypes() const{ return m_foodTypes; } + inline bool FoodTypesHasBeenSet() const { return m_foodTypesHasBeenSet; } + inline void SetFoodTypes(const Aws::Vector& value) { m_foodTypesHasBeenSet = true; m_foodTypes = value; } + inline void SetFoodTypes(Aws::Vector&& value) { m_foodTypesHasBeenSet = true; m_foodTypes = std::move(value); } + inline ReverseGeocodeResultItem& WithFoodTypes(const Aws::Vector& value) { SetFoodTypes(value); return *this;} + inline ReverseGeocodeResultItem& WithFoodTypes(Aws::Vector&& value) { SetFoodTypes(std::move(value)); return *this;} + inline ReverseGeocodeResultItem& AddFoodTypes(const FoodType& value) { m_foodTypesHasBeenSet = true; m_foodTypes.push_back(value); return *this; } + inline ReverseGeocodeResultItem& AddFoodTypes(FoodType&& value) { m_foodTypesHasBeenSet = true; m_foodTypes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Position of the access point represent by longitude and latitude.

                + */ + inline const Aws::Vector& GetAccessPoints() const{ return m_accessPoints; } + inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } + inline void SetAccessPoints(const Aws::Vector& value) { m_accessPointsHasBeenSet = true; m_accessPoints = value; } + inline void SetAccessPoints(Aws::Vector&& value) { m_accessPointsHasBeenSet = true; m_accessPoints = std::move(value); } + inline ReverseGeocodeResultItem& WithAccessPoints(const Aws::Vector& value) { SetAccessPoints(value); return *this;} + inline ReverseGeocodeResultItem& WithAccessPoints(Aws::Vector&& value) { SetAccessPoints(std::move(value)); return *this;} + inline ReverseGeocodeResultItem& AddAccessPoints(const AccessPoint& value) { m_accessPointsHasBeenSet = true; m_accessPoints.push_back(value); return *this; } + inline ReverseGeocodeResultItem& AddAccessPoints(AccessPoint&& value) { m_accessPointsHasBeenSet = true; m_accessPoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The time zone in which the place is located.

                + */ + inline const TimeZone& GetTimeZone() const{ return m_timeZone; } + inline bool TimeZoneHasBeenSet() const { return m_timeZoneHasBeenSet; } + inline void SetTimeZone(const TimeZone& value) { m_timeZoneHasBeenSet = true; m_timeZone = value; } + inline void SetTimeZone(TimeZone&& value) { m_timeZoneHasBeenSet = true; m_timeZone = std::move(value); } + inline ReverseGeocodeResultItem& WithTimeZone(const TimeZone& value) { SetTimeZone(value); return *this;} + inline ReverseGeocodeResultItem& WithTimeZone(TimeZone&& value) { SetTimeZone(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline ReverseGeocodeResultItem& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline ReverseGeocodeResultItem& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline ReverseGeocodeResultItem& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + private: + + Aws::String m_placeId; + bool m_placeIdHasBeenSet = false; + + PlaceType m_placeType; + bool m_placeTypeHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Address m_address; + bool m_addressHasBeenSet = false; + + bool m_addressNumberCorrected; + bool m_addressNumberCorrectedHasBeenSet = false; + + Aws::Vector m_postalCodeDetails; + bool m_postalCodeDetailsHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + Aws::Vector m_mapView; + bool m_mapViewHasBeenSet = false; + + Aws::Vector m_categories; + bool m_categoriesHasBeenSet = false; + + Aws::Vector m_foodTypes; + bool m_foodTypesHasBeenSet = false; + + Aws::Vector m_accessPoints; + bool m_accessPointsHasBeenSet = false; + + TimeZone m_timeZone; + bool m_timeZoneHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyAdditionalFeature.h new file mode 100644 index 00000000000..83e3770843c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyAdditionalFeature.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class SearchNearbyAdditionalFeature + { + NOT_SET, + TimeZone, + Phonemes, + Access, + Contact + }; + +namespace SearchNearbyAdditionalFeatureMapper +{ +AWS_GEOPLACES_API SearchNearbyAdditionalFeature GetSearchNearbyAdditionalFeatureForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForSearchNearbyAdditionalFeature(SearchNearbyAdditionalFeature value); +} // namespace SearchNearbyAdditionalFeatureMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyFilter.h new file mode 100644 index 00000000000..1049a2addcb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyFilter.h @@ -0,0 +1,193 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                SearchNearby structure which contains a set of inclusion/exclusion properties + * that results must posses in order to be returned as a result.

                See + * Also:

                AWS + * API Reference

                + */ + class SearchNearbyFilter + { + public: + AWS_GEOPLACES_API SearchNearbyFilter(); + AWS_GEOPLACES_API SearchNearbyFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SearchNearbyFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                The bounding box formed is defined as a set 4 + * coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern + * lat}]

                + */ + inline const Aws::Vector& GetBoundingBox() const{ return m_boundingBox; } + inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } + inline void SetBoundingBox(const Aws::Vector& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } + inline void SetBoundingBox(Aws::Vector&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } + inline SearchNearbyFilter& WithBoundingBox(const Aws::Vector& value) { SetBoundingBox(value); return *this;} + inline SearchNearbyFilter& WithBoundingBox(Aws::Vector&& value) { SetBoundingBox(std::move(value)); return *this;} + inline SearchNearbyFilter& AddBoundingBox(double value) { m_boundingBoxHasBeenSet = true; m_boundingBox.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                A list of countries that all results must be in. Countries are represented by + * either their alpha-2 or alpha-3 character codes.

                + */ + inline const Aws::Vector& GetIncludeCountries() const{ return m_includeCountries; } + inline bool IncludeCountriesHasBeenSet() const { return m_includeCountriesHasBeenSet; } + inline void SetIncludeCountries(const Aws::Vector& value) { m_includeCountriesHasBeenSet = true; m_includeCountries = value; } + inline void SetIncludeCountries(Aws::Vector&& value) { m_includeCountriesHasBeenSet = true; m_includeCountries = std::move(value); } + inline SearchNearbyFilter& WithIncludeCountries(const Aws::Vector& value) { SetIncludeCountries(value); return *this;} + inline SearchNearbyFilter& WithIncludeCountries(Aws::Vector&& value) { SetIncludeCountries(std::move(value)); return *this;} + inline SearchNearbyFilter& AddIncludeCountries(const Aws::String& value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(value); return *this; } + inline SearchNearbyFilter& AddIncludeCountries(Aws::String&& value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(std::move(value)); return *this; } + inline SearchNearbyFilter& AddIncludeCountries(const char* value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Categories of results that results must belong too.

                + */ + inline const Aws::Vector& GetIncludeCategories() const{ return m_includeCategories; } + inline bool IncludeCategoriesHasBeenSet() const { return m_includeCategoriesHasBeenSet; } + inline void SetIncludeCategories(const Aws::Vector& value) { m_includeCategoriesHasBeenSet = true; m_includeCategories = value; } + inline void SetIncludeCategories(Aws::Vector&& value) { m_includeCategoriesHasBeenSet = true; m_includeCategories = std::move(value); } + inline SearchNearbyFilter& WithIncludeCategories(const Aws::Vector& value) { SetIncludeCategories(value); return *this;} + inline SearchNearbyFilter& WithIncludeCategories(Aws::Vector&& value) { SetIncludeCategories(std::move(value)); return *this;} + inline SearchNearbyFilter& AddIncludeCategories(const Aws::String& value) { m_includeCategoriesHasBeenSet = true; m_includeCategories.push_back(value); return *this; } + inline SearchNearbyFilter& AddIncludeCategories(Aws::String&& value) { m_includeCategoriesHasBeenSet = true; m_includeCategories.push_back(std::move(value)); return *this; } + inline SearchNearbyFilter& AddIncludeCategories(const char* value) { m_includeCategoriesHasBeenSet = true; m_includeCategories.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Categories of results that results are excluded from.

                + */ + inline const Aws::Vector& GetExcludeCategories() const{ return m_excludeCategories; } + inline bool ExcludeCategoriesHasBeenSet() const { return m_excludeCategoriesHasBeenSet; } + inline void SetExcludeCategories(const Aws::Vector& value) { m_excludeCategoriesHasBeenSet = true; m_excludeCategories = value; } + inline void SetExcludeCategories(Aws::Vector&& value) { m_excludeCategoriesHasBeenSet = true; m_excludeCategories = std::move(value); } + inline SearchNearbyFilter& WithExcludeCategories(const Aws::Vector& value) { SetExcludeCategories(value); return *this;} + inline SearchNearbyFilter& WithExcludeCategories(Aws::Vector&& value) { SetExcludeCategories(std::move(value)); return *this;} + inline SearchNearbyFilter& AddExcludeCategories(const Aws::String& value) { m_excludeCategoriesHasBeenSet = true; m_excludeCategories.push_back(value); return *this; } + inline SearchNearbyFilter& AddExcludeCategories(Aws::String&& value) { m_excludeCategoriesHasBeenSet = true; m_excludeCategories.push_back(std::move(value)); return *this; } + inline SearchNearbyFilter& AddExcludeCategories(const char* value) { m_excludeCategoriesHasBeenSet = true; m_excludeCategories.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The Business Chains associated with the place.

                + */ + inline const Aws::Vector& GetIncludeBusinessChains() const{ return m_includeBusinessChains; } + inline bool IncludeBusinessChainsHasBeenSet() const { return m_includeBusinessChainsHasBeenSet; } + inline void SetIncludeBusinessChains(const Aws::Vector& value) { m_includeBusinessChainsHasBeenSet = true; m_includeBusinessChains = value; } + inline void SetIncludeBusinessChains(Aws::Vector&& value) { m_includeBusinessChainsHasBeenSet = true; m_includeBusinessChains = std::move(value); } + inline SearchNearbyFilter& WithIncludeBusinessChains(const Aws::Vector& value) { SetIncludeBusinessChains(value); return *this;} + inline SearchNearbyFilter& WithIncludeBusinessChains(Aws::Vector&& value) { SetIncludeBusinessChains(std::move(value)); return *this;} + inline SearchNearbyFilter& AddIncludeBusinessChains(const Aws::String& value) { m_includeBusinessChainsHasBeenSet = true; m_includeBusinessChains.push_back(value); return *this; } + inline SearchNearbyFilter& AddIncludeBusinessChains(Aws::String&& value) { m_includeBusinessChainsHasBeenSet = true; m_includeBusinessChains.push_back(std::move(value)); return *this; } + inline SearchNearbyFilter& AddIncludeBusinessChains(const char* value) { m_includeBusinessChainsHasBeenSet = true; m_includeBusinessChains.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The Business Chains associated with the place.

                + */ + inline const Aws::Vector& GetExcludeBusinessChains() const{ return m_excludeBusinessChains; } + inline bool ExcludeBusinessChainsHasBeenSet() const { return m_excludeBusinessChainsHasBeenSet; } + inline void SetExcludeBusinessChains(const Aws::Vector& value) { m_excludeBusinessChainsHasBeenSet = true; m_excludeBusinessChains = value; } + inline void SetExcludeBusinessChains(Aws::Vector&& value) { m_excludeBusinessChainsHasBeenSet = true; m_excludeBusinessChains = std::move(value); } + inline SearchNearbyFilter& WithExcludeBusinessChains(const Aws::Vector& value) { SetExcludeBusinessChains(value); return *this;} + inline SearchNearbyFilter& WithExcludeBusinessChains(Aws::Vector&& value) { SetExcludeBusinessChains(std::move(value)); return *this;} + inline SearchNearbyFilter& AddExcludeBusinessChains(const Aws::String& value) { m_excludeBusinessChainsHasBeenSet = true; m_excludeBusinessChains.push_back(value); return *this; } + inline SearchNearbyFilter& AddExcludeBusinessChains(Aws::String&& value) { m_excludeBusinessChainsHasBeenSet = true; m_excludeBusinessChains.push_back(std::move(value)); return *this; } + inline SearchNearbyFilter& AddExcludeBusinessChains(const char* value) { m_excludeBusinessChainsHasBeenSet = true; m_excludeBusinessChains.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Food types that results are included from.

                + */ + inline const Aws::Vector& GetIncludeFoodTypes() const{ return m_includeFoodTypes; } + inline bool IncludeFoodTypesHasBeenSet() const { return m_includeFoodTypesHasBeenSet; } + inline void SetIncludeFoodTypes(const Aws::Vector& value) { m_includeFoodTypesHasBeenSet = true; m_includeFoodTypes = value; } + inline void SetIncludeFoodTypes(Aws::Vector&& value) { m_includeFoodTypesHasBeenSet = true; m_includeFoodTypes = std::move(value); } + inline SearchNearbyFilter& WithIncludeFoodTypes(const Aws::Vector& value) { SetIncludeFoodTypes(value); return *this;} + inline SearchNearbyFilter& WithIncludeFoodTypes(Aws::Vector&& value) { SetIncludeFoodTypes(std::move(value)); return *this;} + inline SearchNearbyFilter& AddIncludeFoodTypes(const Aws::String& value) { m_includeFoodTypesHasBeenSet = true; m_includeFoodTypes.push_back(value); return *this; } + inline SearchNearbyFilter& AddIncludeFoodTypes(Aws::String&& value) { m_includeFoodTypesHasBeenSet = true; m_includeFoodTypes.push_back(std::move(value)); return *this; } + inline SearchNearbyFilter& AddIncludeFoodTypes(const char* value) { m_includeFoodTypesHasBeenSet = true; m_includeFoodTypes.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Food types that results are excluded from.

                + */ + inline const Aws::Vector& GetExcludeFoodTypes() const{ return m_excludeFoodTypes; } + inline bool ExcludeFoodTypesHasBeenSet() const { return m_excludeFoodTypesHasBeenSet; } + inline void SetExcludeFoodTypes(const Aws::Vector& value) { m_excludeFoodTypesHasBeenSet = true; m_excludeFoodTypes = value; } + inline void SetExcludeFoodTypes(Aws::Vector&& value) { m_excludeFoodTypesHasBeenSet = true; m_excludeFoodTypes = std::move(value); } + inline SearchNearbyFilter& WithExcludeFoodTypes(const Aws::Vector& value) { SetExcludeFoodTypes(value); return *this;} + inline SearchNearbyFilter& WithExcludeFoodTypes(Aws::Vector&& value) { SetExcludeFoodTypes(std::move(value)); return *this;} + inline SearchNearbyFilter& AddExcludeFoodTypes(const Aws::String& value) { m_excludeFoodTypesHasBeenSet = true; m_excludeFoodTypes.push_back(value); return *this; } + inline SearchNearbyFilter& AddExcludeFoodTypes(Aws::String&& value) { m_excludeFoodTypesHasBeenSet = true; m_excludeFoodTypes.push_back(std::move(value)); return *this; } + inline SearchNearbyFilter& AddExcludeFoodTypes(const char* value) { m_excludeFoodTypesHasBeenSet = true; m_excludeFoodTypes.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_boundingBox; + bool m_boundingBoxHasBeenSet = false; + + Aws::Vector m_includeCountries; + bool m_includeCountriesHasBeenSet = false; + + Aws::Vector m_includeCategories; + bool m_includeCategoriesHasBeenSet = false; + + Aws::Vector m_excludeCategories; + bool m_excludeCategoriesHasBeenSet = false; + + Aws::Vector m_includeBusinessChains; + bool m_includeBusinessChainsHasBeenSet = false; + + Aws::Vector m_excludeBusinessChains; + bool m_excludeBusinessChainsHasBeenSet = false; + + Aws::Vector m_includeFoodTypes; + bool m_includeFoodTypesHasBeenSet = false; + + Aws::Vector m_excludeFoodTypes; + bool m_excludeFoodTypesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyIntendedUse.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyIntendedUse.h new file mode 100644 index 00000000000..9c0c96717ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyIntendedUse.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class SearchNearbyIntendedUse + { + NOT_SET, + SingleUse, + Storage + }; + +namespace SearchNearbyIntendedUseMapper +{ +AWS_GEOPLACES_API SearchNearbyIntendedUse GetSearchNearbyIntendedUseForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForSearchNearbyIntendedUse(SearchNearbyIntendedUse value); +} // namespace SearchNearbyIntendedUseMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyRequest.h new file mode 100644 index 00000000000..66ce781642c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyRequest.h @@ -0,0 +1,219 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoPlaces +{ +namespace Model +{ + + /** + */ + class SearchNearbyRequest : public GeoPlacesRequest + { + public: + AWS_GEOPLACES_API SearchNearbyRequest(); + + // 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 "SearchNearby"; } + + AWS_GEOPLACES_API Aws::String SerializePayload() const override; + + AWS_GEOPLACES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                The position, in [lng, lat] for which you are querying nearby + * resultsfor. Results closer to the position will be ranked higher then results + * further away from the position

                + */ + inline const Aws::Vector& GetQueryPosition() const{ return m_queryPosition; } + inline bool QueryPositionHasBeenSet() const { return m_queryPositionHasBeenSet; } + inline void SetQueryPosition(const Aws::Vector& value) { m_queryPositionHasBeenSet = true; m_queryPosition = value; } + inline void SetQueryPosition(Aws::Vector&& value) { m_queryPositionHasBeenSet = true; m_queryPosition = std::move(value); } + inline SearchNearbyRequest& WithQueryPosition(const Aws::Vector& value) { SetQueryPosition(value); return *this;} + inline SearchNearbyRequest& WithQueryPosition(Aws::Vector&& value) { SetQueryPosition(std::move(value)); return *this;} + inline SearchNearbyRequest& AddQueryPosition(double value) { m_queryPositionHasBeenSet = true; m_queryPosition.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The maximum distance in meters from the QueryPosition from which a result + * will be returned.

                + */ + inline long long GetQueryRadius() const{ return m_queryRadius; } + inline bool QueryRadiusHasBeenSet() const { return m_queryRadiusHasBeenSet; } + inline void SetQueryRadius(long long value) { m_queryRadiusHasBeenSet = true; m_queryRadius = value; } + inline SearchNearbyRequest& WithQueryRadius(long long value) { SetQueryRadius(value); return *this;} + ///@} + + ///@{ + /** + *

                An optional limit for the number of results returned in a single call.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline SearchNearbyRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

                A structure which contains a set of inclusion/exclusion properties that + * results must posses in order to be returned as a result.

                + */ + inline const SearchNearbyFilter& GetFilter() const{ return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + inline void SetFilter(const SearchNearbyFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + inline void SetFilter(SearchNearbyFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + inline SearchNearbyRequest& WithFilter(const SearchNearbyFilter& value) { SetFilter(value); return *this;} + inline SearchNearbyRequest& WithFilter(SearchNearbyFilter&& value) { SetFilter(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of optional additional parameters, such as time zone, that can be + * requested for each result.

                + */ + inline const Aws::Vector& GetAdditionalFeatures() const{ return m_additionalFeatures; } + inline bool AdditionalFeaturesHasBeenSet() const { return m_additionalFeaturesHasBeenSet; } + inline void SetAdditionalFeatures(const Aws::Vector& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = value; } + inline void SetAdditionalFeatures(Aws::Vector&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = std::move(value); } + inline SearchNearbyRequest& WithAdditionalFeatures(const Aws::Vector& value) { SetAdditionalFeatures(value); return *this;} + inline SearchNearbyRequest& WithAdditionalFeatures(Aws::Vector&& value) { SetAdditionalFeatures(std::move(value)); return *this;} + inline SearchNearbyRequest& AddAdditionalFeatures(const SearchNearbyAdditionalFeature& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(value); return *this; } + inline SearchNearbyRequest& AddAdditionalFeatures(SearchNearbyAdditionalFeature&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                A list of BCP + * 47 compliant language codes for the results to be rendered in. If there is + * no data for the result in the requested language, data will be returned in the + * default language for the entry.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline SearchNearbyRequest& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline SearchNearbyRequest& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline SearchNearbyRequest& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline SearchNearbyRequest& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline SearchNearbyRequest& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline SearchNearbyRequest& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                Indicates if the results will be stored. Defaults to SingleUse, + * if left empty.

                + */ + inline const SearchNearbyIntendedUse& GetIntendedUse() const{ return m_intendedUse; } + inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } + inline void SetIntendedUse(const SearchNearbyIntendedUse& value) { m_intendedUseHasBeenSet = true; m_intendedUse = value; } + inline void SetIntendedUse(SearchNearbyIntendedUse&& value) { m_intendedUseHasBeenSet = true; m_intendedUse = std::move(value); } + inline SearchNearbyRequest& WithIntendedUse(const SearchNearbyIntendedUse& value) { SetIntendedUse(value); return *this;} + inline SearchNearbyRequest& WithIntendedUse(SearchNearbyIntendedUse&& value) { SetIntendedUse(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                If nextToken is returned, there are more results available. The + * value of nextToken is a unique pagination token for each page.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline SearchNearbyRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline SearchNearbyRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline SearchNearbyRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline SearchNearbyRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline SearchNearbyRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline SearchNearbyRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + private: + + Aws::Vector m_queryPosition; + bool m_queryPositionHasBeenSet = false; + + long long m_queryRadius; + bool m_queryRadiusHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + SearchNearbyFilter m_filter; + bool m_filterHasBeenSet = false; + + Aws::Vector m_additionalFeatures; + bool m_additionalFeaturesHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + SearchNearbyIntendedUse m_intendedUse; + bool m_intendedUseHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResult.h new file mode 100644 index 00000000000..3c9e6e7510e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResult.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + class SearchNearbyResult + { + public: + AWS_GEOPLACES_API SearchNearbyResult(); + AWS_GEOPLACES_API SearchNearbyResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOPLACES_API SearchNearbyResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                For more + * inforamtion on pricing, please visit Amazon Location Service + * Pricing.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline SearchNearbyResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline SearchNearbyResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline SearchNearbyResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                List of places or results returned for a query.

                + */ + inline const Aws::Vector& GetResultItems() const{ return m_resultItems; } + inline void SetResultItems(const Aws::Vector& value) { m_resultItems = value; } + inline void SetResultItems(Aws::Vector&& value) { m_resultItems = std::move(value); } + inline SearchNearbyResult& WithResultItems(const Aws::Vector& value) { SetResultItems(value); return *this;} + inline SearchNearbyResult& WithResultItems(Aws::Vector&& value) { SetResultItems(std::move(value)); return *this;} + inline SearchNearbyResult& AddResultItems(const SearchNearbyResultItem& value) { m_resultItems.push_back(value); return *this; } + inline SearchNearbyResult& AddResultItems(SearchNearbyResultItem&& value) { m_resultItems.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                If nextToken is returned, there are more results available. The + * value of nextToken is a unique pagination token for each page.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline SearchNearbyResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline SearchNearbyResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline SearchNearbyResult& WithNextToken(const char* value) { SetNextToken(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 SearchNearbyResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SearchNearbyResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SearchNearbyResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_pricingBucket; + + Aws::Vector m_resultItems; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResultItem.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResultItem.h new file mode 100644 index 00000000000..a6ac3f77a5a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchNearbyResultItem.h @@ -0,0 +1,352 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The search results of nearby places.

                See Also:

                AWS + * API Reference

                + */ + class SearchNearbyResultItem + { + public: + AWS_GEOPLACES_API SearchNearbyResultItem(); + AWS_GEOPLACES_API SearchNearbyResultItem(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SearchNearbyResultItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The PlaceId of the place you wish to receive the information + * for.

                + */ + inline const Aws::String& GetPlaceId() const{ return m_placeId; } + inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } + inline void SetPlaceId(const Aws::String& value) { m_placeIdHasBeenSet = true; m_placeId = value; } + inline void SetPlaceId(Aws::String&& value) { m_placeIdHasBeenSet = true; m_placeId = std::move(value); } + inline void SetPlaceId(const char* value) { m_placeIdHasBeenSet = true; m_placeId.assign(value); } + inline SearchNearbyResultItem& WithPlaceId(const Aws::String& value) { SetPlaceId(value); return *this;} + inline SearchNearbyResultItem& WithPlaceId(Aws::String&& value) { SetPlaceId(std::move(value)); return *this;} + inline SearchNearbyResultItem& WithPlaceId(const char* value) { SetPlaceId(value); return *this;} + ///@} + + ///@{ + /** + *

                A PlaceType is a category that the result place must belong + * to.

                + */ + inline const PlaceType& GetPlaceType() const{ return m_placeType; } + inline bool PlaceTypeHasBeenSet() const { return m_placeTypeHasBeenSet; } + inline void SetPlaceType(const PlaceType& value) { m_placeTypeHasBeenSet = true; m_placeType = value; } + inline void SetPlaceType(PlaceType&& value) { m_placeTypeHasBeenSet = true; m_placeType = std::move(value); } + inline SearchNearbyResultItem& WithPlaceType(const PlaceType& value) { SetPlaceType(value); return *this;} + inline SearchNearbyResultItem& WithPlaceType(PlaceType&& value) { SetPlaceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The item's title.

                + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline SearchNearbyResultItem& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline SearchNearbyResultItem& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline SearchNearbyResultItem& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

                The place's address.

                + */ + inline const Address& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const Address& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(Address&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline SearchNearbyResultItem& WithAddress(const Address& value) { SetAddress(value); return *this;} + inline SearchNearbyResultItem& WithAddress(Address&& value) { SetAddress(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Boolean indicating if the address provided has been corrected.

                + */ + inline bool GetAddressNumberCorrected() const{ return m_addressNumberCorrected; } + inline bool AddressNumberCorrectedHasBeenSet() const { return m_addressNumberCorrectedHasBeenSet; } + inline void SetAddressNumberCorrected(bool value) { m_addressNumberCorrectedHasBeenSet = true; m_addressNumberCorrected = value; } + inline SearchNearbyResultItem& WithAddressNumberCorrected(bool value) { SetAddressNumberCorrected(value); return *this;} + ///@} + + ///@{ + /** + *

                The position in longitude and latitude.

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline SearchNearbyResultItem& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline SearchNearbyResultItem& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline SearchNearbyResultItem& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The distance in meters from the QueryPosition.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline SearchNearbyResultItem& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                The bounding box formed is defined as a set 4 + * coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern + * lat}]

                + */ + inline const Aws::Vector& GetMapView() const{ return m_mapView; } + inline bool MapViewHasBeenSet() const { return m_mapViewHasBeenSet; } + inline void SetMapView(const Aws::Vector& value) { m_mapViewHasBeenSet = true; m_mapView = value; } + inline void SetMapView(Aws::Vector&& value) { m_mapViewHasBeenSet = true; m_mapView = std::move(value); } + inline SearchNearbyResultItem& WithMapView(const Aws::Vector& value) { SetMapView(value); return *this;} + inline SearchNearbyResultItem& WithMapView(Aws::Vector&& value) { SetMapView(std::move(value)); return *this;} + inline SearchNearbyResultItem& AddMapView(double value) { m_mapViewHasBeenSet = true; m_mapView.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Categories of results that results must belong to.

                + */ + inline const Aws::Vector& GetCategories() const{ return m_categories; } + inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } + inline void SetCategories(const Aws::Vector& value) { m_categoriesHasBeenSet = true; m_categories = value; } + inline void SetCategories(Aws::Vector&& value) { m_categoriesHasBeenSet = true; m_categories = std::move(value); } + inline SearchNearbyResultItem& WithCategories(const Aws::Vector& value) { SetCategories(value); return *this;} + inline SearchNearbyResultItem& WithCategories(Aws::Vector&& value) { SetCategories(std::move(value)); return *this;} + inline SearchNearbyResultItem& AddCategories(const Category& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } + inline SearchNearbyResultItem& AddCategories(Category&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of food types offered by this result.

                + */ + inline const Aws::Vector& GetFoodTypes() const{ return m_foodTypes; } + inline bool FoodTypesHasBeenSet() const { return m_foodTypesHasBeenSet; } + inline void SetFoodTypes(const Aws::Vector& value) { m_foodTypesHasBeenSet = true; m_foodTypes = value; } + inline void SetFoodTypes(Aws::Vector&& value) { m_foodTypesHasBeenSet = true; m_foodTypes = std::move(value); } + inline SearchNearbyResultItem& WithFoodTypes(const Aws::Vector& value) { SetFoodTypes(value); return *this;} + inline SearchNearbyResultItem& WithFoodTypes(Aws::Vector&& value) { SetFoodTypes(std::move(value)); return *this;} + inline SearchNearbyResultItem& AddFoodTypes(const FoodType& value) { m_foodTypesHasBeenSet = true; m_foodTypes.push_back(value); return *this; } + inline SearchNearbyResultItem& AddFoodTypes(FoodType&& value) { m_foodTypesHasBeenSet = true; m_foodTypes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The Business Chains associated with the place.

                + */ + inline const Aws::Vector& GetBusinessChains() const{ return m_businessChains; } + inline bool BusinessChainsHasBeenSet() const { return m_businessChainsHasBeenSet; } + inline void SetBusinessChains(const Aws::Vector& value) { m_businessChainsHasBeenSet = true; m_businessChains = value; } + inline void SetBusinessChains(Aws::Vector&& value) { m_businessChainsHasBeenSet = true; m_businessChains = std::move(value); } + inline SearchNearbyResultItem& WithBusinessChains(const Aws::Vector& value) { SetBusinessChains(value); return *this;} + inline SearchNearbyResultItem& WithBusinessChains(Aws::Vector&& value) { SetBusinessChains(std::move(value)); return *this;} + inline SearchNearbyResultItem& AddBusinessChains(const BusinessChain& value) { m_businessChainsHasBeenSet = true; m_businessChains.push_back(value); return *this; } + inline SearchNearbyResultItem& AddBusinessChains(BusinessChain&& value) { m_businessChainsHasBeenSet = true; m_businessChains.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of potential contact methods for the result/place.

                + */ + inline const Contacts& GetContacts() const{ return m_contacts; } + inline bool ContactsHasBeenSet() const { return m_contactsHasBeenSet; } + inline void SetContacts(const Contacts& value) { m_contactsHasBeenSet = true; m_contacts = value; } + inline void SetContacts(Contacts&& value) { m_contactsHasBeenSet = true; m_contacts = std::move(value); } + inline SearchNearbyResultItem& WithContacts(const Contacts& value) { SetContacts(value); return *this;} + inline SearchNearbyResultItem& WithContacts(Contacts&& value) { SetContacts(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                List of opening hours objects.

                + */ + inline const Aws::Vector& GetOpeningHours() const{ return m_openingHours; } + inline bool OpeningHoursHasBeenSet() const { return m_openingHoursHasBeenSet; } + inline void SetOpeningHours(const Aws::Vector& value) { m_openingHoursHasBeenSet = true; m_openingHours = value; } + inline void SetOpeningHours(Aws::Vector&& value) { m_openingHoursHasBeenSet = true; m_openingHours = std::move(value); } + inline SearchNearbyResultItem& WithOpeningHours(const Aws::Vector& value) { SetOpeningHours(value); return *this;} + inline SearchNearbyResultItem& WithOpeningHours(Aws::Vector&& value) { SetOpeningHours(std::move(value)); return *this;} + inline SearchNearbyResultItem& AddOpeningHours(const OpeningHours& value) { m_openingHoursHasBeenSet = true; m_openingHours.push_back(value); return *this; } + inline SearchNearbyResultItem& AddOpeningHours(OpeningHours&& value) { m_openingHoursHasBeenSet = true; m_openingHours.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Position of the access point represent by longitude and latitude.

                + */ + inline const Aws::Vector& GetAccessPoints() const{ return m_accessPoints; } + inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } + inline void SetAccessPoints(const Aws::Vector& value) { m_accessPointsHasBeenSet = true; m_accessPoints = value; } + inline void SetAccessPoints(Aws::Vector&& value) { m_accessPointsHasBeenSet = true; m_accessPoints = std::move(value); } + inline SearchNearbyResultItem& WithAccessPoints(const Aws::Vector& value) { SetAccessPoints(value); return *this;} + inline SearchNearbyResultItem& WithAccessPoints(Aws::Vector&& value) { SetAccessPoints(std::move(value)); return *this;} + inline SearchNearbyResultItem& AddAccessPoints(const AccessPoint& value) { m_accessPointsHasBeenSet = true; m_accessPoints.push_back(value); return *this; } + inline SearchNearbyResultItem& AddAccessPoints(AccessPoint&& value) { m_accessPointsHasBeenSet = true; m_accessPoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Indicates known access restrictions on a vehicle access point. The index + * correlates to an access point and indicates if access through this point has + * some form of restriction.

                + */ + inline const Aws::Vector& GetAccessRestrictions() const{ return m_accessRestrictions; } + inline bool AccessRestrictionsHasBeenSet() const { return m_accessRestrictionsHasBeenSet; } + inline void SetAccessRestrictions(const Aws::Vector& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions = value; } + inline void SetAccessRestrictions(Aws::Vector&& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions = std::move(value); } + inline SearchNearbyResultItem& WithAccessRestrictions(const Aws::Vector& value) { SetAccessRestrictions(value); return *this;} + inline SearchNearbyResultItem& WithAccessRestrictions(Aws::Vector&& value) { SetAccessRestrictions(std::move(value)); return *this;} + inline SearchNearbyResultItem& AddAccessRestrictions(const AccessRestriction& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions.push_back(value); return *this; } + inline SearchNearbyResultItem& AddAccessRestrictions(AccessRestriction&& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The time zone in which the place is located.

                + */ + inline const TimeZone& GetTimeZone() const{ return m_timeZone; } + inline bool TimeZoneHasBeenSet() const { return m_timeZoneHasBeenSet; } + inline void SetTimeZone(const TimeZone& value) { m_timeZoneHasBeenSet = true; m_timeZone = value; } + inline void SetTimeZone(TimeZone&& value) { m_timeZoneHasBeenSet = true; m_timeZone = std::move(value); } + inline SearchNearbyResultItem& WithTimeZone(const TimeZone& value) { SetTimeZone(value); return *this;} + inline SearchNearbyResultItem& WithTimeZone(TimeZone&& value) { SetTimeZone(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline SearchNearbyResultItem& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline SearchNearbyResultItem& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline SearchNearbyResultItem& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                How the various components of the result's address are pronounced in various + * languages.

                + */ + inline const PhonemeDetails& GetPhonemes() const{ return m_phonemes; } + inline bool PhonemesHasBeenSet() const { return m_phonemesHasBeenSet; } + inline void SetPhonemes(const PhonemeDetails& value) { m_phonemesHasBeenSet = true; m_phonemes = value; } + inline void SetPhonemes(PhonemeDetails&& value) { m_phonemesHasBeenSet = true; m_phonemes = std::move(value); } + inline SearchNearbyResultItem& WithPhonemes(const PhonemeDetails& value) { SetPhonemes(value); return *this;} + inline SearchNearbyResultItem& WithPhonemes(PhonemeDetails&& value) { SetPhonemes(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_placeId; + bool m_placeIdHasBeenSet = false; + + PlaceType m_placeType; + bool m_placeTypeHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Address m_address; + bool m_addressHasBeenSet = false; + + bool m_addressNumberCorrected; + bool m_addressNumberCorrectedHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + Aws::Vector m_mapView; + bool m_mapViewHasBeenSet = false; + + Aws::Vector m_categories; + bool m_categoriesHasBeenSet = false; + + Aws::Vector m_foodTypes; + bool m_foodTypesHasBeenSet = false; + + Aws::Vector m_businessChains; + bool m_businessChainsHasBeenSet = false; + + Contacts m_contacts; + bool m_contactsHasBeenSet = false; + + Aws::Vector m_openingHours; + bool m_openingHoursHasBeenSet = false; + + Aws::Vector m_accessPoints; + bool m_accessPointsHasBeenSet = false; + + Aws::Vector m_accessRestrictions; + bool m_accessRestrictionsHasBeenSet = false; + + TimeZone m_timeZone; + bool m_timeZoneHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + PhonemeDetails m_phonemes; + bool m_phonemesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextAdditionalFeature.h new file mode 100644 index 00000000000..a69b04f4c3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextAdditionalFeature.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class SearchTextAdditionalFeature + { + NOT_SET, + TimeZone, + Phonemes, + Access, + Contact + }; + +namespace SearchTextAdditionalFeatureMapper +{ +AWS_GEOPLACES_API SearchTextAdditionalFeature GetSearchTextAdditionalFeatureForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForSearchTextAdditionalFeature(SearchTextAdditionalFeature value); +} // namespace SearchTextAdditionalFeatureMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextFilter.h new file mode 100644 index 00000000000..a7134efce38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextFilter.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                SearchText structure which contains a set of inclusion/exclusion properties + * that results must posses in order to be returned as a result.

                See + * Also:

                AWS + * API Reference

                + */ + class SearchTextFilter + { + public: + AWS_GEOPLACES_API SearchTextFilter(); + AWS_GEOPLACES_API SearchTextFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SearchTextFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                The bounding box formed is defined as a set 4 + * coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern + * lat}]

                + */ + inline const Aws::Vector& GetBoundingBox() const{ return m_boundingBox; } + inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } + inline void SetBoundingBox(const Aws::Vector& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } + inline void SetBoundingBox(Aws::Vector&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } + inline SearchTextFilter& WithBoundingBox(const Aws::Vector& value) { SetBoundingBox(value); return *this;} + inline SearchTextFilter& WithBoundingBox(Aws::Vector&& value) { SetBoundingBox(std::move(value)); return *this;} + inline SearchTextFilter& AddBoundingBox(double value) { m_boundingBoxHasBeenSet = true; m_boundingBox.push_back(value); return *this; } + ///@} + + ///@{ + + inline const FilterCircle& GetCircle() const{ return m_circle; } + inline bool CircleHasBeenSet() const { return m_circleHasBeenSet; } + inline void SetCircle(const FilterCircle& value) { m_circleHasBeenSet = true; m_circle = value; } + inline void SetCircle(FilterCircle&& value) { m_circleHasBeenSet = true; m_circle = std::move(value); } + inline SearchTextFilter& WithCircle(const FilterCircle& value) { SetCircle(value); return *this;} + inline SearchTextFilter& WithCircle(FilterCircle&& value) { SetCircle(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of countries that all results must be in. Countries are represented + * by either their alpha-2 or alpha-3 character codes.

                + */ + inline const Aws::Vector& GetIncludeCountries() const{ return m_includeCountries; } + inline bool IncludeCountriesHasBeenSet() const { return m_includeCountriesHasBeenSet; } + inline void SetIncludeCountries(const Aws::Vector& value) { m_includeCountriesHasBeenSet = true; m_includeCountries = value; } + inline void SetIncludeCountries(Aws::Vector&& value) { m_includeCountriesHasBeenSet = true; m_includeCountries = std::move(value); } + inline SearchTextFilter& WithIncludeCountries(const Aws::Vector& value) { SetIncludeCountries(value); return *this;} + inline SearchTextFilter& WithIncludeCountries(Aws::Vector&& value) { SetIncludeCountries(std::move(value)); return *this;} + inline SearchTextFilter& AddIncludeCountries(const Aws::String& value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(value); return *this; } + inline SearchTextFilter& AddIncludeCountries(Aws::String&& value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(std::move(value)); return *this; } + inline SearchTextFilter& AddIncludeCountries(const char* value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_boundingBox; + bool m_boundingBoxHasBeenSet = false; + + FilterCircle m_circle; + bool m_circleHasBeenSet = false; + + Aws::Vector m_includeCountries; + bool m_includeCountriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextIntendedUse.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextIntendedUse.h new file mode 100644 index 00000000000..ee9bcfa2d3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextIntendedUse.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class SearchTextIntendedUse + { + NOT_SET, + SingleUse, + Storage + }; + +namespace SearchTextIntendedUseMapper +{ +AWS_GEOPLACES_API SearchTextIntendedUse GetSearchTextIntendedUseForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForSearchTextIntendedUse(SearchTextIntendedUse value); +} // namespace SearchTextIntendedUseMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextRequest.h new file mode 100644 index 00000000000..c245afccaac --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextRequest.h @@ -0,0 +1,242 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoPlaces +{ +namespace Model +{ + + /** + */ + class SearchTextRequest : public GeoPlacesRequest + { + public: + AWS_GEOPLACES_API SearchTextRequest(); + + // 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 "SearchText"; } + + AWS_GEOPLACES_API Aws::String SerializePayload() const override; + + AWS_GEOPLACES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                The free-form text query to match addresses against. This is usually a + * partially typed address from an end user in an address box or form.

                + */ + inline const Aws::String& GetQueryText() const{ return m_queryText; } + inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } + inline void SetQueryText(const Aws::String& value) { m_queryTextHasBeenSet = true; m_queryText = value; } + inline void SetQueryText(Aws::String&& value) { m_queryTextHasBeenSet = true; m_queryText = std::move(value); } + inline void SetQueryText(const char* value) { m_queryTextHasBeenSet = true; m_queryText.assign(value); } + inline SearchTextRequest& WithQueryText(const Aws::String& value) { SetQueryText(value); return *this;} + inline SearchTextRequest& WithQueryText(Aws::String&& value) { SetQueryText(std::move(value)); return *this;} + inline SearchTextRequest& WithQueryText(const char* value) { SetQueryText(value); return *this;} + ///@} + + ///@{ + /** + *

                The query Id.

                + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } + inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); } + inline SearchTextRequest& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline SearchTextRequest& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline SearchTextRequest& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + + ///@{ + /** + *

                An optional limit for the number of results returned in a single call.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline SearchTextRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

                The position, in longitude and latitude, that the results should be close to. + * Typically, place results returned are ranked higher the closer they are to this + * position. Stored in [lng, lat] and in the WSG84 format.

                + *

                The fields BiasPosition, FilterBoundingBox, and + * FilterCircle are mutually exclusive.

                + */ + inline const Aws::Vector& GetBiasPosition() const{ return m_biasPosition; } + inline bool BiasPositionHasBeenSet() const { return m_biasPositionHasBeenSet; } + inline void SetBiasPosition(const Aws::Vector& value) { m_biasPositionHasBeenSet = true; m_biasPosition = value; } + inline void SetBiasPosition(Aws::Vector&& value) { m_biasPositionHasBeenSet = true; m_biasPosition = std::move(value); } + inline SearchTextRequest& WithBiasPosition(const Aws::Vector& value) { SetBiasPosition(value); return *this;} + inline SearchTextRequest& WithBiasPosition(Aws::Vector&& value) { SetBiasPosition(std::move(value)); return *this;} + inline SearchTextRequest& AddBiasPosition(double value) { m_biasPositionHasBeenSet = true; m_biasPosition.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                A structure which contains a set of inclusion/exclusion properties that + * results must posses in order to be returned as a result.

                + */ + inline const SearchTextFilter& GetFilter() const{ return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + inline void SetFilter(const SearchTextFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + inline void SetFilter(SearchTextFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + inline SearchTextRequest& WithFilter(const SearchTextFilter& value) { SetFilter(value); return *this;} + inline SearchTextRequest& WithFilter(SearchTextFilter&& value) { SetFilter(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of optional additional parameters, such as time zone, that can be + * requested for each result.

                + */ + inline const Aws::Vector& GetAdditionalFeatures() const{ return m_additionalFeatures; } + inline bool AdditionalFeaturesHasBeenSet() const { return m_additionalFeaturesHasBeenSet; } + inline void SetAdditionalFeatures(const Aws::Vector& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = value; } + inline void SetAdditionalFeatures(Aws::Vector&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = std::move(value); } + inline SearchTextRequest& WithAdditionalFeatures(const Aws::Vector& value) { SetAdditionalFeatures(value); return *this;} + inline SearchTextRequest& WithAdditionalFeatures(Aws::Vector&& value) { SetAdditionalFeatures(std::move(value)); return *this;} + inline SearchTextRequest& AddAdditionalFeatures(const SearchTextAdditionalFeature& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(value); return *this; } + inline SearchTextRequest& AddAdditionalFeatures(SearchTextAdditionalFeature&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                A list of BCP + * 47 compliant language codes for the results to be rendered in. If there is + * no data for the result in the requested language, data will be returned in the + * default language for the entry.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline SearchTextRequest& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline SearchTextRequest& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline SearchTextRequest& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline SearchTextRequest& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline SearchTextRequest& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline SearchTextRequest& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                Indicates if the results will be stored. Defaults to SingleUse, + * if left empty.

                + */ + inline const SearchTextIntendedUse& GetIntendedUse() const{ return m_intendedUse; } + inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } + inline void SetIntendedUse(const SearchTextIntendedUse& value) { m_intendedUseHasBeenSet = true; m_intendedUse = value; } + inline void SetIntendedUse(SearchTextIntendedUse&& value) { m_intendedUseHasBeenSet = true; m_intendedUse = std::move(value); } + inline SearchTextRequest& WithIntendedUse(const SearchTextIntendedUse& value) { SetIntendedUse(value); return *this;} + inline SearchTextRequest& WithIntendedUse(SearchTextIntendedUse&& value) { SetIntendedUse(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                If nextToken is returned, there are more results available. The + * value of nextToken is a unique pagination token for each page.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline SearchTextRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline SearchTextRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline SearchTextRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline SearchTextRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline SearchTextRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline SearchTextRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + private: + + Aws::String m_queryText; + bool m_queryTextHasBeenSet = false; + + Aws::String m_queryId; + bool m_queryIdHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::Vector m_biasPosition; + bool m_biasPositionHasBeenSet = false; + + SearchTextFilter m_filter; + bool m_filterHasBeenSet = false; + + Aws::Vector m_additionalFeatures; + bool m_additionalFeaturesHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + SearchTextIntendedUse m_intendedUse; + bool m_intendedUseHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResult.h new file mode 100644 index 00000000000..650f5928398 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResult.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + class SearchTextResult + { + public: + AWS_GEOPLACES_API SearchTextResult(); + AWS_GEOPLACES_API SearchTextResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOPLACES_API SearchTextResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                For more + * inforamtion on pricing, please visit Amazon Location Service + * Pricing.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline SearchTextResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline SearchTextResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline SearchTextResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                List of places or results returned for a query.

                + */ + inline const Aws::Vector& GetResultItems() const{ return m_resultItems; } + inline void SetResultItems(const Aws::Vector& value) { m_resultItems = value; } + inline void SetResultItems(Aws::Vector&& value) { m_resultItems = std::move(value); } + inline SearchTextResult& WithResultItems(const Aws::Vector& value) { SetResultItems(value); return *this;} + inline SearchTextResult& WithResultItems(Aws::Vector&& value) { SetResultItems(std::move(value)); return *this;} + inline SearchTextResult& AddResultItems(const SearchTextResultItem& value) { m_resultItems.push_back(value); return *this; } + inline SearchTextResult& AddResultItems(SearchTextResultItem&& value) { m_resultItems.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                If nextToken is returned, there are more results available. The + * value of nextToken is a unique pagination token for each page.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline SearchTextResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline SearchTextResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline SearchTextResult& WithNextToken(const char* value) { SetNextToken(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 SearchTextResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SearchTextResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SearchTextResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_pricingBucket; + + Aws::Vector m_resultItems; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResultItem.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResultItem.h new file mode 100644 index 00000000000..bf2268834c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SearchTextResultItem.h @@ -0,0 +1,352 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The text search result.

                See Also:

                AWS + * API Reference

                + */ + class SearchTextResultItem + { + public: + AWS_GEOPLACES_API SearchTextResultItem(); + AWS_GEOPLACES_API SearchTextResultItem(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SearchTextResultItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The PlaceId of the place you wish to receive the information + * for.

                + */ + inline const Aws::String& GetPlaceId() const{ return m_placeId; } + inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } + inline void SetPlaceId(const Aws::String& value) { m_placeIdHasBeenSet = true; m_placeId = value; } + inline void SetPlaceId(Aws::String&& value) { m_placeIdHasBeenSet = true; m_placeId = std::move(value); } + inline void SetPlaceId(const char* value) { m_placeIdHasBeenSet = true; m_placeId.assign(value); } + inline SearchTextResultItem& WithPlaceId(const Aws::String& value) { SetPlaceId(value); return *this;} + inline SearchTextResultItem& WithPlaceId(Aws::String&& value) { SetPlaceId(std::move(value)); return *this;} + inline SearchTextResultItem& WithPlaceId(const char* value) { SetPlaceId(value); return *this;} + ///@} + + ///@{ + /** + *

                A PlaceType is a category that the result place must belong + * to.

                + */ + inline const PlaceType& GetPlaceType() const{ return m_placeType; } + inline bool PlaceTypeHasBeenSet() const { return m_placeTypeHasBeenSet; } + inline void SetPlaceType(const PlaceType& value) { m_placeTypeHasBeenSet = true; m_placeType = value; } + inline void SetPlaceType(PlaceType&& value) { m_placeTypeHasBeenSet = true; m_placeType = std::move(value); } + inline SearchTextResultItem& WithPlaceType(const PlaceType& value) { SetPlaceType(value); return *this;} + inline SearchTextResultItem& WithPlaceType(PlaceType&& value) { SetPlaceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The item's title.

                + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline SearchTextResultItem& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline SearchTextResultItem& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline SearchTextResultItem& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

                The place's address.

                + */ + inline const Address& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const Address& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(Address&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline SearchTextResultItem& WithAddress(const Address& value) { SetAddress(value); return *this;} + inline SearchTextResultItem& WithAddress(Address&& value) { SetAddress(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Boolean indicating if the address provided has been corrected.

                + */ + inline bool GetAddressNumberCorrected() const{ return m_addressNumberCorrected; } + inline bool AddressNumberCorrectedHasBeenSet() const { return m_addressNumberCorrectedHasBeenSet; } + inline void SetAddressNumberCorrected(bool value) { m_addressNumberCorrectedHasBeenSet = true; m_addressNumberCorrected = value; } + inline SearchTextResultItem& WithAddressNumberCorrected(bool value) { SetAddressNumberCorrected(value); return *this;} + ///@} + + ///@{ + /** + *

                The position, in longitude and latitude.

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline SearchTextResultItem& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline SearchTextResultItem& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline SearchTextResultItem& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The distance in meters from the QueryPosition.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline SearchTextResultItem& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                The bounding box formed is defined as a set 4 + * coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern + * lat}]

                + */ + inline const Aws::Vector& GetMapView() const{ return m_mapView; } + inline bool MapViewHasBeenSet() const { return m_mapViewHasBeenSet; } + inline void SetMapView(const Aws::Vector& value) { m_mapViewHasBeenSet = true; m_mapView = value; } + inline void SetMapView(Aws::Vector&& value) { m_mapViewHasBeenSet = true; m_mapView = std::move(value); } + inline SearchTextResultItem& WithMapView(const Aws::Vector& value) { SetMapView(value); return *this;} + inline SearchTextResultItem& WithMapView(Aws::Vector&& value) { SetMapView(std::move(value)); return *this;} + inline SearchTextResultItem& AddMapView(double value) { m_mapViewHasBeenSet = true; m_mapView.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Categories of results that results must belong to.

                + */ + inline const Aws::Vector& GetCategories() const{ return m_categories; } + inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } + inline void SetCategories(const Aws::Vector& value) { m_categoriesHasBeenSet = true; m_categories = value; } + inline void SetCategories(Aws::Vector&& value) { m_categoriesHasBeenSet = true; m_categories = std::move(value); } + inline SearchTextResultItem& WithCategories(const Aws::Vector& value) { SetCategories(value); return *this;} + inline SearchTextResultItem& WithCategories(Aws::Vector&& value) { SetCategories(std::move(value)); return *this;} + inline SearchTextResultItem& AddCategories(const Category& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } + inline SearchTextResultItem& AddCategories(Category&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of food types offered by this result.

                + */ + inline const Aws::Vector& GetFoodTypes() const{ return m_foodTypes; } + inline bool FoodTypesHasBeenSet() const { return m_foodTypesHasBeenSet; } + inline void SetFoodTypes(const Aws::Vector& value) { m_foodTypesHasBeenSet = true; m_foodTypes = value; } + inline void SetFoodTypes(Aws::Vector&& value) { m_foodTypesHasBeenSet = true; m_foodTypes = std::move(value); } + inline SearchTextResultItem& WithFoodTypes(const Aws::Vector& value) { SetFoodTypes(value); return *this;} + inline SearchTextResultItem& WithFoodTypes(Aws::Vector&& value) { SetFoodTypes(std::move(value)); return *this;} + inline SearchTextResultItem& AddFoodTypes(const FoodType& value) { m_foodTypesHasBeenSet = true; m_foodTypes.push_back(value); return *this; } + inline SearchTextResultItem& AddFoodTypes(FoodType&& value) { m_foodTypesHasBeenSet = true; m_foodTypes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The Business Chains associated with the place.

                + */ + inline const Aws::Vector& GetBusinessChains() const{ return m_businessChains; } + inline bool BusinessChainsHasBeenSet() const { return m_businessChainsHasBeenSet; } + inline void SetBusinessChains(const Aws::Vector& value) { m_businessChainsHasBeenSet = true; m_businessChains = value; } + inline void SetBusinessChains(Aws::Vector&& value) { m_businessChainsHasBeenSet = true; m_businessChains = std::move(value); } + inline SearchTextResultItem& WithBusinessChains(const Aws::Vector& value) { SetBusinessChains(value); return *this;} + inline SearchTextResultItem& WithBusinessChains(Aws::Vector&& value) { SetBusinessChains(std::move(value)); return *this;} + inline SearchTextResultItem& AddBusinessChains(const BusinessChain& value) { m_businessChainsHasBeenSet = true; m_businessChains.push_back(value); return *this; } + inline SearchTextResultItem& AddBusinessChains(BusinessChain&& value) { m_businessChainsHasBeenSet = true; m_businessChains.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of potential contact methods for the result/place.

                + */ + inline const Contacts& GetContacts() const{ return m_contacts; } + inline bool ContactsHasBeenSet() const { return m_contactsHasBeenSet; } + inline void SetContacts(const Contacts& value) { m_contactsHasBeenSet = true; m_contacts = value; } + inline void SetContacts(Contacts&& value) { m_contactsHasBeenSet = true; m_contacts = std::move(value); } + inline SearchTextResultItem& WithContacts(const Contacts& value) { SetContacts(value); return *this;} + inline SearchTextResultItem& WithContacts(Contacts&& value) { SetContacts(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                List of opening hours objects.

                + */ + inline const Aws::Vector& GetOpeningHours() const{ return m_openingHours; } + inline bool OpeningHoursHasBeenSet() const { return m_openingHoursHasBeenSet; } + inline void SetOpeningHours(const Aws::Vector& value) { m_openingHoursHasBeenSet = true; m_openingHours = value; } + inline void SetOpeningHours(Aws::Vector&& value) { m_openingHoursHasBeenSet = true; m_openingHours = std::move(value); } + inline SearchTextResultItem& WithOpeningHours(const Aws::Vector& value) { SetOpeningHours(value); return *this;} + inline SearchTextResultItem& WithOpeningHours(Aws::Vector&& value) { SetOpeningHours(std::move(value)); return *this;} + inline SearchTextResultItem& AddOpeningHours(const OpeningHours& value) { m_openingHoursHasBeenSet = true; m_openingHours.push_back(value); return *this; } + inline SearchTextResultItem& AddOpeningHours(OpeningHours&& value) { m_openingHoursHasBeenSet = true; m_openingHours.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Position of the access point represent by longitude and latitude.

                + */ + inline const Aws::Vector& GetAccessPoints() const{ return m_accessPoints; } + inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } + inline void SetAccessPoints(const Aws::Vector& value) { m_accessPointsHasBeenSet = true; m_accessPoints = value; } + inline void SetAccessPoints(Aws::Vector&& value) { m_accessPointsHasBeenSet = true; m_accessPoints = std::move(value); } + inline SearchTextResultItem& WithAccessPoints(const Aws::Vector& value) { SetAccessPoints(value); return *this;} + inline SearchTextResultItem& WithAccessPoints(Aws::Vector&& value) { SetAccessPoints(std::move(value)); return *this;} + inline SearchTextResultItem& AddAccessPoints(const AccessPoint& value) { m_accessPointsHasBeenSet = true; m_accessPoints.push_back(value); return *this; } + inline SearchTextResultItem& AddAccessPoints(AccessPoint&& value) { m_accessPointsHasBeenSet = true; m_accessPoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Indicates known access restrictions on a vehicle access point. The index + * correlates to an access point and indicates if access through this point has + * some form of restriction.

                + */ + inline const Aws::Vector& GetAccessRestrictions() const{ return m_accessRestrictions; } + inline bool AccessRestrictionsHasBeenSet() const { return m_accessRestrictionsHasBeenSet; } + inline void SetAccessRestrictions(const Aws::Vector& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions = value; } + inline void SetAccessRestrictions(Aws::Vector&& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions = std::move(value); } + inline SearchTextResultItem& WithAccessRestrictions(const Aws::Vector& value) { SetAccessRestrictions(value); return *this;} + inline SearchTextResultItem& WithAccessRestrictions(Aws::Vector&& value) { SetAccessRestrictions(std::move(value)); return *this;} + inline SearchTextResultItem& AddAccessRestrictions(const AccessRestriction& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions.push_back(value); return *this; } + inline SearchTextResultItem& AddAccessRestrictions(AccessRestriction&& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The time zone in which the place is located.

                + */ + inline const TimeZone& GetTimeZone() const{ return m_timeZone; } + inline bool TimeZoneHasBeenSet() const { return m_timeZoneHasBeenSet; } + inline void SetTimeZone(const TimeZone& value) { m_timeZoneHasBeenSet = true; m_timeZone = value; } + inline void SetTimeZone(TimeZone&& value) { m_timeZoneHasBeenSet = true; m_timeZone = std::move(value); } + inline SearchTextResultItem& WithTimeZone(const TimeZone& value) { SetTimeZone(value); return *this;} + inline SearchTextResultItem& WithTimeZone(TimeZone&& value) { SetTimeZone(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline SearchTextResultItem& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline SearchTextResultItem& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline SearchTextResultItem& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                How the various components of the result's address are pronounced in various + * languages.

                + */ + inline const PhonemeDetails& GetPhonemes() const{ return m_phonemes; } + inline bool PhonemesHasBeenSet() const { return m_phonemesHasBeenSet; } + inline void SetPhonemes(const PhonemeDetails& value) { m_phonemesHasBeenSet = true; m_phonemes = value; } + inline void SetPhonemes(PhonemeDetails&& value) { m_phonemesHasBeenSet = true; m_phonemes = std::move(value); } + inline SearchTextResultItem& WithPhonemes(const PhonemeDetails& value) { SetPhonemes(value); return *this;} + inline SearchTextResultItem& WithPhonemes(PhonemeDetails&& value) { SetPhonemes(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_placeId; + bool m_placeIdHasBeenSet = false; + + PlaceType m_placeType; + bool m_placeTypeHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Address m_address; + bool m_addressHasBeenSet = false; + + bool m_addressNumberCorrected; + bool m_addressNumberCorrectedHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + Aws::Vector m_mapView; + bool m_mapViewHasBeenSet = false; + + Aws::Vector m_categories; + bool m_categoriesHasBeenSet = false; + + Aws::Vector m_foodTypes; + bool m_foodTypesHasBeenSet = false; + + Aws::Vector m_businessChains; + bool m_businessChainsHasBeenSet = false; + + Contacts m_contacts; + bool m_contactsHasBeenSet = false; + + Aws::Vector m_openingHours; + bool m_openingHoursHasBeenSet = false; + + Aws::Vector m_accessPoints; + bool m_accessPointsHasBeenSet = false; + + Aws::Vector m_accessRestrictions; + bool m_accessRestrictionsHasBeenSet = false; + + TimeZone m_timeZone; + bool m_timeZoneHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + PhonemeDetails m_phonemes; + bool m_phonemesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/StreetComponents.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/StreetComponents.h new file mode 100644 index 00000000000..e1f5c19bdfd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/StreetComponents.h @@ -0,0 +1,186 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Components of a street.

                See Also:

                AWS + * API Reference

                + */ + class StreetComponents + { + public: + AWS_GEOPLACES_API StreetComponents(); + AWS_GEOPLACES_API StreetComponents(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API StreetComponents& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Base name part of the street name.

                Example: Younge from the “Younge + * street".

                + */ + inline const Aws::String& GetBaseName() const{ return m_baseName; } + inline bool BaseNameHasBeenSet() const { return m_baseNameHasBeenSet; } + inline void SetBaseName(const Aws::String& value) { m_baseNameHasBeenSet = true; m_baseName = value; } + inline void SetBaseName(Aws::String&& value) { m_baseNameHasBeenSet = true; m_baseName = std::move(value); } + inline void SetBaseName(const char* value) { m_baseNameHasBeenSet = true; m_baseName.assign(value); } + inline StreetComponents& WithBaseName(const Aws::String& value) { SetBaseName(value); return *this;} + inline StreetComponents& WithBaseName(Aws::String&& value) { SetBaseName(std::move(value)); return *this;} + inline StreetComponents& WithBaseName(const char* value) { SetBaseName(value); return *this;} + ///@} + + ///@{ + /** + *

                Street type part of the street name.

                Example: + * “avenue".

                + */ + inline const Aws::String& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + inline StreetComponents& WithType(const Aws::String& value) { SetType(value); return *this;} + inline StreetComponents& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + inline StreetComponents& WithType(const char* value) { SetType(value); return *this;} + ///@} + + ///@{ + /** + *

                Defines if the street type is before or after the base name.

                + */ + inline const TypePlacement& GetTypePlacement() const{ return m_typePlacement; } + inline bool TypePlacementHasBeenSet() const { return m_typePlacementHasBeenSet; } + inline void SetTypePlacement(const TypePlacement& value) { m_typePlacementHasBeenSet = true; m_typePlacement = value; } + inline void SetTypePlacement(TypePlacement&& value) { m_typePlacementHasBeenSet = true; m_typePlacement = std::move(value); } + inline StreetComponents& WithTypePlacement(const TypePlacement& value) { SetTypePlacement(value); return *this;} + inline StreetComponents& WithTypePlacement(TypePlacement&& value) { SetTypePlacement(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                What character(s) separates the string from its type.

                + */ + inline const Aws::String& GetTypeSeparator() const{ return m_typeSeparator; } + inline bool TypeSeparatorHasBeenSet() const { return m_typeSeparatorHasBeenSet; } + inline void SetTypeSeparator(const Aws::String& value) { m_typeSeparatorHasBeenSet = true; m_typeSeparator = value; } + inline void SetTypeSeparator(Aws::String&& value) { m_typeSeparatorHasBeenSet = true; m_typeSeparator = std::move(value); } + inline void SetTypeSeparator(const char* value) { m_typeSeparatorHasBeenSet = true; m_typeSeparator.assign(value); } + inline StreetComponents& WithTypeSeparator(const Aws::String& value) { SetTypeSeparator(value); return *this;} + inline StreetComponents& WithTypeSeparator(Aws::String&& value) { SetTypeSeparator(std::move(value)); return *this;} + inline StreetComponents& WithTypeSeparator(const char* value) { SetTypeSeparator(value); return *this;} + ///@} + + ///@{ + /** + *

                A prefix is a directional identifier that precedes, but is not included in, + * the base name of a road.

                Example: E for East.

                + */ + inline const Aws::String& GetPrefix() const{ return m_prefix; } + inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } + inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } + inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } + inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } + inline StreetComponents& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} + inline StreetComponents& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} + inline StreetComponents& WithPrefix(const char* value) { SetPrefix(value); return *this;} + ///@} + + ///@{ + /** + *

                A suffix is a directional identifier that follows, but is not included in, + * the base name of a road.

                Example W for West.

                + */ + inline const Aws::String& GetSuffix() const{ return m_suffix; } + inline bool SuffixHasBeenSet() const { return m_suffixHasBeenSet; } + inline void SetSuffix(const Aws::String& value) { m_suffixHasBeenSet = true; m_suffix = value; } + inline void SetSuffix(Aws::String&& value) { m_suffixHasBeenSet = true; m_suffix = std::move(value); } + inline void SetSuffix(const char* value) { m_suffixHasBeenSet = true; m_suffix.assign(value); } + inline StreetComponents& WithSuffix(const Aws::String& value) { SetSuffix(value); return *this;} + inline StreetComponents& WithSuffix(Aws::String&& value) { SetSuffix(std::move(value)); return *this;} + inline StreetComponents& WithSuffix(const char* value) { SetSuffix(value); return *this;} + ///@} + + ///@{ + /** + *

                Indicates the official directional identifiers assigned to highways.

                + */ + inline const Aws::String& GetDirection() const{ return m_direction; } + inline bool DirectionHasBeenSet() const { return m_directionHasBeenSet; } + inline void SetDirection(const Aws::String& value) { m_directionHasBeenSet = true; m_direction = value; } + inline void SetDirection(Aws::String&& value) { m_directionHasBeenSet = true; m_direction = std::move(value); } + inline void SetDirection(const char* value) { m_directionHasBeenSet = true; m_direction.assign(value); } + inline StreetComponents& WithDirection(const Aws::String& value) { SetDirection(value); return *this;} + inline StreetComponents& WithDirection(Aws::String&& value) { SetDirection(std::move(value)); return *this;} + inline StreetComponents& WithDirection(const char* value) { SetDirection(value); return *this;} + ///@} + + ///@{ + /** + *

                A BCP 47 + * compliant language codes for the results to be rendered in. If there is no data + * for the result in the requested language, data will be returned in the default + * language for the entry.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline StreetComponents& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline StreetComponents& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline StreetComponents& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + private: + + Aws::String m_baseName; + bool m_baseNameHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + + TypePlacement m_typePlacement; + bool m_typePlacementHasBeenSet = false; + + Aws::String m_typeSeparator; + bool m_typeSeparatorHasBeenSet = false; + + Aws::String m_prefix; + bool m_prefixHasBeenSet = false; + + Aws::String m_suffix; + bool m_suffixHasBeenSet = false; + + Aws::String m_direction; + bool m_directionHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SubRegion.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SubRegion.h new file mode 100644 index 00000000000..7f938f3aead --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SubRegion.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The sub-region.

                See Also:

                AWS + * API Reference

                + */ + class SubRegion + { + public: + AWS_GEOPLACES_API SubRegion(); + AWS_GEOPLACES_API SubRegion(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SubRegion& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Abbreviated code for the county or sub-region.

                + */ + inline const Aws::String& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const Aws::String& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(Aws::String&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline void SetCode(const char* value) { m_codeHasBeenSet = true; m_code.assign(value); } + inline SubRegion& WithCode(const Aws::String& value) { SetCode(value); return *this;} + inline SubRegion& WithCode(Aws::String&& value) { SetCode(std::move(value)); return *this;} + inline SubRegion& WithCode(const char* value) { SetCode(value); return *this;} + ///@} + + ///@{ + /** + *

                Name for the county or sub-region.

                + */ + 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 SubRegion& WithName(const Aws::String& value) { SetName(value); return *this;} + inline SubRegion& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline SubRegion& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_code; + bool m_codeHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SubRegionHighlights.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SubRegionHighlights.h new file mode 100644 index 00000000000..f7035ddedbd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SubRegionHighlights.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Indicates the starting and ending index of the sub-region in the text query + * that match the found title.

                See Also:

                AWS + * API Reference

                + */ + class SubRegionHighlights + { + public: + AWS_GEOPLACES_API SubRegionHighlights(); + AWS_GEOPLACES_API SubRegionHighlights(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SubRegionHighlights& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Indicates the starting and ending index of the sub-region in the text query + * that match the found title.

                + */ + inline const Aws::Vector& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const Aws::Vector& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(Aws::Vector&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline SubRegionHighlights& WithCode(const Aws::Vector& value) { SetCode(value); return *this;} + inline SubRegionHighlights& WithCode(Aws::Vector&& value) { SetCode(std::move(value)); return *this;} + inline SubRegionHighlights& AddCode(const Highlight& value) { m_codeHasBeenSet = true; m_code.push_back(value); return *this; } + inline SubRegionHighlights& AddCode(Highlight&& value) { m_codeHasBeenSet = true; m_code.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Indicates the starting and ending index of the name in the text query that + * match the found title.

                + */ + inline const Aws::Vector& GetName() const{ return m_name; } + inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } + inline void SetName(const Aws::Vector& value) { m_nameHasBeenSet = true; m_name = value; } + inline void SetName(Aws::Vector&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } + inline SubRegionHighlights& WithName(const Aws::Vector& value) { SetName(value); return *this;} + inline SubRegionHighlights& WithName(Aws::Vector&& value) { SetName(std::move(value)); return *this;} + inline SubRegionHighlights& AddName(const Highlight& value) { m_nameHasBeenSet = true; m_name.push_back(value); return *this; } + inline SubRegionHighlights& AddName(Highlight&& value) { m_nameHasBeenSet = true; m_name.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_code; + bool m_codeHasBeenSet = false; + + Aws::Vector m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestAdditionalFeature.h new file mode 100644 index 00000000000..64dbf910d1c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestAdditionalFeature.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class SuggestAdditionalFeature + { + NOT_SET, + Core, + TimeZone, + Phonemes, + Access + }; + +namespace SuggestAdditionalFeatureMapper +{ +AWS_GEOPLACES_API SuggestAdditionalFeature GetSuggestAdditionalFeatureForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForSuggestAdditionalFeature(SuggestAdditionalFeature value); +} // namespace SuggestAdditionalFeatureMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestAddressHighlights.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestAddressHighlights.h new file mode 100644 index 00000000000..54fa5ca10b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestAddressHighlights.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Describes how the parts of the textQuery matched the input query by returning + * the sections of the response which matched to textQuery terms.

                See + * Also:

                AWS + * API Reference

                + */ + class SuggestAddressHighlights + { + public: + AWS_GEOPLACES_API SuggestAddressHighlights(); + AWS_GEOPLACES_API SuggestAddressHighlights(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SuggestAddressHighlights& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Indicates the starting and ending indexes of the places in the result which + * were identified to match the textQuery. This result is useful for providing + * emphasis to results where the user query directly matched to make selecting the + * correct result from a list easier for an end user.

                + */ + inline const Aws::Vector& GetLabel() const{ return m_label; } + inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } + inline void SetLabel(const Aws::Vector& value) { m_labelHasBeenSet = true; m_label = value; } + inline void SetLabel(Aws::Vector&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } + inline SuggestAddressHighlights& WithLabel(const Aws::Vector& value) { SetLabel(value); return *this;} + inline SuggestAddressHighlights& WithLabel(Aws::Vector&& value) { SetLabel(std::move(value)); return *this;} + inline SuggestAddressHighlights& AddLabel(const Highlight& value) { m_labelHasBeenSet = true; m_label.push_back(value); return *this; } + inline SuggestAddressHighlights& AddLabel(Highlight&& value) { m_labelHasBeenSet = true; m_label.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_label; + bool m_labelHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestFilter.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestFilter.h new file mode 100644 index 00000000000..d77fbc5ce0d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestFilter.h @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                SuggestFilter structure which contains a set of inclusion/exclusion + * properties that results must posses in order to be returned as a + * result.

                See Also:

                AWS + * API Reference

                + */ + class SuggestFilter + { + public: + AWS_GEOPLACES_API SuggestFilter(); + AWS_GEOPLACES_API SuggestFilter(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SuggestFilter& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                The bounding box formed is defined as a set 4 + * coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern + * lat}]

                + */ + inline const Aws::Vector& GetBoundingBox() const{ return m_boundingBox; } + inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } + inline void SetBoundingBox(const Aws::Vector& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } + inline void SetBoundingBox(Aws::Vector&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } + inline SuggestFilter& WithBoundingBox(const Aws::Vector& value) { SetBoundingBox(value); return *this;} + inline SuggestFilter& WithBoundingBox(Aws::Vector&& value) { SetBoundingBox(std::move(value)); return *this;} + inline SuggestFilter& AddBoundingBox(double value) { m_boundingBoxHasBeenSet = true; m_boundingBox.push_back(value); return *this; } + ///@} + + ///@{ + + inline const FilterCircle& GetCircle() const{ return m_circle; } + inline bool CircleHasBeenSet() const { return m_circleHasBeenSet; } + inline void SetCircle(const FilterCircle& value) { m_circleHasBeenSet = true; m_circle = value; } + inline void SetCircle(FilterCircle&& value) { m_circleHasBeenSet = true; m_circle = std::move(value); } + inline SuggestFilter& WithCircle(const FilterCircle& value) { SetCircle(value); return *this;} + inline SuggestFilter& WithCircle(FilterCircle&& value) { SetCircle(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of countries that all results must be in. Countries are represented + * by either their alpha-2 or alpha-3 character codes.

                + */ + inline const Aws::Vector& GetIncludeCountries() const{ return m_includeCountries; } + inline bool IncludeCountriesHasBeenSet() const { return m_includeCountriesHasBeenSet; } + inline void SetIncludeCountries(const Aws::Vector& value) { m_includeCountriesHasBeenSet = true; m_includeCountries = value; } + inline void SetIncludeCountries(Aws::Vector&& value) { m_includeCountriesHasBeenSet = true; m_includeCountries = std::move(value); } + inline SuggestFilter& WithIncludeCountries(const Aws::Vector& value) { SetIncludeCountries(value); return *this;} + inline SuggestFilter& WithIncludeCountries(Aws::Vector&& value) { SetIncludeCountries(std::move(value)); return *this;} + inline SuggestFilter& AddIncludeCountries(const Aws::String& value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(value); return *this; } + inline SuggestFilter& AddIncludeCountries(Aws::String&& value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(std::move(value)); return *this; } + inline SuggestFilter& AddIncludeCountries(const char* value) { m_includeCountriesHasBeenSet = true; m_includeCountries.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_boundingBox; + bool m_boundingBoxHasBeenSet = false; + + FilterCircle m_circle; + bool m_circleHasBeenSet = false; + + Aws::Vector m_includeCountries; + bool m_includeCountriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestHighlights.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestHighlights.h new file mode 100644 index 00000000000..13d6401802f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestHighlights.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                Describes how the parts of the textQuery matched the input query by returning + * the sections of the response which matched to textQuery terms.

                See + * Also:

                AWS + * API Reference

                + */ + class SuggestHighlights + { + public: + AWS_GEOPLACES_API SuggestHighlights(); + AWS_GEOPLACES_API SuggestHighlights(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SuggestHighlights& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Indicates the starting and ending index of the title in the text query that + * match the found title.

                + */ + inline const Aws::Vector& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::Vector& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::Vector&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline SuggestHighlights& WithTitle(const Aws::Vector& value) { SetTitle(value); return *this;} + inline SuggestHighlights& WithTitle(Aws::Vector&& value) { SetTitle(std::move(value)); return *this;} + inline SuggestHighlights& AddTitle(const Highlight& value) { m_titleHasBeenSet = true; m_title.push_back(value); return *this; } + inline SuggestHighlights& AddTitle(Highlight&& value) { m_titleHasBeenSet = true; m_title.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The place's address.

                + */ + inline const SuggestAddressHighlights& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const SuggestAddressHighlights& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(SuggestAddressHighlights&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline SuggestHighlights& WithAddress(const SuggestAddressHighlights& value) { SetAddress(value); return *this;} + inline SuggestHighlights& WithAddress(SuggestAddressHighlights&& value) { SetAddress(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_title; + bool m_titleHasBeenSet = false; + + SuggestAddressHighlights m_address; + bool m_addressHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestIntendedUse.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestIntendedUse.h new file mode 100644 index 00000000000..c2330ccb18c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestIntendedUse.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class SuggestIntendedUse + { + NOT_SET, + SingleUse + }; + +namespace SuggestIntendedUseMapper +{ +AWS_GEOPLACES_API SuggestIntendedUse GetSuggestIntendedUseForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForSuggestIntendedUse(SuggestIntendedUse value); +} // namespace SuggestIntendedUseMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestPlaceResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestPlaceResult.h new file mode 100644 index 00000000000..133137e41a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestPlaceResult.h @@ -0,0 +1,288 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The suggested place results.

                See Also:

                AWS + * API Reference

                + */ + class SuggestPlaceResult + { + public: + AWS_GEOPLACES_API SuggestPlaceResult(); + AWS_GEOPLACES_API SuggestPlaceResult(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SuggestPlaceResult& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The PlaceId of the place you wish to receive the information + * for.

                + */ + inline const Aws::String& GetPlaceId() const{ return m_placeId; } + inline bool PlaceIdHasBeenSet() const { return m_placeIdHasBeenSet; } + inline void SetPlaceId(const Aws::String& value) { m_placeIdHasBeenSet = true; m_placeId = value; } + inline void SetPlaceId(Aws::String&& value) { m_placeIdHasBeenSet = true; m_placeId = std::move(value); } + inline void SetPlaceId(const char* value) { m_placeIdHasBeenSet = true; m_placeId.assign(value); } + inline SuggestPlaceResult& WithPlaceId(const Aws::String& value) { SetPlaceId(value); return *this;} + inline SuggestPlaceResult& WithPlaceId(Aws::String&& value) { SetPlaceId(std::move(value)); return *this;} + inline SuggestPlaceResult& WithPlaceId(const char* value) { SetPlaceId(value); return *this;} + ///@} + + ///@{ + /** + *

                A PlaceType is a category that the result place must belong + * to.

                + */ + inline const PlaceType& GetPlaceType() const{ return m_placeType; } + inline bool PlaceTypeHasBeenSet() const { return m_placeTypeHasBeenSet; } + inline void SetPlaceType(const PlaceType& value) { m_placeTypeHasBeenSet = true; m_placeType = value; } + inline void SetPlaceType(PlaceType&& value) { m_placeTypeHasBeenSet = true; m_placeType = std::move(value); } + inline SuggestPlaceResult& WithPlaceType(const PlaceType& value) { SetPlaceType(value); return *this;} + inline SuggestPlaceResult& WithPlaceType(PlaceType&& value) { SetPlaceType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The place's address.

                + */ + inline const Address& GetAddress() const{ return m_address; } + inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } + inline void SetAddress(const Address& value) { m_addressHasBeenSet = true; m_address = value; } + inline void SetAddress(Address&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } + inline SuggestPlaceResult& WithAddress(const Address& value) { SetAddress(value); return *this;} + inline SuggestPlaceResult& WithAddress(Address&& value) { SetAddress(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The position, in longitude and latitude.

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline SuggestPlaceResult& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline SuggestPlaceResult& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline SuggestPlaceResult& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The distance in meters from the QueryPosition.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline SuggestPlaceResult& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                The bounding box enclosing the geometric shape (area or line) that an + * individual result covers.

                The bounding box formed is defined as a set 4 + * coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern + * lat}]

                + */ + inline const Aws::Vector& GetMapView() const{ return m_mapView; } + inline bool MapViewHasBeenSet() const { return m_mapViewHasBeenSet; } + inline void SetMapView(const Aws::Vector& value) { m_mapViewHasBeenSet = true; m_mapView = value; } + inline void SetMapView(Aws::Vector&& value) { m_mapViewHasBeenSet = true; m_mapView = std::move(value); } + inline SuggestPlaceResult& WithMapView(const Aws::Vector& value) { SetMapView(value); return *this;} + inline SuggestPlaceResult& WithMapView(Aws::Vector&& value) { SetMapView(std::move(value)); return *this;} + inline SuggestPlaceResult& AddMapView(double value) { m_mapViewHasBeenSet = true; m_mapView.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Categories of results that results must belong to.

                + */ + inline const Aws::Vector& GetCategories() const{ return m_categories; } + inline bool CategoriesHasBeenSet() const { return m_categoriesHasBeenSet; } + inline void SetCategories(const Aws::Vector& value) { m_categoriesHasBeenSet = true; m_categories = value; } + inline void SetCategories(Aws::Vector&& value) { m_categoriesHasBeenSet = true; m_categories = std::move(value); } + inline SuggestPlaceResult& WithCategories(const Aws::Vector& value) { SetCategories(value); return *this;} + inline SuggestPlaceResult& WithCategories(Aws::Vector&& value) { SetCategories(std::move(value)); return *this;} + inline SuggestPlaceResult& AddCategories(const Category& value) { m_categoriesHasBeenSet = true; m_categories.push_back(value); return *this; } + inline SuggestPlaceResult& AddCategories(Category&& value) { m_categoriesHasBeenSet = true; m_categories.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                List of food types offered by this result.

                + */ + inline const Aws::Vector& GetFoodTypes() const{ return m_foodTypes; } + inline bool FoodTypesHasBeenSet() const { return m_foodTypesHasBeenSet; } + inline void SetFoodTypes(const Aws::Vector& value) { m_foodTypesHasBeenSet = true; m_foodTypes = value; } + inline void SetFoodTypes(Aws::Vector&& value) { m_foodTypesHasBeenSet = true; m_foodTypes = std::move(value); } + inline SuggestPlaceResult& WithFoodTypes(const Aws::Vector& value) { SetFoodTypes(value); return *this;} + inline SuggestPlaceResult& WithFoodTypes(Aws::Vector&& value) { SetFoodTypes(std::move(value)); return *this;} + inline SuggestPlaceResult& AddFoodTypes(const FoodType& value) { m_foodTypesHasBeenSet = true; m_foodTypes.push_back(value); return *this; } + inline SuggestPlaceResult& AddFoodTypes(FoodType&& value) { m_foodTypesHasBeenSet = true; m_foodTypes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The Business Chains associated with the place.

                + */ + inline const Aws::Vector& GetBusinessChains() const{ return m_businessChains; } + inline bool BusinessChainsHasBeenSet() const { return m_businessChainsHasBeenSet; } + inline void SetBusinessChains(const Aws::Vector& value) { m_businessChainsHasBeenSet = true; m_businessChains = value; } + inline void SetBusinessChains(Aws::Vector&& value) { m_businessChainsHasBeenSet = true; m_businessChains = std::move(value); } + inline SuggestPlaceResult& WithBusinessChains(const Aws::Vector& value) { SetBusinessChains(value); return *this;} + inline SuggestPlaceResult& WithBusinessChains(Aws::Vector&& value) { SetBusinessChains(std::move(value)); return *this;} + inline SuggestPlaceResult& AddBusinessChains(const BusinessChain& value) { m_businessChainsHasBeenSet = true; m_businessChains.push_back(value); return *this; } + inline SuggestPlaceResult& AddBusinessChains(BusinessChain&& value) { m_businessChainsHasBeenSet = true; m_businessChains.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Position of the access point represent by longitude and latitude.

                + */ + inline const Aws::Vector& GetAccessPoints() const{ return m_accessPoints; } + inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; } + inline void SetAccessPoints(const Aws::Vector& value) { m_accessPointsHasBeenSet = true; m_accessPoints = value; } + inline void SetAccessPoints(Aws::Vector&& value) { m_accessPointsHasBeenSet = true; m_accessPoints = std::move(value); } + inline SuggestPlaceResult& WithAccessPoints(const Aws::Vector& value) { SetAccessPoints(value); return *this;} + inline SuggestPlaceResult& WithAccessPoints(Aws::Vector&& value) { SetAccessPoints(std::move(value)); return *this;} + inline SuggestPlaceResult& AddAccessPoints(const AccessPoint& value) { m_accessPointsHasBeenSet = true; m_accessPoints.push_back(value); return *this; } + inline SuggestPlaceResult& AddAccessPoints(AccessPoint&& value) { m_accessPointsHasBeenSet = true; m_accessPoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Indicates known access restrictions on a vehicle access point. The index + * correlates to an access point and indicates if access through this point has + * some form of restriction.

                + */ + inline const Aws::Vector& GetAccessRestrictions() const{ return m_accessRestrictions; } + inline bool AccessRestrictionsHasBeenSet() const { return m_accessRestrictionsHasBeenSet; } + inline void SetAccessRestrictions(const Aws::Vector& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions = value; } + inline void SetAccessRestrictions(Aws::Vector&& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions = std::move(value); } + inline SuggestPlaceResult& WithAccessRestrictions(const Aws::Vector& value) { SetAccessRestrictions(value); return *this;} + inline SuggestPlaceResult& WithAccessRestrictions(Aws::Vector&& value) { SetAccessRestrictions(std::move(value)); return *this;} + inline SuggestPlaceResult& AddAccessRestrictions(const AccessRestriction& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions.push_back(value); return *this; } + inline SuggestPlaceResult& AddAccessRestrictions(AccessRestriction&& value) { m_accessRestrictionsHasBeenSet = true; m_accessRestrictions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The time zone in which the place is located.

                + */ + inline const TimeZone& GetTimeZone() const{ return m_timeZone; } + inline bool TimeZoneHasBeenSet() const { return m_timeZoneHasBeenSet; } + inline void SetTimeZone(const TimeZone& value) { m_timeZoneHasBeenSet = true; m_timeZone = value; } + inline void SetTimeZone(TimeZone&& value) { m_timeZoneHasBeenSet = true; m_timeZone = std::move(value); } + inline SuggestPlaceResult& WithTimeZone(const TimeZone& value) { SetTimeZone(value); return *this;} + inline SuggestPlaceResult& WithTimeZone(TimeZone&& value) { SetTimeZone(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline SuggestPlaceResult& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline SuggestPlaceResult& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline SuggestPlaceResult& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                How the various components of the result's address are pronounced in various + * languages.

                + */ + inline const PhonemeDetails& GetPhonemes() const{ return m_phonemes; } + inline bool PhonemesHasBeenSet() const { return m_phonemesHasBeenSet; } + inline void SetPhonemes(const PhonemeDetails& value) { m_phonemesHasBeenSet = true; m_phonemes = value; } + inline void SetPhonemes(PhonemeDetails&& value) { m_phonemesHasBeenSet = true; m_phonemes = std::move(value); } + inline SuggestPlaceResult& WithPhonemes(const PhonemeDetails& value) { SetPhonemes(value); return *this;} + inline SuggestPlaceResult& WithPhonemes(PhonemeDetails&& value) { SetPhonemes(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_placeId; + bool m_placeIdHasBeenSet = false; + + PlaceType m_placeType; + bool m_placeTypeHasBeenSet = false; + + Address m_address; + bool m_addressHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + Aws::Vector m_mapView; + bool m_mapViewHasBeenSet = false; + + Aws::Vector m_categories; + bool m_categoriesHasBeenSet = false; + + Aws::Vector m_foodTypes; + bool m_foodTypesHasBeenSet = false; + + Aws::Vector m_businessChains; + bool m_businessChainsHasBeenSet = false; + + Aws::Vector m_accessPoints; + bool m_accessPointsHasBeenSet = false; + + Aws::Vector m_accessRestrictions; + bool m_accessRestrictionsHasBeenSet = false; + + TimeZone m_timeZone; + bool m_timeZoneHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + PhonemeDetails m_phonemes; + bool m_phonemesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestQueryResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestQueryResult.h new file mode 100644 index 00000000000..3e6c4bb9d54 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestQueryResult.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The suggested query results.

                See Also:

                AWS + * API Reference

                + */ + class SuggestQueryResult + { + public: + AWS_GEOPLACES_API SuggestQueryResult(); + AWS_GEOPLACES_API SuggestQueryResult(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SuggestQueryResult& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                QueryId can be used to complete a follow up query through the SearchText API. + * The QueryId retains context from the original Suggest request such as filters, + * political view and language. See the SearchText API documentation for more + * details SearchText + * API docs.

                + */ + inline const Aws::String& GetQueryId() const{ return m_queryId; } + inline bool QueryIdHasBeenSet() const { return m_queryIdHasBeenSet; } + inline void SetQueryId(const Aws::String& value) { m_queryIdHasBeenSet = true; m_queryId = value; } + inline void SetQueryId(Aws::String&& value) { m_queryIdHasBeenSet = true; m_queryId = std::move(value); } + inline void SetQueryId(const char* value) { m_queryIdHasBeenSet = true; m_queryId.assign(value); } + inline SuggestQueryResult& WithQueryId(const Aws::String& value) { SetQueryId(value); return *this;} + inline SuggestQueryResult& WithQueryId(Aws::String&& value) { SetQueryId(std::move(value)); return *this;} + inline SuggestQueryResult& WithQueryId(const char* value) { SetQueryId(value); return *this;} + ///@} + + ///@{ + /** + *

                The query type. Category qeuries will search for places which have an entry + * matching the given category, for example "doctor office". BusinessChain queries + * will search for instances of a given business.

                + */ + inline const QueryType& GetQueryType() const{ return m_queryType; } + inline bool QueryTypeHasBeenSet() const { return m_queryTypeHasBeenSet; } + inline void SetQueryType(const QueryType& value) { m_queryTypeHasBeenSet = true; m_queryType = value; } + inline void SetQueryType(QueryType&& value) { m_queryTypeHasBeenSet = true; m_queryType = std::move(value); } + inline SuggestQueryResult& WithQueryType(const QueryType& value) { SetQueryType(value); return *this;} + inline SuggestQueryResult& WithQueryType(QueryType&& value) { SetQueryType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_queryId; + bool m_queryIdHasBeenSet = false; + + QueryType m_queryType; + bool m_queryTypeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestRequest.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestRequest.h new file mode 100644 index 00000000000..bf7a577bd6c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestRequest.h @@ -0,0 +1,221 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoPlaces +{ +namespace Model +{ + + /** + */ + class SuggestRequest : public GeoPlacesRequest + { + public: + AWS_GEOPLACES_API SuggestRequest(); + + // 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 "Suggest"; } + + AWS_GEOPLACES_API Aws::String SerializePayload() const override; + + AWS_GEOPLACES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                The free-form text query to match addresses against. This is usually a + * partially typed address from an end user in an address box or form.

                + */ + inline const Aws::String& GetQueryText() const{ return m_queryText; } + inline bool QueryTextHasBeenSet() const { return m_queryTextHasBeenSet; } + inline void SetQueryText(const Aws::String& value) { m_queryTextHasBeenSet = true; m_queryText = value; } + inline void SetQueryText(Aws::String&& value) { m_queryTextHasBeenSet = true; m_queryText = std::move(value); } + inline void SetQueryText(const char* value) { m_queryTextHasBeenSet = true; m_queryText.assign(value); } + inline SuggestRequest& WithQueryText(const Aws::String& value) { SetQueryText(value); return *this;} + inline SuggestRequest& WithQueryText(Aws::String&& value) { SetQueryText(std::move(value)); return *this;} + inline SuggestRequest& WithQueryText(const char* value) { SetQueryText(value); return *this;} + ///@} + + ///@{ + /** + *

                An optional limit for the number of results returned in a single call.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline SuggestRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

                Maximum number of query terms to be returned for use with a search text + * query.

                + */ + inline int GetMaxQueryRefinements() const{ return m_maxQueryRefinements; } + inline bool MaxQueryRefinementsHasBeenSet() const { return m_maxQueryRefinementsHasBeenSet; } + inline void SetMaxQueryRefinements(int value) { m_maxQueryRefinementsHasBeenSet = true; m_maxQueryRefinements = value; } + inline SuggestRequest& WithMaxQueryRefinements(int value) { SetMaxQueryRefinements(value); return *this;} + ///@} + + ///@{ + /** + *

                The position, in longitude and latitude, that the results should be close to. + * Typically, place results returned are ranked higher the closer they are to this + * position. Stored in [lng, lat] and in the WSG84 format.

                + *

                The fields BiasPosition, FilterBoundingBox, and + * FilterCircle are mutually exclusive.

                + */ + inline const Aws::Vector& GetBiasPosition() const{ return m_biasPosition; } + inline bool BiasPositionHasBeenSet() const { return m_biasPositionHasBeenSet; } + inline void SetBiasPosition(const Aws::Vector& value) { m_biasPositionHasBeenSet = true; m_biasPosition = value; } + inline void SetBiasPosition(Aws::Vector&& value) { m_biasPositionHasBeenSet = true; m_biasPosition = std::move(value); } + inline SuggestRequest& WithBiasPosition(const Aws::Vector& value) { SetBiasPosition(value); return *this;} + inline SuggestRequest& WithBiasPosition(Aws::Vector&& value) { SetBiasPosition(std::move(value)); return *this;} + inline SuggestRequest& AddBiasPosition(double value) { m_biasPositionHasBeenSet = true; m_biasPosition.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                A structure which contains a set of inclusion/exclusion properties that + * results must posses in order to be returned as a result.

                + */ + inline const SuggestFilter& GetFilter() const{ return m_filter; } + inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } + inline void SetFilter(const SuggestFilter& value) { m_filterHasBeenSet = true; m_filter = value; } + inline void SetFilter(SuggestFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } + inline SuggestRequest& WithFilter(const SuggestFilter& value) { SetFilter(value); return *this;} + inline SuggestRequest& WithFilter(SuggestFilter&& value) { SetFilter(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of optional additional parameters, such as time zone, that can be + * requested for each result.

                + */ + inline const Aws::Vector& GetAdditionalFeatures() const{ return m_additionalFeatures; } + inline bool AdditionalFeaturesHasBeenSet() const { return m_additionalFeaturesHasBeenSet; } + inline void SetAdditionalFeatures(const Aws::Vector& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = value; } + inline void SetAdditionalFeatures(Aws::Vector&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures = std::move(value); } + inline SuggestRequest& WithAdditionalFeatures(const Aws::Vector& value) { SetAdditionalFeatures(value); return *this;} + inline SuggestRequest& WithAdditionalFeatures(Aws::Vector&& value) { SetAdditionalFeatures(std::move(value)); return *this;} + inline SuggestRequest& AddAdditionalFeatures(const SuggestAdditionalFeature& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(value); return *this; } + inline SuggestRequest& AddAdditionalFeatures(SuggestAdditionalFeature&& value) { m_additionalFeaturesHasBeenSet = true; m_additionalFeatures.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                A list of BCP + * 47 compliant language codes for the results to be rendered in. If there is + * no data for the result in the requested language, data will be returned in the + * default language for the entry.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline SuggestRequest& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline SuggestRequest& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline SuggestRequest& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the political view of a country. + * The political view applies to the results of the request to represent unresolved + * territorial claims through the point of view of the specified country.

                + */ + inline const Aws::String& GetPoliticalView() const{ return m_politicalView; } + inline bool PoliticalViewHasBeenSet() const { return m_politicalViewHasBeenSet; } + inline void SetPoliticalView(const Aws::String& value) { m_politicalViewHasBeenSet = true; m_politicalView = value; } + inline void SetPoliticalView(Aws::String&& value) { m_politicalViewHasBeenSet = true; m_politicalView = std::move(value); } + inline void SetPoliticalView(const char* value) { m_politicalViewHasBeenSet = true; m_politicalView.assign(value); } + inline SuggestRequest& WithPoliticalView(const Aws::String& value) { SetPoliticalView(value); return *this;} + inline SuggestRequest& WithPoliticalView(Aws::String&& value) { SetPoliticalView(std::move(value)); return *this;} + inline SuggestRequest& WithPoliticalView(const char* value) { SetPoliticalView(value); return *this;} + ///@} + + ///@{ + /** + *

                Indicates if the results will be stored. Defaults to SingleUse, + * if left empty.

                + */ + inline const SuggestIntendedUse& GetIntendedUse() const{ return m_intendedUse; } + inline bool IntendedUseHasBeenSet() const { return m_intendedUseHasBeenSet; } + inline void SetIntendedUse(const SuggestIntendedUse& value) { m_intendedUseHasBeenSet = true; m_intendedUse = value; } + inline void SetIntendedUse(SuggestIntendedUse&& value) { m_intendedUseHasBeenSet = true; m_intendedUse = std::move(value); } + inline SuggestRequest& WithIntendedUse(const SuggestIntendedUse& value) { SetIntendedUse(value); return *this;} + inline SuggestRequest& WithIntendedUse(SuggestIntendedUse&& value) { SetIntendedUse(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline SuggestRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline SuggestRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline SuggestRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + private: + + Aws::String m_queryText; + bool m_queryTextHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + int m_maxQueryRefinements; + bool m_maxQueryRefinementsHasBeenSet = false; + + Aws::Vector m_biasPosition; + bool m_biasPositionHasBeenSet = false; + + SuggestFilter m_filter; + bool m_filterHasBeenSet = false; + + Aws::Vector m_additionalFeatures; + bool m_additionalFeaturesHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + Aws::String m_politicalView; + bool m_politicalViewHasBeenSet = false; + + SuggestIntendedUse m_intendedUse; + bool m_intendedUseHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResult.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResult.h new file mode 100644 index 00000000000..60a5658b9e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResult.h @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + class SuggestResult + { + public: + AWS_GEOPLACES_API SuggestResult(); + AWS_GEOPLACES_API SuggestResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOPLACES_API SuggestResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                For more + * inforamtion on pricing, please visit Amazon Location Service + * Pricing.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline SuggestResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline SuggestResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline SuggestResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                List of places or results returned for a query.

                + */ + inline const Aws::Vector& GetResultItems() const{ return m_resultItems; } + inline void SetResultItems(const Aws::Vector& value) { m_resultItems = value; } + inline void SetResultItems(Aws::Vector&& value) { m_resultItems = std::move(value); } + inline SuggestResult& WithResultItems(const Aws::Vector& value) { SetResultItems(value); return *this;} + inline SuggestResult& WithResultItems(Aws::Vector&& value) { SetResultItems(std::move(value)); return *this;} + inline SuggestResult& AddResultItems(const SuggestResultItem& value) { m_resultItems.push_back(value); return *this; } + inline SuggestResult& AddResultItems(SuggestResultItem&& value) { m_resultItems.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Maximum number of query terms to be returned for use with a search text + * query.

                + */ + inline const Aws::Vector& GetQueryRefinements() const{ return m_queryRefinements; } + inline void SetQueryRefinements(const Aws::Vector& value) { m_queryRefinements = value; } + inline void SetQueryRefinements(Aws::Vector&& value) { m_queryRefinements = std::move(value); } + inline SuggestResult& WithQueryRefinements(const Aws::Vector& value) { SetQueryRefinements(value); return *this;} + inline SuggestResult& WithQueryRefinements(Aws::Vector&& value) { SetQueryRefinements(std::move(value)); return *this;} + inline SuggestResult& AddQueryRefinements(const QueryRefinement& value) { m_queryRefinements.push_back(value); return *this; } + inline SuggestResult& AddQueryRefinements(QueryRefinement&& value) { m_queryRefinements.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 SuggestResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SuggestResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SuggestResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_pricingBucket; + + Aws::Vector m_resultItems; + + Aws::Vector m_queryRefinements; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResultItem.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResultItem.h new file mode 100644 index 00000000000..ee76305e155 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResultItem.h @@ -0,0 +1,127 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The resulting item from the suggested query.

                See Also:

                AWS + * API Reference

                + */ + class SuggestResultItem + { + public: + AWS_GEOPLACES_API SuggestResultItem(); + AWS_GEOPLACES_API SuggestResultItem(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API SuggestResultItem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The display title that should be used when presenting this option to the end + * user.

                + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline SuggestResultItem& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline SuggestResultItem& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline SuggestResultItem& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

                The result type. Place results represent the final result for a point of + * interest, Query results represent a follow up query which can be completed + * through the SearchText operation.

                + */ + inline const SuggestResultItemType& GetSuggestResultItemType() const{ return m_suggestResultItemType; } + inline bool SuggestResultItemTypeHasBeenSet() const { return m_suggestResultItemTypeHasBeenSet; } + inline void SetSuggestResultItemType(const SuggestResultItemType& value) { m_suggestResultItemTypeHasBeenSet = true; m_suggestResultItemType = value; } + inline void SetSuggestResultItemType(SuggestResultItemType&& value) { m_suggestResultItemTypeHasBeenSet = true; m_suggestResultItemType = std::move(value); } + inline SuggestResultItem& WithSuggestResultItemType(const SuggestResultItemType& value) { SetSuggestResultItemType(value); return *this;} + inline SuggestResultItem& WithSuggestResultItemType(SuggestResultItemType&& value) { SetSuggestResultItemType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The suggested place by its unique ID.

                + */ + inline const SuggestPlaceResult& GetPlace() const{ return m_place; } + inline bool PlaceHasBeenSet() const { return m_placeHasBeenSet; } + inline void SetPlace(const SuggestPlaceResult& value) { m_placeHasBeenSet = true; m_place = value; } + inline void SetPlace(SuggestPlaceResult&& value) { m_placeHasBeenSet = true; m_place = std::move(value); } + inline SuggestResultItem& WithPlace(const SuggestPlaceResult& value) { SetPlace(value); return *this;} + inline SuggestResultItem& WithPlace(SuggestPlaceResult&& value) { SetPlace(std::move(value)); return *this;} + ///@} + + ///@{ + + inline const SuggestQueryResult& GetQuery() const{ return m_query; } + inline bool QueryHasBeenSet() const { return m_queryHasBeenSet; } + inline void SetQuery(const SuggestQueryResult& value) { m_queryHasBeenSet = true; m_query = value; } + inline void SetQuery(SuggestQueryResult&& value) { m_queryHasBeenSet = true; m_query = std::move(value); } + inline SuggestResultItem& WithQuery(const SuggestQueryResult& value) { SetQuery(value); return *this;} + inline SuggestResultItem& WithQuery(SuggestQueryResult&& value) { SetQuery(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Describes how the parts of the response element matched the input query by + * returning the sections of the response which matched to input query terms.

                + */ + inline const SuggestHighlights& GetHighlights() const{ return m_highlights; } + inline bool HighlightsHasBeenSet() const { return m_highlightsHasBeenSet; } + inline void SetHighlights(const SuggestHighlights& value) { m_highlightsHasBeenSet = true; m_highlights = value; } + inline void SetHighlights(SuggestHighlights&& value) { m_highlightsHasBeenSet = true; m_highlights = std::move(value); } + inline SuggestResultItem& WithHighlights(const SuggestHighlights& value) { SetHighlights(value); return *this;} + inline SuggestResultItem& WithHighlights(SuggestHighlights&& value) { SetHighlights(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + SuggestResultItemType m_suggestResultItemType; + bool m_suggestResultItemTypeHasBeenSet = false; + + SuggestPlaceResult m_place; + bool m_placeHasBeenSet = false; + + SuggestQueryResult m_query; + bool m_queryHasBeenSet = false; + + SuggestHighlights m_highlights; + bool m_highlightsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResultItemType.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResultItemType.h new file mode 100644 index 00000000000..7ffd761c832 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/SuggestResultItemType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class SuggestResultItemType + { + NOT_SET, + Place, + Query + }; + +namespace SuggestResultItemTypeMapper +{ +AWS_GEOPLACES_API SuggestResultItemType GetSuggestResultItemTypeForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForSuggestResultItemType(SuggestResultItemType value); +} // namespace SuggestResultItemTypeMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/TimeZone.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/TimeZone.h new file mode 100644 index 00000000000..a9228de350e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/TimeZone.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The time zone in which the place is located.

                See Also:

                AWS + * API Reference

                + */ + class TimeZone + { + public: + AWS_GEOPLACES_API TimeZone(); + AWS_GEOPLACES_API TimeZone(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API TimeZone& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The time zone name.

                + */ + 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 TimeZone& WithName(const Aws::String& value) { SetName(value); return *this;} + inline TimeZone& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline TimeZone& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                Time zone offset of the timezone from UTC.

                + */ + inline const Aws::String& GetOffset() const{ return m_offset; } + inline bool OffsetHasBeenSet() const { return m_offsetHasBeenSet; } + inline void SetOffset(const Aws::String& value) { m_offsetHasBeenSet = true; m_offset = value; } + inline void SetOffset(Aws::String&& value) { m_offsetHasBeenSet = true; m_offset = std::move(value); } + inline void SetOffset(const char* value) { m_offsetHasBeenSet = true; m_offset.assign(value); } + inline TimeZone& WithOffset(const Aws::String& value) { SetOffset(value); return *this;} + inline TimeZone& WithOffset(Aws::String&& value) { SetOffset(std::move(value)); return *this;} + inline TimeZone& WithOffset(const char* value) { SetOffset(value); return *this;} + ///@} + + ///@{ + /** + *

                The offset of the time zone from UTC, in seconds.

                + */ + inline long long GetOffsetSeconds() const{ return m_offsetSeconds; } + inline bool OffsetSecondsHasBeenSet() const { return m_offsetSecondsHasBeenSet; } + inline void SetOffsetSeconds(long long value) { m_offsetSecondsHasBeenSet = true; m_offsetSeconds = value; } + inline TimeZone& WithOffsetSeconds(long long value) { SetOffsetSeconds(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_offset; + bool m_offsetHasBeenSet = false; + + long long m_offsetSeconds; + bool m_offsetSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/TypePlacement.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/TypePlacement.h new file mode 100644 index 00000000000..2c328d4729d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/TypePlacement.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class TypePlacement + { + NOT_SET, + BeforeBaseName, + AfterBaseName + }; + +namespace TypePlacementMapper +{ +AWS_GEOPLACES_API TypePlacement GetTypePlacementForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForTypePlacement(TypePlacement value); +} // namespace TypePlacementMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/UspsZip.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/UspsZip.h new file mode 100644 index 00000000000..4d1f6c3d14e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/UspsZip.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The USPS zip code.

                See Also:

                AWS + * API Reference

                + */ + class UspsZip + { + public: + AWS_GEOPLACES_API UspsZip(); + AWS_GEOPLACES_API UspsZip(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API UspsZip& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The ZIP Classification Code, or in other words what type of postal code is + * it.

                + */ + inline const ZipClassificationCode& GetZipClassificationCode() const{ return m_zipClassificationCode; } + inline bool ZipClassificationCodeHasBeenSet() const { return m_zipClassificationCodeHasBeenSet; } + inline void SetZipClassificationCode(const ZipClassificationCode& value) { m_zipClassificationCodeHasBeenSet = true; m_zipClassificationCode = value; } + inline void SetZipClassificationCode(ZipClassificationCode&& value) { m_zipClassificationCodeHasBeenSet = true; m_zipClassificationCode = std::move(value); } + inline UspsZip& WithZipClassificationCode(const ZipClassificationCode& value) { SetZipClassificationCode(value); return *this;} + inline UspsZip& WithZipClassificationCode(ZipClassificationCode&& value) { SetZipClassificationCode(std::move(value)); return *this;} + ///@} + private: + + ZipClassificationCode m_zipClassificationCode; + bool m_zipClassificationCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/UspsZipPlus4.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/UspsZipPlus4.h new file mode 100644 index 00000000000..4ce16f895f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/UspsZipPlus4.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The USPS zip+4 code.

                See Also:

                AWS + * API Reference

                + */ + class UspsZipPlus4 + { + public: + AWS_GEOPLACES_API UspsZipPlus4(); + AWS_GEOPLACES_API UspsZipPlus4(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API UspsZipPlus4& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The USPS ZIP+4 Record Type Code.

                + */ + inline const RecordTypeCode& GetRecordTypeCode() const{ return m_recordTypeCode; } + inline bool RecordTypeCodeHasBeenSet() const { return m_recordTypeCodeHasBeenSet; } + inline void SetRecordTypeCode(const RecordTypeCode& value) { m_recordTypeCodeHasBeenSet = true; m_recordTypeCode = value; } + inline void SetRecordTypeCode(RecordTypeCode&& value) { m_recordTypeCodeHasBeenSet = true; m_recordTypeCode = std::move(value); } + inline UspsZipPlus4& WithRecordTypeCode(const RecordTypeCode& value) { SetRecordTypeCode(value); return *this;} + inline UspsZipPlus4& WithRecordTypeCode(RecordTypeCode&& value) { SetRecordTypeCode(std::move(value)); return *this;} + ///@} + private: + + RecordTypeCode m_recordTypeCode; + bool m_recordTypeCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ValidationException.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ValidationException.h new file mode 100644 index 00000000000..ed0efb66d64 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ValidationException.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The input fails to satisfy the constraints specified by an AWS + * service.

                See Also:

                AWS + * API Reference

                + */ + class ValidationException + { + public: + AWS_GEOPLACES_API ValidationException(); + AWS_GEOPLACES_API ValidationException(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API ValidationException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

                Test stub for reason

                + */ + inline const ValidationExceptionReason& GetReason() const{ return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(const ValidationExceptionReason& value) { m_reasonHasBeenSet = true; m_reason = value; } + inline void SetReason(ValidationExceptionReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + inline ValidationException& WithReason(const ValidationExceptionReason& value) { SetReason(value); return *this;} + inline ValidationException& WithReason(ValidationExceptionReason&& value) { SetReason(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Test stub for FieldList.

                + */ + inline const Aws::Vector& GetFieldList() const{ return m_fieldList; } + inline bool FieldListHasBeenSet() const { return m_fieldListHasBeenSet; } + inline void SetFieldList(const Aws::Vector& value) { m_fieldListHasBeenSet = true; m_fieldList = value; } + inline void SetFieldList(Aws::Vector&& value) { m_fieldListHasBeenSet = true; m_fieldList = std::move(value); } + inline ValidationException& WithFieldList(const Aws::Vector& value) { SetFieldList(value); return *this;} + inline ValidationException& WithFieldList(Aws::Vector&& value) { SetFieldList(std::move(value)); return *this;} + inline ValidationException& AddFieldList(const ValidationExceptionField& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(value); return *this; } + inline ValidationException& AddFieldList(ValidationExceptionField&& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + ValidationExceptionReason m_reason; + bool m_reasonHasBeenSet = false; + + Aws::Vector m_fieldList; + bool m_fieldListHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ValidationExceptionField.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ValidationExceptionField.h new file mode 100644 index 00000000000..3a2731eada8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ValidationExceptionField.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoPlaces +{ +namespace Model +{ + + /** + *

                The input fails to satisfy the constraints specified by the Amazon Location + * service.

                See Also:

                AWS + * API Reference

                + */ + class ValidationExceptionField + { + public: + AWS_GEOPLACES_API ValidationExceptionField(); + AWS_GEOPLACES_API ValidationExceptionField(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API ValidationExceptionField& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOPLACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The name of the resource.

                + */ + 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 ValidationExceptionField& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ValidationExceptionField& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ValidationExceptionField& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                The error message.

                + */ + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationExceptionField& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationExceptionField& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationExceptionField& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..6bc6f677564 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ValidationExceptionReason.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + UnknownOperation, + Missing, + CannotParse, + FieldValidationFailed, + Other, + UnknownField + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_GEOPLACES_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ZipClassificationCode.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ZipClassificationCode.h new file mode 100644 index 00000000000..8589d85a739 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/model/ZipClassificationCode.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + enum class ZipClassificationCode + { + NOT_SET, + Military, + PostOfficeBoxes, + Unique + }; + +namespace ZipClassificationCodeMapper +{ +AWS_GEOPLACES_API ZipClassificationCode GetZipClassificationCodeForName(const Aws::String& name); + +AWS_GEOPLACES_API Aws::String GetNameForZipClassificationCode(ZipClassificationCode value); +} // namespace ZipClassificationCodeMapper +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesClient.cpp b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesClient.cpp new file mode 100644 index 00000000000..57bed96db53 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesClient.cpp @@ -0,0 +1,368 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::GeoPlaces; +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace GeoPlaces + { + const char SERVICE_NAME[] = "geo-places"; + const char ALLOCATION_TAG[] = "GeoPlacesClient"; + } +} +const char* GeoPlacesClient::GetServiceName() {return SERVICE_NAME;} +const char* GeoPlacesClient::GetAllocationTag() {return ALLOCATION_TAG;} + +GeoPlacesClient::GeoPlacesClient(const GeoPlaces::GeoPlacesClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoPlacesClient::GeoPlacesClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const GeoPlaces::GeoPlacesClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoPlacesClient::GeoPlacesClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const GeoPlaces::GeoPlacesClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + GeoPlacesClient::GeoPlacesClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoPlacesClient::GeoPlacesClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoPlacesClient::GeoPlacesClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +GeoPlacesClient::~GeoPlacesClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& GeoPlacesClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void GeoPlacesClient::init(const GeoPlaces::GeoPlacesClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Geo Places"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void GeoPlacesClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +AutocompleteOutcome GeoPlacesClient::Autocomplete(const AutocompleteRequest& request) const +{ + AWS_OPERATION_GUARD(Autocomplete); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, Autocomplete, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, Autocomplete, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, Autocomplete, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".Autocomplete", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> AutocompleteOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, Autocomplete, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/autocomplete"); + return AutocompleteOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GeocodeOutcome GeoPlacesClient::Geocode(const GeocodeRequest& request) const +{ + AWS_OPERATION_GUARD(Geocode); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, Geocode, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, Geocode, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, Geocode, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".Geocode", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GeocodeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, Geocode, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/geocode"); + return GeocodeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +GetPlaceOutcome GeoPlacesClient::GetPlace(const GetPlaceRequest& request) const +{ + AWS_OPERATION_GUARD(GetPlace); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetPlace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.PlaceIdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetPlace", "Required field: PlaceId, is not set"); + return GetPlaceOutcome(Aws::Client::AWSError(GeoPlacesErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [PlaceId]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetPlace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetPlace, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetPlace", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetPlaceOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetPlace, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/place/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetPlaceId()); + return GetPlaceOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +ReverseGeocodeOutcome GeoPlacesClient::ReverseGeocode(const ReverseGeocodeRequest& request) const +{ + AWS_OPERATION_GUARD(ReverseGeocode); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ReverseGeocode, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ReverseGeocode, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ReverseGeocode, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ReverseGeocode", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ReverseGeocodeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ReverseGeocode, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/reverse-geocode"); + return ReverseGeocodeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SearchNearbyOutcome GeoPlacesClient::SearchNearby(const SearchNearbyRequest& request) const +{ + AWS_OPERATION_GUARD(SearchNearby); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SearchNearby, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, SearchNearby, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SearchNearby, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".SearchNearby", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SearchNearbyOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, SearchNearby, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/search-nearby"); + return SearchNearbyOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SearchTextOutcome GeoPlacesClient::SearchText(const SearchTextRequest& request) const +{ + AWS_OPERATION_GUARD(SearchText); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SearchText, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, SearchText, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SearchText, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".SearchText", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SearchTextOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, SearchText, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/search-text"); + return SearchTextOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SuggestOutcome GeoPlacesClient::Suggest(const SuggestRequest& request) const +{ + AWS_OPERATION_GUARD(Suggest); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, Suggest, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, Suggest, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, Suggest, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".Suggest", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SuggestOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, Suggest, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/suggest"); + return SuggestOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointProvider.cpp new file mode 100644 index 00000000000..585d0adad63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointRules.cpp b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointRules.cpp new file mode 100644 index 00000000000..6eaee5342a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointRules.cpp @@ -0,0 +1,292 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace GeoPlaces +{ +const size_t GeoPlacesEndpointRules::RulesBlobStrLen = 6649; +const size_t GeoPlacesEndpointRules::RulesBlobSize = 6650; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','U','s','e','D','u','a','l','S','t','a','c','k','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l','S','t','a','c','k', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ','d','u','a','l','-', +'s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o', +'n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o', +'t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k',',',' ','d','i','s', +'p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','M','A','Y',' ', +'r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':', +'"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e', +'q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a', +'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n', +' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ', +'t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g', +'i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o', +'n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o', +'t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e', +'n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ', +'r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r', +'r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"', +'E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K', +':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a', +'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r', +'r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o', +' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e', +'"',':','"','S','t','r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q', +'u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i', +'o','n','"',':','"','T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ', +'t','o',' ','d','i','s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"', +',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a', +'c','k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r', +'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','l','a','c','e','s','.','g', +'e','o','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s', +'"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','l','a', +'c','e','s','.','g','e','o','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n', +'s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','l','a','c','e','s','.','g', +'e','o','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}', +',','"','a','w','s','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','p','l','a','c','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','{','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D', +'n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','u','s','-','g', +'o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','p','l','a','c','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','u','s','-','g', +'o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','p','l','a','c','e', +'s','.','g','e','o','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','u','s','-','g','o', +'v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t', +'a','c','k','D','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-', +'u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','p','l','a','c','e','s','.','g','e','o','-','f','i','p','s','.','{','R','e','g','i', +'o','n','}','.','u','s','-','g','o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-', +'u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','p','l','a','c','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','u', +'s','-','g','o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u', +'a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D', +'u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-','p','l','a', +'c','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P', +'S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l', +'e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t', +'h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p', +'p','o','r','t','s','F','I','P','S','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g', +'e','o','-','p','l','a','c','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i', +'s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t', +'i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', +'"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','g','e','o','-','p','l','a','c','e','s','.','{','R','e','g','i','o','n','}','.','{','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', +'t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-', +'p','l','a','c','e','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ', +'M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* GeoPlacesEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesErrorMarshaller.cpp new file mode 100644 index 00000000000..96de297b246 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::GeoPlaces; + +AWSError GeoPlacesErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = GeoPlacesErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesErrors.cpp b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesErrors.cpp new file mode 100644 index 00000000000..decacd41c88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesErrors.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::GeoPlaces; +using namespace Aws::GeoPlaces::Model; + +namespace Aws +{ +namespace GeoPlaces +{ +template<> AWS_GEOPLACES_API ValidationException GeoPlacesError::GetModeledError() +{ + assert(this->GetErrorType() == GeoPlacesErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +namespace GeoPlacesErrorMapper +{ + +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(GeoPlacesErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace GeoPlacesErrorMapper +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesRequest.cpp b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesRequest.cpp new file mode 100644 index 00000000000..cad0659d163 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace GeoPlaces +{ +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AccessPoint.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AccessPoint.cpp new file mode 100644 index 00000000000..84dc4e1b444 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AccessPoint.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +AccessPoint::AccessPoint() : + m_positionHasBeenSet(false) +{ +} + +AccessPoint::AccessPoint(JsonView jsonValue) + : AccessPoint() +{ + *this = jsonValue; +} + +AccessPoint& AccessPoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + return *this; +} + +JsonValue AccessPoint::Jsonize() const +{ + JsonValue payload; + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AccessRestriction.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AccessRestriction.cpp new file mode 100644 index 00000000000..3e8a9d42db9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AccessRestriction.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +AccessRestriction::AccessRestriction() : + m_restricted(false), + m_restrictedHasBeenSet(false), + m_categoriesHasBeenSet(false) +{ +} + +AccessRestriction::AccessRestriction(JsonView jsonValue) + : AccessRestriction() +{ + *this = jsonValue; +} + +AccessRestriction& AccessRestriction::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Restricted")) + { + m_restricted = jsonValue.GetBool("Restricted"); + + m_restrictedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Categories")) + { + Aws::Utils::Array categoriesJsonList = jsonValue.GetArray("Categories"); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + m_categories.push_back(categoriesJsonList[categoriesIndex].AsObject()); + } + m_categoriesHasBeenSet = true; + } + + return *this; +} + +JsonValue AccessRestriction::Jsonize() const +{ + JsonValue payload; + + if(m_restrictedHasBeenSet) + { + payload.WithBool("Restricted", m_restricted); + + } + + if(m_categoriesHasBeenSet) + { + Aws::Utils::Array categoriesJsonList(m_categories.size()); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + categoriesJsonList[categoriesIndex].AsObject(m_categories[categoriesIndex].Jsonize()); + } + payload.WithArray("Categories", std::move(categoriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/Address.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/Address.cpp new file mode 100644 index 00000000000..bf1736961f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/Address.cpp @@ -0,0 +1,271 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +Address::Address() : + m_labelHasBeenSet(false), + m_countryHasBeenSet(false), + m_regionHasBeenSet(false), + m_subRegionHasBeenSet(false), + m_localityHasBeenSet(false), + m_districtHasBeenSet(false), + m_subDistrictHasBeenSet(false), + m_postalCodeHasBeenSet(false), + m_blockHasBeenSet(false), + m_subBlockHasBeenSet(false), + m_intersectionHasBeenSet(false), + m_streetHasBeenSet(false), + m_streetComponentsHasBeenSet(false), + m_addressNumberHasBeenSet(false), + m_buildingHasBeenSet(false) +{ +} + +Address::Address(JsonView jsonValue) + : Address() +{ + *this = jsonValue; +} + +Address& Address::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Label")) + { + m_label = jsonValue.GetString("Label"); + + m_labelHasBeenSet = true; + } + + if(jsonValue.ValueExists("Country")) + { + m_country = jsonValue.GetObject("Country"); + + m_countryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetObject("Region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubRegion")) + { + m_subRegion = jsonValue.GetObject("SubRegion"); + + m_subRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Locality")) + { + m_locality = jsonValue.GetString("Locality"); + + m_localityHasBeenSet = true; + } + + if(jsonValue.ValueExists("District")) + { + m_district = jsonValue.GetString("District"); + + m_districtHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubDistrict")) + { + m_subDistrict = jsonValue.GetString("SubDistrict"); + + m_subDistrictHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostalCode")) + { + m_postalCode = jsonValue.GetString("PostalCode"); + + m_postalCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Block")) + { + m_block = jsonValue.GetString("Block"); + + m_blockHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubBlock")) + { + m_subBlock = jsonValue.GetString("SubBlock"); + + m_subBlockHasBeenSet = true; + } + + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsString()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Street")) + { + m_street = jsonValue.GetString("Street"); + + m_streetHasBeenSet = true; + } + + if(jsonValue.ValueExists("StreetComponents")) + { + Aws::Utils::Array streetComponentsJsonList = jsonValue.GetArray("StreetComponents"); + for(unsigned streetComponentsIndex = 0; streetComponentsIndex < streetComponentsJsonList.GetLength(); ++streetComponentsIndex) + { + m_streetComponents.push_back(streetComponentsJsonList[streetComponentsIndex].AsObject()); + } + m_streetComponentsHasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressNumber")) + { + m_addressNumber = jsonValue.GetString("AddressNumber"); + + m_addressNumberHasBeenSet = true; + } + + if(jsonValue.ValueExists("Building")) + { + m_building = jsonValue.GetString("Building"); + + m_buildingHasBeenSet = true; + } + + return *this; +} + +JsonValue Address::Jsonize() const +{ + JsonValue payload; + + if(m_labelHasBeenSet) + { + payload.WithString("Label", m_label); + + } + + if(m_countryHasBeenSet) + { + payload.WithObject("Country", m_country.Jsonize()); + + } + + if(m_regionHasBeenSet) + { + payload.WithObject("Region", m_region.Jsonize()); + + } + + if(m_subRegionHasBeenSet) + { + payload.WithObject("SubRegion", m_subRegion.Jsonize()); + + } + + if(m_localityHasBeenSet) + { + payload.WithString("Locality", m_locality); + + } + + if(m_districtHasBeenSet) + { + payload.WithString("District", m_district); + + } + + if(m_subDistrictHasBeenSet) + { + payload.WithString("SubDistrict", m_subDistrict); + + } + + if(m_postalCodeHasBeenSet) + { + payload.WithString("PostalCode", m_postalCode); + + } + + if(m_blockHasBeenSet) + { + payload.WithString("Block", m_block); + + } + + if(m_subBlockHasBeenSet) + { + payload.WithString("SubBlock", m_subBlock); + + } + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsString(m_intersection[intersectionIndex]); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_streetHasBeenSet) + { + payload.WithString("Street", m_street); + + } + + if(m_streetComponentsHasBeenSet) + { + Aws::Utils::Array streetComponentsJsonList(m_streetComponents.size()); + for(unsigned streetComponentsIndex = 0; streetComponentsIndex < streetComponentsJsonList.GetLength(); ++streetComponentsIndex) + { + streetComponentsJsonList[streetComponentsIndex].AsObject(m_streetComponents[streetComponentsIndex].Jsonize()); + } + payload.WithArray("StreetComponents", std::move(streetComponentsJsonList)); + + } + + if(m_addressNumberHasBeenSet) + { + payload.WithString("AddressNumber", m_addressNumber); + + } + + if(m_buildingHasBeenSet) + { + payload.WithString("Building", m_building); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentMatchScores.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentMatchScores.cpp new file mode 100644 index 00000000000..50984d7124f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentMatchScores.cpp @@ -0,0 +1,232 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +AddressComponentMatchScores::AddressComponentMatchScores() : + m_country(0.0), + m_countryHasBeenSet(false), + m_region(0.0), + m_regionHasBeenSet(false), + m_subRegion(0.0), + m_subRegionHasBeenSet(false), + m_locality(0.0), + m_localityHasBeenSet(false), + m_district(0.0), + m_districtHasBeenSet(false), + m_subDistrict(0.0), + m_subDistrictHasBeenSet(false), + m_postalCode(0.0), + m_postalCodeHasBeenSet(false), + m_block(0.0), + m_blockHasBeenSet(false), + m_subBlock(0.0), + m_subBlockHasBeenSet(false), + m_intersectionHasBeenSet(false), + m_addressNumber(0.0), + m_addressNumberHasBeenSet(false), + m_building(0.0), + m_buildingHasBeenSet(false) +{ +} + +AddressComponentMatchScores::AddressComponentMatchScores(JsonView jsonValue) + : AddressComponentMatchScores() +{ + *this = jsonValue; +} + +AddressComponentMatchScores& AddressComponentMatchScores::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Country")) + { + m_country = jsonValue.GetDouble("Country"); + + m_countryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetDouble("Region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubRegion")) + { + m_subRegion = jsonValue.GetDouble("SubRegion"); + + m_subRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Locality")) + { + m_locality = jsonValue.GetDouble("Locality"); + + m_localityHasBeenSet = true; + } + + if(jsonValue.ValueExists("District")) + { + m_district = jsonValue.GetDouble("District"); + + m_districtHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubDistrict")) + { + m_subDistrict = jsonValue.GetDouble("SubDistrict"); + + m_subDistrictHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostalCode")) + { + m_postalCode = jsonValue.GetDouble("PostalCode"); + + m_postalCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Block")) + { + m_block = jsonValue.GetDouble("Block"); + + m_blockHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubBlock")) + { + m_subBlock = jsonValue.GetDouble("SubBlock"); + + m_subBlockHasBeenSet = true; + } + + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsDouble()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressNumber")) + { + m_addressNumber = jsonValue.GetDouble("AddressNumber"); + + m_addressNumberHasBeenSet = true; + } + + if(jsonValue.ValueExists("Building")) + { + m_building = jsonValue.GetDouble("Building"); + + m_buildingHasBeenSet = true; + } + + return *this; +} + +JsonValue AddressComponentMatchScores::Jsonize() const +{ + JsonValue payload; + + if(m_countryHasBeenSet) + { + payload.WithDouble("Country", m_country); + + } + + if(m_regionHasBeenSet) + { + payload.WithDouble("Region", m_region); + + } + + if(m_subRegionHasBeenSet) + { + payload.WithDouble("SubRegion", m_subRegion); + + } + + if(m_localityHasBeenSet) + { + payload.WithDouble("Locality", m_locality); + + } + + if(m_districtHasBeenSet) + { + payload.WithDouble("District", m_district); + + } + + if(m_subDistrictHasBeenSet) + { + payload.WithDouble("SubDistrict", m_subDistrict); + + } + + if(m_postalCodeHasBeenSet) + { + payload.WithDouble("PostalCode", m_postalCode); + + } + + if(m_blockHasBeenSet) + { + payload.WithDouble("Block", m_block); + + } + + if(m_subBlockHasBeenSet) + { + payload.WithDouble("SubBlock", m_subBlock); + + } + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsDouble(m_intersection[intersectionIndex]); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_addressNumberHasBeenSet) + { + payload.WithDouble("AddressNumber", m_addressNumber); + + } + + if(m_buildingHasBeenSet) + { + payload.WithDouble("Building", m_building); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentPhonemes.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentPhonemes.cpp new file mode 100644 index 00000000000..31a55a7c74d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AddressComponentPhonemes.cpp @@ -0,0 +1,243 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +AddressComponentPhonemes::AddressComponentPhonemes() : + m_countryHasBeenSet(false), + m_regionHasBeenSet(false), + m_subRegionHasBeenSet(false), + m_localityHasBeenSet(false), + m_districtHasBeenSet(false), + m_subDistrictHasBeenSet(false), + m_blockHasBeenSet(false), + m_subBlockHasBeenSet(false), + m_streetHasBeenSet(false) +{ +} + +AddressComponentPhonemes::AddressComponentPhonemes(JsonView jsonValue) + : AddressComponentPhonemes() +{ + *this = jsonValue; +} + +AddressComponentPhonemes& AddressComponentPhonemes::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Country")) + { + Aws::Utils::Array countryJsonList = jsonValue.GetArray("Country"); + for(unsigned countryIndex = 0; countryIndex < countryJsonList.GetLength(); ++countryIndex) + { + m_country.push_back(countryJsonList[countryIndex].AsObject()); + } + m_countryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Region")) + { + Aws::Utils::Array regionJsonList = jsonValue.GetArray("Region"); + for(unsigned regionIndex = 0; regionIndex < regionJsonList.GetLength(); ++regionIndex) + { + m_region.push_back(regionJsonList[regionIndex].AsObject()); + } + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubRegion")) + { + Aws::Utils::Array subRegionJsonList = jsonValue.GetArray("SubRegion"); + for(unsigned subRegionIndex = 0; subRegionIndex < subRegionJsonList.GetLength(); ++subRegionIndex) + { + m_subRegion.push_back(subRegionJsonList[subRegionIndex].AsObject()); + } + m_subRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Locality")) + { + Aws::Utils::Array localityJsonList = jsonValue.GetArray("Locality"); + for(unsigned localityIndex = 0; localityIndex < localityJsonList.GetLength(); ++localityIndex) + { + m_locality.push_back(localityJsonList[localityIndex].AsObject()); + } + m_localityHasBeenSet = true; + } + + if(jsonValue.ValueExists("District")) + { + Aws::Utils::Array districtJsonList = jsonValue.GetArray("District"); + for(unsigned districtIndex = 0; districtIndex < districtJsonList.GetLength(); ++districtIndex) + { + m_district.push_back(districtJsonList[districtIndex].AsObject()); + } + m_districtHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubDistrict")) + { + Aws::Utils::Array subDistrictJsonList = jsonValue.GetArray("SubDistrict"); + for(unsigned subDistrictIndex = 0; subDistrictIndex < subDistrictJsonList.GetLength(); ++subDistrictIndex) + { + m_subDistrict.push_back(subDistrictJsonList[subDistrictIndex].AsObject()); + } + m_subDistrictHasBeenSet = true; + } + + if(jsonValue.ValueExists("Block")) + { + Aws::Utils::Array blockJsonList = jsonValue.GetArray("Block"); + for(unsigned blockIndex = 0; blockIndex < blockJsonList.GetLength(); ++blockIndex) + { + m_block.push_back(blockJsonList[blockIndex].AsObject()); + } + m_blockHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubBlock")) + { + Aws::Utils::Array subBlockJsonList = jsonValue.GetArray("SubBlock"); + for(unsigned subBlockIndex = 0; subBlockIndex < subBlockJsonList.GetLength(); ++subBlockIndex) + { + m_subBlock.push_back(subBlockJsonList[subBlockIndex].AsObject()); + } + m_subBlockHasBeenSet = true; + } + + if(jsonValue.ValueExists("Street")) + { + Aws::Utils::Array streetJsonList = jsonValue.GetArray("Street"); + for(unsigned streetIndex = 0; streetIndex < streetJsonList.GetLength(); ++streetIndex) + { + m_street.push_back(streetJsonList[streetIndex].AsObject()); + } + m_streetHasBeenSet = true; + } + + return *this; +} + +JsonValue AddressComponentPhonemes::Jsonize() const +{ + JsonValue payload; + + if(m_countryHasBeenSet) + { + Aws::Utils::Array countryJsonList(m_country.size()); + for(unsigned countryIndex = 0; countryIndex < countryJsonList.GetLength(); ++countryIndex) + { + countryJsonList[countryIndex].AsObject(m_country[countryIndex].Jsonize()); + } + payload.WithArray("Country", std::move(countryJsonList)); + + } + + if(m_regionHasBeenSet) + { + Aws::Utils::Array regionJsonList(m_region.size()); + for(unsigned regionIndex = 0; regionIndex < regionJsonList.GetLength(); ++regionIndex) + { + regionJsonList[regionIndex].AsObject(m_region[regionIndex].Jsonize()); + } + payload.WithArray("Region", std::move(regionJsonList)); + + } + + if(m_subRegionHasBeenSet) + { + Aws::Utils::Array subRegionJsonList(m_subRegion.size()); + for(unsigned subRegionIndex = 0; subRegionIndex < subRegionJsonList.GetLength(); ++subRegionIndex) + { + subRegionJsonList[subRegionIndex].AsObject(m_subRegion[subRegionIndex].Jsonize()); + } + payload.WithArray("SubRegion", std::move(subRegionJsonList)); + + } + + if(m_localityHasBeenSet) + { + Aws::Utils::Array localityJsonList(m_locality.size()); + for(unsigned localityIndex = 0; localityIndex < localityJsonList.GetLength(); ++localityIndex) + { + localityJsonList[localityIndex].AsObject(m_locality[localityIndex].Jsonize()); + } + payload.WithArray("Locality", std::move(localityJsonList)); + + } + + if(m_districtHasBeenSet) + { + Aws::Utils::Array districtJsonList(m_district.size()); + for(unsigned districtIndex = 0; districtIndex < districtJsonList.GetLength(); ++districtIndex) + { + districtJsonList[districtIndex].AsObject(m_district[districtIndex].Jsonize()); + } + payload.WithArray("District", std::move(districtJsonList)); + + } + + if(m_subDistrictHasBeenSet) + { + Aws::Utils::Array subDistrictJsonList(m_subDistrict.size()); + for(unsigned subDistrictIndex = 0; subDistrictIndex < subDistrictJsonList.GetLength(); ++subDistrictIndex) + { + subDistrictJsonList[subDistrictIndex].AsObject(m_subDistrict[subDistrictIndex].Jsonize()); + } + payload.WithArray("SubDistrict", std::move(subDistrictJsonList)); + + } + + if(m_blockHasBeenSet) + { + Aws::Utils::Array blockJsonList(m_block.size()); + for(unsigned blockIndex = 0; blockIndex < blockJsonList.GetLength(); ++blockIndex) + { + blockJsonList[blockIndex].AsObject(m_block[blockIndex].Jsonize()); + } + payload.WithArray("Block", std::move(blockJsonList)); + + } + + if(m_subBlockHasBeenSet) + { + Aws::Utils::Array subBlockJsonList(m_subBlock.size()); + for(unsigned subBlockIndex = 0; subBlockIndex < subBlockJsonList.GetLength(); ++subBlockIndex) + { + subBlockJsonList[subBlockIndex].AsObject(m_subBlock[subBlockIndex].Jsonize()); + } + payload.WithArray("SubBlock", std::move(subBlockJsonList)); + + } + + if(m_streetHasBeenSet) + { + Aws::Utils::Array streetJsonList(m_street.size()); + for(unsigned streetIndex = 0; streetIndex < streetJsonList.GetLength(); ++streetIndex) + { + streetJsonList[streetIndex].AsObject(m_street[streetIndex].Jsonize()); + } + payload.WithArray("Street", std::move(streetJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteAdditionalFeature.cpp new file mode 100644 index 00000000000..60aa1bf570c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteAdditionalFeature.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace AutocompleteAdditionalFeatureMapper + { + + static const int Core_HASH = HashingUtils::HashString("Core"); + + + AutocompleteAdditionalFeature GetAutocompleteAdditionalFeatureForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Core_HASH) + { + return AutocompleteAdditionalFeature::Core; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AutocompleteAdditionalFeature::NOT_SET; + } + + Aws::String GetNameForAutocompleteAdditionalFeature(AutocompleteAdditionalFeature enumValue) + { + switch(enumValue) + { + case AutocompleteAdditionalFeature::NOT_SET: + return {}; + case AutocompleteAdditionalFeature::Core: + return "Core"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AutocompleteAdditionalFeatureMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteAddressHighlights.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteAddressHighlights.cpp new file mode 100644 index 00000000000..8d110d5075d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteAddressHighlights.cpp @@ -0,0 +1,341 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +AutocompleteAddressHighlights::AutocompleteAddressHighlights() : + m_labelHasBeenSet(false), + m_countryHasBeenSet(false), + m_regionHasBeenSet(false), + m_subRegionHasBeenSet(false), + m_localityHasBeenSet(false), + m_districtHasBeenSet(false), + m_subDistrictHasBeenSet(false), + m_streetHasBeenSet(false), + m_blockHasBeenSet(false), + m_subBlockHasBeenSet(false), + m_intersectionHasBeenSet(false), + m_postalCodeHasBeenSet(false), + m_addressNumberHasBeenSet(false), + m_buildingHasBeenSet(false) +{ +} + +AutocompleteAddressHighlights::AutocompleteAddressHighlights(JsonView jsonValue) + : AutocompleteAddressHighlights() +{ + *this = jsonValue; +} + +AutocompleteAddressHighlights& AutocompleteAddressHighlights::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Label")) + { + Aws::Utils::Array labelJsonList = jsonValue.GetArray("Label"); + for(unsigned labelIndex = 0; labelIndex < labelJsonList.GetLength(); ++labelIndex) + { + m_label.push_back(labelJsonList[labelIndex].AsObject()); + } + m_labelHasBeenSet = true; + } + + if(jsonValue.ValueExists("Country")) + { + m_country = jsonValue.GetObject("Country"); + + m_countryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetObject("Region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubRegion")) + { + m_subRegion = jsonValue.GetObject("SubRegion"); + + m_subRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Locality")) + { + Aws::Utils::Array localityJsonList = jsonValue.GetArray("Locality"); + for(unsigned localityIndex = 0; localityIndex < localityJsonList.GetLength(); ++localityIndex) + { + m_locality.push_back(localityJsonList[localityIndex].AsObject()); + } + m_localityHasBeenSet = true; + } + + if(jsonValue.ValueExists("District")) + { + Aws::Utils::Array districtJsonList = jsonValue.GetArray("District"); + for(unsigned districtIndex = 0; districtIndex < districtJsonList.GetLength(); ++districtIndex) + { + m_district.push_back(districtJsonList[districtIndex].AsObject()); + } + m_districtHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubDistrict")) + { + Aws::Utils::Array subDistrictJsonList = jsonValue.GetArray("SubDistrict"); + for(unsigned subDistrictIndex = 0; subDistrictIndex < subDistrictJsonList.GetLength(); ++subDistrictIndex) + { + m_subDistrict.push_back(subDistrictJsonList[subDistrictIndex].AsObject()); + } + m_subDistrictHasBeenSet = true; + } + + if(jsonValue.ValueExists("Street")) + { + Aws::Utils::Array streetJsonList = jsonValue.GetArray("Street"); + for(unsigned streetIndex = 0; streetIndex < streetJsonList.GetLength(); ++streetIndex) + { + m_street.push_back(streetJsonList[streetIndex].AsObject()); + } + m_streetHasBeenSet = true; + } + + if(jsonValue.ValueExists("Block")) + { + Aws::Utils::Array blockJsonList = jsonValue.GetArray("Block"); + for(unsigned blockIndex = 0; blockIndex < blockJsonList.GetLength(); ++blockIndex) + { + m_block.push_back(blockJsonList[blockIndex].AsObject()); + } + m_blockHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubBlock")) + { + Aws::Utils::Array subBlockJsonList = jsonValue.GetArray("SubBlock"); + for(unsigned subBlockIndex = 0; subBlockIndex < subBlockJsonList.GetLength(); ++subBlockIndex) + { + m_subBlock.push_back(subBlockJsonList[subBlockIndex].AsObject()); + } + m_subBlockHasBeenSet = true; + } + + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + Aws::Utils::Array highlightListJsonList = intersectionJsonList[intersectionIndex].AsArray(); + Aws::Vector highlightListList; + highlightListList.reserve((size_t)highlightListJsonList.GetLength()); + for(unsigned highlightListIndex = 0; highlightListIndex < highlightListJsonList.GetLength(); ++highlightListIndex) + { + highlightListList.push_back(highlightListJsonList[highlightListIndex].AsObject()); + } + m_intersection.push_back(std::move(highlightListList)); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostalCode")) + { + Aws::Utils::Array postalCodeJsonList = jsonValue.GetArray("PostalCode"); + for(unsigned postalCodeIndex = 0; postalCodeIndex < postalCodeJsonList.GetLength(); ++postalCodeIndex) + { + m_postalCode.push_back(postalCodeJsonList[postalCodeIndex].AsObject()); + } + m_postalCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressNumber")) + { + Aws::Utils::Array addressNumberJsonList = jsonValue.GetArray("AddressNumber"); + for(unsigned addressNumberIndex = 0; addressNumberIndex < addressNumberJsonList.GetLength(); ++addressNumberIndex) + { + m_addressNumber.push_back(addressNumberJsonList[addressNumberIndex].AsObject()); + } + m_addressNumberHasBeenSet = true; + } + + if(jsonValue.ValueExists("Building")) + { + Aws::Utils::Array buildingJsonList = jsonValue.GetArray("Building"); + for(unsigned buildingIndex = 0; buildingIndex < buildingJsonList.GetLength(); ++buildingIndex) + { + m_building.push_back(buildingJsonList[buildingIndex].AsObject()); + } + m_buildingHasBeenSet = true; + } + + return *this; +} + +JsonValue AutocompleteAddressHighlights::Jsonize() const +{ + JsonValue payload; + + if(m_labelHasBeenSet) + { + Aws::Utils::Array labelJsonList(m_label.size()); + for(unsigned labelIndex = 0; labelIndex < labelJsonList.GetLength(); ++labelIndex) + { + labelJsonList[labelIndex].AsObject(m_label[labelIndex].Jsonize()); + } + payload.WithArray("Label", std::move(labelJsonList)); + + } + + if(m_countryHasBeenSet) + { + payload.WithObject("Country", m_country.Jsonize()); + + } + + if(m_regionHasBeenSet) + { + payload.WithObject("Region", m_region.Jsonize()); + + } + + if(m_subRegionHasBeenSet) + { + payload.WithObject("SubRegion", m_subRegion.Jsonize()); + + } + + if(m_localityHasBeenSet) + { + Aws::Utils::Array localityJsonList(m_locality.size()); + for(unsigned localityIndex = 0; localityIndex < localityJsonList.GetLength(); ++localityIndex) + { + localityJsonList[localityIndex].AsObject(m_locality[localityIndex].Jsonize()); + } + payload.WithArray("Locality", std::move(localityJsonList)); + + } + + if(m_districtHasBeenSet) + { + Aws::Utils::Array districtJsonList(m_district.size()); + for(unsigned districtIndex = 0; districtIndex < districtJsonList.GetLength(); ++districtIndex) + { + districtJsonList[districtIndex].AsObject(m_district[districtIndex].Jsonize()); + } + payload.WithArray("District", std::move(districtJsonList)); + + } + + if(m_subDistrictHasBeenSet) + { + Aws::Utils::Array subDistrictJsonList(m_subDistrict.size()); + for(unsigned subDistrictIndex = 0; subDistrictIndex < subDistrictJsonList.GetLength(); ++subDistrictIndex) + { + subDistrictJsonList[subDistrictIndex].AsObject(m_subDistrict[subDistrictIndex].Jsonize()); + } + payload.WithArray("SubDistrict", std::move(subDistrictJsonList)); + + } + + if(m_streetHasBeenSet) + { + Aws::Utils::Array streetJsonList(m_street.size()); + for(unsigned streetIndex = 0; streetIndex < streetJsonList.GetLength(); ++streetIndex) + { + streetJsonList[streetIndex].AsObject(m_street[streetIndex].Jsonize()); + } + payload.WithArray("Street", std::move(streetJsonList)); + + } + + if(m_blockHasBeenSet) + { + Aws::Utils::Array blockJsonList(m_block.size()); + for(unsigned blockIndex = 0; blockIndex < blockJsonList.GetLength(); ++blockIndex) + { + blockJsonList[blockIndex].AsObject(m_block[blockIndex].Jsonize()); + } + payload.WithArray("Block", std::move(blockJsonList)); + + } + + if(m_subBlockHasBeenSet) + { + Aws::Utils::Array subBlockJsonList(m_subBlock.size()); + for(unsigned subBlockIndex = 0; subBlockIndex < subBlockJsonList.GetLength(); ++subBlockIndex) + { + subBlockJsonList[subBlockIndex].AsObject(m_subBlock[subBlockIndex].Jsonize()); + } + payload.WithArray("SubBlock", std::move(subBlockJsonList)); + + } + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + Aws::Utils::Array highlightListJsonList(m_intersection[intersectionIndex].size()); + for(unsigned highlightListIndex = 0; highlightListIndex < highlightListJsonList.GetLength(); ++highlightListIndex) + { + highlightListJsonList[highlightListIndex].AsObject(m_intersection[intersectionIndex][highlightListIndex].Jsonize()); + } + intersectionJsonList[intersectionIndex].AsArray(std::move(highlightListJsonList)); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_postalCodeHasBeenSet) + { + Aws::Utils::Array postalCodeJsonList(m_postalCode.size()); + for(unsigned postalCodeIndex = 0; postalCodeIndex < postalCodeJsonList.GetLength(); ++postalCodeIndex) + { + postalCodeJsonList[postalCodeIndex].AsObject(m_postalCode[postalCodeIndex].Jsonize()); + } + payload.WithArray("PostalCode", std::move(postalCodeJsonList)); + + } + + if(m_addressNumberHasBeenSet) + { + Aws::Utils::Array addressNumberJsonList(m_addressNumber.size()); + for(unsigned addressNumberIndex = 0; addressNumberIndex < addressNumberJsonList.GetLength(); ++addressNumberIndex) + { + addressNumberJsonList[addressNumberIndex].AsObject(m_addressNumber[addressNumberIndex].Jsonize()); + } + payload.WithArray("AddressNumber", std::move(addressNumberJsonList)); + + } + + if(m_buildingHasBeenSet) + { + Aws::Utils::Array buildingJsonList(m_building.size()); + for(unsigned buildingIndex = 0; buildingIndex < buildingJsonList.GetLength(); ++buildingIndex) + { + buildingJsonList[buildingIndex].AsObject(m_building[buildingIndex].Jsonize()); + } + payload.WithArray("Building", std::move(buildingJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteFilter.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteFilter.cpp new file mode 100644 index 00000000000..e4952382f04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteFilter.cpp @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +AutocompleteFilter::AutocompleteFilter() : + m_boundingBoxHasBeenSet(false), + m_circleHasBeenSet(false), + m_includeCountriesHasBeenSet(false), + m_includePlaceTypesHasBeenSet(false) +{ +} + +AutocompleteFilter::AutocompleteFilter(JsonView jsonValue) + : AutocompleteFilter() +{ + *this = jsonValue; +} + +AutocompleteFilter& AutocompleteFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BoundingBox")) + { + Aws::Utils::Array boundingBoxJsonList = jsonValue.GetArray("BoundingBox"); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + m_boundingBox.push_back(boundingBoxJsonList[boundingBoxIndex].AsDouble()); + } + m_boundingBoxHasBeenSet = true; + } + + if(jsonValue.ValueExists("Circle")) + { + m_circle = jsonValue.GetObject("Circle"); + + m_circleHasBeenSet = true; + } + + if(jsonValue.ValueExists("IncludeCountries")) + { + Aws::Utils::Array includeCountriesJsonList = jsonValue.GetArray("IncludeCountries"); + for(unsigned includeCountriesIndex = 0; includeCountriesIndex < includeCountriesJsonList.GetLength(); ++includeCountriesIndex) + { + m_includeCountries.push_back(includeCountriesJsonList[includeCountriesIndex].AsString()); + } + m_includeCountriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("IncludePlaceTypes")) + { + Aws::Utils::Array includePlaceTypesJsonList = jsonValue.GetArray("IncludePlaceTypes"); + for(unsigned includePlaceTypesIndex = 0; includePlaceTypesIndex < includePlaceTypesJsonList.GetLength(); ++includePlaceTypesIndex) + { + m_includePlaceTypes.push_back(AutocompleteFilterPlaceTypeMapper::GetAutocompleteFilterPlaceTypeForName(includePlaceTypesJsonList[includePlaceTypesIndex].AsString())); + } + m_includePlaceTypesHasBeenSet = true; + } + + return *this; +} + +JsonValue AutocompleteFilter::Jsonize() const +{ + JsonValue payload; + + if(m_boundingBoxHasBeenSet) + { + Aws::Utils::Array boundingBoxJsonList(m_boundingBox.size()); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + boundingBoxJsonList[boundingBoxIndex].AsDouble(m_boundingBox[boundingBoxIndex]); + } + payload.WithArray("BoundingBox", std::move(boundingBoxJsonList)); + + } + + if(m_circleHasBeenSet) + { + payload.WithObject("Circle", m_circle.Jsonize()); + + } + + if(m_includeCountriesHasBeenSet) + { + Aws::Utils::Array includeCountriesJsonList(m_includeCountries.size()); + for(unsigned includeCountriesIndex = 0; includeCountriesIndex < includeCountriesJsonList.GetLength(); ++includeCountriesIndex) + { + includeCountriesJsonList[includeCountriesIndex].AsString(m_includeCountries[includeCountriesIndex]); + } + payload.WithArray("IncludeCountries", std::move(includeCountriesJsonList)); + + } + + if(m_includePlaceTypesHasBeenSet) + { + Aws::Utils::Array includePlaceTypesJsonList(m_includePlaceTypes.size()); + for(unsigned includePlaceTypesIndex = 0; includePlaceTypesIndex < includePlaceTypesJsonList.GetLength(); ++includePlaceTypesIndex) + { + includePlaceTypesJsonList[includePlaceTypesIndex].AsString(AutocompleteFilterPlaceTypeMapper::GetNameForAutocompleteFilterPlaceType(m_includePlaceTypes[includePlaceTypesIndex])); + } + payload.WithArray("IncludePlaceTypes", std::move(includePlaceTypesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteFilterPlaceType.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteFilterPlaceType.cpp new file mode 100644 index 00000000000..64cc524d0d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteFilterPlaceType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace AutocompleteFilterPlaceTypeMapper + { + + static const int Locality_HASH = HashingUtils::HashString("Locality"); + static const int PostalCode_HASH = HashingUtils::HashString("PostalCode"); + + + AutocompleteFilterPlaceType GetAutocompleteFilterPlaceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Locality_HASH) + { + return AutocompleteFilterPlaceType::Locality; + } + else if (hashCode == PostalCode_HASH) + { + return AutocompleteFilterPlaceType::PostalCode; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AutocompleteFilterPlaceType::NOT_SET; + } + + Aws::String GetNameForAutocompleteFilterPlaceType(AutocompleteFilterPlaceType enumValue) + { + switch(enumValue) + { + case AutocompleteFilterPlaceType::NOT_SET: + return {}; + case AutocompleteFilterPlaceType::Locality: + return "Locality"; + case AutocompleteFilterPlaceType::PostalCode: + return "PostalCode"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AutocompleteFilterPlaceTypeMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteHighlights.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteHighlights.cpp new file mode 100644 index 00000000000..19a3f368c3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteHighlights.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +AutocompleteHighlights::AutocompleteHighlights() : + m_titleHasBeenSet(false), + m_addressHasBeenSet(false) +{ +} + +AutocompleteHighlights::AutocompleteHighlights(JsonView jsonValue) + : AutocompleteHighlights() +{ + *this = jsonValue; +} + +AutocompleteHighlights& AutocompleteHighlights::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Title")) + { + Aws::Utils::Array titleJsonList = jsonValue.GetArray("Title"); + for(unsigned titleIndex = 0; titleIndex < titleJsonList.GetLength(); ++titleIndex) + { + m_title.push_back(titleJsonList[titleIndex].AsObject()); + } + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + + m_addressHasBeenSet = true; + } + + return *this; +} + +JsonValue AutocompleteHighlights::Jsonize() const +{ + JsonValue payload; + + if(m_titleHasBeenSet) + { + Aws::Utils::Array titleJsonList(m_title.size()); + for(unsigned titleIndex = 0; titleIndex < titleJsonList.GetLength(); ++titleIndex) + { + titleJsonList[titleIndex].AsObject(m_title[titleIndex].Jsonize()); + } + payload.WithArray("Title", std::move(titleJsonList)); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteIntendedUse.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteIntendedUse.cpp new file mode 100644 index 00000000000..3cab317f469 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteIntendedUse.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace AutocompleteIntendedUseMapper + { + + static const int SingleUse_HASH = HashingUtils::HashString("SingleUse"); + + + AutocompleteIntendedUse GetAutocompleteIntendedUseForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SingleUse_HASH) + { + return AutocompleteIntendedUse::SingleUse; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AutocompleteIntendedUse::NOT_SET; + } + + Aws::String GetNameForAutocompleteIntendedUse(AutocompleteIntendedUse enumValue) + { + switch(enumValue) + { + case AutocompleteIntendedUse::NOT_SET: + return {}; + case AutocompleteIntendedUse::SingleUse: + return "SingleUse"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AutocompleteIntendedUseMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteRequest.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteRequest.cpp new file mode 100644 index 00000000000..666115b9618 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteRequest.cpp @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +AutocompleteRequest::AutocompleteRequest() : + m_queryTextHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_biasPositionHasBeenSet(false), + m_filterHasBeenSet(false), + m_postalCodeMode(PostalCodeMode::NOT_SET), + m_postalCodeModeHasBeenSet(false), + m_additionalFeaturesHasBeenSet(false), + m_languageHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_intendedUse(AutocompleteIntendedUse::NOT_SET), + m_intendedUseHasBeenSet(false), + m_keyHasBeenSet(false) +{ +} + +Aws::String AutocompleteRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_queryTextHasBeenSet) + { + payload.WithString("QueryText", m_queryText); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_biasPositionHasBeenSet) + { + Aws::Utils::Array biasPositionJsonList(m_biasPosition.size()); + for(unsigned biasPositionIndex = 0; biasPositionIndex < biasPositionJsonList.GetLength(); ++biasPositionIndex) + { + biasPositionJsonList[biasPositionIndex].AsDouble(m_biasPosition[biasPositionIndex]); + } + payload.WithArray("BiasPosition", std::move(biasPositionJsonList)); + + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + if(m_postalCodeModeHasBeenSet) + { + payload.WithString("PostalCodeMode", PostalCodeModeMapper::GetNameForPostalCodeMode(m_postalCodeMode)); + } + + if(m_additionalFeaturesHasBeenSet) + { + Aws::Utils::Array additionalFeaturesJsonList(m_additionalFeatures.size()); + for(unsigned additionalFeaturesIndex = 0; additionalFeaturesIndex < additionalFeaturesJsonList.GetLength(); ++additionalFeaturesIndex) + { + additionalFeaturesJsonList[additionalFeaturesIndex].AsString(AutocompleteAdditionalFeatureMapper::GetNameForAutocompleteAdditionalFeature(m_additionalFeatures[additionalFeaturesIndex])); + } + payload.WithArray("AdditionalFeatures", std::move(additionalFeaturesJsonList)); + + } + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + if(m_intendedUseHasBeenSet) + { + payload.WithString("IntendedUse", AutocompleteIntendedUseMapper::GetNameForAutocompleteIntendedUse(m_intendedUse)); + } + + return payload.View().WriteReadable(); +} + +void AutocompleteRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteResult.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteResult.cpp new file mode 100644 index 00000000000..4b02940583c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +AutocompleteResult::AutocompleteResult() +{ +} + +AutocompleteResult::AutocompleteResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +AutocompleteResult& AutocompleteResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ResultItems")) + { + Aws::Utils::Array resultItemsJsonList = jsonValue.GetArray("ResultItems"); + for(unsigned resultItemsIndex = 0; resultItemsIndex < resultItemsJsonList.GetLength(); ++resultItemsIndex) + { + m_resultItems.push_back(resultItemsJsonList[resultItemsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteResultItem.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteResultItem.cpp new file mode 100644 index 00000000000..48d99377bb1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/AutocompleteResultItem.cpp @@ -0,0 +1,158 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +AutocompleteResultItem::AutocompleteResultItem() : + m_placeIdHasBeenSet(false), + m_placeType(PlaceType::NOT_SET), + m_placeTypeHasBeenSet(false), + m_titleHasBeenSet(false), + m_addressHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_languageHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_highlightsHasBeenSet(false) +{ +} + +AutocompleteResultItem::AutocompleteResultItem(JsonView jsonValue) + : AutocompleteResultItem() +{ + *this = jsonValue; +} + +AutocompleteResultItem& AutocompleteResultItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PlaceId")) + { + m_placeId = jsonValue.GetString("PlaceId"); + + m_placeIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("PlaceType")) + { + m_placeType = PlaceTypeMapper::GetPlaceTypeForName(jsonValue.GetString("PlaceType")); + + m_placeTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + + m_addressHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Language")) + { + m_language = jsonValue.GetString("Language"); + + m_languageHasBeenSet = true; + } + + if(jsonValue.ValueExists("PoliticalView")) + { + m_politicalView = jsonValue.GetString("PoliticalView"); + + m_politicalViewHasBeenSet = true; + } + + if(jsonValue.ValueExists("Highlights")) + { + m_highlights = jsonValue.GetObject("Highlights"); + + m_highlightsHasBeenSet = true; + } + + return *this; +} + +JsonValue AutocompleteResultItem::Jsonize() const +{ + JsonValue payload; + + if(m_placeIdHasBeenSet) + { + payload.WithString("PlaceId", m_placeId); + + } + + if(m_placeTypeHasBeenSet) + { + payload.WithString("PlaceType", PlaceTypeMapper::GetNameForPlaceType(m_placeType)); + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + if(m_highlightsHasBeenSet) + { + payload.WithObject("Highlights", m_highlights.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/BusinessChain.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/BusinessChain.cpp new file mode 100644 index 00000000000..19b3299f4d8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/BusinessChain.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +BusinessChain::BusinessChain() : + m_nameHasBeenSet(false), + m_idHasBeenSet(false) +{ +} + +BusinessChain::BusinessChain(JsonView jsonValue) + : BusinessChain() +{ + *this = jsonValue; +} + +BusinessChain& BusinessChain::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + return *this; +} + +JsonValue BusinessChain::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/Category.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/Category.cpp new file mode 100644 index 00000000000..b6ac4dd8517 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/Category.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +Category::Category() : + m_idHasBeenSet(false), + m_nameHasBeenSet(false), + m_localizedNameHasBeenSet(false), + m_primary(false), + m_primaryHasBeenSet(false) +{ +} + +Category::Category(JsonView jsonValue) + : Category() +{ + *this = jsonValue; +} + +Category& Category::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("LocalizedName")) + { + m_localizedName = jsonValue.GetString("LocalizedName"); + + m_localizedNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Primary")) + { + m_primary = jsonValue.GetBool("Primary"); + + m_primaryHasBeenSet = true; + } + + return *this; +} + +JsonValue Category::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_localizedNameHasBeenSet) + { + payload.WithString("LocalizedName", m_localizedName); + + } + + if(m_primaryHasBeenSet) + { + payload.WithBool("Primary", m_primary); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ComponentMatchScores.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ComponentMatchScores.cpp new file mode 100644 index 00000000000..27f4d9b6e98 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ComponentMatchScores.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +ComponentMatchScores::ComponentMatchScores() : + m_title(0.0), + m_titleHasBeenSet(false), + m_addressHasBeenSet(false) +{ +} + +ComponentMatchScores::ComponentMatchScores(JsonView jsonValue) + : ComponentMatchScores() +{ + *this = jsonValue; +} + +ComponentMatchScores& ComponentMatchScores::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetDouble("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + + m_addressHasBeenSet = true; + } + + return *this; +} + +JsonValue ComponentMatchScores::Jsonize() const +{ + JsonValue payload; + + if(m_titleHasBeenSet) + { + payload.WithDouble("Title", m_title); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ContactDetails.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ContactDetails.cpp new file mode 100644 index 00000000000..65726de0e91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ContactDetails.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +ContactDetails::ContactDetails() : + m_labelHasBeenSet(false), + m_valueHasBeenSet(false), + m_categoriesHasBeenSet(false) +{ +} + +ContactDetails::ContactDetails(JsonView jsonValue) + : ContactDetails() +{ + *this = jsonValue; +} + +ContactDetails& ContactDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Label")) + { + m_label = jsonValue.GetString("Label"); + + m_labelHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + if(jsonValue.ValueExists("Categories")) + { + Aws::Utils::Array categoriesJsonList = jsonValue.GetArray("Categories"); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + m_categories.push_back(categoriesJsonList[categoriesIndex].AsObject()); + } + m_categoriesHasBeenSet = true; + } + + return *this; +} + +JsonValue ContactDetails::Jsonize() const +{ + JsonValue payload; + + if(m_labelHasBeenSet) + { + payload.WithString("Label", m_label); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + if(m_categoriesHasBeenSet) + { + Aws::Utils::Array categoriesJsonList(m_categories.size()); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + categoriesJsonList[categoriesIndex].AsObject(m_categories[categoriesIndex].Jsonize()); + } + payload.WithArray("Categories", std::move(categoriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/Contacts.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/Contacts.cpp new file mode 100644 index 00000000000..5b13f6ef07a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/Contacts.cpp @@ -0,0 +1,133 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +Contacts::Contacts() : + m_phonesHasBeenSet(false), + m_faxesHasBeenSet(false), + m_websitesHasBeenSet(false), + m_emailsHasBeenSet(false) +{ +} + +Contacts::Contacts(JsonView jsonValue) + : Contacts() +{ + *this = jsonValue; +} + +Contacts& Contacts::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Phones")) + { + Aws::Utils::Array phonesJsonList = jsonValue.GetArray("Phones"); + for(unsigned phonesIndex = 0; phonesIndex < phonesJsonList.GetLength(); ++phonesIndex) + { + m_phones.push_back(phonesJsonList[phonesIndex].AsObject()); + } + m_phonesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Faxes")) + { + Aws::Utils::Array faxesJsonList = jsonValue.GetArray("Faxes"); + for(unsigned faxesIndex = 0; faxesIndex < faxesJsonList.GetLength(); ++faxesIndex) + { + m_faxes.push_back(faxesJsonList[faxesIndex].AsObject()); + } + m_faxesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Websites")) + { + Aws::Utils::Array websitesJsonList = jsonValue.GetArray("Websites"); + for(unsigned websitesIndex = 0; websitesIndex < websitesJsonList.GetLength(); ++websitesIndex) + { + m_websites.push_back(websitesJsonList[websitesIndex].AsObject()); + } + m_websitesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Emails")) + { + Aws::Utils::Array emailsJsonList = jsonValue.GetArray("Emails"); + for(unsigned emailsIndex = 0; emailsIndex < emailsJsonList.GetLength(); ++emailsIndex) + { + m_emails.push_back(emailsJsonList[emailsIndex].AsObject()); + } + m_emailsHasBeenSet = true; + } + + return *this; +} + +JsonValue Contacts::Jsonize() const +{ + JsonValue payload; + + if(m_phonesHasBeenSet) + { + Aws::Utils::Array phonesJsonList(m_phones.size()); + for(unsigned phonesIndex = 0; phonesIndex < phonesJsonList.GetLength(); ++phonesIndex) + { + phonesJsonList[phonesIndex].AsObject(m_phones[phonesIndex].Jsonize()); + } + payload.WithArray("Phones", std::move(phonesJsonList)); + + } + + if(m_faxesHasBeenSet) + { + Aws::Utils::Array faxesJsonList(m_faxes.size()); + for(unsigned faxesIndex = 0; faxesIndex < faxesJsonList.GetLength(); ++faxesIndex) + { + faxesJsonList[faxesIndex].AsObject(m_faxes[faxesIndex].Jsonize()); + } + payload.WithArray("Faxes", std::move(faxesJsonList)); + + } + + if(m_websitesHasBeenSet) + { + Aws::Utils::Array websitesJsonList(m_websites.size()); + for(unsigned websitesIndex = 0; websitesIndex < websitesJsonList.GetLength(); ++websitesIndex) + { + websitesJsonList[websitesIndex].AsObject(m_websites[websitesIndex].Jsonize()); + } + payload.WithArray("Websites", std::move(websitesJsonList)); + + } + + if(m_emailsHasBeenSet) + { + Aws::Utils::Array emailsJsonList(m_emails.size()); + for(unsigned emailsIndex = 0; emailsIndex < emailsJsonList.GetLength(); ++emailsIndex) + { + emailsJsonList[emailsIndex].AsObject(m_emails[emailsIndex].Jsonize()); + } + payload.WithArray("Emails", std::move(emailsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/Country.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/Country.cpp new file mode 100644 index 00000000000..bc40491abb2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/Country.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +Country::Country() : + m_code2HasBeenSet(false), + m_code3HasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +Country::Country(JsonView jsonValue) + : Country() +{ + *this = jsonValue; +} + +Country& Country::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code2")) + { + m_code2 = jsonValue.GetString("Code2"); + + m_code2HasBeenSet = true; + } + + if(jsonValue.ValueExists("Code3")) + { + m_code3 = jsonValue.GetString("Code3"); + + m_code3HasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue Country::Jsonize() const +{ + JsonValue payload; + + if(m_code2HasBeenSet) + { + payload.WithString("Code2", m_code2); + + } + + if(m_code3HasBeenSet) + { + payload.WithString("Code3", m_code3); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/CountryHighlights.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/CountryHighlights.cpp new file mode 100644 index 00000000000..7f4fc27a1c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/CountryHighlights.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +CountryHighlights::CountryHighlights() : + m_codeHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +CountryHighlights::CountryHighlights(JsonView jsonValue) + : CountryHighlights() +{ + *this = jsonValue; +} + +CountryHighlights& CountryHighlights::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code")) + { + Aws::Utils::Array codeJsonList = jsonValue.GetArray("Code"); + for(unsigned codeIndex = 0; codeIndex < codeJsonList.GetLength(); ++codeIndex) + { + m_code.push_back(codeJsonList[codeIndex].AsObject()); + } + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + Aws::Utils::Array nameJsonList = jsonValue.GetArray("Name"); + for(unsigned nameIndex = 0; nameIndex < nameJsonList.GetLength(); ++nameIndex) + { + m_name.push_back(nameJsonList[nameIndex].AsObject()); + } + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue CountryHighlights::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + Aws::Utils::Array codeJsonList(m_code.size()); + for(unsigned codeIndex = 0; codeIndex < codeJsonList.GetLength(); ++codeIndex) + { + codeJsonList[codeIndex].AsObject(m_code[codeIndex].Jsonize()); + } + payload.WithArray("Code", std::move(codeJsonList)); + + } + + if(m_nameHasBeenSet) + { + Aws::Utils::Array nameJsonList(m_name.size()); + for(unsigned nameIndex = 0; nameIndex < nameJsonList.GetLength(); ++nameIndex) + { + nameJsonList[nameIndex].AsObject(m_name[nameIndex].Jsonize()); + } + payload.WithArray("Name", std::move(nameJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/FilterCircle.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/FilterCircle.cpp new file mode 100644 index 00000000000..43b24cdaff8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/FilterCircle.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +FilterCircle::FilterCircle() : + m_centerHasBeenSet(false), + m_radius(0), + m_radiusHasBeenSet(false) +{ +} + +FilterCircle::FilterCircle(JsonView jsonValue) + : FilterCircle() +{ + *this = jsonValue; +} + +FilterCircle& FilterCircle::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Center")) + { + Aws::Utils::Array centerJsonList = jsonValue.GetArray("Center"); + for(unsigned centerIndex = 0; centerIndex < centerJsonList.GetLength(); ++centerIndex) + { + m_center.push_back(centerJsonList[centerIndex].AsDouble()); + } + m_centerHasBeenSet = true; + } + + if(jsonValue.ValueExists("Radius")) + { + m_radius = jsonValue.GetInt64("Radius"); + + m_radiusHasBeenSet = true; + } + + return *this; +} + +JsonValue FilterCircle::Jsonize() const +{ + JsonValue payload; + + if(m_centerHasBeenSet) + { + Aws::Utils::Array centerJsonList(m_center.size()); + for(unsigned centerIndex = 0; centerIndex < centerJsonList.GetLength(); ++centerIndex) + { + centerJsonList[centerIndex].AsDouble(m_center[centerIndex]); + } + payload.WithArray("Center", std::move(centerJsonList)); + + } + + if(m_radiusHasBeenSet) + { + payload.WithInt64("Radius", m_radius); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/FoodType.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/FoodType.cpp new file mode 100644 index 00000000000..e53e55bfc92 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/FoodType.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +FoodType::FoodType() : + m_localizedNameHasBeenSet(false), + m_idHasBeenSet(false), + m_primary(false), + m_primaryHasBeenSet(false) +{ +} + +FoodType::FoodType(JsonView jsonValue) + : FoodType() +{ + *this = jsonValue; +} + +FoodType& FoodType::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LocalizedName")) + { + m_localizedName = jsonValue.GetString("LocalizedName"); + + m_localizedNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("Primary")) + { + m_primary = jsonValue.GetBool("Primary"); + + m_primaryHasBeenSet = true; + } + + return *this; +} + +JsonValue FoodType::Jsonize() const +{ + JsonValue payload; + + if(m_localizedNameHasBeenSet) + { + payload.WithString("LocalizedName", m_localizedName); + + } + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_primaryHasBeenSet) + { + payload.WithBool("Primary", m_primary); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeAdditionalFeature.cpp new file mode 100644 index 00000000000..7dbed83759b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeAdditionalFeature.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace GeocodeAdditionalFeatureMapper + { + + static const int TimeZone_HASH = HashingUtils::HashString("TimeZone"); + static const int Access_HASH = HashingUtils::HashString("Access"); + + + GeocodeAdditionalFeature GetGeocodeAdditionalFeatureForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TimeZone_HASH) + { + return GeocodeAdditionalFeature::TimeZone; + } + else if (hashCode == Access_HASH) + { + return GeocodeAdditionalFeature::Access; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GeocodeAdditionalFeature::NOT_SET; + } + + Aws::String GetNameForGeocodeAdditionalFeature(GeocodeAdditionalFeature enumValue) + { + switch(enumValue) + { + case GeocodeAdditionalFeature::NOT_SET: + return {}; + case GeocodeAdditionalFeature::TimeZone: + return "TimeZone"; + case GeocodeAdditionalFeature::Access: + return "Access"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GeocodeAdditionalFeatureMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeFilter.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeFilter.cpp new file mode 100644 index 00000000000..8b979499825 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeFilter.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +GeocodeFilter::GeocodeFilter() : + m_includeCountriesHasBeenSet(false), + m_includePlaceTypesHasBeenSet(false) +{ +} + +GeocodeFilter::GeocodeFilter(JsonView jsonValue) + : GeocodeFilter() +{ + *this = jsonValue; +} + +GeocodeFilter& GeocodeFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IncludeCountries")) + { + Aws::Utils::Array includeCountriesJsonList = jsonValue.GetArray("IncludeCountries"); + for(unsigned includeCountriesIndex = 0; includeCountriesIndex < includeCountriesJsonList.GetLength(); ++includeCountriesIndex) + { + m_includeCountries.push_back(includeCountriesJsonList[includeCountriesIndex].AsString()); + } + m_includeCountriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("IncludePlaceTypes")) + { + Aws::Utils::Array includePlaceTypesJsonList = jsonValue.GetArray("IncludePlaceTypes"); + for(unsigned includePlaceTypesIndex = 0; includePlaceTypesIndex < includePlaceTypesJsonList.GetLength(); ++includePlaceTypesIndex) + { + m_includePlaceTypes.push_back(GeocodeFilterPlaceTypeMapper::GetGeocodeFilterPlaceTypeForName(includePlaceTypesJsonList[includePlaceTypesIndex].AsString())); + } + m_includePlaceTypesHasBeenSet = true; + } + + return *this; +} + +JsonValue GeocodeFilter::Jsonize() const +{ + JsonValue payload; + + if(m_includeCountriesHasBeenSet) + { + Aws::Utils::Array includeCountriesJsonList(m_includeCountries.size()); + for(unsigned includeCountriesIndex = 0; includeCountriesIndex < includeCountriesJsonList.GetLength(); ++includeCountriesIndex) + { + includeCountriesJsonList[includeCountriesIndex].AsString(m_includeCountries[includeCountriesIndex]); + } + payload.WithArray("IncludeCountries", std::move(includeCountriesJsonList)); + + } + + if(m_includePlaceTypesHasBeenSet) + { + Aws::Utils::Array includePlaceTypesJsonList(m_includePlaceTypes.size()); + for(unsigned includePlaceTypesIndex = 0; includePlaceTypesIndex < includePlaceTypesJsonList.GetLength(); ++includePlaceTypesIndex) + { + includePlaceTypesJsonList[includePlaceTypesIndex].AsString(GeocodeFilterPlaceTypeMapper::GetNameForGeocodeFilterPlaceType(m_includePlaceTypes[includePlaceTypesIndex])); + } + payload.WithArray("IncludePlaceTypes", std::move(includePlaceTypesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeFilterPlaceType.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeFilterPlaceType.cpp new file mode 100644 index 00000000000..0b3f3ee59f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeFilterPlaceType.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace GeocodeFilterPlaceTypeMapper + { + + static const int Locality_HASH = HashingUtils::HashString("Locality"); + static const int PostalCode_HASH = HashingUtils::HashString("PostalCode"); + static const int Intersection_HASH = HashingUtils::HashString("Intersection"); + static const int Street_HASH = HashingUtils::HashString("Street"); + static const int PointAddress_HASH = HashingUtils::HashString("PointAddress"); + static const int InterpolatedAddress_HASH = HashingUtils::HashString("InterpolatedAddress"); + + + GeocodeFilterPlaceType GetGeocodeFilterPlaceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Locality_HASH) + { + return GeocodeFilterPlaceType::Locality; + } + else if (hashCode == PostalCode_HASH) + { + return GeocodeFilterPlaceType::PostalCode; + } + else if (hashCode == Intersection_HASH) + { + return GeocodeFilterPlaceType::Intersection; + } + else if (hashCode == Street_HASH) + { + return GeocodeFilterPlaceType::Street; + } + else if (hashCode == PointAddress_HASH) + { + return GeocodeFilterPlaceType::PointAddress; + } + else if (hashCode == InterpolatedAddress_HASH) + { + return GeocodeFilterPlaceType::InterpolatedAddress; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GeocodeFilterPlaceType::NOT_SET; + } + + Aws::String GetNameForGeocodeFilterPlaceType(GeocodeFilterPlaceType enumValue) + { + switch(enumValue) + { + case GeocodeFilterPlaceType::NOT_SET: + return {}; + case GeocodeFilterPlaceType::Locality: + return "Locality"; + case GeocodeFilterPlaceType::PostalCode: + return "PostalCode"; + case GeocodeFilterPlaceType::Intersection: + return "Intersection"; + case GeocodeFilterPlaceType::Street: + return "Street"; + case GeocodeFilterPlaceType::PointAddress: + return "PointAddress"; + case GeocodeFilterPlaceType::InterpolatedAddress: + return "InterpolatedAddress"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GeocodeFilterPlaceTypeMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeIntendedUse.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeIntendedUse.cpp new file mode 100644 index 00000000000..db3c7d672ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeIntendedUse.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace GeocodeIntendedUseMapper + { + + static const int SingleUse_HASH = HashingUtils::HashString("SingleUse"); + static const int Storage_HASH = HashingUtils::HashString("Storage"); + + + GeocodeIntendedUse GetGeocodeIntendedUseForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SingleUse_HASH) + { + return GeocodeIntendedUse::SingleUse; + } + else if (hashCode == Storage_HASH) + { + return GeocodeIntendedUse::Storage; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GeocodeIntendedUse::NOT_SET; + } + + Aws::String GetNameForGeocodeIntendedUse(GeocodeIntendedUse enumValue) + { + switch(enumValue) + { + case GeocodeIntendedUse::NOT_SET: + return {}; + case GeocodeIntendedUse::SingleUse: + return "SingleUse"; + case GeocodeIntendedUse::Storage: + return "Storage"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GeocodeIntendedUseMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeQueryComponents.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeQueryComponents.cpp new file mode 100644 index 00000000000..1f354fbc579 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeQueryComponents.cpp @@ -0,0 +1,157 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +GeocodeQueryComponents::GeocodeQueryComponents() : + m_countryHasBeenSet(false), + m_regionHasBeenSet(false), + m_subRegionHasBeenSet(false), + m_localityHasBeenSet(false), + m_districtHasBeenSet(false), + m_streetHasBeenSet(false), + m_addressNumberHasBeenSet(false), + m_postalCodeHasBeenSet(false) +{ +} + +GeocodeQueryComponents::GeocodeQueryComponents(JsonView jsonValue) + : GeocodeQueryComponents() +{ + *this = jsonValue; +} + +GeocodeQueryComponents& GeocodeQueryComponents::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Country")) + { + m_country = jsonValue.GetString("Country"); + + m_countryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetString("Region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubRegion")) + { + m_subRegion = jsonValue.GetString("SubRegion"); + + m_subRegionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Locality")) + { + m_locality = jsonValue.GetString("Locality"); + + m_localityHasBeenSet = true; + } + + if(jsonValue.ValueExists("District")) + { + m_district = jsonValue.GetString("District"); + + m_districtHasBeenSet = true; + } + + if(jsonValue.ValueExists("Street")) + { + m_street = jsonValue.GetString("Street"); + + m_streetHasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressNumber")) + { + m_addressNumber = jsonValue.GetString("AddressNumber"); + + m_addressNumberHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostalCode")) + { + m_postalCode = jsonValue.GetString("PostalCode"); + + m_postalCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue GeocodeQueryComponents::Jsonize() const +{ + JsonValue payload; + + if(m_countryHasBeenSet) + { + payload.WithString("Country", m_country); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("Region", m_region); + + } + + if(m_subRegionHasBeenSet) + { + payload.WithString("SubRegion", m_subRegion); + + } + + if(m_localityHasBeenSet) + { + payload.WithString("Locality", m_locality); + + } + + if(m_districtHasBeenSet) + { + payload.WithString("District", m_district); + + } + + if(m_streetHasBeenSet) + { + payload.WithString("Street", m_street); + + } + + if(m_addressNumberHasBeenSet) + { + payload.WithString("AddressNumber", m_addressNumber); + + } + + if(m_postalCodeHasBeenSet) + { + payload.WithString("PostalCode", m_postalCode); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeRequest.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeRequest.cpp new file mode 100644 index 00000000000..c4e1005adab --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeRequest.cpp @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GeocodeRequest::GeocodeRequest() : + m_queryTextHasBeenSet(false), + m_queryComponentsHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_biasPositionHasBeenSet(false), + m_filterHasBeenSet(false), + m_additionalFeaturesHasBeenSet(false), + m_languageHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_intendedUse(GeocodeIntendedUse::NOT_SET), + m_intendedUseHasBeenSet(false), + m_keyHasBeenSet(false) +{ +} + +Aws::String GeocodeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_queryTextHasBeenSet) + { + payload.WithString("QueryText", m_queryText); + + } + + if(m_queryComponentsHasBeenSet) + { + payload.WithObject("QueryComponents", m_queryComponents.Jsonize()); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_biasPositionHasBeenSet) + { + Aws::Utils::Array biasPositionJsonList(m_biasPosition.size()); + for(unsigned biasPositionIndex = 0; biasPositionIndex < biasPositionJsonList.GetLength(); ++biasPositionIndex) + { + biasPositionJsonList[biasPositionIndex].AsDouble(m_biasPosition[biasPositionIndex]); + } + payload.WithArray("BiasPosition", std::move(biasPositionJsonList)); + + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + if(m_additionalFeaturesHasBeenSet) + { + Aws::Utils::Array additionalFeaturesJsonList(m_additionalFeatures.size()); + for(unsigned additionalFeaturesIndex = 0; additionalFeaturesIndex < additionalFeaturesJsonList.GetLength(); ++additionalFeaturesIndex) + { + additionalFeaturesJsonList[additionalFeaturesIndex].AsString(GeocodeAdditionalFeatureMapper::GetNameForGeocodeAdditionalFeature(m_additionalFeatures[additionalFeaturesIndex])); + } + payload.WithArray("AdditionalFeatures", std::move(additionalFeaturesJsonList)); + + } + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + if(m_intendedUseHasBeenSet) + { + payload.WithString("IntendedUse", GeocodeIntendedUseMapper::GetNameForGeocodeIntendedUse(m_intendedUse)); + } + + return payload.View().WriteReadable(); +} + +void GeocodeRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResult.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResult.cpp new file mode 100644 index 00000000000..30d99ad1271 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GeocodeResult::GeocodeResult() +{ +} + +GeocodeResult::GeocodeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GeocodeResult& GeocodeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ResultItems")) + { + Aws::Utils::Array resultItemsJsonList = jsonValue.GetArray("ResultItems"); + for(unsigned resultItemsIndex = 0; resultItemsIndex < resultItemsJsonList.GetLength(); ++resultItemsIndex) + { + m_resultItems.push_back(resultItemsJsonList[resultItemsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResultItem.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResultItem.cpp new file mode 100644 index 00000000000..b8779e9802e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GeocodeResultItem.cpp @@ -0,0 +1,305 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +GeocodeResultItem::GeocodeResultItem() : + m_placeIdHasBeenSet(false), + m_placeType(PlaceType::NOT_SET), + m_placeTypeHasBeenSet(false), + m_titleHasBeenSet(false), + m_addressHasBeenSet(false), + m_addressNumberCorrected(false), + m_addressNumberCorrectedHasBeenSet(false), + m_postalCodeDetailsHasBeenSet(false), + m_positionHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_mapViewHasBeenSet(false), + m_categoriesHasBeenSet(false), + m_foodTypesHasBeenSet(false), + m_accessPointsHasBeenSet(false), + m_timeZoneHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_matchScoresHasBeenSet(false) +{ +} + +GeocodeResultItem::GeocodeResultItem(JsonView jsonValue) + : GeocodeResultItem() +{ + *this = jsonValue; +} + +GeocodeResultItem& GeocodeResultItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PlaceId")) + { + m_placeId = jsonValue.GetString("PlaceId"); + + m_placeIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("PlaceType")) + { + m_placeType = PlaceTypeMapper::GetPlaceTypeForName(jsonValue.GetString("PlaceType")); + + m_placeTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + + m_addressHasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressNumberCorrected")) + { + m_addressNumberCorrected = jsonValue.GetBool("AddressNumberCorrected"); + + m_addressNumberCorrectedHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostalCodeDetails")) + { + Aws::Utils::Array postalCodeDetailsJsonList = jsonValue.GetArray("PostalCodeDetails"); + for(unsigned postalCodeDetailsIndex = 0; postalCodeDetailsIndex < postalCodeDetailsJsonList.GetLength(); ++postalCodeDetailsIndex) + { + m_postalCodeDetails.push_back(postalCodeDetailsJsonList[postalCodeDetailsIndex].AsObject()); + } + m_postalCodeDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("MapView")) + { + Aws::Utils::Array mapViewJsonList = jsonValue.GetArray("MapView"); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + m_mapView.push_back(mapViewJsonList[mapViewIndex].AsDouble()); + } + m_mapViewHasBeenSet = true; + } + + if(jsonValue.ValueExists("Categories")) + { + Aws::Utils::Array categoriesJsonList = jsonValue.GetArray("Categories"); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + m_categories.push_back(categoriesJsonList[categoriesIndex].AsObject()); + } + m_categoriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("FoodTypes")) + { + Aws::Utils::Array foodTypesJsonList = jsonValue.GetArray("FoodTypes"); + for(unsigned foodTypesIndex = 0; foodTypesIndex < foodTypesJsonList.GetLength(); ++foodTypesIndex) + { + m_foodTypes.push_back(foodTypesJsonList[foodTypesIndex].AsObject()); + } + m_foodTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("AccessPoints")) + { + Aws::Utils::Array accessPointsJsonList = jsonValue.GetArray("AccessPoints"); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + m_accessPoints.push_back(accessPointsJsonList[accessPointsIndex].AsObject()); + } + m_accessPointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TimeZone")) + { + m_timeZone = jsonValue.GetObject("TimeZone"); + + m_timeZoneHasBeenSet = true; + } + + if(jsonValue.ValueExists("PoliticalView")) + { + m_politicalView = jsonValue.GetString("PoliticalView"); + + m_politicalViewHasBeenSet = true; + } + + if(jsonValue.ValueExists("MatchScores")) + { + m_matchScores = jsonValue.GetObject("MatchScores"); + + m_matchScoresHasBeenSet = true; + } + + return *this; +} + +JsonValue GeocodeResultItem::Jsonize() const +{ + JsonValue payload; + + if(m_placeIdHasBeenSet) + { + payload.WithString("PlaceId", m_placeId); + + } + + if(m_placeTypeHasBeenSet) + { + payload.WithString("PlaceType", PlaceTypeMapper::GetNameForPlaceType(m_placeType)); + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + if(m_addressNumberCorrectedHasBeenSet) + { + payload.WithBool("AddressNumberCorrected", m_addressNumberCorrected); + + } + + if(m_postalCodeDetailsHasBeenSet) + { + Aws::Utils::Array postalCodeDetailsJsonList(m_postalCodeDetails.size()); + for(unsigned postalCodeDetailsIndex = 0; postalCodeDetailsIndex < postalCodeDetailsJsonList.GetLength(); ++postalCodeDetailsIndex) + { + postalCodeDetailsJsonList[postalCodeDetailsIndex].AsObject(m_postalCodeDetails[postalCodeDetailsIndex].Jsonize()); + } + payload.WithArray("PostalCodeDetails", std::move(postalCodeDetailsJsonList)); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_mapViewHasBeenSet) + { + Aws::Utils::Array mapViewJsonList(m_mapView.size()); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + mapViewJsonList[mapViewIndex].AsDouble(m_mapView[mapViewIndex]); + } + payload.WithArray("MapView", std::move(mapViewJsonList)); + + } + + if(m_categoriesHasBeenSet) + { + Aws::Utils::Array categoriesJsonList(m_categories.size()); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + categoriesJsonList[categoriesIndex].AsObject(m_categories[categoriesIndex].Jsonize()); + } + payload.WithArray("Categories", std::move(categoriesJsonList)); + + } + + if(m_foodTypesHasBeenSet) + { + Aws::Utils::Array foodTypesJsonList(m_foodTypes.size()); + for(unsigned foodTypesIndex = 0; foodTypesIndex < foodTypesJsonList.GetLength(); ++foodTypesIndex) + { + foodTypesJsonList[foodTypesIndex].AsObject(m_foodTypes[foodTypesIndex].Jsonize()); + } + payload.WithArray("FoodTypes", std::move(foodTypesJsonList)); + + } + + if(m_accessPointsHasBeenSet) + { + Aws::Utils::Array accessPointsJsonList(m_accessPoints.size()); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + accessPointsJsonList[accessPointsIndex].AsObject(m_accessPoints[accessPointsIndex].Jsonize()); + } + payload.WithArray("AccessPoints", std::move(accessPointsJsonList)); + + } + + if(m_timeZoneHasBeenSet) + { + payload.WithObject("TimeZone", m_timeZone.Jsonize()); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + if(m_matchScoresHasBeenSet) + { + payload.WithObject("MatchScores", m_matchScores.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceAdditionalFeature.cpp new file mode 100644 index 00000000000..32ed9e37e75 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceAdditionalFeature.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace GetPlaceAdditionalFeatureMapper + { + + static const int TimeZone_HASH = HashingUtils::HashString("TimeZone"); + static const int Phonemes_HASH = HashingUtils::HashString("Phonemes"); + static const int Access_HASH = HashingUtils::HashString("Access"); + static const int Contact_HASH = HashingUtils::HashString("Contact"); + + + GetPlaceAdditionalFeature GetGetPlaceAdditionalFeatureForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TimeZone_HASH) + { + return GetPlaceAdditionalFeature::TimeZone; + } + else if (hashCode == Phonemes_HASH) + { + return GetPlaceAdditionalFeature::Phonemes; + } + else if (hashCode == Access_HASH) + { + return GetPlaceAdditionalFeature::Access; + } + else if (hashCode == Contact_HASH) + { + return GetPlaceAdditionalFeature::Contact; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GetPlaceAdditionalFeature::NOT_SET; + } + + Aws::String GetNameForGetPlaceAdditionalFeature(GetPlaceAdditionalFeature enumValue) + { + switch(enumValue) + { + case GetPlaceAdditionalFeature::NOT_SET: + return {}; + case GetPlaceAdditionalFeature::TimeZone: + return "TimeZone"; + case GetPlaceAdditionalFeature::Phonemes: + return "Phonemes"; + case GetPlaceAdditionalFeature::Access: + return "Access"; + case GetPlaceAdditionalFeature::Contact: + return "Contact"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GetPlaceAdditionalFeatureMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceIntendedUse.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceIntendedUse.cpp new file mode 100644 index 00000000000..dace4914a14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceIntendedUse.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace GetPlaceIntendedUseMapper + { + + static const int SingleUse_HASH = HashingUtils::HashString("SingleUse"); + static const int Storage_HASH = HashingUtils::HashString("Storage"); + + + GetPlaceIntendedUse GetGetPlaceIntendedUseForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SingleUse_HASH) + { + return GetPlaceIntendedUse::SingleUse; + } + else if (hashCode == Storage_HASH) + { + return GetPlaceIntendedUse::Storage; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GetPlaceIntendedUse::NOT_SET; + } + + Aws::String GetNameForGetPlaceIntendedUse(GetPlaceIntendedUse enumValue) + { + switch(enumValue) + { + case GetPlaceIntendedUse::NOT_SET: + return {}; + case GetPlaceIntendedUse::SingleUse: + return "SingleUse"; + case GetPlaceIntendedUse::Storage: + return "Storage"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GetPlaceIntendedUseMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceRequest.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceRequest.cpp new file mode 100644 index 00000000000..3ff3306868f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceRequest.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +GetPlaceRequest::GetPlaceRequest() : + m_placeIdHasBeenSet(false), + m_additionalFeaturesHasBeenSet(false), + m_languageHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_intendedUse(GetPlaceIntendedUse::NOT_SET), + m_intendedUseHasBeenSet(false), + m_keyHasBeenSet(false) +{ +} + +Aws::String GetPlaceRequest::SerializePayload() const +{ + return {}; +} + +void GetPlaceRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_additionalFeaturesHasBeenSet) + { + for(const auto& item : m_additionalFeatures) + { + ss << GetPlaceAdditionalFeatureMapper::GetNameForGetPlaceAdditionalFeature(item); + uri.AddQueryStringParameter("additional-features", ss.str()); + ss.str(""); + } + } + + if(m_languageHasBeenSet) + { + ss << m_language; + uri.AddQueryStringParameter("language", ss.str()); + ss.str(""); + } + + if(m_politicalViewHasBeenSet) + { + ss << m_politicalView; + uri.AddQueryStringParameter("political-view", ss.str()); + ss.str(""); + } + + if(m_intendedUseHasBeenSet) + { + ss << GetPlaceIntendedUseMapper::GetNameForGetPlaceIntendedUse(m_intendedUse); + uri.AddQueryStringParameter("intended-use", ss.str()); + ss.str(""); + } + + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceResult.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceResult.cpp new file mode 100644 index 00000000000..fbba6ec4783 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/GetPlaceResult.cpp @@ -0,0 +1,186 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetPlaceResult::GetPlaceResult() : + m_placeType(PlaceType::NOT_SET), + m_addressNumberCorrected(false) +{ +} + +GetPlaceResult::GetPlaceResult(const Aws::AmazonWebServiceResult& result) + : GetPlaceResult() +{ + *this = result; +} + +GetPlaceResult& GetPlaceResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("PlaceId")) + { + m_placeId = jsonValue.GetString("PlaceId"); + + } + + if(jsonValue.ValueExists("PlaceType")) + { + m_placeType = PlaceTypeMapper::GetPlaceTypeForName(jsonValue.GetString("PlaceType")); + + } + + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + } + + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + + } + + if(jsonValue.ValueExists("AddressNumberCorrected")) + { + m_addressNumberCorrected = jsonValue.GetBool("AddressNumberCorrected"); + + } + + if(jsonValue.ValueExists("PostalCodeDetails")) + { + Aws::Utils::Array postalCodeDetailsJsonList = jsonValue.GetArray("PostalCodeDetails"); + for(unsigned postalCodeDetailsIndex = 0; postalCodeDetailsIndex < postalCodeDetailsJsonList.GetLength(); ++postalCodeDetailsIndex) + { + m_postalCodeDetails.push_back(postalCodeDetailsJsonList[postalCodeDetailsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + } + + if(jsonValue.ValueExists("MapView")) + { + Aws::Utils::Array mapViewJsonList = jsonValue.GetArray("MapView"); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + m_mapView.push_back(mapViewJsonList[mapViewIndex].AsDouble()); + } + } + + if(jsonValue.ValueExists("Categories")) + { + Aws::Utils::Array categoriesJsonList = jsonValue.GetArray("Categories"); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + m_categories.push_back(categoriesJsonList[categoriesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("FoodTypes")) + { + Aws::Utils::Array foodTypesJsonList = jsonValue.GetArray("FoodTypes"); + for(unsigned foodTypesIndex = 0; foodTypesIndex < foodTypesJsonList.GetLength(); ++foodTypesIndex) + { + m_foodTypes.push_back(foodTypesJsonList[foodTypesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("BusinessChains")) + { + Aws::Utils::Array businessChainsJsonList = jsonValue.GetArray("BusinessChains"); + for(unsigned businessChainsIndex = 0; businessChainsIndex < businessChainsJsonList.GetLength(); ++businessChainsIndex) + { + m_businessChains.push_back(businessChainsJsonList[businessChainsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("Contacts")) + { + m_contacts = jsonValue.GetObject("Contacts"); + + } + + if(jsonValue.ValueExists("OpeningHours")) + { + Aws::Utils::Array openingHoursJsonList = jsonValue.GetArray("OpeningHours"); + for(unsigned openingHoursIndex = 0; openingHoursIndex < openingHoursJsonList.GetLength(); ++openingHoursIndex) + { + m_openingHours.push_back(openingHoursJsonList[openingHoursIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("AccessPoints")) + { + Aws::Utils::Array accessPointsJsonList = jsonValue.GetArray("AccessPoints"); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + m_accessPoints.push_back(accessPointsJsonList[accessPointsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("AccessRestrictions")) + { + Aws::Utils::Array accessRestrictionsJsonList = jsonValue.GetArray("AccessRestrictions"); + for(unsigned accessRestrictionsIndex = 0; accessRestrictionsIndex < accessRestrictionsJsonList.GetLength(); ++accessRestrictionsIndex) + { + m_accessRestrictions.push_back(accessRestrictionsJsonList[accessRestrictionsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("TimeZone")) + { + m_timeZone = jsonValue.GetObject("TimeZone"); + + } + + if(jsonValue.ValueExists("PoliticalView")) + { + m_politicalView = jsonValue.GetString("PoliticalView"); + + } + + if(jsonValue.ValueExists("Phonemes")) + { + m_phonemes = jsonValue.GetObject("Phonemes"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/Highlight.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/Highlight.cpp new file mode 100644 index 00000000000..f63f3afb5a4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/Highlight.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +Highlight::Highlight() : + m_startIndex(0), + m_startIndexHasBeenSet(false), + m_endIndex(0), + m_endIndexHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +Highlight::Highlight(JsonView jsonValue) + : Highlight() +{ + *this = jsonValue; +} + +Highlight& Highlight::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("StartIndex")) + { + m_startIndex = jsonValue.GetInteger("StartIndex"); + + m_startIndexHasBeenSet = true; + } + + if(jsonValue.ValueExists("EndIndex")) + { + m_endIndex = jsonValue.GetInteger("EndIndex"); + + m_endIndexHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue Highlight::Jsonize() const +{ + JsonValue payload; + + if(m_startIndexHasBeenSet) + { + payload.WithInteger("StartIndex", m_startIndex); + + } + + if(m_endIndexHasBeenSet) + { + payload.WithInteger("EndIndex", m_endIndex); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/MatchScoreDetails.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/MatchScoreDetails.cpp new file mode 100644 index 00000000000..4086ba9f12e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/MatchScoreDetails.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +MatchScoreDetails::MatchScoreDetails() : + m_overall(0.0), + m_overallHasBeenSet(false), + m_componentsHasBeenSet(false) +{ +} + +MatchScoreDetails::MatchScoreDetails(JsonView jsonValue) + : MatchScoreDetails() +{ + *this = jsonValue; +} + +MatchScoreDetails& MatchScoreDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Overall")) + { + m_overall = jsonValue.GetDouble("Overall"); + + m_overallHasBeenSet = true; + } + + if(jsonValue.ValueExists("Components")) + { + m_components = jsonValue.GetObject("Components"); + + m_componentsHasBeenSet = true; + } + + return *this; +} + +JsonValue MatchScoreDetails::Jsonize() const +{ + JsonValue payload; + + if(m_overallHasBeenSet) + { + payload.WithDouble("Overall", m_overall); + + } + + if(m_componentsHasBeenSet) + { + payload.WithObject("Components", m_components.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/OpeningHours.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/OpeningHours.cpp new file mode 100644 index 00000000000..022d350783a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/OpeningHours.cpp @@ -0,0 +1,126 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +OpeningHours::OpeningHours() : + m_displayHasBeenSet(false), + m_openNow(false), + m_openNowHasBeenSet(false), + m_componentsHasBeenSet(false), + m_categoriesHasBeenSet(false) +{ +} + +OpeningHours::OpeningHours(JsonView jsonValue) + : OpeningHours() +{ + *this = jsonValue; +} + +OpeningHours& OpeningHours::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Display")) + { + Aws::Utils::Array displayJsonList = jsonValue.GetArray("Display"); + for(unsigned displayIndex = 0; displayIndex < displayJsonList.GetLength(); ++displayIndex) + { + m_display.push_back(displayJsonList[displayIndex].AsString()); + } + m_displayHasBeenSet = true; + } + + if(jsonValue.ValueExists("OpenNow")) + { + m_openNow = jsonValue.GetBool("OpenNow"); + + m_openNowHasBeenSet = true; + } + + if(jsonValue.ValueExists("Components")) + { + Aws::Utils::Array componentsJsonList = jsonValue.GetArray("Components"); + for(unsigned componentsIndex = 0; componentsIndex < componentsJsonList.GetLength(); ++componentsIndex) + { + m_components.push_back(componentsJsonList[componentsIndex].AsObject()); + } + m_componentsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Categories")) + { + Aws::Utils::Array categoriesJsonList = jsonValue.GetArray("Categories"); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + m_categories.push_back(categoriesJsonList[categoriesIndex].AsObject()); + } + m_categoriesHasBeenSet = true; + } + + return *this; +} + +JsonValue OpeningHours::Jsonize() const +{ + JsonValue payload; + + if(m_displayHasBeenSet) + { + Aws::Utils::Array displayJsonList(m_display.size()); + for(unsigned displayIndex = 0; displayIndex < displayJsonList.GetLength(); ++displayIndex) + { + displayJsonList[displayIndex].AsString(m_display[displayIndex]); + } + payload.WithArray("Display", std::move(displayJsonList)); + + } + + if(m_openNowHasBeenSet) + { + payload.WithBool("OpenNow", m_openNow); + + } + + if(m_componentsHasBeenSet) + { + Aws::Utils::Array componentsJsonList(m_components.size()); + for(unsigned componentsIndex = 0; componentsIndex < componentsJsonList.GetLength(); ++componentsIndex) + { + componentsJsonList[componentsIndex].AsObject(m_components[componentsIndex].Jsonize()); + } + payload.WithArray("Components", std::move(componentsJsonList)); + + } + + if(m_categoriesHasBeenSet) + { + Aws::Utils::Array categoriesJsonList(m_categories.size()); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + categoriesJsonList[categoriesIndex].AsObject(m_categories[categoriesIndex].Jsonize()); + } + payload.WithArray("Categories", std::move(categoriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/OpeningHoursComponents.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/OpeningHoursComponents.cpp new file mode 100644 index 00000000000..5cf833ab800 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/OpeningHoursComponents.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +OpeningHoursComponents::OpeningHoursComponents() : + m_openTimeHasBeenSet(false), + m_openDurationHasBeenSet(false), + m_recurrenceHasBeenSet(false) +{ +} + +OpeningHoursComponents::OpeningHoursComponents(JsonView jsonValue) + : OpeningHoursComponents() +{ + *this = jsonValue; +} + +OpeningHoursComponents& OpeningHoursComponents::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("OpenTime")) + { + m_openTime = jsonValue.GetString("OpenTime"); + + m_openTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("OpenDuration")) + { + m_openDuration = jsonValue.GetString("OpenDuration"); + + m_openDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Recurrence")) + { + m_recurrence = jsonValue.GetString("Recurrence"); + + m_recurrenceHasBeenSet = true; + } + + return *this; +} + +JsonValue OpeningHoursComponents::Jsonize() const +{ + JsonValue payload; + + if(m_openTimeHasBeenSet) + { + payload.WithString("OpenTime", m_openTime); + + } + + if(m_openDurationHasBeenSet) + { + payload.WithString("OpenDuration", m_openDuration); + + } + + if(m_recurrenceHasBeenSet) + { + payload.WithString("Recurrence", m_recurrence); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/PhonemeDetails.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/PhonemeDetails.cpp new file mode 100644 index 00000000000..1c73d2e158d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/PhonemeDetails.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +PhonemeDetails::PhonemeDetails() : + m_titleHasBeenSet(false), + m_addressHasBeenSet(false) +{ +} + +PhonemeDetails::PhonemeDetails(JsonView jsonValue) + : PhonemeDetails() +{ + *this = jsonValue; +} + +PhonemeDetails& PhonemeDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Title")) + { + Aws::Utils::Array titleJsonList = jsonValue.GetArray("Title"); + for(unsigned titleIndex = 0; titleIndex < titleJsonList.GetLength(); ++titleIndex) + { + m_title.push_back(titleJsonList[titleIndex].AsObject()); + } + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + + m_addressHasBeenSet = true; + } + + return *this; +} + +JsonValue PhonemeDetails::Jsonize() const +{ + JsonValue payload; + + if(m_titleHasBeenSet) + { + Aws::Utils::Array titleJsonList(m_title.size()); + for(unsigned titleIndex = 0; titleIndex < titleJsonList.GetLength(); ++titleIndex) + { + titleJsonList[titleIndex].AsObject(m_title[titleIndex].Jsonize()); + } + payload.WithArray("Title", std::move(titleJsonList)); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/PhonemeTranscription.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/PhonemeTranscription.cpp new file mode 100644 index 00000000000..3f56ced2dc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/PhonemeTranscription.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +PhonemeTranscription::PhonemeTranscription() : + m_valueHasBeenSet(false), + m_languageHasBeenSet(false), + m_preferred(false), + m_preferredHasBeenSet(false) +{ +} + +PhonemeTranscription::PhonemeTranscription(JsonView jsonValue) + : PhonemeTranscription() +{ + *this = jsonValue; +} + +PhonemeTranscription& PhonemeTranscription::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + if(jsonValue.ValueExists("Language")) + { + m_language = jsonValue.GetString("Language"); + + m_languageHasBeenSet = true; + } + + if(jsonValue.ValueExists("Preferred")) + { + m_preferred = jsonValue.GetBool("Preferred"); + + m_preferredHasBeenSet = true; + } + + return *this; +} + +JsonValue PhonemeTranscription::Jsonize() const +{ + JsonValue payload; + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + if(m_preferredHasBeenSet) + { + payload.WithBool("Preferred", m_preferred); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/PlaceType.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/PlaceType.cpp new file mode 100644 index 00000000000..b9e18ce9b97 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/PlaceType.cpp @@ -0,0 +1,156 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace PlaceTypeMapper + { + + static const int Country_HASH = HashingUtils::HashString("Country"); + static const int Region_HASH = HashingUtils::HashString("Region"); + static const int SubRegion_HASH = HashingUtils::HashString("SubRegion"); + static const int Locality_HASH = HashingUtils::HashString("Locality"); + static const int District_HASH = HashingUtils::HashString("District"); + static const int SubDistrict_HASH = HashingUtils::HashString("SubDistrict"); + static const int PostalCode_HASH = HashingUtils::HashString("PostalCode"); + static const int Block_HASH = HashingUtils::HashString("Block"); + static const int SubBlock_HASH = HashingUtils::HashString("SubBlock"); + static const int Intersection_HASH = HashingUtils::HashString("Intersection"); + static const int Street_HASH = HashingUtils::HashString("Street"); + static const int PointOfInterest_HASH = HashingUtils::HashString("PointOfInterest"); + static const int PointAddress_HASH = HashingUtils::HashString("PointAddress"); + static const int InterpolatedAddress_HASH = HashingUtils::HashString("InterpolatedAddress"); + + + PlaceType GetPlaceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Country_HASH) + { + return PlaceType::Country; + } + else if (hashCode == Region_HASH) + { + return PlaceType::Region; + } + else if (hashCode == SubRegion_HASH) + { + return PlaceType::SubRegion; + } + else if (hashCode == Locality_HASH) + { + return PlaceType::Locality; + } + else if (hashCode == District_HASH) + { + return PlaceType::District; + } + else if (hashCode == SubDistrict_HASH) + { + return PlaceType::SubDistrict; + } + else if (hashCode == PostalCode_HASH) + { + return PlaceType::PostalCode; + } + else if (hashCode == Block_HASH) + { + return PlaceType::Block; + } + else if (hashCode == SubBlock_HASH) + { + return PlaceType::SubBlock; + } + else if (hashCode == Intersection_HASH) + { + return PlaceType::Intersection; + } + else if (hashCode == Street_HASH) + { + return PlaceType::Street; + } + else if (hashCode == PointOfInterest_HASH) + { + return PlaceType::PointOfInterest; + } + else if (hashCode == PointAddress_HASH) + { + return PlaceType::PointAddress; + } + else if (hashCode == InterpolatedAddress_HASH) + { + return PlaceType::InterpolatedAddress; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PlaceType::NOT_SET; + } + + Aws::String GetNameForPlaceType(PlaceType enumValue) + { + switch(enumValue) + { + case PlaceType::NOT_SET: + return {}; + case PlaceType::Country: + return "Country"; + case PlaceType::Region: + return "Region"; + case PlaceType::SubRegion: + return "SubRegion"; + case PlaceType::Locality: + return "Locality"; + case PlaceType::District: + return "District"; + case PlaceType::SubDistrict: + return "SubDistrict"; + case PlaceType::PostalCode: + return "PostalCode"; + case PlaceType::Block: + return "Block"; + case PlaceType::SubBlock: + return "SubBlock"; + case PlaceType::Intersection: + return "Intersection"; + case PlaceType::Street: + return "Street"; + case PlaceType::PointOfInterest: + return "PointOfInterest"; + case PlaceType::PointAddress: + return "PointAddress"; + case PlaceType::InterpolatedAddress: + return "InterpolatedAddress"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PlaceTypeMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/PostalAuthority.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/PostalAuthority.cpp new file mode 100644 index 00000000000..4ccee45c136 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/PostalAuthority.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace PostalAuthorityMapper + { + + static const int Usps_HASH = HashingUtils::HashString("Usps"); + + + PostalAuthority GetPostalAuthorityForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Usps_HASH) + { + return PostalAuthority::Usps; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PostalAuthority::NOT_SET; + } + + Aws::String GetNameForPostalAuthority(PostalAuthority enumValue) + { + switch(enumValue) + { + case PostalAuthority::NOT_SET: + return {}; + case PostalAuthority::Usps: + return "Usps"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PostalAuthorityMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/PostalCodeDetails.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/PostalCodeDetails.cpp new file mode 100644 index 00000000000..7312a6bfccc --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/PostalCodeDetails.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +PostalCodeDetails::PostalCodeDetails() : + m_postalCodeHasBeenSet(false), + m_postalAuthority(PostalAuthority::NOT_SET), + m_postalAuthorityHasBeenSet(false), + m_postalCodeType(PostalCodeType::NOT_SET), + m_postalCodeTypeHasBeenSet(false), + m_uspsZipHasBeenSet(false), + m_uspsZipPlus4HasBeenSet(false) +{ +} + +PostalCodeDetails::PostalCodeDetails(JsonView jsonValue) + : PostalCodeDetails() +{ + *this = jsonValue; +} + +PostalCodeDetails& PostalCodeDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PostalCode")) + { + m_postalCode = jsonValue.GetString("PostalCode"); + + m_postalCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostalAuthority")) + { + m_postalAuthority = PostalAuthorityMapper::GetPostalAuthorityForName(jsonValue.GetString("PostalAuthority")); + + m_postalAuthorityHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostalCodeType")) + { + m_postalCodeType = PostalCodeTypeMapper::GetPostalCodeTypeForName(jsonValue.GetString("PostalCodeType")); + + m_postalCodeTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("UspsZip")) + { + m_uspsZip = jsonValue.GetObject("UspsZip"); + + m_uspsZipHasBeenSet = true; + } + + if(jsonValue.ValueExists("UspsZipPlus4")) + { + m_uspsZipPlus4 = jsonValue.GetObject("UspsZipPlus4"); + + m_uspsZipPlus4HasBeenSet = true; + } + + return *this; +} + +JsonValue PostalCodeDetails::Jsonize() const +{ + JsonValue payload; + + if(m_postalCodeHasBeenSet) + { + payload.WithString("PostalCode", m_postalCode); + + } + + if(m_postalAuthorityHasBeenSet) + { + payload.WithString("PostalAuthority", PostalAuthorityMapper::GetNameForPostalAuthority(m_postalAuthority)); + } + + if(m_postalCodeTypeHasBeenSet) + { + payload.WithString("PostalCodeType", PostalCodeTypeMapper::GetNameForPostalCodeType(m_postalCodeType)); + } + + if(m_uspsZipHasBeenSet) + { + payload.WithObject("UspsZip", m_uspsZip.Jsonize()); + + } + + if(m_uspsZipPlus4HasBeenSet) + { + payload.WithObject("UspsZipPlus4", m_uspsZipPlus4.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/PostalCodeMode.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/PostalCodeMode.cpp new file mode 100644 index 00000000000..21d1b51525f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/PostalCodeMode.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace PostalCodeModeMapper + { + + static const int MergeAllSpannedLocalities_HASH = HashingUtils::HashString("MergeAllSpannedLocalities"); + static const int EnumerateSpannedLocalities_HASH = HashingUtils::HashString("EnumerateSpannedLocalities"); + + + PostalCodeMode GetPostalCodeModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == MergeAllSpannedLocalities_HASH) + { + return PostalCodeMode::MergeAllSpannedLocalities; + } + else if (hashCode == EnumerateSpannedLocalities_HASH) + { + return PostalCodeMode::EnumerateSpannedLocalities; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PostalCodeMode::NOT_SET; + } + + Aws::String GetNameForPostalCodeMode(PostalCodeMode enumValue) + { + switch(enumValue) + { + case PostalCodeMode::NOT_SET: + return {}; + case PostalCodeMode::MergeAllSpannedLocalities: + return "MergeAllSpannedLocalities"; + case PostalCodeMode::EnumerateSpannedLocalities: + return "EnumerateSpannedLocalities"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PostalCodeModeMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/PostalCodeType.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/PostalCodeType.cpp new file mode 100644 index 00000000000..b842ac5710f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/PostalCodeType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace PostalCodeTypeMapper + { + + static const int UspsZip_HASH = HashingUtils::HashString("UspsZip"); + static const int UspsZipPlus4_HASH = HashingUtils::HashString("UspsZipPlus4"); + + + PostalCodeType GetPostalCodeTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == UspsZip_HASH) + { + return PostalCodeType::UspsZip; + } + else if (hashCode == UspsZipPlus4_HASH) + { + return PostalCodeType::UspsZipPlus4; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PostalCodeType::NOT_SET; + } + + Aws::String GetNameForPostalCodeType(PostalCodeType enumValue) + { + switch(enumValue) + { + case PostalCodeType::NOT_SET: + return {}; + case PostalCodeType::UspsZip: + return "UspsZip"; + case PostalCodeType::UspsZipPlus4: + return "UspsZipPlus4"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PostalCodeTypeMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/QueryRefinement.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/QueryRefinement.cpp new file mode 100644 index 00000000000..7f87befecca --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/QueryRefinement.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +QueryRefinement::QueryRefinement() : + m_refinedTermHasBeenSet(false), + m_originalTermHasBeenSet(false), + m_startIndex(0), + m_startIndexHasBeenSet(false), + m_endIndex(0), + m_endIndexHasBeenSet(false) +{ +} + +QueryRefinement::QueryRefinement(JsonView jsonValue) + : QueryRefinement() +{ + *this = jsonValue; +} + +QueryRefinement& QueryRefinement::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RefinedTerm")) + { + m_refinedTerm = jsonValue.GetString("RefinedTerm"); + + m_refinedTermHasBeenSet = true; + } + + if(jsonValue.ValueExists("OriginalTerm")) + { + m_originalTerm = jsonValue.GetString("OriginalTerm"); + + m_originalTermHasBeenSet = true; + } + + if(jsonValue.ValueExists("StartIndex")) + { + m_startIndex = jsonValue.GetInteger("StartIndex"); + + m_startIndexHasBeenSet = true; + } + + if(jsonValue.ValueExists("EndIndex")) + { + m_endIndex = jsonValue.GetInteger("EndIndex"); + + m_endIndexHasBeenSet = true; + } + + return *this; +} + +JsonValue QueryRefinement::Jsonize() const +{ + JsonValue payload; + + if(m_refinedTermHasBeenSet) + { + payload.WithString("RefinedTerm", m_refinedTerm); + + } + + if(m_originalTermHasBeenSet) + { + payload.WithString("OriginalTerm", m_originalTerm); + + } + + if(m_startIndexHasBeenSet) + { + payload.WithInteger("StartIndex", m_startIndex); + + } + + if(m_endIndexHasBeenSet) + { + payload.WithInteger("EndIndex", m_endIndex); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/QueryType.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/QueryType.cpp new file mode 100644 index 00000000000..6c236e5ab0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/QueryType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace QueryTypeMapper + { + + static const int Category_HASH = HashingUtils::HashString("Category"); + static const int BusinessChain_HASH = HashingUtils::HashString("BusinessChain"); + + + QueryType GetQueryTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Category_HASH) + { + return QueryType::Category; + } + else if (hashCode == BusinessChain_HASH) + { + return QueryType::BusinessChain; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return QueryType::NOT_SET; + } + + Aws::String GetNameForQueryType(QueryType enumValue) + { + switch(enumValue) + { + case QueryType::NOT_SET: + return {}; + case QueryType::Category: + return "Category"; + case QueryType::BusinessChain: + return "BusinessChain"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace QueryTypeMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/RecordTypeCode.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/RecordTypeCode.cpp new file mode 100644 index 00000000000..e73764f4eb9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/RecordTypeCode.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace RecordTypeCodeMapper + { + + static const int Firm_HASH = HashingUtils::HashString("Firm"); + static const int General_HASH = HashingUtils::HashString("General"); + static const int HighRise_HASH = HashingUtils::HashString("HighRise"); + static const int PostOfficeBox_HASH = HashingUtils::HashString("PostOfficeBox"); + static const int Rural_HASH = HashingUtils::HashString("Rural"); + static const int Street_HASH = HashingUtils::HashString("Street"); + + + RecordTypeCode GetRecordTypeCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Firm_HASH) + { + return RecordTypeCode::Firm; + } + else if (hashCode == General_HASH) + { + return RecordTypeCode::General; + } + else if (hashCode == HighRise_HASH) + { + return RecordTypeCode::HighRise; + } + else if (hashCode == PostOfficeBox_HASH) + { + return RecordTypeCode::PostOfficeBox; + } + else if (hashCode == Rural_HASH) + { + return RecordTypeCode::Rural; + } + else if (hashCode == Street_HASH) + { + return RecordTypeCode::Street; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RecordTypeCode::NOT_SET; + } + + Aws::String GetNameForRecordTypeCode(RecordTypeCode enumValue) + { + switch(enumValue) + { + case RecordTypeCode::NOT_SET: + return {}; + case RecordTypeCode::Firm: + return "Firm"; + case RecordTypeCode::General: + return "General"; + case RecordTypeCode::HighRise: + return "HighRise"; + case RecordTypeCode::PostOfficeBox: + return "PostOfficeBox"; + case RecordTypeCode::Rural: + return "Rural"; + case RecordTypeCode::Street: + return "Street"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RecordTypeCodeMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/Region.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/Region.cpp new file mode 100644 index 00000000000..a1a1e3c315e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/Region.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +Region::Region() : + m_codeHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +Region::Region(JsonView jsonValue) + : Region() +{ + *this = jsonValue; +} + +Region& Region::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue Region::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/RegionHighlights.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/RegionHighlights.cpp new file mode 100644 index 00000000000..8a87b9b2beb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/RegionHighlights.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +RegionHighlights::RegionHighlights() : + m_codeHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +RegionHighlights::RegionHighlights(JsonView jsonValue) + : RegionHighlights() +{ + *this = jsonValue; +} + +RegionHighlights& RegionHighlights::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code")) + { + Aws::Utils::Array codeJsonList = jsonValue.GetArray("Code"); + for(unsigned codeIndex = 0; codeIndex < codeJsonList.GetLength(); ++codeIndex) + { + m_code.push_back(codeJsonList[codeIndex].AsObject()); + } + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + Aws::Utils::Array nameJsonList = jsonValue.GetArray("Name"); + for(unsigned nameIndex = 0; nameIndex < nameJsonList.GetLength(); ++nameIndex) + { + m_name.push_back(nameJsonList[nameIndex].AsObject()); + } + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue RegionHighlights::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + Aws::Utils::Array codeJsonList(m_code.size()); + for(unsigned codeIndex = 0; codeIndex < codeJsonList.GetLength(); ++codeIndex) + { + codeJsonList[codeIndex].AsObject(m_code[codeIndex].Jsonize()); + } + payload.WithArray("Code", std::move(codeJsonList)); + + } + + if(m_nameHasBeenSet) + { + Aws::Utils::Array nameJsonList(m_name.size()); + for(unsigned nameIndex = 0; nameIndex < nameJsonList.GetLength(); ++nameIndex) + { + nameJsonList[nameIndex].AsObject(m_name[nameIndex].Jsonize()); + } + payload.WithArray("Name", std::move(nameJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeAdditionalFeature.cpp new file mode 100644 index 00000000000..44915a73283 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeAdditionalFeature.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace ReverseGeocodeAdditionalFeatureMapper + { + + static const int TimeZone_HASH = HashingUtils::HashString("TimeZone"); + static const int Access_HASH = HashingUtils::HashString("Access"); + + + ReverseGeocodeAdditionalFeature GetReverseGeocodeAdditionalFeatureForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TimeZone_HASH) + { + return ReverseGeocodeAdditionalFeature::TimeZone; + } + else if (hashCode == Access_HASH) + { + return ReverseGeocodeAdditionalFeature::Access; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ReverseGeocodeAdditionalFeature::NOT_SET; + } + + Aws::String GetNameForReverseGeocodeAdditionalFeature(ReverseGeocodeAdditionalFeature enumValue) + { + switch(enumValue) + { + case ReverseGeocodeAdditionalFeature::NOT_SET: + return {}; + case ReverseGeocodeAdditionalFeature::TimeZone: + return "TimeZone"; + case ReverseGeocodeAdditionalFeature::Access: + return "Access"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ReverseGeocodeAdditionalFeatureMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeFilter.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeFilter.cpp new file mode 100644 index 00000000000..b242c971966 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeFilter.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +ReverseGeocodeFilter::ReverseGeocodeFilter() : + m_includePlaceTypesHasBeenSet(false) +{ +} + +ReverseGeocodeFilter::ReverseGeocodeFilter(JsonView jsonValue) + : ReverseGeocodeFilter() +{ + *this = jsonValue; +} + +ReverseGeocodeFilter& ReverseGeocodeFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IncludePlaceTypes")) + { + Aws::Utils::Array includePlaceTypesJsonList = jsonValue.GetArray("IncludePlaceTypes"); + for(unsigned includePlaceTypesIndex = 0; includePlaceTypesIndex < includePlaceTypesJsonList.GetLength(); ++includePlaceTypesIndex) + { + m_includePlaceTypes.push_back(ReverseGeocodeFilterPlaceTypeMapper::GetReverseGeocodeFilterPlaceTypeForName(includePlaceTypesJsonList[includePlaceTypesIndex].AsString())); + } + m_includePlaceTypesHasBeenSet = true; + } + + return *this; +} + +JsonValue ReverseGeocodeFilter::Jsonize() const +{ + JsonValue payload; + + if(m_includePlaceTypesHasBeenSet) + { + Aws::Utils::Array includePlaceTypesJsonList(m_includePlaceTypes.size()); + for(unsigned includePlaceTypesIndex = 0; includePlaceTypesIndex < includePlaceTypesJsonList.GetLength(); ++includePlaceTypesIndex) + { + includePlaceTypesJsonList[includePlaceTypesIndex].AsString(ReverseGeocodeFilterPlaceTypeMapper::GetNameForReverseGeocodeFilterPlaceType(m_includePlaceTypes[includePlaceTypesIndex])); + } + payload.WithArray("IncludePlaceTypes", std::move(includePlaceTypesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeFilterPlaceType.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeFilterPlaceType.cpp new file mode 100644 index 00000000000..e98e736728a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeFilterPlaceType.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace ReverseGeocodeFilterPlaceTypeMapper + { + + static const int Locality_HASH = HashingUtils::HashString("Locality"); + static const int Intersection_HASH = HashingUtils::HashString("Intersection"); + static const int Street_HASH = HashingUtils::HashString("Street"); + static const int PointAddress_HASH = HashingUtils::HashString("PointAddress"); + static const int InterpolatedAddress_HASH = HashingUtils::HashString("InterpolatedAddress"); + + + ReverseGeocodeFilterPlaceType GetReverseGeocodeFilterPlaceTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Locality_HASH) + { + return ReverseGeocodeFilterPlaceType::Locality; + } + else if (hashCode == Intersection_HASH) + { + return ReverseGeocodeFilterPlaceType::Intersection; + } + else if (hashCode == Street_HASH) + { + return ReverseGeocodeFilterPlaceType::Street; + } + else if (hashCode == PointAddress_HASH) + { + return ReverseGeocodeFilterPlaceType::PointAddress; + } + else if (hashCode == InterpolatedAddress_HASH) + { + return ReverseGeocodeFilterPlaceType::InterpolatedAddress; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ReverseGeocodeFilterPlaceType::NOT_SET; + } + + Aws::String GetNameForReverseGeocodeFilterPlaceType(ReverseGeocodeFilterPlaceType enumValue) + { + switch(enumValue) + { + case ReverseGeocodeFilterPlaceType::NOT_SET: + return {}; + case ReverseGeocodeFilterPlaceType::Locality: + return "Locality"; + case ReverseGeocodeFilterPlaceType::Intersection: + return "Intersection"; + case ReverseGeocodeFilterPlaceType::Street: + return "Street"; + case ReverseGeocodeFilterPlaceType::PointAddress: + return "PointAddress"; + case ReverseGeocodeFilterPlaceType::InterpolatedAddress: + return "InterpolatedAddress"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ReverseGeocodeFilterPlaceTypeMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeIntendedUse.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeIntendedUse.cpp new file mode 100644 index 00000000000..cba685563fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeIntendedUse.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace ReverseGeocodeIntendedUseMapper + { + + static const int SingleUse_HASH = HashingUtils::HashString("SingleUse"); + static const int Storage_HASH = HashingUtils::HashString("Storage"); + + + ReverseGeocodeIntendedUse GetReverseGeocodeIntendedUseForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SingleUse_HASH) + { + return ReverseGeocodeIntendedUse::SingleUse; + } + else if (hashCode == Storage_HASH) + { + return ReverseGeocodeIntendedUse::Storage; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ReverseGeocodeIntendedUse::NOT_SET; + } + + Aws::String GetNameForReverseGeocodeIntendedUse(ReverseGeocodeIntendedUse enumValue) + { + switch(enumValue) + { + case ReverseGeocodeIntendedUse::NOT_SET: + return {}; + case ReverseGeocodeIntendedUse::SingleUse: + return "SingleUse"; + case ReverseGeocodeIntendedUse::Storage: + return "Storage"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ReverseGeocodeIntendedUseMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeRequest.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeRequest.cpp new file mode 100644 index 00000000000..50027de4116 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeRequest.cpp @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ReverseGeocodeRequest::ReverseGeocodeRequest() : + m_queryPositionHasBeenSet(false), + m_queryRadius(0), + m_queryRadiusHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_filterHasBeenSet(false), + m_additionalFeaturesHasBeenSet(false), + m_languageHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_intendedUse(ReverseGeocodeIntendedUse::NOT_SET), + m_intendedUseHasBeenSet(false), + m_keyHasBeenSet(false) +{ +} + +Aws::String ReverseGeocodeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_queryPositionHasBeenSet) + { + Aws::Utils::Array queryPositionJsonList(m_queryPosition.size()); + for(unsigned queryPositionIndex = 0; queryPositionIndex < queryPositionJsonList.GetLength(); ++queryPositionIndex) + { + queryPositionJsonList[queryPositionIndex].AsDouble(m_queryPosition[queryPositionIndex]); + } + payload.WithArray("QueryPosition", std::move(queryPositionJsonList)); + + } + + if(m_queryRadiusHasBeenSet) + { + payload.WithInt64("QueryRadius", m_queryRadius); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + if(m_additionalFeaturesHasBeenSet) + { + Aws::Utils::Array additionalFeaturesJsonList(m_additionalFeatures.size()); + for(unsigned additionalFeaturesIndex = 0; additionalFeaturesIndex < additionalFeaturesJsonList.GetLength(); ++additionalFeaturesIndex) + { + additionalFeaturesJsonList[additionalFeaturesIndex].AsString(ReverseGeocodeAdditionalFeatureMapper::GetNameForReverseGeocodeAdditionalFeature(m_additionalFeatures[additionalFeaturesIndex])); + } + payload.WithArray("AdditionalFeatures", std::move(additionalFeaturesJsonList)); + + } + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + if(m_intendedUseHasBeenSet) + { + payload.WithString("IntendedUse", ReverseGeocodeIntendedUseMapper::GetNameForReverseGeocodeIntendedUse(m_intendedUse)); + } + + return payload.View().WriteReadable(); +} + +void ReverseGeocodeRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResult.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResult.cpp new file mode 100644 index 00000000000..150b4555284 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ReverseGeocodeResult::ReverseGeocodeResult() +{ +} + +ReverseGeocodeResult::ReverseGeocodeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ReverseGeocodeResult& ReverseGeocodeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ResultItems")) + { + Aws::Utils::Array resultItemsJsonList = jsonValue.GetArray("ResultItems"); + for(unsigned resultItemsIndex = 0; resultItemsIndex < resultItemsJsonList.GetLength(); ++resultItemsIndex) + { + m_resultItems.push_back(resultItemsJsonList[resultItemsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResultItem.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResultItem.cpp new file mode 100644 index 00000000000..3cd3030d283 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ReverseGeocodeResultItem.cpp @@ -0,0 +1,291 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +ReverseGeocodeResultItem::ReverseGeocodeResultItem() : + m_placeIdHasBeenSet(false), + m_placeType(PlaceType::NOT_SET), + m_placeTypeHasBeenSet(false), + m_titleHasBeenSet(false), + m_addressHasBeenSet(false), + m_addressNumberCorrected(false), + m_addressNumberCorrectedHasBeenSet(false), + m_postalCodeDetailsHasBeenSet(false), + m_positionHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_mapViewHasBeenSet(false), + m_categoriesHasBeenSet(false), + m_foodTypesHasBeenSet(false), + m_accessPointsHasBeenSet(false), + m_timeZoneHasBeenSet(false), + m_politicalViewHasBeenSet(false) +{ +} + +ReverseGeocodeResultItem::ReverseGeocodeResultItem(JsonView jsonValue) + : ReverseGeocodeResultItem() +{ + *this = jsonValue; +} + +ReverseGeocodeResultItem& ReverseGeocodeResultItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PlaceId")) + { + m_placeId = jsonValue.GetString("PlaceId"); + + m_placeIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("PlaceType")) + { + m_placeType = PlaceTypeMapper::GetPlaceTypeForName(jsonValue.GetString("PlaceType")); + + m_placeTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + + m_addressHasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressNumberCorrected")) + { + m_addressNumberCorrected = jsonValue.GetBool("AddressNumberCorrected"); + + m_addressNumberCorrectedHasBeenSet = true; + } + + if(jsonValue.ValueExists("PostalCodeDetails")) + { + Aws::Utils::Array postalCodeDetailsJsonList = jsonValue.GetArray("PostalCodeDetails"); + for(unsigned postalCodeDetailsIndex = 0; postalCodeDetailsIndex < postalCodeDetailsJsonList.GetLength(); ++postalCodeDetailsIndex) + { + m_postalCodeDetails.push_back(postalCodeDetailsJsonList[postalCodeDetailsIndex].AsObject()); + } + m_postalCodeDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("MapView")) + { + Aws::Utils::Array mapViewJsonList = jsonValue.GetArray("MapView"); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + m_mapView.push_back(mapViewJsonList[mapViewIndex].AsDouble()); + } + m_mapViewHasBeenSet = true; + } + + if(jsonValue.ValueExists("Categories")) + { + Aws::Utils::Array categoriesJsonList = jsonValue.GetArray("Categories"); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + m_categories.push_back(categoriesJsonList[categoriesIndex].AsObject()); + } + m_categoriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("FoodTypes")) + { + Aws::Utils::Array foodTypesJsonList = jsonValue.GetArray("FoodTypes"); + for(unsigned foodTypesIndex = 0; foodTypesIndex < foodTypesJsonList.GetLength(); ++foodTypesIndex) + { + m_foodTypes.push_back(foodTypesJsonList[foodTypesIndex].AsObject()); + } + m_foodTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("AccessPoints")) + { + Aws::Utils::Array accessPointsJsonList = jsonValue.GetArray("AccessPoints"); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + m_accessPoints.push_back(accessPointsJsonList[accessPointsIndex].AsObject()); + } + m_accessPointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TimeZone")) + { + m_timeZone = jsonValue.GetObject("TimeZone"); + + m_timeZoneHasBeenSet = true; + } + + if(jsonValue.ValueExists("PoliticalView")) + { + m_politicalView = jsonValue.GetString("PoliticalView"); + + m_politicalViewHasBeenSet = true; + } + + return *this; +} + +JsonValue ReverseGeocodeResultItem::Jsonize() const +{ + JsonValue payload; + + if(m_placeIdHasBeenSet) + { + payload.WithString("PlaceId", m_placeId); + + } + + if(m_placeTypeHasBeenSet) + { + payload.WithString("PlaceType", PlaceTypeMapper::GetNameForPlaceType(m_placeType)); + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + if(m_addressNumberCorrectedHasBeenSet) + { + payload.WithBool("AddressNumberCorrected", m_addressNumberCorrected); + + } + + if(m_postalCodeDetailsHasBeenSet) + { + Aws::Utils::Array postalCodeDetailsJsonList(m_postalCodeDetails.size()); + for(unsigned postalCodeDetailsIndex = 0; postalCodeDetailsIndex < postalCodeDetailsJsonList.GetLength(); ++postalCodeDetailsIndex) + { + postalCodeDetailsJsonList[postalCodeDetailsIndex].AsObject(m_postalCodeDetails[postalCodeDetailsIndex].Jsonize()); + } + payload.WithArray("PostalCodeDetails", std::move(postalCodeDetailsJsonList)); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_mapViewHasBeenSet) + { + Aws::Utils::Array mapViewJsonList(m_mapView.size()); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + mapViewJsonList[mapViewIndex].AsDouble(m_mapView[mapViewIndex]); + } + payload.WithArray("MapView", std::move(mapViewJsonList)); + + } + + if(m_categoriesHasBeenSet) + { + Aws::Utils::Array categoriesJsonList(m_categories.size()); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + categoriesJsonList[categoriesIndex].AsObject(m_categories[categoriesIndex].Jsonize()); + } + payload.WithArray("Categories", std::move(categoriesJsonList)); + + } + + if(m_foodTypesHasBeenSet) + { + Aws::Utils::Array foodTypesJsonList(m_foodTypes.size()); + for(unsigned foodTypesIndex = 0; foodTypesIndex < foodTypesJsonList.GetLength(); ++foodTypesIndex) + { + foodTypesJsonList[foodTypesIndex].AsObject(m_foodTypes[foodTypesIndex].Jsonize()); + } + payload.WithArray("FoodTypes", std::move(foodTypesJsonList)); + + } + + if(m_accessPointsHasBeenSet) + { + Aws::Utils::Array accessPointsJsonList(m_accessPoints.size()); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + accessPointsJsonList[accessPointsIndex].AsObject(m_accessPoints[accessPointsIndex].Jsonize()); + } + payload.WithArray("AccessPoints", std::move(accessPointsJsonList)); + + } + + if(m_timeZoneHasBeenSet) + { + payload.WithObject("TimeZone", m_timeZone.Jsonize()); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyAdditionalFeature.cpp new file mode 100644 index 00000000000..89b91511ade --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyAdditionalFeature.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace SearchNearbyAdditionalFeatureMapper + { + + static const int TimeZone_HASH = HashingUtils::HashString("TimeZone"); + static const int Phonemes_HASH = HashingUtils::HashString("Phonemes"); + static const int Access_HASH = HashingUtils::HashString("Access"); + static const int Contact_HASH = HashingUtils::HashString("Contact"); + + + SearchNearbyAdditionalFeature GetSearchNearbyAdditionalFeatureForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TimeZone_HASH) + { + return SearchNearbyAdditionalFeature::TimeZone; + } + else if (hashCode == Phonemes_HASH) + { + return SearchNearbyAdditionalFeature::Phonemes; + } + else if (hashCode == Access_HASH) + { + return SearchNearbyAdditionalFeature::Access; + } + else if (hashCode == Contact_HASH) + { + return SearchNearbyAdditionalFeature::Contact; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SearchNearbyAdditionalFeature::NOT_SET; + } + + Aws::String GetNameForSearchNearbyAdditionalFeature(SearchNearbyAdditionalFeature enumValue) + { + switch(enumValue) + { + case SearchNearbyAdditionalFeature::NOT_SET: + return {}; + case SearchNearbyAdditionalFeature::TimeZone: + return "TimeZone"; + case SearchNearbyAdditionalFeature::Phonemes: + return "Phonemes"; + case SearchNearbyAdditionalFeature::Access: + return "Access"; + case SearchNearbyAdditionalFeature::Contact: + return "Contact"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SearchNearbyAdditionalFeatureMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyFilter.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyFilter.cpp new file mode 100644 index 00000000000..6ea7f4f9b6b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyFilter.cpp @@ -0,0 +1,221 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SearchNearbyFilter::SearchNearbyFilter() : + m_boundingBoxHasBeenSet(false), + m_includeCountriesHasBeenSet(false), + m_includeCategoriesHasBeenSet(false), + m_excludeCategoriesHasBeenSet(false), + m_includeBusinessChainsHasBeenSet(false), + m_excludeBusinessChainsHasBeenSet(false), + m_includeFoodTypesHasBeenSet(false), + m_excludeFoodTypesHasBeenSet(false) +{ +} + +SearchNearbyFilter::SearchNearbyFilter(JsonView jsonValue) + : SearchNearbyFilter() +{ + *this = jsonValue; +} + +SearchNearbyFilter& SearchNearbyFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BoundingBox")) + { + Aws::Utils::Array boundingBoxJsonList = jsonValue.GetArray("BoundingBox"); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + m_boundingBox.push_back(boundingBoxJsonList[boundingBoxIndex].AsDouble()); + } + m_boundingBoxHasBeenSet = true; + } + + if(jsonValue.ValueExists("IncludeCountries")) + { + Aws::Utils::Array includeCountriesJsonList = jsonValue.GetArray("IncludeCountries"); + for(unsigned includeCountriesIndex = 0; includeCountriesIndex < includeCountriesJsonList.GetLength(); ++includeCountriesIndex) + { + m_includeCountries.push_back(includeCountriesJsonList[includeCountriesIndex].AsString()); + } + m_includeCountriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("IncludeCategories")) + { + Aws::Utils::Array includeCategoriesJsonList = jsonValue.GetArray("IncludeCategories"); + for(unsigned includeCategoriesIndex = 0; includeCategoriesIndex < includeCategoriesJsonList.GetLength(); ++includeCategoriesIndex) + { + m_includeCategories.push_back(includeCategoriesJsonList[includeCategoriesIndex].AsString()); + } + m_includeCategoriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExcludeCategories")) + { + Aws::Utils::Array excludeCategoriesJsonList = jsonValue.GetArray("ExcludeCategories"); + for(unsigned excludeCategoriesIndex = 0; excludeCategoriesIndex < excludeCategoriesJsonList.GetLength(); ++excludeCategoriesIndex) + { + m_excludeCategories.push_back(excludeCategoriesJsonList[excludeCategoriesIndex].AsString()); + } + m_excludeCategoriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("IncludeBusinessChains")) + { + Aws::Utils::Array includeBusinessChainsJsonList = jsonValue.GetArray("IncludeBusinessChains"); + for(unsigned includeBusinessChainsIndex = 0; includeBusinessChainsIndex < includeBusinessChainsJsonList.GetLength(); ++includeBusinessChainsIndex) + { + m_includeBusinessChains.push_back(includeBusinessChainsJsonList[includeBusinessChainsIndex].AsString()); + } + m_includeBusinessChainsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExcludeBusinessChains")) + { + Aws::Utils::Array excludeBusinessChainsJsonList = jsonValue.GetArray("ExcludeBusinessChains"); + for(unsigned excludeBusinessChainsIndex = 0; excludeBusinessChainsIndex < excludeBusinessChainsJsonList.GetLength(); ++excludeBusinessChainsIndex) + { + m_excludeBusinessChains.push_back(excludeBusinessChainsJsonList[excludeBusinessChainsIndex].AsString()); + } + m_excludeBusinessChainsHasBeenSet = true; + } + + if(jsonValue.ValueExists("IncludeFoodTypes")) + { + Aws::Utils::Array includeFoodTypesJsonList = jsonValue.GetArray("IncludeFoodTypes"); + for(unsigned includeFoodTypesIndex = 0; includeFoodTypesIndex < includeFoodTypesJsonList.GetLength(); ++includeFoodTypesIndex) + { + m_includeFoodTypes.push_back(includeFoodTypesJsonList[includeFoodTypesIndex].AsString()); + } + m_includeFoodTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExcludeFoodTypes")) + { + Aws::Utils::Array excludeFoodTypesJsonList = jsonValue.GetArray("ExcludeFoodTypes"); + for(unsigned excludeFoodTypesIndex = 0; excludeFoodTypesIndex < excludeFoodTypesJsonList.GetLength(); ++excludeFoodTypesIndex) + { + m_excludeFoodTypes.push_back(excludeFoodTypesJsonList[excludeFoodTypesIndex].AsString()); + } + m_excludeFoodTypesHasBeenSet = true; + } + + return *this; +} + +JsonValue SearchNearbyFilter::Jsonize() const +{ + JsonValue payload; + + if(m_boundingBoxHasBeenSet) + { + Aws::Utils::Array boundingBoxJsonList(m_boundingBox.size()); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + boundingBoxJsonList[boundingBoxIndex].AsDouble(m_boundingBox[boundingBoxIndex]); + } + payload.WithArray("BoundingBox", std::move(boundingBoxJsonList)); + + } + + if(m_includeCountriesHasBeenSet) + { + Aws::Utils::Array includeCountriesJsonList(m_includeCountries.size()); + for(unsigned includeCountriesIndex = 0; includeCountriesIndex < includeCountriesJsonList.GetLength(); ++includeCountriesIndex) + { + includeCountriesJsonList[includeCountriesIndex].AsString(m_includeCountries[includeCountriesIndex]); + } + payload.WithArray("IncludeCountries", std::move(includeCountriesJsonList)); + + } + + if(m_includeCategoriesHasBeenSet) + { + Aws::Utils::Array includeCategoriesJsonList(m_includeCategories.size()); + for(unsigned includeCategoriesIndex = 0; includeCategoriesIndex < includeCategoriesJsonList.GetLength(); ++includeCategoriesIndex) + { + includeCategoriesJsonList[includeCategoriesIndex].AsString(m_includeCategories[includeCategoriesIndex]); + } + payload.WithArray("IncludeCategories", std::move(includeCategoriesJsonList)); + + } + + if(m_excludeCategoriesHasBeenSet) + { + Aws::Utils::Array excludeCategoriesJsonList(m_excludeCategories.size()); + for(unsigned excludeCategoriesIndex = 0; excludeCategoriesIndex < excludeCategoriesJsonList.GetLength(); ++excludeCategoriesIndex) + { + excludeCategoriesJsonList[excludeCategoriesIndex].AsString(m_excludeCategories[excludeCategoriesIndex]); + } + payload.WithArray("ExcludeCategories", std::move(excludeCategoriesJsonList)); + + } + + if(m_includeBusinessChainsHasBeenSet) + { + Aws::Utils::Array includeBusinessChainsJsonList(m_includeBusinessChains.size()); + for(unsigned includeBusinessChainsIndex = 0; includeBusinessChainsIndex < includeBusinessChainsJsonList.GetLength(); ++includeBusinessChainsIndex) + { + includeBusinessChainsJsonList[includeBusinessChainsIndex].AsString(m_includeBusinessChains[includeBusinessChainsIndex]); + } + payload.WithArray("IncludeBusinessChains", std::move(includeBusinessChainsJsonList)); + + } + + if(m_excludeBusinessChainsHasBeenSet) + { + Aws::Utils::Array excludeBusinessChainsJsonList(m_excludeBusinessChains.size()); + for(unsigned excludeBusinessChainsIndex = 0; excludeBusinessChainsIndex < excludeBusinessChainsJsonList.GetLength(); ++excludeBusinessChainsIndex) + { + excludeBusinessChainsJsonList[excludeBusinessChainsIndex].AsString(m_excludeBusinessChains[excludeBusinessChainsIndex]); + } + payload.WithArray("ExcludeBusinessChains", std::move(excludeBusinessChainsJsonList)); + + } + + if(m_includeFoodTypesHasBeenSet) + { + Aws::Utils::Array includeFoodTypesJsonList(m_includeFoodTypes.size()); + for(unsigned includeFoodTypesIndex = 0; includeFoodTypesIndex < includeFoodTypesJsonList.GetLength(); ++includeFoodTypesIndex) + { + includeFoodTypesJsonList[includeFoodTypesIndex].AsString(m_includeFoodTypes[includeFoodTypesIndex]); + } + payload.WithArray("IncludeFoodTypes", std::move(includeFoodTypesJsonList)); + + } + + if(m_excludeFoodTypesHasBeenSet) + { + Aws::Utils::Array excludeFoodTypesJsonList(m_excludeFoodTypes.size()); + for(unsigned excludeFoodTypesIndex = 0; excludeFoodTypesIndex < excludeFoodTypesJsonList.GetLength(); ++excludeFoodTypesIndex) + { + excludeFoodTypesJsonList[excludeFoodTypesIndex].AsString(m_excludeFoodTypes[excludeFoodTypesIndex]); + } + payload.WithArray("ExcludeFoodTypes", std::move(excludeFoodTypesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyIntendedUse.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyIntendedUse.cpp new file mode 100644 index 00000000000..61001681211 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyIntendedUse.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace SearchNearbyIntendedUseMapper + { + + static const int SingleUse_HASH = HashingUtils::HashString("SingleUse"); + static const int Storage_HASH = HashingUtils::HashString("Storage"); + + + SearchNearbyIntendedUse GetSearchNearbyIntendedUseForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SingleUse_HASH) + { + return SearchNearbyIntendedUse::SingleUse; + } + else if (hashCode == Storage_HASH) + { + return SearchNearbyIntendedUse::Storage; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SearchNearbyIntendedUse::NOT_SET; + } + + Aws::String GetNameForSearchNearbyIntendedUse(SearchNearbyIntendedUse enumValue) + { + switch(enumValue) + { + case SearchNearbyIntendedUse::NOT_SET: + return {}; + case SearchNearbyIntendedUse::SingleUse: + return "SingleUse"; + case SearchNearbyIntendedUse::Storage: + return "Storage"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SearchNearbyIntendedUseMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyRequest.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyRequest.cpp new file mode 100644 index 00000000000..97eaa9e2399 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyRequest.cpp @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +SearchNearbyRequest::SearchNearbyRequest() : + m_queryPositionHasBeenSet(false), + m_queryRadius(0), + m_queryRadiusHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_filterHasBeenSet(false), + m_additionalFeaturesHasBeenSet(false), + m_languageHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_intendedUse(SearchNearbyIntendedUse::NOT_SET), + m_intendedUseHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_keyHasBeenSet(false) +{ +} + +Aws::String SearchNearbyRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_queryPositionHasBeenSet) + { + Aws::Utils::Array queryPositionJsonList(m_queryPosition.size()); + for(unsigned queryPositionIndex = 0; queryPositionIndex < queryPositionJsonList.GetLength(); ++queryPositionIndex) + { + queryPositionJsonList[queryPositionIndex].AsDouble(m_queryPosition[queryPositionIndex]); + } + payload.WithArray("QueryPosition", std::move(queryPositionJsonList)); + + } + + if(m_queryRadiusHasBeenSet) + { + payload.WithInt64("QueryRadius", m_queryRadius); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + if(m_additionalFeaturesHasBeenSet) + { + Aws::Utils::Array additionalFeaturesJsonList(m_additionalFeatures.size()); + for(unsigned additionalFeaturesIndex = 0; additionalFeaturesIndex < additionalFeaturesJsonList.GetLength(); ++additionalFeaturesIndex) + { + additionalFeaturesJsonList[additionalFeaturesIndex].AsString(SearchNearbyAdditionalFeatureMapper::GetNameForSearchNearbyAdditionalFeature(m_additionalFeatures[additionalFeaturesIndex])); + } + payload.WithArray("AdditionalFeatures", std::move(additionalFeaturesJsonList)); + + } + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + if(m_intendedUseHasBeenSet) + { + payload.WithString("IntendedUse", SearchNearbyIntendedUseMapper::GetNameForSearchNearbyIntendedUse(m_intendedUse)); + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +void SearchNearbyRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyResult.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyResult.cpp new file mode 100644 index 00000000000..fcecd7384f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyResult.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +SearchNearbyResult::SearchNearbyResult() +{ +} + +SearchNearbyResult::SearchNearbyResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +SearchNearbyResult& SearchNearbyResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ResultItems")) + { + Aws::Utils::Array resultItemsJsonList = jsonValue.GetArray("ResultItems"); + for(unsigned resultItemsIndex = 0; resultItemsIndex < resultItemsJsonList.GetLength(); ++resultItemsIndex) + { + m_resultItems.push_back(resultItemsJsonList[resultItemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyResultItem.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyResultItem.cpp new file mode 100644 index 00000000000..18e714d9807 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchNearbyResultItem.cpp @@ -0,0 +1,363 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SearchNearbyResultItem::SearchNearbyResultItem() : + m_placeIdHasBeenSet(false), + m_placeType(PlaceType::NOT_SET), + m_placeTypeHasBeenSet(false), + m_titleHasBeenSet(false), + m_addressHasBeenSet(false), + m_addressNumberCorrected(false), + m_addressNumberCorrectedHasBeenSet(false), + m_positionHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_mapViewHasBeenSet(false), + m_categoriesHasBeenSet(false), + m_foodTypesHasBeenSet(false), + m_businessChainsHasBeenSet(false), + m_contactsHasBeenSet(false), + m_openingHoursHasBeenSet(false), + m_accessPointsHasBeenSet(false), + m_accessRestrictionsHasBeenSet(false), + m_timeZoneHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_phonemesHasBeenSet(false) +{ +} + +SearchNearbyResultItem::SearchNearbyResultItem(JsonView jsonValue) + : SearchNearbyResultItem() +{ + *this = jsonValue; +} + +SearchNearbyResultItem& SearchNearbyResultItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PlaceId")) + { + m_placeId = jsonValue.GetString("PlaceId"); + + m_placeIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("PlaceType")) + { + m_placeType = PlaceTypeMapper::GetPlaceTypeForName(jsonValue.GetString("PlaceType")); + + m_placeTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + + m_addressHasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressNumberCorrected")) + { + m_addressNumberCorrected = jsonValue.GetBool("AddressNumberCorrected"); + + m_addressNumberCorrectedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("MapView")) + { + Aws::Utils::Array mapViewJsonList = jsonValue.GetArray("MapView"); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + m_mapView.push_back(mapViewJsonList[mapViewIndex].AsDouble()); + } + m_mapViewHasBeenSet = true; + } + + if(jsonValue.ValueExists("Categories")) + { + Aws::Utils::Array categoriesJsonList = jsonValue.GetArray("Categories"); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + m_categories.push_back(categoriesJsonList[categoriesIndex].AsObject()); + } + m_categoriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("FoodTypes")) + { + Aws::Utils::Array foodTypesJsonList = jsonValue.GetArray("FoodTypes"); + for(unsigned foodTypesIndex = 0; foodTypesIndex < foodTypesJsonList.GetLength(); ++foodTypesIndex) + { + m_foodTypes.push_back(foodTypesJsonList[foodTypesIndex].AsObject()); + } + m_foodTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("BusinessChains")) + { + Aws::Utils::Array businessChainsJsonList = jsonValue.GetArray("BusinessChains"); + for(unsigned businessChainsIndex = 0; businessChainsIndex < businessChainsJsonList.GetLength(); ++businessChainsIndex) + { + m_businessChains.push_back(businessChainsJsonList[businessChainsIndex].AsObject()); + } + m_businessChainsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Contacts")) + { + m_contacts = jsonValue.GetObject("Contacts"); + + m_contactsHasBeenSet = true; + } + + if(jsonValue.ValueExists("OpeningHours")) + { + Aws::Utils::Array openingHoursJsonList = jsonValue.GetArray("OpeningHours"); + for(unsigned openingHoursIndex = 0; openingHoursIndex < openingHoursJsonList.GetLength(); ++openingHoursIndex) + { + m_openingHours.push_back(openingHoursJsonList[openingHoursIndex].AsObject()); + } + m_openingHoursHasBeenSet = true; + } + + if(jsonValue.ValueExists("AccessPoints")) + { + Aws::Utils::Array accessPointsJsonList = jsonValue.GetArray("AccessPoints"); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + m_accessPoints.push_back(accessPointsJsonList[accessPointsIndex].AsObject()); + } + m_accessPointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("AccessRestrictions")) + { + Aws::Utils::Array accessRestrictionsJsonList = jsonValue.GetArray("AccessRestrictions"); + for(unsigned accessRestrictionsIndex = 0; accessRestrictionsIndex < accessRestrictionsJsonList.GetLength(); ++accessRestrictionsIndex) + { + m_accessRestrictions.push_back(accessRestrictionsJsonList[accessRestrictionsIndex].AsObject()); + } + m_accessRestrictionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TimeZone")) + { + m_timeZone = jsonValue.GetObject("TimeZone"); + + m_timeZoneHasBeenSet = true; + } + + if(jsonValue.ValueExists("PoliticalView")) + { + m_politicalView = jsonValue.GetString("PoliticalView"); + + m_politicalViewHasBeenSet = true; + } + + if(jsonValue.ValueExists("Phonemes")) + { + m_phonemes = jsonValue.GetObject("Phonemes"); + + m_phonemesHasBeenSet = true; + } + + return *this; +} + +JsonValue SearchNearbyResultItem::Jsonize() const +{ + JsonValue payload; + + if(m_placeIdHasBeenSet) + { + payload.WithString("PlaceId", m_placeId); + + } + + if(m_placeTypeHasBeenSet) + { + payload.WithString("PlaceType", PlaceTypeMapper::GetNameForPlaceType(m_placeType)); + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + if(m_addressNumberCorrectedHasBeenSet) + { + payload.WithBool("AddressNumberCorrected", m_addressNumberCorrected); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_mapViewHasBeenSet) + { + Aws::Utils::Array mapViewJsonList(m_mapView.size()); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + mapViewJsonList[mapViewIndex].AsDouble(m_mapView[mapViewIndex]); + } + payload.WithArray("MapView", std::move(mapViewJsonList)); + + } + + if(m_categoriesHasBeenSet) + { + Aws::Utils::Array categoriesJsonList(m_categories.size()); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + categoriesJsonList[categoriesIndex].AsObject(m_categories[categoriesIndex].Jsonize()); + } + payload.WithArray("Categories", std::move(categoriesJsonList)); + + } + + if(m_foodTypesHasBeenSet) + { + Aws::Utils::Array foodTypesJsonList(m_foodTypes.size()); + for(unsigned foodTypesIndex = 0; foodTypesIndex < foodTypesJsonList.GetLength(); ++foodTypesIndex) + { + foodTypesJsonList[foodTypesIndex].AsObject(m_foodTypes[foodTypesIndex].Jsonize()); + } + payload.WithArray("FoodTypes", std::move(foodTypesJsonList)); + + } + + if(m_businessChainsHasBeenSet) + { + Aws::Utils::Array businessChainsJsonList(m_businessChains.size()); + for(unsigned businessChainsIndex = 0; businessChainsIndex < businessChainsJsonList.GetLength(); ++businessChainsIndex) + { + businessChainsJsonList[businessChainsIndex].AsObject(m_businessChains[businessChainsIndex].Jsonize()); + } + payload.WithArray("BusinessChains", std::move(businessChainsJsonList)); + + } + + if(m_contactsHasBeenSet) + { + payload.WithObject("Contacts", m_contacts.Jsonize()); + + } + + if(m_openingHoursHasBeenSet) + { + Aws::Utils::Array openingHoursJsonList(m_openingHours.size()); + for(unsigned openingHoursIndex = 0; openingHoursIndex < openingHoursJsonList.GetLength(); ++openingHoursIndex) + { + openingHoursJsonList[openingHoursIndex].AsObject(m_openingHours[openingHoursIndex].Jsonize()); + } + payload.WithArray("OpeningHours", std::move(openingHoursJsonList)); + + } + + if(m_accessPointsHasBeenSet) + { + Aws::Utils::Array accessPointsJsonList(m_accessPoints.size()); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + accessPointsJsonList[accessPointsIndex].AsObject(m_accessPoints[accessPointsIndex].Jsonize()); + } + payload.WithArray("AccessPoints", std::move(accessPointsJsonList)); + + } + + if(m_accessRestrictionsHasBeenSet) + { + Aws::Utils::Array accessRestrictionsJsonList(m_accessRestrictions.size()); + for(unsigned accessRestrictionsIndex = 0; accessRestrictionsIndex < accessRestrictionsJsonList.GetLength(); ++accessRestrictionsIndex) + { + accessRestrictionsJsonList[accessRestrictionsIndex].AsObject(m_accessRestrictions[accessRestrictionsIndex].Jsonize()); + } + payload.WithArray("AccessRestrictions", std::move(accessRestrictionsJsonList)); + + } + + if(m_timeZoneHasBeenSet) + { + payload.WithObject("TimeZone", m_timeZone.Jsonize()); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + if(m_phonemesHasBeenSet) + { + payload.WithObject("Phonemes", m_phonemes.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextAdditionalFeature.cpp new file mode 100644 index 00000000000..66b93920b6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextAdditionalFeature.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace SearchTextAdditionalFeatureMapper + { + + static const int TimeZone_HASH = HashingUtils::HashString("TimeZone"); + static const int Phonemes_HASH = HashingUtils::HashString("Phonemes"); + static const int Access_HASH = HashingUtils::HashString("Access"); + static const int Contact_HASH = HashingUtils::HashString("Contact"); + + + SearchTextAdditionalFeature GetSearchTextAdditionalFeatureForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TimeZone_HASH) + { + return SearchTextAdditionalFeature::TimeZone; + } + else if (hashCode == Phonemes_HASH) + { + return SearchTextAdditionalFeature::Phonemes; + } + else if (hashCode == Access_HASH) + { + return SearchTextAdditionalFeature::Access; + } + else if (hashCode == Contact_HASH) + { + return SearchTextAdditionalFeature::Contact; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SearchTextAdditionalFeature::NOT_SET; + } + + Aws::String GetNameForSearchTextAdditionalFeature(SearchTextAdditionalFeature enumValue) + { + switch(enumValue) + { + case SearchTextAdditionalFeature::NOT_SET: + return {}; + case SearchTextAdditionalFeature::TimeZone: + return "TimeZone"; + case SearchTextAdditionalFeature::Phonemes: + return "Phonemes"; + case SearchTextAdditionalFeature::Access: + return "Access"; + case SearchTextAdditionalFeature::Contact: + return "Contact"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SearchTextAdditionalFeatureMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextFilter.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextFilter.cpp new file mode 100644 index 00000000000..8ebd562060e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextFilter.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SearchTextFilter::SearchTextFilter() : + m_boundingBoxHasBeenSet(false), + m_circleHasBeenSet(false), + m_includeCountriesHasBeenSet(false) +{ +} + +SearchTextFilter::SearchTextFilter(JsonView jsonValue) + : SearchTextFilter() +{ + *this = jsonValue; +} + +SearchTextFilter& SearchTextFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BoundingBox")) + { + Aws::Utils::Array boundingBoxJsonList = jsonValue.GetArray("BoundingBox"); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + m_boundingBox.push_back(boundingBoxJsonList[boundingBoxIndex].AsDouble()); + } + m_boundingBoxHasBeenSet = true; + } + + if(jsonValue.ValueExists("Circle")) + { + m_circle = jsonValue.GetObject("Circle"); + + m_circleHasBeenSet = true; + } + + if(jsonValue.ValueExists("IncludeCountries")) + { + Aws::Utils::Array includeCountriesJsonList = jsonValue.GetArray("IncludeCountries"); + for(unsigned includeCountriesIndex = 0; includeCountriesIndex < includeCountriesJsonList.GetLength(); ++includeCountriesIndex) + { + m_includeCountries.push_back(includeCountriesJsonList[includeCountriesIndex].AsString()); + } + m_includeCountriesHasBeenSet = true; + } + + return *this; +} + +JsonValue SearchTextFilter::Jsonize() const +{ + JsonValue payload; + + if(m_boundingBoxHasBeenSet) + { + Aws::Utils::Array boundingBoxJsonList(m_boundingBox.size()); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + boundingBoxJsonList[boundingBoxIndex].AsDouble(m_boundingBox[boundingBoxIndex]); + } + payload.WithArray("BoundingBox", std::move(boundingBoxJsonList)); + + } + + if(m_circleHasBeenSet) + { + payload.WithObject("Circle", m_circle.Jsonize()); + + } + + if(m_includeCountriesHasBeenSet) + { + Aws::Utils::Array includeCountriesJsonList(m_includeCountries.size()); + for(unsigned includeCountriesIndex = 0; includeCountriesIndex < includeCountriesJsonList.GetLength(); ++includeCountriesIndex) + { + includeCountriesJsonList[includeCountriesIndex].AsString(m_includeCountries[includeCountriesIndex]); + } + payload.WithArray("IncludeCountries", std::move(includeCountriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextIntendedUse.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextIntendedUse.cpp new file mode 100644 index 00000000000..beebd328245 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextIntendedUse.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace SearchTextIntendedUseMapper + { + + static const int SingleUse_HASH = HashingUtils::HashString("SingleUse"); + static const int Storage_HASH = HashingUtils::HashString("Storage"); + + + SearchTextIntendedUse GetSearchTextIntendedUseForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SingleUse_HASH) + { + return SearchTextIntendedUse::SingleUse; + } + else if (hashCode == Storage_HASH) + { + return SearchTextIntendedUse::Storage; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SearchTextIntendedUse::NOT_SET; + } + + Aws::String GetNameForSearchTextIntendedUse(SearchTextIntendedUse enumValue) + { + switch(enumValue) + { + case SearchTextIntendedUse::NOT_SET: + return {}; + case SearchTextIntendedUse::SingleUse: + return "SingleUse"; + case SearchTextIntendedUse::Storage: + return "Storage"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SearchTextIntendedUseMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextRequest.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextRequest.cpp new file mode 100644 index 00000000000..af22300f619 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextRequest.cpp @@ -0,0 +1,124 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +SearchTextRequest::SearchTextRequest() : + m_queryTextHasBeenSet(false), + m_queryIdHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_biasPositionHasBeenSet(false), + m_filterHasBeenSet(false), + m_additionalFeaturesHasBeenSet(false), + m_languageHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_intendedUse(SearchTextIntendedUse::NOT_SET), + m_intendedUseHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_keyHasBeenSet(false) +{ +} + +Aws::String SearchTextRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_queryTextHasBeenSet) + { + payload.WithString("QueryText", m_queryText); + + } + + if(m_queryIdHasBeenSet) + { + payload.WithString("QueryId", m_queryId); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_biasPositionHasBeenSet) + { + Aws::Utils::Array biasPositionJsonList(m_biasPosition.size()); + for(unsigned biasPositionIndex = 0; biasPositionIndex < biasPositionJsonList.GetLength(); ++biasPositionIndex) + { + biasPositionJsonList[biasPositionIndex].AsDouble(m_biasPosition[biasPositionIndex]); + } + payload.WithArray("BiasPosition", std::move(biasPositionJsonList)); + + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + if(m_additionalFeaturesHasBeenSet) + { + Aws::Utils::Array additionalFeaturesJsonList(m_additionalFeatures.size()); + for(unsigned additionalFeaturesIndex = 0; additionalFeaturesIndex < additionalFeaturesJsonList.GetLength(); ++additionalFeaturesIndex) + { + additionalFeaturesJsonList[additionalFeaturesIndex].AsString(SearchTextAdditionalFeatureMapper::GetNameForSearchTextAdditionalFeature(m_additionalFeatures[additionalFeaturesIndex])); + } + payload.WithArray("AdditionalFeatures", std::move(additionalFeaturesJsonList)); + + } + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + if(m_intendedUseHasBeenSet) + { + payload.WithString("IntendedUse", SearchTextIntendedUseMapper::GetNameForSearchTextIntendedUse(m_intendedUse)); + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + return payload.View().WriteReadable(); +} + +void SearchTextRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextResult.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextResult.cpp new file mode 100644 index 00000000000..ad18a09e251 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextResult.cpp @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +SearchTextResult::SearchTextResult() +{ +} + +SearchTextResult::SearchTextResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +SearchTextResult& SearchTextResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ResultItems")) + { + Aws::Utils::Array resultItemsJsonList = jsonValue.GetArray("ResultItems"); + for(unsigned resultItemsIndex = 0; resultItemsIndex < resultItemsJsonList.GetLength(); ++resultItemsIndex) + { + m_resultItems.push_back(resultItemsJsonList[resultItemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextResultItem.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextResultItem.cpp new file mode 100644 index 00000000000..fe1eea4922d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SearchTextResultItem.cpp @@ -0,0 +1,363 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SearchTextResultItem::SearchTextResultItem() : + m_placeIdHasBeenSet(false), + m_placeType(PlaceType::NOT_SET), + m_placeTypeHasBeenSet(false), + m_titleHasBeenSet(false), + m_addressHasBeenSet(false), + m_addressNumberCorrected(false), + m_addressNumberCorrectedHasBeenSet(false), + m_positionHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_mapViewHasBeenSet(false), + m_categoriesHasBeenSet(false), + m_foodTypesHasBeenSet(false), + m_businessChainsHasBeenSet(false), + m_contactsHasBeenSet(false), + m_openingHoursHasBeenSet(false), + m_accessPointsHasBeenSet(false), + m_accessRestrictionsHasBeenSet(false), + m_timeZoneHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_phonemesHasBeenSet(false) +{ +} + +SearchTextResultItem::SearchTextResultItem(JsonView jsonValue) + : SearchTextResultItem() +{ + *this = jsonValue; +} + +SearchTextResultItem& SearchTextResultItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PlaceId")) + { + m_placeId = jsonValue.GetString("PlaceId"); + + m_placeIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("PlaceType")) + { + m_placeType = PlaceTypeMapper::GetPlaceTypeForName(jsonValue.GetString("PlaceType")); + + m_placeTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + + m_addressHasBeenSet = true; + } + + if(jsonValue.ValueExists("AddressNumberCorrected")) + { + m_addressNumberCorrected = jsonValue.GetBool("AddressNumberCorrected"); + + m_addressNumberCorrectedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("MapView")) + { + Aws::Utils::Array mapViewJsonList = jsonValue.GetArray("MapView"); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + m_mapView.push_back(mapViewJsonList[mapViewIndex].AsDouble()); + } + m_mapViewHasBeenSet = true; + } + + if(jsonValue.ValueExists("Categories")) + { + Aws::Utils::Array categoriesJsonList = jsonValue.GetArray("Categories"); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + m_categories.push_back(categoriesJsonList[categoriesIndex].AsObject()); + } + m_categoriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("FoodTypes")) + { + Aws::Utils::Array foodTypesJsonList = jsonValue.GetArray("FoodTypes"); + for(unsigned foodTypesIndex = 0; foodTypesIndex < foodTypesJsonList.GetLength(); ++foodTypesIndex) + { + m_foodTypes.push_back(foodTypesJsonList[foodTypesIndex].AsObject()); + } + m_foodTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("BusinessChains")) + { + Aws::Utils::Array businessChainsJsonList = jsonValue.GetArray("BusinessChains"); + for(unsigned businessChainsIndex = 0; businessChainsIndex < businessChainsJsonList.GetLength(); ++businessChainsIndex) + { + m_businessChains.push_back(businessChainsJsonList[businessChainsIndex].AsObject()); + } + m_businessChainsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Contacts")) + { + m_contacts = jsonValue.GetObject("Contacts"); + + m_contactsHasBeenSet = true; + } + + if(jsonValue.ValueExists("OpeningHours")) + { + Aws::Utils::Array openingHoursJsonList = jsonValue.GetArray("OpeningHours"); + for(unsigned openingHoursIndex = 0; openingHoursIndex < openingHoursJsonList.GetLength(); ++openingHoursIndex) + { + m_openingHours.push_back(openingHoursJsonList[openingHoursIndex].AsObject()); + } + m_openingHoursHasBeenSet = true; + } + + if(jsonValue.ValueExists("AccessPoints")) + { + Aws::Utils::Array accessPointsJsonList = jsonValue.GetArray("AccessPoints"); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + m_accessPoints.push_back(accessPointsJsonList[accessPointsIndex].AsObject()); + } + m_accessPointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("AccessRestrictions")) + { + Aws::Utils::Array accessRestrictionsJsonList = jsonValue.GetArray("AccessRestrictions"); + for(unsigned accessRestrictionsIndex = 0; accessRestrictionsIndex < accessRestrictionsJsonList.GetLength(); ++accessRestrictionsIndex) + { + m_accessRestrictions.push_back(accessRestrictionsJsonList[accessRestrictionsIndex].AsObject()); + } + m_accessRestrictionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TimeZone")) + { + m_timeZone = jsonValue.GetObject("TimeZone"); + + m_timeZoneHasBeenSet = true; + } + + if(jsonValue.ValueExists("PoliticalView")) + { + m_politicalView = jsonValue.GetString("PoliticalView"); + + m_politicalViewHasBeenSet = true; + } + + if(jsonValue.ValueExists("Phonemes")) + { + m_phonemes = jsonValue.GetObject("Phonemes"); + + m_phonemesHasBeenSet = true; + } + + return *this; +} + +JsonValue SearchTextResultItem::Jsonize() const +{ + JsonValue payload; + + if(m_placeIdHasBeenSet) + { + payload.WithString("PlaceId", m_placeId); + + } + + if(m_placeTypeHasBeenSet) + { + payload.WithString("PlaceType", PlaceTypeMapper::GetNameForPlaceType(m_placeType)); + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + if(m_addressNumberCorrectedHasBeenSet) + { + payload.WithBool("AddressNumberCorrected", m_addressNumberCorrected); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_mapViewHasBeenSet) + { + Aws::Utils::Array mapViewJsonList(m_mapView.size()); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + mapViewJsonList[mapViewIndex].AsDouble(m_mapView[mapViewIndex]); + } + payload.WithArray("MapView", std::move(mapViewJsonList)); + + } + + if(m_categoriesHasBeenSet) + { + Aws::Utils::Array categoriesJsonList(m_categories.size()); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + categoriesJsonList[categoriesIndex].AsObject(m_categories[categoriesIndex].Jsonize()); + } + payload.WithArray("Categories", std::move(categoriesJsonList)); + + } + + if(m_foodTypesHasBeenSet) + { + Aws::Utils::Array foodTypesJsonList(m_foodTypes.size()); + for(unsigned foodTypesIndex = 0; foodTypesIndex < foodTypesJsonList.GetLength(); ++foodTypesIndex) + { + foodTypesJsonList[foodTypesIndex].AsObject(m_foodTypes[foodTypesIndex].Jsonize()); + } + payload.WithArray("FoodTypes", std::move(foodTypesJsonList)); + + } + + if(m_businessChainsHasBeenSet) + { + Aws::Utils::Array businessChainsJsonList(m_businessChains.size()); + for(unsigned businessChainsIndex = 0; businessChainsIndex < businessChainsJsonList.GetLength(); ++businessChainsIndex) + { + businessChainsJsonList[businessChainsIndex].AsObject(m_businessChains[businessChainsIndex].Jsonize()); + } + payload.WithArray("BusinessChains", std::move(businessChainsJsonList)); + + } + + if(m_contactsHasBeenSet) + { + payload.WithObject("Contacts", m_contacts.Jsonize()); + + } + + if(m_openingHoursHasBeenSet) + { + Aws::Utils::Array openingHoursJsonList(m_openingHours.size()); + for(unsigned openingHoursIndex = 0; openingHoursIndex < openingHoursJsonList.GetLength(); ++openingHoursIndex) + { + openingHoursJsonList[openingHoursIndex].AsObject(m_openingHours[openingHoursIndex].Jsonize()); + } + payload.WithArray("OpeningHours", std::move(openingHoursJsonList)); + + } + + if(m_accessPointsHasBeenSet) + { + Aws::Utils::Array accessPointsJsonList(m_accessPoints.size()); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + accessPointsJsonList[accessPointsIndex].AsObject(m_accessPoints[accessPointsIndex].Jsonize()); + } + payload.WithArray("AccessPoints", std::move(accessPointsJsonList)); + + } + + if(m_accessRestrictionsHasBeenSet) + { + Aws::Utils::Array accessRestrictionsJsonList(m_accessRestrictions.size()); + for(unsigned accessRestrictionsIndex = 0; accessRestrictionsIndex < accessRestrictionsJsonList.GetLength(); ++accessRestrictionsIndex) + { + accessRestrictionsJsonList[accessRestrictionsIndex].AsObject(m_accessRestrictions[accessRestrictionsIndex].Jsonize()); + } + payload.WithArray("AccessRestrictions", std::move(accessRestrictionsJsonList)); + + } + + if(m_timeZoneHasBeenSet) + { + payload.WithObject("TimeZone", m_timeZone.Jsonize()); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + if(m_phonemesHasBeenSet) + { + payload.WithObject("Phonemes", m_phonemes.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/StreetComponents.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/StreetComponents.cpp new file mode 100644 index 00000000000..55c758c1941 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/StreetComponents.cpp @@ -0,0 +1,157 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +StreetComponents::StreetComponents() : + m_baseNameHasBeenSet(false), + m_typeHasBeenSet(false), + m_typePlacement(TypePlacement::NOT_SET), + m_typePlacementHasBeenSet(false), + m_typeSeparatorHasBeenSet(false), + m_prefixHasBeenSet(false), + m_suffixHasBeenSet(false), + m_directionHasBeenSet(false), + m_languageHasBeenSet(false) +{ +} + +StreetComponents::StreetComponents(JsonView jsonValue) + : StreetComponents() +{ + *this = jsonValue; +} + +StreetComponents& StreetComponents::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BaseName")) + { + m_baseName = jsonValue.GetString("BaseName"); + + m_baseNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = jsonValue.GetString("Type"); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("TypePlacement")) + { + m_typePlacement = TypePlacementMapper::GetTypePlacementForName(jsonValue.GetString("TypePlacement")); + + m_typePlacementHasBeenSet = true; + } + + if(jsonValue.ValueExists("TypeSeparator")) + { + m_typeSeparator = jsonValue.GetString("TypeSeparator"); + + m_typeSeparatorHasBeenSet = true; + } + + if(jsonValue.ValueExists("Prefix")) + { + m_prefix = jsonValue.GetString("Prefix"); + + m_prefixHasBeenSet = true; + } + + if(jsonValue.ValueExists("Suffix")) + { + m_suffix = jsonValue.GetString("Suffix"); + + m_suffixHasBeenSet = true; + } + + if(jsonValue.ValueExists("Direction")) + { + m_direction = jsonValue.GetString("Direction"); + + m_directionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Language")) + { + m_language = jsonValue.GetString("Language"); + + m_languageHasBeenSet = true; + } + + return *this; +} + +JsonValue StreetComponents::Jsonize() const +{ + JsonValue payload; + + if(m_baseNameHasBeenSet) + { + payload.WithString("BaseName", m_baseName); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", m_type); + + } + + if(m_typePlacementHasBeenSet) + { + payload.WithString("TypePlacement", TypePlacementMapper::GetNameForTypePlacement(m_typePlacement)); + } + + if(m_typeSeparatorHasBeenSet) + { + payload.WithString("TypeSeparator", m_typeSeparator); + + } + + if(m_prefixHasBeenSet) + { + payload.WithString("Prefix", m_prefix); + + } + + if(m_suffixHasBeenSet) + { + payload.WithString("Suffix", m_suffix); + + } + + if(m_directionHasBeenSet) + { + payload.WithString("Direction", m_direction); + + } + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SubRegion.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SubRegion.cpp new file mode 100644 index 00000000000..74d19dc9856 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SubRegion.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SubRegion::SubRegion() : + m_codeHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +SubRegion::SubRegion(JsonView jsonValue) + : SubRegion() +{ + *this = jsonValue; +} + +SubRegion& SubRegion::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code")) + { + m_code = jsonValue.GetString("Code"); + + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue SubRegion::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + payload.WithString("Code", m_code); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SubRegionHighlights.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SubRegionHighlights.cpp new file mode 100644 index 00000000000..50ea663ae25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SubRegionHighlights.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SubRegionHighlights::SubRegionHighlights() : + m_codeHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +SubRegionHighlights::SubRegionHighlights(JsonView jsonValue) + : SubRegionHighlights() +{ + *this = jsonValue; +} + +SubRegionHighlights& SubRegionHighlights::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code")) + { + Aws::Utils::Array codeJsonList = jsonValue.GetArray("Code"); + for(unsigned codeIndex = 0; codeIndex < codeJsonList.GetLength(); ++codeIndex) + { + m_code.push_back(codeJsonList[codeIndex].AsObject()); + } + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + Aws::Utils::Array nameJsonList = jsonValue.GetArray("Name"); + for(unsigned nameIndex = 0; nameIndex < nameJsonList.GetLength(); ++nameIndex) + { + m_name.push_back(nameJsonList[nameIndex].AsObject()); + } + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue SubRegionHighlights::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + Aws::Utils::Array codeJsonList(m_code.size()); + for(unsigned codeIndex = 0; codeIndex < codeJsonList.GetLength(); ++codeIndex) + { + codeJsonList[codeIndex].AsObject(m_code[codeIndex].Jsonize()); + } + payload.WithArray("Code", std::move(codeJsonList)); + + } + + if(m_nameHasBeenSet) + { + Aws::Utils::Array nameJsonList(m_name.size()); + for(unsigned nameIndex = 0; nameIndex < nameJsonList.GetLength(); ++nameIndex) + { + nameJsonList[nameIndex].AsObject(m_name[nameIndex].Jsonize()); + } + payload.WithArray("Name", std::move(nameJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestAdditionalFeature.cpp new file mode 100644 index 00000000000..1355c3fcc8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestAdditionalFeature.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace SuggestAdditionalFeatureMapper + { + + static const int Core_HASH = HashingUtils::HashString("Core"); + static const int TimeZone_HASH = HashingUtils::HashString("TimeZone"); + static const int Phonemes_HASH = HashingUtils::HashString("Phonemes"); + static const int Access_HASH = HashingUtils::HashString("Access"); + + + SuggestAdditionalFeature GetSuggestAdditionalFeatureForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Core_HASH) + { + return SuggestAdditionalFeature::Core; + } + else if (hashCode == TimeZone_HASH) + { + return SuggestAdditionalFeature::TimeZone; + } + else if (hashCode == Phonemes_HASH) + { + return SuggestAdditionalFeature::Phonemes; + } + else if (hashCode == Access_HASH) + { + return SuggestAdditionalFeature::Access; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SuggestAdditionalFeature::NOT_SET; + } + + Aws::String GetNameForSuggestAdditionalFeature(SuggestAdditionalFeature enumValue) + { + switch(enumValue) + { + case SuggestAdditionalFeature::NOT_SET: + return {}; + case SuggestAdditionalFeature::Core: + return "Core"; + case SuggestAdditionalFeature::TimeZone: + return "TimeZone"; + case SuggestAdditionalFeature::Phonemes: + return "Phonemes"; + case SuggestAdditionalFeature::Access: + return "Access"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SuggestAdditionalFeatureMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestAddressHighlights.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestAddressHighlights.cpp new file mode 100644 index 00000000000..e6efce02e74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestAddressHighlights.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SuggestAddressHighlights::SuggestAddressHighlights() : + m_labelHasBeenSet(false) +{ +} + +SuggestAddressHighlights::SuggestAddressHighlights(JsonView jsonValue) + : SuggestAddressHighlights() +{ + *this = jsonValue; +} + +SuggestAddressHighlights& SuggestAddressHighlights::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Label")) + { + Aws::Utils::Array labelJsonList = jsonValue.GetArray("Label"); + for(unsigned labelIndex = 0; labelIndex < labelJsonList.GetLength(); ++labelIndex) + { + m_label.push_back(labelJsonList[labelIndex].AsObject()); + } + m_labelHasBeenSet = true; + } + + return *this; +} + +JsonValue SuggestAddressHighlights::Jsonize() const +{ + JsonValue payload; + + if(m_labelHasBeenSet) + { + Aws::Utils::Array labelJsonList(m_label.size()); + for(unsigned labelIndex = 0; labelIndex < labelJsonList.GetLength(); ++labelIndex) + { + labelJsonList[labelIndex].AsObject(m_label[labelIndex].Jsonize()); + } + payload.WithArray("Label", std::move(labelJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestFilter.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestFilter.cpp new file mode 100644 index 00000000000..7d1f034bd72 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestFilter.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SuggestFilter::SuggestFilter() : + m_boundingBoxHasBeenSet(false), + m_circleHasBeenSet(false), + m_includeCountriesHasBeenSet(false) +{ +} + +SuggestFilter::SuggestFilter(JsonView jsonValue) + : SuggestFilter() +{ + *this = jsonValue; +} + +SuggestFilter& SuggestFilter::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BoundingBox")) + { + Aws::Utils::Array boundingBoxJsonList = jsonValue.GetArray("BoundingBox"); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + m_boundingBox.push_back(boundingBoxJsonList[boundingBoxIndex].AsDouble()); + } + m_boundingBoxHasBeenSet = true; + } + + if(jsonValue.ValueExists("Circle")) + { + m_circle = jsonValue.GetObject("Circle"); + + m_circleHasBeenSet = true; + } + + if(jsonValue.ValueExists("IncludeCountries")) + { + Aws::Utils::Array includeCountriesJsonList = jsonValue.GetArray("IncludeCountries"); + for(unsigned includeCountriesIndex = 0; includeCountriesIndex < includeCountriesJsonList.GetLength(); ++includeCountriesIndex) + { + m_includeCountries.push_back(includeCountriesJsonList[includeCountriesIndex].AsString()); + } + m_includeCountriesHasBeenSet = true; + } + + return *this; +} + +JsonValue SuggestFilter::Jsonize() const +{ + JsonValue payload; + + if(m_boundingBoxHasBeenSet) + { + Aws::Utils::Array boundingBoxJsonList(m_boundingBox.size()); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + boundingBoxJsonList[boundingBoxIndex].AsDouble(m_boundingBox[boundingBoxIndex]); + } + payload.WithArray("BoundingBox", std::move(boundingBoxJsonList)); + + } + + if(m_circleHasBeenSet) + { + payload.WithObject("Circle", m_circle.Jsonize()); + + } + + if(m_includeCountriesHasBeenSet) + { + Aws::Utils::Array includeCountriesJsonList(m_includeCountries.size()); + for(unsigned includeCountriesIndex = 0; includeCountriesIndex < includeCountriesJsonList.GetLength(); ++includeCountriesIndex) + { + includeCountriesJsonList[includeCountriesIndex].AsString(m_includeCountries[includeCountriesIndex]); + } + payload.WithArray("IncludeCountries", std::move(includeCountriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestHighlights.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestHighlights.cpp new file mode 100644 index 00000000000..ee52832ee04 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestHighlights.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SuggestHighlights::SuggestHighlights() : + m_titleHasBeenSet(false), + m_addressHasBeenSet(false) +{ +} + +SuggestHighlights::SuggestHighlights(JsonView jsonValue) + : SuggestHighlights() +{ + *this = jsonValue; +} + +SuggestHighlights& SuggestHighlights::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Title")) + { + Aws::Utils::Array titleJsonList = jsonValue.GetArray("Title"); + for(unsigned titleIndex = 0; titleIndex < titleJsonList.GetLength(); ++titleIndex) + { + m_title.push_back(titleJsonList[titleIndex].AsObject()); + } + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + + m_addressHasBeenSet = true; + } + + return *this; +} + +JsonValue SuggestHighlights::Jsonize() const +{ + JsonValue payload; + + if(m_titleHasBeenSet) + { + Aws::Utils::Array titleJsonList(m_title.size()); + for(unsigned titleIndex = 0; titleIndex < titleJsonList.GetLength(); ++titleIndex) + { + titleJsonList[titleIndex].AsObject(m_title[titleIndex].Jsonize()); + } + payload.WithArray("Title", std::move(titleJsonList)); + + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestIntendedUse.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestIntendedUse.cpp new file mode 100644 index 00000000000..2377e4b7ec5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestIntendedUse.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace SuggestIntendedUseMapper + { + + static const int SingleUse_HASH = HashingUtils::HashString("SingleUse"); + + + SuggestIntendedUse GetSuggestIntendedUseForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == SingleUse_HASH) + { + return SuggestIntendedUse::SingleUse; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SuggestIntendedUse::NOT_SET; + } + + Aws::String GetNameForSuggestIntendedUse(SuggestIntendedUse enumValue) + { + switch(enumValue) + { + case SuggestIntendedUse::NOT_SET: + return {}; + case SuggestIntendedUse::SingleUse: + return "SingleUse"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SuggestIntendedUseMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestPlaceResult.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestPlaceResult.cpp new file mode 100644 index 00000000000..a02ccef2222 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestPlaceResult.cpp @@ -0,0 +1,298 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SuggestPlaceResult::SuggestPlaceResult() : + m_placeIdHasBeenSet(false), + m_placeType(PlaceType::NOT_SET), + m_placeTypeHasBeenSet(false), + m_addressHasBeenSet(false), + m_positionHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_mapViewHasBeenSet(false), + m_categoriesHasBeenSet(false), + m_foodTypesHasBeenSet(false), + m_businessChainsHasBeenSet(false), + m_accessPointsHasBeenSet(false), + m_accessRestrictionsHasBeenSet(false), + m_timeZoneHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_phonemesHasBeenSet(false) +{ +} + +SuggestPlaceResult::SuggestPlaceResult(JsonView jsonValue) + : SuggestPlaceResult() +{ + *this = jsonValue; +} + +SuggestPlaceResult& SuggestPlaceResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PlaceId")) + { + m_placeId = jsonValue.GetString("PlaceId"); + + m_placeIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("PlaceType")) + { + m_placeType = PlaceTypeMapper::GetPlaceTypeForName(jsonValue.GetString("PlaceType")); + + m_placeTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Address")) + { + m_address = jsonValue.GetObject("Address"); + + m_addressHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("MapView")) + { + Aws::Utils::Array mapViewJsonList = jsonValue.GetArray("MapView"); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + m_mapView.push_back(mapViewJsonList[mapViewIndex].AsDouble()); + } + m_mapViewHasBeenSet = true; + } + + if(jsonValue.ValueExists("Categories")) + { + Aws::Utils::Array categoriesJsonList = jsonValue.GetArray("Categories"); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + m_categories.push_back(categoriesJsonList[categoriesIndex].AsObject()); + } + m_categoriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("FoodTypes")) + { + Aws::Utils::Array foodTypesJsonList = jsonValue.GetArray("FoodTypes"); + for(unsigned foodTypesIndex = 0; foodTypesIndex < foodTypesJsonList.GetLength(); ++foodTypesIndex) + { + m_foodTypes.push_back(foodTypesJsonList[foodTypesIndex].AsObject()); + } + m_foodTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("BusinessChains")) + { + Aws::Utils::Array businessChainsJsonList = jsonValue.GetArray("BusinessChains"); + for(unsigned businessChainsIndex = 0; businessChainsIndex < businessChainsJsonList.GetLength(); ++businessChainsIndex) + { + m_businessChains.push_back(businessChainsJsonList[businessChainsIndex].AsObject()); + } + m_businessChainsHasBeenSet = true; + } + + if(jsonValue.ValueExists("AccessPoints")) + { + Aws::Utils::Array accessPointsJsonList = jsonValue.GetArray("AccessPoints"); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + m_accessPoints.push_back(accessPointsJsonList[accessPointsIndex].AsObject()); + } + m_accessPointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("AccessRestrictions")) + { + Aws::Utils::Array accessRestrictionsJsonList = jsonValue.GetArray("AccessRestrictions"); + for(unsigned accessRestrictionsIndex = 0; accessRestrictionsIndex < accessRestrictionsJsonList.GetLength(); ++accessRestrictionsIndex) + { + m_accessRestrictions.push_back(accessRestrictionsJsonList[accessRestrictionsIndex].AsObject()); + } + m_accessRestrictionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TimeZone")) + { + m_timeZone = jsonValue.GetObject("TimeZone"); + + m_timeZoneHasBeenSet = true; + } + + if(jsonValue.ValueExists("PoliticalView")) + { + m_politicalView = jsonValue.GetString("PoliticalView"); + + m_politicalViewHasBeenSet = true; + } + + if(jsonValue.ValueExists("Phonemes")) + { + m_phonemes = jsonValue.GetObject("Phonemes"); + + m_phonemesHasBeenSet = true; + } + + return *this; +} + +JsonValue SuggestPlaceResult::Jsonize() const +{ + JsonValue payload; + + if(m_placeIdHasBeenSet) + { + payload.WithString("PlaceId", m_placeId); + + } + + if(m_placeTypeHasBeenSet) + { + payload.WithString("PlaceType", PlaceTypeMapper::GetNameForPlaceType(m_placeType)); + } + + if(m_addressHasBeenSet) + { + payload.WithObject("Address", m_address.Jsonize()); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_mapViewHasBeenSet) + { + Aws::Utils::Array mapViewJsonList(m_mapView.size()); + for(unsigned mapViewIndex = 0; mapViewIndex < mapViewJsonList.GetLength(); ++mapViewIndex) + { + mapViewJsonList[mapViewIndex].AsDouble(m_mapView[mapViewIndex]); + } + payload.WithArray("MapView", std::move(mapViewJsonList)); + + } + + if(m_categoriesHasBeenSet) + { + Aws::Utils::Array categoriesJsonList(m_categories.size()); + for(unsigned categoriesIndex = 0; categoriesIndex < categoriesJsonList.GetLength(); ++categoriesIndex) + { + categoriesJsonList[categoriesIndex].AsObject(m_categories[categoriesIndex].Jsonize()); + } + payload.WithArray("Categories", std::move(categoriesJsonList)); + + } + + if(m_foodTypesHasBeenSet) + { + Aws::Utils::Array foodTypesJsonList(m_foodTypes.size()); + for(unsigned foodTypesIndex = 0; foodTypesIndex < foodTypesJsonList.GetLength(); ++foodTypesIndex) + { + foodTypesJsonList[foodTypesIndex].AsObject(m_foodTypes[foodTypesIndex].Jsonize()); + } + payload.WithArray("FoodTypes", std::move(foodTypesJsonList)); + + } + + if(m_businessChainsHasBeenSet) + { + Aws::Utils::Array businessChainsJsonList(m_businessChains.size()); + for(unsigned businessChainsIndex = 0; businessChainsIndex < businessChainsJsonList.GetLength(); ++businessChainsIndex) + { + businessChainsJsonList[businessChainsIndex].AsObject(m_businessChains[businessChainsIndex].Jsonize()); + } + payload.WithArray("BusinessChains", std::move(businessChainsJsonList)); + + } + + if(m_accessPointsHasBeenSet) + { + Aws::Utils::Array accessPointsJsonList(m_accessPoints.size()); + for(unsigned accessPointsIndex = 0; accessPointsIndex < accessPointsJsonList.GetLength(); ++accessPointsIndex) + { + accessPointsJsonList[accessPointsIndex].AsObject(m_accessPoints[accessPointsIndex].Jsonize()); + } + payload.WithArray("AccessPoints", std::move(accessPointsJsonList)); + + } + + if(m_accessRestrictionsHasBeenSet) + { + Aws::Utils::Array accessRestrictionsJsonList(m_accessRestrictions.size()); + for(unsigned accessRestrictionsIndex = 0; accessRestrictionsIndex < accessRestrictionsJsonList.GetLength(); ++accessRestrictionsIndex) + { + accessRestrictionsJsonList[accessRestrictionsIndex].AsObject(m_accessRestrictions[accessRestrictionsIndex].Jsonize()); + } + payload.WithArray("AccessRestrictions", std::move(accessRestrictionsJsonList)); + + } + + if(m_timeZoneHasBeenSet) + { + payload.WithObject("TimeZone", m_timeZone.Jsonize()); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + if(m_phonemesHasBeenSet) + { + payload.WithObject("Phonemes", m_phonemes.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestQueryResult.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestQueryResult.cpp new file mode 100644 index 00000000000..b112dcadfc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestQueryResult.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SuggestQueryResult::SuggestQueryResult() : + m_queryIdHasBeenSet(false), + m_queryType(QueryType::NOT_SET), + m_queryTypeHasBeenSet(false) +{ +} + +SuggestQueryResult::SuggestQueryResult(JsonView jsonValue) + : SuggestQueryResult() +{ + *this = jsonValue; +} + +SuggestQueryResult& SuggestQueryResult::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("QueryId")) + { + m_queryId = jsonValue.GetString("QueryId"); + + m_queryIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("QueryType")) + { + m_queryType = QueryTypeMapper::GetQueryTypeForName(jsonValue.GetString("QueryType")); + + m_queryTypeHasBeenSet = true; + } + + return *this; +} + +JsonValue SuggestQueryResult::Jsonize() const +{ + JsonValue payload; + + if(m_queryIdHasBeenSet) + { + payload.WithString("QueryId", m_queryId); + + } + + if(m_queryTypeHasBeenSet) + { + payload.WithString("QueryType", QueryTypeMapper::GetNameForQueryType(m_queryType)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestRequest.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestRequest.cpp new file mode 100644 index 00000000000..c10bca10d8b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestRequest.cpp @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +SuggestRequest::SuggestRequest() : + m_queryTextHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_maxQueryRefinements(0), + m_maxQueryRefinementsHasBeenSet(false), + m_biasPositionHasBeenSet(false), + m_filterHasBeenSet(false), + m_additionalFeaturesHasBeenSet(false), + m_languageHasBeenSet(false), + m_politicalViewHasBeenSet(false), + m_intendedUse(SuggestIntendedUse::NOT_SET), + m_intendedUseHasBeenSet(false), + m_keyHasBeenSet(false) +{ +} + +Aws::String SuggestRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_queryTextHasBeenSet) + { + payload.WithString("QueryText", m_queryText); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + if(m_maxQueryRefinementsHasBeenSet) + { + payload.WithInteger("MaxQueryRefinements", m_maxQueryRefinements); + + } + + if(m_biasPositionHasBeenSet) + { + Aws::Utils::Array biasPositionJsonList(m_biasPosition.size()); + for(unsigned biasPositionIndex = 0; biasPositionIndex < biasPositionJsonList.GetLength(); ++biasPositionIndex) + { + biasPositionJsonList[biasPositionIndex].AsDouble(m_biasPosition[biasPositionIndex]); + } + payload.WithArray("BiasPosition", std::move(biasPositionJsonList)); + + } + + if(m_filterHasBeenSet) + { + payload.WithObject("Filter", m_filter.Jsonize()); + + } + + if(m_additionalFeaturesHasBeenSet) + { + Aws::Utils::Array additionalFeaturesJsonList(m_additionalFeatures.size()); + for(unsigned additionalFeaturesIndex = 0; additionalFeaturesIndex < additionalFeaturesJsonList.GetLength(); ++additionalFeaturesIndex) + { + additionalFeaturesJsonList[additionalFeaturesIndex].AsString(SuggestAdditionalFeatureMapper::GetNameForSuggestAdditionalFeature(m_additionalFeatures[additionalFeaturesIndex])); + } + payload.WithArray("AdditionalFeatures", std::move(additionalFeaturesJsonList)); + + } + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + if(m_politicalViewHasBeenSet) + { + payload.WithString("PoliticalView", m_politicalView); + + } + + if(m_intendedUseHasBeenSet) + { + payload.WithString("IntendedUse", SuggestIntendedUseMapper::GetNameForSuggestIntendedUse(m_intendedUse)); + } + + return payload.View().WriteReadable(); +} + +void SuggestRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestResult.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestResult.cpp new file mode 100644 index 00000000000..6dc7164a456 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestResult.cpp @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoPlaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +SuggestResult::SuggestResult() +{ +} + +SuggestResult::SuggestResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +SuggestResult& SuggestResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ResultItems")) + { + Aws::Utils::Array resultItemsJsonList = jsonValue.GetArray("ResultItems"); + for(unsigned resultItemsIndex = 0; resultItemsIndex < resultItemsJsonList.GetLength(); ++resultItemsIndex) + { + m_resultItems.push_back(resultItemsJsonList[resultItemsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("QueryRefinements")) + { + Aws::Utils::Array queryRefinementsJsonList = jsonValue.GetArray("QueryRefinements"); + for(unsigned queryRefinementsIndex = 0; queryRefinementsIndex < queryRefinementsJsonList.GetLength(); ++queryRefinementsIndex) + { + m_queryRefinements.push_back(queryRefinementsJsonList[queryRefinementsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestResultItem.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestResultItem.cpp new file mode 100644 index 00000000000..7a19fa2e0b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestResultItem.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +SuggestResultItem::SuggestResultItem() : + m_titleHasBeenSet(false), + m_suggestResultItemType(SuggestResultItemType::NOT_SET), + m_suggestResultItemTypeHasBeenSet(false), + m_placeHasBeenSet(false), + m_queryHasBeenSet(false), + m_highlightsHasBeenSet(false) +{ +} + +SuggestResultItem::SuggestResultItem(JsonView jsonValue) + : SuggestResultItem() +{ + *this = jsonValue; +} + +SuggestResultItem& SuggestResultItem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("SuggestResultItemType")) + { + m_suggestResultItemType = SuggestResultItemTypeMapper::GetSuggestResultItemTypeForName(jsonValue.GetString("SuggestResultItemType")); + + m_suggestResultItemTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Place")) + { + m_place = jsonValue.GetObject("Place"); + + m_placeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Query")) + { + m_query = jsonValue.GetObject("Query"); + + m_queryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Highlights")) + { + m_highlights = jsonValue.GetObject("Highlights"); + + m_highlightsHasBeenSet = true; + } + + return *this; +} + +JsonValue SuggestResultItem::Jsonize() const +{ + JsonValue payload; + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_suggestResultItemTypeHasBeenSet) + { + payload.WithString("SuggestResultItemType", SuggestResultItemTypeMapper::GetNameForSuggestResultItemType(m_suggestResultItemType)); + } + + if(m_placeHasBeenSet) + { + payload.WithObject("Place", m_place.Jsonize()); + + } + + if(m_queryHasBeenSet) + { + payload.WithObject("Query", m_query.Jsonize()); + + } + + if(m_highlightsHasBeenSet) + { + payload.WithObject("Highlights", m_highlights.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestResultItemType.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestResultItemType.cpp new file mode 100644 index 00000000000..f165ccd0620 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/SuggestResultItemType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace SuggestResultItemTypeMapper + { + + static const int Place_HASH = HashingUtils::HashString("Place"); + static const int Query_HASH = HashingUtils::HashString("Query"); + + + SuggestResultItemType GetSuggestResultItemTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Place_HASH) + { + return SuggestResultItemType::Place; + } + else if (hashCode == Query_HASH) + { + return SuggestResultItemType::Query; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SuggestResultItemType::NOT_SET; + } + + Aws::String GetNameForSuggestResultItemType(SuggestResultItemType enumValue) + { + switch(enumValue) + { + case SuggestResultItemType::NOT_SET: + return {}; + case SuggestResultItemType::Place: + return "Place"; + case SuggestResultItemType::Query: + return "Query"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SuggestResultItemTypeMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/TimeZone.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/TimeZone.cpp new file mode 100644 index 00000000000..db9f530112f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/TimeZone.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +TimeZone::TimeZone() : + m_nameHasBeenSet(false), + m_offsetHasBeenSet(false), + m_offsetSeconds(0), + m_offsetSecondsHasBeenSet(false) +{ +} + +TimeZone::TimeZone(JsonView jsonValue) + : TimeZone() +{ + *this = jsonValue; +} + +TimeZone& TimeZone::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Offset")) + { + m_offset = jsonValue.GetString("Offset"); + + m_offsetHasBeenSet = true; + } + + if(jsonValue.ValueExists("OffsetSeconds")) + { + m_offsetSeconds = jsonValue.GetInt64("OffsetSeconds"); + + m_offsetSecondsHasBeenSet = true; + } + + return *this; +} + +JsonValue TimeZone::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_offsetHasBeenSet) + { + payload.WithString("Offset", m_offset); + + } + + if(m_offsetSecondsHasBeenSet) + { + payload.WithInt64("OffsetSeconds", m_offsetSeconds); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/TypePlacement.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/TypePlacement.cpp new file mode 100644 index 00000000000..2b6945f1992 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/TypePlacement.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace TypePlacementMapper + { + + static const int BeforeBaseName_HASH = HashingUtils::HashString("BeforeBaseName"); + static const int AfterBaseName_HASH = HashingUtils::HashString("AfterBaseName"); + + + TypePlacement GetTypePlacementForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BeforeBaseName_HASH) + { + return TypePlacement::BeforeBaseName; + } + else if (hashCode == AfterBaseName_HASH) + { + return TypePlacement::AfterBaseName; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TypePlacement::NOT_SET; + } + + Aws::String GetNameForTypePlacement(TypePlacement enumValue) + { + switch(enumValue) + { + case TypePlacement::NOT_SET: + return {}; + case TypePlacement::BeforeBaseName: + return "BeforeBaseName"; + case TypePlacement::AfterBaseName: + return "AfterBaseName"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TypePlacementMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/UspsZip.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/UspsZip.cpp new file mode 100644 index 00000000000..a0966ca6888 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/UspsZip.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +UspsZip::UspsZip() : + m_zipClassificationCode(ZipClassificationCode::NOT_SET), + m_zipClassificationCodeHasBeenSet(false) +{ +} + +UspsZip::UspsZip(JsonView jsonValue) + : UspsZip() +{ + *this = jsonValue; +} + +UspsZip& UspsZip::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ZipClassificationCode")) + { + m_zipClassificationCode = ZipClassificationCodeMapper::GetZipClassificationCodeForName(jsonValue.GetString("ZipClassificationCode")); + + m_zipClassificationCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue UspsZip::Jsonize() const +{ + JsonValue payload; + + if(m_zipClassificationCodeHasBeenSet) + { + payload.WithString("ZipClassificationCode", ZipClassificationCodeMapper::GetNameForZipClassificationCode(m_zipClassificationCode)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/UspsZipPlus4.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/UspsZipPlus4.cpp new file mode 100644 index 00000000000..0ff057ec5ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/UspsZipPlus4.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +UspsZipPlus4::UspsZipPlus4() : + m_recordTypeCode(RecordTypeCode::NOT_SET), + m_recordTypeCodeHasBeenSet(false) +{ +} + +UspsZipPlus4::UspsZipPlus4(JsonView jsonValue) + : UspsZipPlus4() +{ + *this = jsonValue; +} + +UspsZipPlus4& UspsZipPlus4::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RecordTypeCode")) + { + m_recordTypeCode = RecordTypeCodeMapper::GetRecordTypeCodeForName(jsonValue.GetString("RecordTypeCode")); + + m_recordTypeCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue UspsZipPlus4::Jsonize() const +{ + JsonValue payload; + + if(m_recordTypeCodeHasBeenSet) + { + payload.WithString("RecordTypeCode", RecordTypeCodeMapper::GetNameForRecordTypeCode(m_recordTypeCode)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ValidationException.cpp new file mode 100644 index 00000000000..399d8d30a8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ValidationException.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +ValidationException::ValidationException() : + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false), + m_fieldListHasBeenSet(false) +{ +} + +ValidationException::ValidationException(JsonView jsonValue) + : ValidationException() +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("reason")); + + m_reasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("fieldList")) + { + Aws::Utils::Array fieldListJsonList = jsonValue.GetArray("fieldList"); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + m_fieldList.push_back(fieldListJsonList[fieldListIndex].AsObject()); + } + m_fieldListHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + if(m_fieldListHasBeenSet) + { + Aws::Utils::Array fieldListJsonList(m_fieldList.size()); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + fieldListJsonList[fieldListIndex].AsObject(m_fieldList[fieldListIndex].Jsonize()); + } + payload.WithArray("fieldList", std::move(fieldListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ValidationExceptionField.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ValidationExceptionField.cpp new file mode 100644 index 00000000000..f6e1d83761b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ValidationExceptionField.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoPlaces +{ +namespace Model +{ + +ValidationExceptionField::ValidationExceptionField() : + m_nameHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +ValidationExceptionField::ValidationExceptionField(JsonView jsonValue) + : ValidationExceptionField() +{ + *this = jsonValue; +} + +ValidationExceptionField& ValidationExceptionField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationExceptionField::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..42a3314b439 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ValidationExceptionReason.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int UnknownOperation_HASH = HashingUtils::HashString("UnknownOperation"); + static const int Missing_HASH = HashingUtils::HashString("Missing"); + static const int CannotParse_HASH = HashingUtils::HashString("CannotParse"); + static const int FieldValidationFailed_HASH = HashingUtils::HashString("FieldValidationFailed"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int UnknownField_HASH = HashingUtils::HashString("UnknownField"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == UnknownOperation_HASH) + { + return ValidationExceptionReason::UnknownOperation; + } + else if (hashCode == Missing_HASH) + { + return ValidationExceptionReason::Missing; + } + else if (hashCode == CannotParse_HASH) + { + return ValidationExceptionReason::CannotParse; + } + else if (hashCode == FieldValidationFailed_HASH) + { + return ValidationExceptionReason::FieldValidationFailed; + } + else if (hashCode == Other_HASH) + { + return ValidationExceptionReason::Other; + } + else if (hashCode == UnknownField_HASH) + { + return ValidationExceptionReason::UnknownField; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::UnknownOperation: + return "UnknownOperation"; + case ValidationExceptionReason::Missing: + return "Missing"; + case ValidationExceptionReason::CannotParse: + return "CannotParse"; + case ValidationExceptionReason::FieldValidationFailed: + return "FieldValidationFailed"; + case ValidationExceptionReason::Other: + return "Other"; + case ValidationExceptionReason::UnknownField: + return "UnknownField"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/model/ZipClassificationCode.cpp b/generated/src/aws-cpp-sdk-geo-places/source/model/ZipClassificationCode.cpp new file mode 100644 index 00000000000..d95a7690e17 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/model/ZipClassificationCode.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoPlaces + { + namespace Model + { + namespace ZipClassificationCodeMapper + { + + static const int Military_HASH = HashingUtils::HashString("Military"); + static const int PostOfficeBoxes_HASH = HashingUtils::HashString("PostOfficeBoxes"); + static const int Unique_HASH = HashingUtils::HashString("Unique"); + + + ZipClassificationCode GetZipClassificationCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Military_HASH) + { + return ZipClassificationCode::Military; + } + else if (hashCode == PostOfficeBoxes_HASH) + { + return ZipClassificationCode::PostOfficeBoxes; + } + else if (hashCode == Unique_HASH) + { + return ZipClassificationCode::Unique; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ZipClassificationCode::NOT_SET; + } + + Aws::String GetNameForZipClassificationCode(ZipClassificationCode enumValue) + { + switch(enumValue) + { + case ZipClassificationCode::NOT_SET: + return {}; + case ZipClassificationCode::Military: + return "Military"; + case ZipClassificationCode::PostOfficeBoxes: + return "PostOfficeBoxes"; + case ZipClassificationCode::Unique: + return "Unique"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ZipClassificationCodeMapper + } // namespace Model + } // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/CMakeLists.txt b/generated/src/aws-cpp-sdk-geo-routes/CMakeLists.txt new file mode 100644 index 00000000000..6f3e08ab48d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/CMakeLists.txt @@ -0,0 +1,76 @@ +add_project(aws-cpp-sdk-geo-routes "C++ SDK for the AWS geo-routes service" aws-cpp-sdk-core) + +file(GLOB AWS_GEO-ROUTES_HEADERS + "include/aws/geo-routes/*.h" +) + +file(GLOB AWS_GEO-ROUTES_MODEL_HEADERS + "include/aws/geo-routes/model/*.h" +) + +file(GLOB AWS_GEO-ROUTES_SOURCE + "source/*.cpp" +) + +file(GLOB AWS_GEO-ROUTES_MODEL_SOURCE + "source/model/*.cpp" +) + +file(GLOB GEO-ROUTES_UNIFIED_HEADERS + ${AWS_GEO-ROUTES_HEADERS} + ${AWS_GEO-ROUTES_MODEL_HEADERS} +) + +file(GLOB GEO-ROUTES_UNITY_SRC + ${AWS_GEO-ROUTES_SOURCE} + ${AWS_GEO-ROUTES_MODEL_SOURCE} +) + +if(ENABLE_UNITY_BUILD) + enable_unity_build("GEO-ROUTES" GEO-ROUTES_UNITY_SRC) +endif() + +file(GLOB GEO-ROUTES_SRC + ${GEO-ROUTES_UNIFIED_HEADERS} + ${GEO-ROUTES_UNITY_SRC} +) + +if(WIN32) + #if we are compiling for visual studio, create a sane directory tree. + if(MSVC) + source_group("Header Files\\aws\\geo-routes" FILES ${AWS_GEO-ROUTES_HEADERS}) + source_group("Header Files\\aws\\geo-routes\\model" FILES ${AWS_GEO-ROUTES_MODEL_HEADERS}) + source_group("Source Files" FILES ${AWS_GEO-ROUTES_SOURCE}) + source_group("Source Files\\model" FILES ${AWS_GEO-ROUTES_MODEL_SOURCE}) + endif(MSVC) +endif() + +set(GEO-ROUTES_INCLUDES + "${CMAKE_CURRENT_SOURCE_DIR}/include/" +) + +add_library(${PROJECT_NAME} ${GEO-ROUTES_SRC}) +add_library(AWS::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +if(USE_WINDOWS_DLL_SEMANTICS AND BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE "AWS_GEOROUTES_EXPORTS") +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PRIVATE ${PLATFORM_DEP_LIBS} ${PROJECT_LIBS}) + + +setup_install() + +install (FILES ${AWS_GEO-ROUTES_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/geo-routes) +install (FILES ${AWS_GEO-ROUTES_MODEL_HEADERS} DESTINATION ${INCLUDE_DIRECTORY}/aws/geo-routes/model) + +do_packaging() + + diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesClient.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesClient.h new file mode 100644 index 00000000000..521658942d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesClient.h @@ -0,0 +1,234 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ + /** + *

                With the Amazon Location Routes API you can calculate routes and estimate + * travel time based on up-to-date road network and live traffic information.

                + *

                Calculate optimal travel routes and estimate travel times using up-to-date + * road network and traffic data. Key features include:

                • + *

                  Point-to-point routing with estimated travel time, distance, and turn-by-turn + * directions

                • Multi-point route optimization to minimize travel + * time or distance

                • Route matrices for efficient + * multi-destination planning

                • Isoline calculations to determine + * reachable areas within specified time or distance thresholds

                • + *

                  Map-matching to align GPS traces with the road network

                + */ + class AWS_GEOROUTES_API GeoRoutesClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods + { + public: + typedef Aws::Client::AWSJsonClient BASECLASS; + static const char* GetServiceName(); + static const char* GetAllocationTag(); + + typedef GeoRoutesClientConfiguration ClientConfigurationType; + typedef GeoRoutesEndpointProvider EndpointProviderType; + + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoRoutesClient(const Aws::GeoRoutes::GeoRoutesClientConfiguration& clientConfiguration = Aws::GeoRoutes::GeoRoutesClientConfiguration(), + std::shared_ptr endpointProvider = nullptr); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoRoutesClient(const Aws::Auth::AWSCredentials& credentials, + std::shared_ptr endpointProvider = nullptr, + const Aws::GeoRoutes::GeoRoutesClientConfiguration& clientConfiguration = Aws::GeoRoutes::GeoRoutesClientConfiguration()); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + GeoRoutesClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider = nullptr, + const Aws::GeoRoutes::GeoRoutesClientConfiguration& clientConfiguration = Aws::GeoRoutes::GeoRoutesClientConfiguration()); + + + /* Legacy constructors due deprecation */ + /** + * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoRoutesClient(const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config + * is not specified, it will be initialized to default values. + */ + GeoRoutesClient(const Aws::Auth::AWSCredentials& credentials, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /** + * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, + * the default http client factory will be used + */ + GeoRoutesClient(const std::shared_ptr& credentialsProvider, + const Aws::Client::ClientConfiguration& clientConfiguration); + + /* End of legacy constructors due deprecation */ + virtual ~GeoRoutesClient(); + + /** + *

                Use the CalculateIsolines action to find service areas that can + * be reached in a given threshold of time, distance.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::CalculateIsolinesOutcome CalculateIsolines(const Model::CalculateIsolinesRequest& request) const; + + /** + * A Callable wrapper for CalculateIsolines that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CalculateIsolinesOutcomeCallable CalculateIsolinesCallable(const CalculateIsolinesRequestT& request) const + { + return SubmitCallable(&GeoRoutesClient::CalculateIsolines, request); + } + + /** + * An Async wrapper for CalculateIsolines that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CalculateIsolinesAsync(const CalculateIsolinesRequestT& request, const CalculateIsolinesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoRoutesClient::CalculateIsolines, request, handler, context); + } + + /** + *

                Calculates route matrix containing the results for all pairs of Origins to + * Destinations. Each row corresponds to one entry in Origins. Each entry in the + * row corresponds to the route from that entry in Origins to an entry in + * Destinations positions.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::CalculateRouteMatrixOutcome CalculateRouteMatrix(const Model::CalculateRouteMatrixRequest& request) const; + + /** + * A Callable wrapper for CalculateRouteMatrix that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CalculateRouteMatrixOutcomeCallable CalculateRouteMatrixCallable(const CalculateRouteMatrixRequestT& request) const + { + return SubmitCallable(&GeoRoutesClient::CalculateRouteMatrix, request); + } + + /** + * An Async wrapper for CalculateRouteMatrix that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CalculateRouteMatrixAsync(const CalculateRouteMatrixRequestT& request, const CalculateRouteMatrixResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoRoutesClient::CalculateRouteMatrix, request, handler, context); + } + + /** + *

                Calculates a route given the following required parameters: + * Origin and Destination.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::CalculateRoutesOutcome CalculateRoutes(const Model::CalculateRoutesRequest& request) const; + + /** + * A Callable wrapper for CalculateRoutes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CalculateRoutesOutcomeCallable CalculateRoutesCallable(const CalculateRoutesRequestT& request) const + { + return SubmitCallable(&GeoRoutesClient::CalculateRoutes, request); + } + + /** + * An Async wrapper for CalculateRoutes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CalculateRoutesAsync(const CalculateRoutesRequestT& request, const CalculateRoutesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoRoutesClient::CalculateRoutes, request, handler, context); + } + + /** + *

                Calculates the optimal order to travel between a set of waypoints to minimize + * either the travel time or the distance travelled during the journey, based on + * road network restrictions and the traffic pattern data.

                See Also:

                + * AWS + * API Reference

                + */ + virtual Model::OptimizeWaypointsOutcome OptimizeWaypoints(const Model::OptimizeWaypointsRequest& request) const; + + /** + * A Callable wrapper for OptimizeWaypoints that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::OptimizeWaypointsOutcomeCallable OptimizeWaypointsCallable(const OptimizeWaypointsRequestT& request) const + { + return SubmitCallable(&GeoRoutesClient::OptimizeWaypoints, request); + } + + /** + * An Async wrapper for OptimizeWaypoints that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void OptimizeWaypointsAsync(const OptimizeWaypointsRequestT& request, const OptimizeWaypointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoRoutesClient::OptimizeWaypoints, request, handler, context); + } + + /** + *

                The SnapToRoads action matches GPS trace to roads most likely traveled + * on.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::SnapToRoadsOutcome SnapToRoads(const Model::SnapToRoadsRequest& request) const; + + /** + * A Callable wrapper for SnapToRoads that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::SnapToRoadsOutcomeCallable SnapToRoadsCallable(const SnapToRoadsRequestT& request) const + { + return SubmitCallable(&GeoRoutesClient::SnapToRoads, request); + } + + /** + * An Async wrapper for SnapToRoads that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void SnapToRoadsAsync(const SnapToRoadsRequestT& request, const SnapToRoadsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&GeoRoutesClient::SnapToRoads, request, handler, context); + } + + + void OverrideEndpoint(const Aws::String& endpoint); + std::shared_ptr& accessEndpointProvider(); + private: + friend class Aws::Client::ClientWithAsyncTemplateMethods; + void init(const GeoRoutesClientConfiguration& clientConfiguration); + + GeoRoutesClientConfiguration m_clientConfiguration; + std::shared_ptr m_endpointProvider; + }; + +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesEndpointProvider.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesEndpointProvider.h new file mode 100644 index 00000000000..055d9b3619d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesEndpointProvider.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +#include + + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Endpoint +{ +using EndpointParameters = Aws::Endpoint::EndpointParameters; +using Aws::Endpoint::EndpointProviderBase; +using Aws::Endpoint::DefaultEndpointProvider; + +using GeoRoutesClientContextParameters = Aws::Endpoint::ClientContextParameters; + +using GeoRoutesClientConfiguration = Aws::Client::GenericClientConfiguration; +using GeoRoutesBuiltInParameters = Aws::Endpoint::BuiltInParameters; + +/** + * The type for the GeoRoutes 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 GeoRoutesEndpointProviderBase = + EndpointProviderBase; + +using GeoRoutesDefaultEpProviderBase = + DefaultEndpointProvider; + +/** + * Default endpoint provider used for this service + */ +class AWS_GEOROUTES_API GeoRoutesEndpointProvider : public GeoRoutesDefaultEpProviderBase +{ +public: + using GeoRoutesResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + + GeoRoutesEndpointProvider() + : GeoRoutesDefaultEpProviderBase(Aws::GeoRoutes::GeoRoutesEndpointRules::GetRulesBlob(), Aws::GeoRoutes::GeoRoutesEndpointRules::RulesBlobSize) + {} + + ~GeoRoutesEndpointProvider() + { + } +}; +} // namespace Endpoint +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesEndpointRules.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesEndpointRules.h new file mode 100644 index 00000000000..d43f570d657 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesEndpointRules.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +class GeoRoutesEndpointRules +{ +public: + static const size_t RulesBlobStrLen; + static const size_t RulesBlobSize; + + static const char* GetRulesBlob(); +}; +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesErrorMarshaller.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesErrorMarshaller.h new file mode 100644 index 00000000000..01fa2daffad --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesErrorMarshaller.h @@ -0,0 +1,23 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws +{ +namespace Client +{ + +class AWS_GEOROUTES_API GeoRoutesErrorMarshaller : public Aws::Client::JsonErrorMarshaller +{ +public: + Aws::Client::AWSError FindErrorByName(const char* exceptionName) const override; +}; + +} // namespace Client +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesErrors.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesErrors.h new file mode 100644 index 00000000000..71728b2f474 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesErrors.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +enum class GeoRoutesErrors +{ + //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, + /////////////////////////////////////////////////////////////////////////////////////////// + + INTERNAL_SERVER= static_cast(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1 +}; + +class AWS_GEOROUTES_API GeoRoutesError : public Aws::Client::AWSError +{ +public: + GeoRoutesError() {} + GeoRoutesError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + GeoRoutesError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + GeoRoutesError(const Aws::Client::AWSError& rhs) : Aws::Client::AWSError(rhs) {} + GeoRoutesError(Aws::Client::AWSError&& rhs) : Aws::Client::AWSError(rhs) {} + + template + T GetModeledError(); +}; + +namespace GeoRoutesErrorMapper +{ + AWS_GEOROUTES_API Aws::Client::AWSError GetErrorForName(const char* errorName); +} + +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesRequest.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesRequest.h new file mode 100644 index 00000000000..c52b7c9c521 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesRequest.h @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ + class AWS_GEOROUTES_API GeoRoutesRequest : public Aws::AmazonSerializableWebServiceRequest + { + public: + using EndpointParameter = Aws::Endpoint::EndpointParameter; + using EndpointParameters = Aws::Endpoint::EndpointParameters; + + virtual ~GeoRoutesRequest () {} + + 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::API_VERSION_HEADER, "2020-11-19")); + return headers; + } + + protected: + virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); } + + }; + + +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesServiceClientModel.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesServiceClientModel.h new file mode 100644 index 00000000000..1f376da4fc9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesServiceClientModel.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +/* Generic header includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +/* End of generic header includes */ + +/* Service model headers required in GeoRoutesClient header */ +#include +#include +#include +#include +#include +/* End of service model headers required in GeoRoutesClient 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 GeoRoutes + { + using GeoRoutesClientConfiguration = Aws::Client::GenericClientConfiguration; + using GeoRoutesEndpointProviderBase = Aws::GeoRoutes::Endpoint::GeoRoutesEndpointProviderBase; + using GeoRoutesEndpointProvider = Aws::GeoRoutes::Endpoint::GeoRoutesEndpointProvider; + + namespace Model + { + /* Service model forward declarations required in GeoRoutesClient header */ + class CalculateIsolinesRequest; + class CalculateRouteMatrixRequest; + class CalculateRoutesRequest; + class OptimizeWaypointsRequest; + class SnapToRoadsRequest; + /* End of service model forward declarations required in GeoRoutesClient header */ + + /* Service model Outcome class definitions */ + typedef Aws::Utils::Outcome CalculateIsolinesOutcome; + typedef Aws::Utils::Outcome CalculateRouteMatrixOutcome; + typedef Aws::Utils::Outcome CalculateRoutesOutcome; + typedef Aws::Utils::Outcome OptimizeWaypointsOutcome; + typedef Aws::Utils::Outcome SnapToRoadsOutcome; + /* End of service model Outcome class definitions */ + + /* Service model Outcome callable definitions */ + typedef std::future CalculateIsolinesOutcomeCallable; + typedef std::future CalculateRouteMatrixOutcomeCallable; + typedef std::future CalculateRoutesOutcomeCallable; + typedef std::future OptimizeWaypointsOutcomeCallable; + typedef std::future SnapToRoadsOutcomeCallable; + /* End of service model Outcome callable definitions */ + } // namespace Model + + class GeoRoutesClient; + + /* Service model async handlers definitions */ + typedef std::function&) > CalculateIsolinesResponseReceivedHandler; + typedef std::function&) > CalculateRouteMatrixResponseReceivedHandler; + typedef std::function&) > CalculateRoutesResponseReceivedHandler; + typedef std::function&) > OptimizeWaypointsResponseReceivedHandler; + typedef std::function&) > SnapToRoadsResponseReceivedHandler; + /* End of service model async handlers definitions */ + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutes_EXPORTS.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutes_EXPORTS.h new file mode 100644 index 00000000000..73b0fcf86eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutes_EXPORTS.h @@ -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_GEOROUTES_EXPORTS + #define AWS_GEOROUTES_API __declspec(dllexport) + #else + #define AWS_GEOROUTES_API __declspec(dllimport) + #endif /* AWS_GEOROUTES_EXPORTS */ + #define AWS_GEOROUTES_EXTERN + #else + #define AWS_GEOROUTES_API + #define AWS_GEOROUTES_EXTERN extern + #endif // USE_IMPORT_EXPORT +#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) + #define AWS_GEOROUTES_API + #define AWS_GEOROUTES_EXTERN extern +#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32) diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateIsolinesRequest.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateIsolinesRequest.h new file mode 100644 index 00000000000..ee0032d7de9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateIsolinesRequest.h @@ -0,0 +1,357 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoRoutes +{ +namespace Model +{ + + /** + */ + class CalculateIsolinesRequest : public GeoRoutesRequest + { + public: + AWS_GEOROUTES_API CalculateIsolinesRequest(); + + // 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 "CalculateIsolines"; } + + AWS_GEOROUTES_API Aws::String SerializePayload() const override; + + AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                Features that are allowed while calculating. a route

                + */ + inline const IsolineAllowOptions& GetAllow() const{ return m_allow; } + inline bool AllowHasBeenSet() const { return m_allowHasBeenSet; } + inline void SetAllow(const IsolineAllowOptions& value) { m_allowHasBeenSet = true; m_allow = value; } + inline void SetAllow(IsolineAllowOptions&& value) { m_allowHasBeenSet = true; m_allow = std::move(value); } + inline CalculateIsolinesRequest& WithAllow(const IsolineAllowOptions& value) { SetAllow(value); return *this;} + inline CalculateIsolinesRequest& WithAllow(IsolineAllowOptions&& value) { SetAllow(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Time of arrival at the destination.

                Time format: + * YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

                + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                + */ + inline const Aws::String& GetArrivalTime() const{ return m_arrivalTime; } + inline bool ArrivalTimeHasBeenSet() const { return m_arrivalTimeHasBeenSet; } + inline void SetArrivalTime(const Aws::String& value) { m_arrivalTimeHasBeenSet = true; m_arrivalTime = value; } + inline void SetArrivalTime(Aws::String&& value) { m_arrivalTimeHasBeenSet = true; m_arrivalTime = std::move(value); } + inline void SetArrivalTime(const char* value) { m_arrivalTimeHasBeenSet = true; m_arrivalTime.assign(value); } + inline CalculateIsolinesRequest& WithArrivalTime(const Aws::String& value) { SetArrivalTime(value); return *this;} + inline CalculateIsolinesRequest& WithArrivalTime(Aws::String&& value) { SetArrivalTime(std::move(value)); return *this;} + inline CalculateIsolinesRequest& WithArrivalTime(const char* value) { SetArrivalTime(value); return *this;} + ///@} + + ///@{ + /** + *

                Features that are avoided while calculating a route. Avoidance is on a + * best-case basis. If an avoidance can't be satisfied for a particular case, it + * violates the avoidance and the returned response produces a notice for the + * violation.

                + */ + inline const IsolineAvoidanceOptions& GetAvoid() const{ return m_avoid; } + inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; } + inline void SetAvoid(const IsolineAvoidanceOptions& value) { m_avoidHasBeenSet = true; m_avoid = value; } + inline void SetAvoid(IsolineAvoidanceOptions&& value) { m_avoidHasBeenSet = true; m_avoid = std::move(value); } + inline CalculateIsolinesRequest& WithAvoid(const IsolineAvoidanceOptions& value) { SetAvoid(value); return *this;} + inline CalculateIsolinesRequest& WithAvoid(IsolineAvoidanceOptions&& value) { SetAvoid(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Uses the current time as the time of departure.

                + */ + inline bool GetDepartNow() const{ return m_departNow; } + inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; } + inline void SetDepartNow(bool value) { m_departNowHasBeenSet = true; m_departNow = value; } + inline CalculateIsolinesRequest& WithDepartNow(bool value) { SetDepartNow(value); return *this;} + ///@} + + ///@{ + /** + *

                Time of departure from thr origin.

                Time + * format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                + */ + inline const Aws::String& GetDepartureTime() const{ return m_departureTime; } + inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; } + inline void SetDepartureTime(const Aws::String& value) { m_departureTimeHasBeenSet = true; m_departureTime = value; } + inline void SetDepartureTime(Aws::String&& value) { m_departureTimeHasBeenSet = true; m_departureTime = std::move(value); } + inline void SetDepartureTime(const char* value) { m_departureTimeHasBeenSet = true; m_departureTime.assign(value); } + inline CalculateIsolinesRequest& WithDepartureTime(const Aws::String& value) { SetDepartureTime(value); return *this;} + inline CalculateIsolinesRequest& WithDepartureTime(Aws::String&& value) { SetDepartureTime(std::move(value)); return *this;} + inline CalculateIsolinesRequest& WithDepartureTime(const char* value) { SetDepartureTime(value); return *this;} + ///@} + + ///@{ + /** + *

                The final position for the route. In the World Geodetic System (WGS 84) + * format: [longitude, latitude].

                + */ + inline const Aws::Vector& GetDestination() const{ return m_destination; } + inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } + inline void SetDestination(const Aws::Vector& value) { m_destinationHasBeenSet = true; m_destination = value; } + inline void SetDestination(Aws::Vector&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } + inline CalculateIsolinesRequest& WithDestination(const Aws::Vector& value) { SetDestination(value); return *this;} + inline CalculateIsolinesRequest& WithDestination(Aws::Vector&& value) { SetDestination(std::move(value)); return *this;} + inline CalculateIsolinesRequest& AddDestination(double value) { m_destinationHasBeenSet = true; m_destination.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Destination related options.

                + */ + inline const IsolineDestinationOptions& GetDestinationOptions() const{ return m_destinationOptions; } + inline bool DestinationOptionsHasBeenSet() const { return m_destinationOptionsHasBeenSet; } + inline void SetDestinationOptions(const IsolineDestinationOptions& value) { m_destinationOptionsHasBeenSet = true; m_destinationOptions = value; } + inline void SetDestinationOptions(IsolineDestinationOptions&& value) { m_destinationOptionsHasBeenSet = true; m_destinationOptions = std::move(value); } + inline CalculateIsolinesRequest& WithDestinationOptions(const IsolineDestinationOptions& value) { SetDestinationOptions(value); return *this;} + inline CalculateIsolinesRequest& WithDestinationOptions(IsolineDestinationOptions&& value) { SetDestinationOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The format of the returned IsolineGeometry.

                Default + * Value:FlexiblePolyline

                + */ + inline const GeometryFormat& GetIsolineGeometryFormat() const{ return m_isolineGeometryFormat; } + inline bool IsolineGeometryFormatHasBeenSet() const { return m_isolineGeometryFormatHasBeenSet; } + inline void SetIsolineGeometryFormat(const GeometryFormat& value) { m_isolineGeometryFormatHasBeenSet = true; m_isolineGeometryFormat = value; } + inline void SetIsolineGeometryFormat(GeometryFormat&& value) { m_isolineGeometryFormatHasBeenSet = true; m_isolineGeometryFormat = std::move(value); } + inline CalculateIsolinesRequest& WithIsolineGeometryFormat(const GeometryFormat& value) { SetIsolineGeometryFormat(value); return *this;} + inline CalculateIsolinesRequest& WithIsolineGeometryFormat(GeometryFormat&& value) { SetIsolineGeometryFormat(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Defines the granularity of the returned Isoline

                + */ + inline const IsolineGranularityOptions& GetIsolineGranularity() const{ return m_isolineGranularity; } + inline bool IsolineGranularityHasBeenSet() const { return m_isolineGranularityHasBeenSet; } + inline void SetIsolineGranularity(const IsolineGranularityOptions& value) { m_isolineGranularityHasBeenSet = true; m_isolineGranularity = value; } + inline void SetIsolineGranularity(IsolineGranularityOptions&& value) { m_isolineGranularityHasBeenSet = true; m_isolineGranularity = std::move(value); } + inline CalculateIsolinesRequest& WithIsolineGranularity(const IsolineGranularityOptions& value) { SetIsolineGranularity(value); return *this;} + inline CalculateIsolinesRequest& WithIsolineGranularity(IsolineGranularityOptions&& value) { SetIsolineGranularity(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline CalculateIsolinesRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline CalculateIsolinesRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline CalculateIsolinesRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the optimization criteria for when calculating an isoline. + * AccurateCalculation generates an isoline of higher granularity that is more + * precise. FastCalculation generates an isoline faster by reducing the + * granularity, and in turn the quality of the isoline. BalancedCalculation + * generates an isoline by balancing between quality and performance.

                + *

                Default Value: BalancedCalculation

                + */ + inline const IsolineOptimizationObjective& GetOptimizeIsolineFor() const{ return m_optimizeIsolineFor; } + inline bool OptimizeIsolineForHasBeenSet() const { return m_optimizeIsolineForHasBeenSet; } + inline void SetOptimizeIsolineFor(const IsolineOptimizationObjective& value) { m_optimizeIsolineForHasBeenSet = true; m_optimizeIsolineFor = value; } + inline void SetOptimizeIsolineFor(IsolineOptimizationObjective&& value) { m_optimizeIsolineForHasBeenSet = true; m_optimizeIsolineFor = std::move(value); } + inline CalculateIsolinesRequest& WithOptimizeIsolineFor(const IsolineOptimizationObjective& value) { SetOptimizeIsolineFor(value); return *this;} + inline CalculateIsolinesRequest& WithOptimizeIsolineFor(IsolineOptimizationObjective&& value) { SetOptimizeIsolineFor(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the optimization criteria for calculating a route.

                Default + * Value: FastestRoute

                + */ + inline const RoutingObjective& GetOptimizeRoutingFor() const{ return m_optimizeRoutingFor; } + inline bool OptimizeRoutingForHasBeenSet() const { return m_optimizeRoutingForHasBeenSet; } + inline void SetOptimizeRoutingFor(const RoutingObjective& value) { m_optimizeRoutingForHasBeenSet = true; m_optimizeRoutingFor = value; } + inline void SetOptimizeRoutingFor(RoutingObjective&& value) { m_optimizeRoutingForHasBeenSet = true; m_optimizeRoutingFor = std::move(value); } + inline CalculateIsolinesRequest& WithOptimizeRoutingFor(const RoutingObjective& value) { SetOptimizeRoutingFor(value); return *this;} + inline CalculateIsolinesRequest& WithOptimizeRoutingFor(RoutingObjective&& value) { SetOptimizeRoutingFor(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The start position for the route.

                + */ + inline const Aws::Vector& GetOrigin() const{ return m_origin; } + inline bool OriginHasBeenSet() const { return m_originHasBeenSet; } + inline void SetOrigin(const Aws::Vector& value) { m_originHasBeenSet = true; m_origin = value; } + inline void SetOrigin(Aws::Vector&& value) { m_originHasBeenSet = true; m_origin = std::move(value); } + inline CalculateIsolinesRequest& WithOrigin(const Aws::Vector& value) { SetOrigin(value); return *this;} + inline CalculateIsolinesRequest& WithOrigin(Aws::Vector&& value) { SetOrigin(std::move(value)); return *this;} + inline CalculateIsolinesRequest& AddOrigin(double value) { m_originHasBeenSet = true; m_origin.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Origin related options.

                + */ + inline const IsolineOriginOptions& GetOriginOptions() const{ return m_originOptions; } + inline bool OriginOptionsHasBeenSet() const { return m_originOptionsHasBeenSet; } + inline void SetOriginOptions(const IsolineOriginOptions& value) { m_originOptionsHasBeenSet = true; m_originOptions = value; } + inline void SetOriginOptions(IsolineOriginOptions&& value) { m_originOptionsHasBeenSet = true; m_originOptions = std::move(value); } + inline CalculateIsolinesRequest& WithOriginOptions(const IsolineOriginOptions& value) { SetOriginOptions(value); return *this;} + inline CalculateIsolinesRequest& WithOriginOptions(IsolineOriginOptions&& value) { SetOriginOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Threshold to be used for the isoline calculation. Up to 3 thresholds per + * provided type can be requested.

                + */ + inline const IsolineThresholds& GetThresholds() const{ return m_thresholds; } + inline bool ThresholdsHasBeenSet() const { return m_thresholdsHasBeenSet; } + inline void SetThresholds(const IsolineThresholds& value) { m_thresholdsHasBeenSet = true; m_thresholds = value; } + inline void SetThresholds(IsolineThresholds&& value) { m_thresholdsHasBeenSet = true; m_thresholds = std::move(value); } + inline CalculateIsolinesRequest& WithThresholds(const IsolineThresholds& value) { SetThresholds(value); return *this;} + inline CalculateIsolinesRequest& WithThresholds(IsolineThresholds&& value) { SetThresholds(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Traffic related options.

                + */ + inline const IsolineTrafficOptions& GetTraffic() const{ return m_traffic; } + inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; } + inline void SetTraffic(const IsolineTrafficOptions& value) { m_trafficHasBeenSet = true; m_traffic = value; } + inline void SetTraffic(IsolineTrafficOptions&& value) { m_trafficHasBeenSet = true; m_traffic = std::move(value); } + inline CalculateIsolinesRequest& WithTraffic(const IsolineTrafficOptions& value) { SetTraffic(value); return *this;} + inline CalculateIsolinesRequest& WithTraffic(IsolineTrafficOptions&& value) { SetTraffic(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the mode of transport when calculating a route. Used in estimating + * the speed of travel and road compatibility.

                The mode + * Scooter also applies to motorcycles, set to Scooter + * when wanted to calculate options for motorcycles.

                Default Value: + * Car

                + */ + inline const IsolineTravelMode& GetTravelMode() const{ return m_travelMode; } + inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; } + inline void SetTravelMode(const IsolineTravelMode& value) { m_travelModeHasBeenSet = true; m_travelMode = value; } + inline void SetTravelMode(IsolineTravelMode&& value) { m_travelModeHasBeenSet = true; m_travelMode = std::move(value); } + inline CalculateIsolinesRequest& WithTravelMode(const IsolineTravelMode& value) { SetTravelMode(value); return *this;} + inline CalculateIsolinesRequest& WithTravelMode(IsolineTravelMode&& value) { SetTravelMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode related options for the provided travel mode.

                + */ + inline const IsolineTravelModeOptions& GetTravelModeOptions() const{ return m_travelModeOptions; } + inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; } + inline void SetTravelModeOptions(const IsolineTravelModeOptions& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = value; } + inline void SetTravelModeOptions(IsolineTravelModeOptions&& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = std::move(value); } + inline CalculateIsolinesRequest& WithTravelModeOptions(const IsolineTravelModeOptions& value) { SetTravelModeOptions(value); return *this;} + inline CalculateIsolinesRequest& WithTravelModeOptions(IsolineTravelModeOptions&& value) { SetTravelModeOptions(std::move(value)); return *this;} + ///@} + private: + + IsolineAllowOptions m_allow; + bool m_allowHasBeenSet = false; + + Aws::String m_arrivalTime; + bool m_arrivalTimeHasBeenSet = false; + + IsolineAvoidanceOptions m_avoid; + bool m_avoidHasBeenSet = false; + + bool m_departNow; + bool m_departNowHasBeenSet = false; + + Aws::String m_departureTime; + bool m_departureTimeHasBeenSet = false; + + Aws::Vector m_destination; + bool m_destinationHasBeenSet = false; + + IsolineDestinationOptions m_destinationOptions; + bool m_destinationOptionsHasBeenSet = false; + + GeometryFormat m_isolineGeometryFormat; + bool m_isolineGeometryFormatHasBeenSet = false; + + IsolineGranularityOptions m_isolineGranularity; + bool m_isolineGranularityHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + IsolineOptimizationObjective m_optimizeIsolineFor; + bool m_optimizeIsolineForHasBeenSet = false; + + RoutingObjective m_optimizeRoutingFor; + bool m_optimizeRoutingForHasBeenSet = false; + + Aws::Vector m_origin; + bool m_originHasBeenSet = false; + + IsolineOriginOptions m_originOptions; + bool m_originOptionsHasBeenSet = false; + + IsolineThresholds m_thresholds; + bool m_thresholdsHasBeenSet = false; + + IsolineTrafficOptions m_traffic; + bool m_trafficHasBeenSet = false; + + IsolineTravelMode m_travelMode; + bool m_travelModeHasBeenSet = false; + + IsolineTravelModeOptions m_travelModeOptions; + bool m_travelModeOptionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateIsolinesResult.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateIsolinesResult.h new file mode 100644 index 00000000000..646ba32f1dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateIsolinesResult.h @@ -0,0 +1,164 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + class CalculateIsolinesResult + { + public: + AWS_GEOROUTES_API CalculateIsolinesResult(); + AWS_GEOROUTES_API CalculateIsolinesResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOROUTES_API CalculateIsolinesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                Time of arrival at the destination. This parameter is returned only if the + * Destination parameters was provided in the request.

                Time + * format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                + */ + inline const Aws::String& GetArrivalTime() const{ return m_arrivalTime; } + inline void SetArrivalTime(const Aws::String& value) { m_arrivalTime = value; } + inline void SetArrivalTime(Aws::String&& value) { m_arrivalTime = std::move(value); } + inline void SetArrivalTime(const char* value) { m_arrivalTime.assign(value); } + inline CalculateIsolinesResult& WithArrivalTime(const Aws::String& value) { SetArrivalTime(value); return *this;} + inline CalculateIsolinesResult& WithArrivalTime(Aws::String&& value) { SetArrivalTime(std::move(value)); return *this;} + inline CalculateIsolinesResult& WithArrivalTime(const char* value) { SetArrivalTime(value); return *this;} + ///@} + + ///@{ + /** + *

                Time of departure from thr origin.

                Time + * format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                + */ + inline const Aws::String& GetDepartureTime() const{ return m_departureTime; } + inline void SetDepartureTime(const Aws::String& value) { m_departureTime = value; } + inline void SetDepartureTime(Aws::String&& value) { m_departureTime = std::move(value); } + inline void SetDepartureTime(const char* value) { m_departureTime.assign(value); } + inline CalculateIsolinesResult& WithDepartureTime(const Aws::String& value) { SetDepartureTime(value); return *this;} + inline CalculateIsolinesResult& WithDepartureTime(Aws::String&& value) { SetDepartureTime(std::move(value)); return *this;} + inline CalculateIsolinesResult& WithDepartureTime(const char* value) { SetDepartureTime(value); return *this;} + ///@} + + ///@{ + /** + *

                The format of the returned IsolineGeometry.

                Default + * Value:FlexiblePolyline

                + */ + inline const GeometryFormat& GetIsolineGeometryFormat() const{ return m_isolineGeometryFormat; } + inline void SetIsolineGeometryFormat(const GeometryFormat& value) { m_isolineGeometryFormat = value; } + inline void SetIsolineGeometryFormat(GeometryFormat&& value) { m_isolineGeometryFormat = std::move(value); } + inline CalculateIsolinesResult& WithIsolineGeometryFormat(const GeometryFormat& value) { SetIsolineGeometryFormat(value); return *this;} + inline CalculateIsolinesResult& WithIsolineGeometryFormat(GeometryFormat&& value) { SetIsolineGeometryFormat(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Calculated isolines and associated properties.

                + */ + inline const Aws::Vector& GetIsolines() const{ return m_isolines; } + inline void SetIsolines(const Aws::Vector& value) { m_isolines = value; } + inline void SetIsolines(Aws::Vector&& value) { m_isolines = std::move(value); } + inline CalculateIsolinesResult& WithIsolines(const Aws::Vector& value) { SetIsolines(value); return *this;} + inline CalculateIsolinesResult& WithIsolines(Aws::Vector&& value) { SetIsolines(std::move(value)); return *this;} + inline CalculateIsolinesResult& AddIsolines(const Isoline& value) { m_isolines.push_back(value); return *this; } + inline CalculateIsolinesResult& AddIsolines(Isoline&& value) { m_isolines.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline CalculateIsolinesResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline CalculateIsolinesResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline CalculateIsolinesResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                Snapped destination that was used for the Isoline calculation.

                + */ + inline const Aws::Vector& GetSnappedDestination() const{ return m_snappedDestination; } + inline void SetSnappedDestination(const Aws::Vector& value) { m_snappedDestination = value; } + inline void SetSnappedDestination(Aws::Vector&& value) { m_snappedDestination = std::move(value); } + inline CalculateIsolinesResult& WithSnappedDestination(const Aws::Vector& value) { SetSnappedDestination(value); return *this;} + inline CalculateIsolinesResult& WithSnappedDestination(Aws::Vector&& value) { SetSnappedDestination(std::move(value)); return *this;} + inline CalculateIsolinesResult& AddSnappedDestination(double value) { m_snappedDestination.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Snapped origin that was used for the Isoline calculation.

                + */ + inline const Aws::Vector& GetSnappedOrigin() const{ return m_snappedOrigin; } + inline void SetSnappedOrigin(const Aws::Vector& value) { m_snappedOrigin = value; } + inline void SetSnappedOrigin(Aws::Vector&& value) { m_snappedOrigin = std::move(value); } + inline CalculateIsolinesResult& WithSnappedOrigin(const Aws::Vector& value) { SetSnappedOrigin(value); return *this;} + inline CalculateIsolinesResult& WithSnappedOrigin(Aws::Vector&& value) { SetSnappedOrigin(std::move(value)); return *this;} + inline CalculateIsolinesResult& AddSnappedOrigin(double value) { m_snappedOrigin.push_back(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 CalculateIsolinesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CalculateIsolinesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CalculateIsolinesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_arrivalTime; + + Aws::String m_departureTime; + + GeometryFormat m_isolineGeometryFormat; + + Aws::Vector m_isolines; + + Aws::String m_pricingBucket; + + Aws::Vector m_snappedDestination; + + Aws::Vector m_snappedOrigin; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRouteMatrixRequest.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRouteMatrixRequest.h new file mode 100644 index 00000000000..1866e11b955 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRouteMatrixRequest.h @@ -0,0 +1,270 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoRoutes +{ +namespace Model +{ + + /** + */ + class CalculateRouteMatrixRequest : public GeoRoutesRequest + { + public: + AWS_GEOROUTES_API CalculateRouteMatrixRequest(); + + // 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 "CalculateRouteMatrix"; } + + AWS_GEOROUTES_API Aws::String SerializePayload() const override; + + AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                Features that are allowed while calculating. a route

                + */ + inline const RouteMatrixAllowOptions& GetAllow() const{ return m_allow; } + inline bool AllowHasBeenSet() const { return m_allowHasBeenSet; } + inline void SetAllow(const RouteMatrixAllowOptions& value) { m_allowHasBeenSet = true; m_allow = value; } + inline void SetAllow(RouteMatrixAllowOptions&& value) { m_allowHasBeenSet = true; m_allow = std::move(value); } + inline CalculateRouteMatrixRequest& WithAllow(const RouteMatrixAllowOptions& value) { SetAllow(value); return *this;} + inline CalculateRouteMatrixRequest& WithAllow(RouteMatrixAllowOptions&& value) { SetAllow(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Features that are avoided while calculating a route. Avoidance is on a + * best-case basis. If an avoidance can't be satisfied for a particular case, it + * violates the avoidance and the returned response produces a notice for the + * violation.

                + */ + inline const RouteMatrixAvoidanceOptions& GetAvoid() const{ return m_avoid; } + inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; } + inline void SetAvoid(const RouteMatrixAvoidanceOptions& value) { m_avoidHasBeenSet = true; m_avoid = value; } + inline void SetAvoid(RouteMatrixAvoidanceOptions&& value) { m_avoidHasBeenSet = true; m_avoid = std::move(value); } + inline CalculateRouteMatrixRequest& WithAvoid(const RouteMatrixAvoidanceOptions& value) { SetAvoid(value); return *this;} + inline CalculateRouteMatrixRequest& WithAvoid(RouteMatrixAvoidanceOptions&& value) { SetAvoid(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Uses the current time as the time of departure.

                + */ + inline bool GetDepartNow() const{ return m_departNow; } + inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; } + inline void SetDepartNow(bool value) { m_departNowHasBeenSet = true; m_departNow = value; } + inline CalculateRouteMatrixRequest& WithDepartNow(bool value) { SetDepartNow(value); return *this;} + ///@} + + ///@{ + /** + *

                Time of departure from thr origin.

                Time + * format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                + */ + inline const Aws::String& GetDepartureTime() const{ return m_departureTime; } + inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; } + inline void SetDepartureTime(const Aws::String& value) { m_departureTimeHasBeenSet = true; m_departureTime = value; } + inline void SetDepartureTime(Aws::String&& value) { m_departureTimeHasBeenSet = true; m_departureTime = std::move(value); } + inline void SetDepartureTime(const char* value) { m_departureTimeHasBeenSet = true; m_departureTime.assign(value); } + inline CalculateRouteMatrixRequest& WithDepartureTime(const Aws::String& value) { SetDepartureTime(value); return *this;} + inline CalculateRouteMatrixRequest& WithDepartureTime(Aws::String&& value) { SetDepartureTime(std::move(value)); return *this;} + inline CalculateRouteMatrixRequest& WithDepartureTime(const char* value) { SetDepartureTime(value); return *this;} + ///@} + + ///@{ + /** + *

                List of destinations for the route.

                + */ + inline const Aws::Vector& GetDestinations() const{ return m_destinations; } + inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; } + inline void SetDestinations(const Aws::Vector& value) { m_destinationsHasBeenSet = true; m_destinations = value; } + inline void SetDestinations(Aws::Vector&& value) { m_destinationsHasBeenSet = true; m_destinations = std::move(value); } + inline CalculateRouteMatrixRequest& WithDestinations(const Aws::Vector& value) { SetDestinations(value); return *this;} + inline CalculateRouteMatrixRequest& WithDestinations(Aws::Vector&& value) { SetDestinations(std::move(value)); return *this;} + inline CalculateRouteMatrixRequest& AddDestinations(const RouteMatrixDestination& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } + inline CalculateRouteMatrixRequest& AddDestinations(RouteMatrixDestination&& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Features to be strictly excluded while calculating the route.

                + */ + inline const RouteMatrixExclusionOptions& GetExclude() const{ return m_exclude; } + inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; } + inline void SetExclude(const RouteMatrixExclusionOptions& value) { m_excludeHasBeenSet = true; m_exclude = value; } + inline void SetExclude(RouteMatrixExclusionOptions&& value) { m_excludeHasBeenSet = true; m_exclude = std::move(value); } + inline CalculateRouteMatrixRequest& WithExclude(const RouteMatrixExclusionOptions& value) { SetExclude(value); return *this;} + inline CalculateRouteMatrixRequest& WithExclude(RouteMatrixExclusionOptions&& value) { SetExclude(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline CalculateRouteMatrixRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline CalculateRouteMatrixRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline CalculateRouteMatrixRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the optimization criteria for calculating a route.

                Default + * Value: FastestRoute

                + */ + inline const RoutingObjective& GetOptimizeRoutingFor() const{ return m_optimizeRoutingFor; } + inline bool OptimizeRoutingForHasBeenSet() const { return m_optimizeRoutingForHasBeenSet; } + inline void SetOptimizeRoutingFor(const RoutingObjective& value) { m_optimizeRoutingForHasBeenSet = true; m_optimizeRoutingFor = value; } + inline void SetOptimizeRoutingFor(RoutingObjective&& value) { m_optimizeRoutingForHasBeenSet = true; m_optimizeRoutingFor = std::move(value); } + inline CalculateRouteMatrixRequest& WithOptimizeRoutingFor(const RoutingObjective& value) { SetOptimizeRoutingFor(value); return *this;} + inline CalculateRouteMatrixRequest& WithOptimizeRoutingFor(RoutingObjective&& value) { SetOptimizeRoutingFor(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The position in longitude and latitude for the origin.

                + */ + inline const Aws::Vector& GetOrigins() const{ return m_origins; } + inline bool OriginsHasBeenSet() const { return m_originsHasBeenSet; } + inline void SetOrigins(const Aws::Vector& value) { m_originsHasBeenSet = true; m_origins = value; } + inline void SetOrigins(Aws::Vector&& value) { m_originsHasBeenSet = true; m_origins = std::move(value); } + inline CalculateRouteMatrixRequest& WithOrigins(const Aws::Vector& value) { SetOrigins(value); return *this;} + inline CalculateRouteMatrixRequest& WithOrigins(Aws::Vector&& value) { SetOrigins(std::move(value)); return *this;} + inline CalculateRouteMatrixRequest& AddOrigins(const RouteMatrixOrigin& value) { m_originsHasBeenSet = true; m_origins.push_back(value); return *this; } + inline CalculateRouteMatrixRequest& AddOrigins(RouteMatrixOrigin&& value) { m_originsHasBeenSet = true; m_origins.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Boundary within which the matrix is to be calculated. All data, origins and + * destinations outside the boundary are considered invalid.

                When + * request routing boundary was set as AutoCircle, the response routing boundary + * will return Circle derived from the AutoCircle settings.

                + */ + inline const RouteMatrixBoundary& GetRoutingBoundary() const{ return m_routingBoundary; } + inline bool RoutingBoundaryHasBeenSet() const { return m_routingBoundaryHasBeenSet; } + inline void SetRoutingBoundary(const RouteMatrixBoundary& value) { m_routingBoundaryHasBeenSet = true; m_routingBoundary = value; } + inline void SetRoutingBoundary(RouteMatrixBoundary&& value) { m_routingBoundaryHasBeenSet = true; m_routingBoundary = std::move(value); } + inline CalculateRouteMatrixRequest& WithRoutingBoundary(const RouteMatrixBoundary& value) { SetRoutingBoundary(value); return *this;} + inline CalculateRouteMatrixRequest& WithRoutingBoundary(RouteMatrixBoundary&& value) { SetRoutingBoundary(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Traffic related options.

                + */ + inline const RouteMatrixTrafficOptions& GetTraffic() const{ return m_traffic; } + inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; } + inline void SetTraffic(const RouteMatrixTrafficOptions& value) { m_trafficHasBeenSet = true; m_traffic = value; } + inline void SetTraffic(RouteMatrixTrafficOptions&& value) { m_trafficHasBeenSet = true; m_traffic = std::move(value); } + inline CalculateRouteMatrixRequest& WithTraffic(const RouteMatrixTrafficOptions& value) { SetTraffic(value); return *this;} + inline CalculateRouteMatrixRequest& WithTraffic(RouteMatrixTrafficOptions&& value) { SetTraffic(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the mode of transport when calculating a route. Used in estimating + * the speed of travel and road compatibility.

                Default Value: + * Car

                + */ + inline const RouteMatrixTravelMode& GetTravelMode() const{ return m_travelMode; } + inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; } + inline void SetTravelMode(const RouteMatrixTravelMode& value) { m_travelModeHasBeenSet = true; m_travelMode = value; } + inline void SetTravelMode(RouteMatrixTravelMode&& value) { m_travelModeHasBeenSet = true; m_travelMode = std::move(value); } + inline CalculateRouteMatrixRequest& WithTravelMode(const RouteMatrixTravelMode& value) { SetTravelMode(value); return *this;} + inline CalculateRouteMatrixRequest& WithTravelMode(RouteMatrixTravelMode&& value) { SetTravelMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode related options for the provided travel mode.

                + */ + inline const RouteMatrixTravelModeOptions& GetTravelModeOptions() const{ return m_travelModeOptions; } + inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; } + inline void SetTravelModeOptions(const RouteMatrixTravelModeOptions& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = value; } + inline void SetTravelModeOptions(RouteMatrixTravelModeOptions&& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = std::move(value); } + inline CalculateRouteMatrixRequest& WithTravelModeOptions(const RouteMatrixTravelModeOptions& value) { SetTravelModeOptions(value); return *this;} + inline CalculateRouteMatrixRequest& WithTravelModeOptions(RouteMatrixTravelModeOptions&& value) { SetTravelModeOptions(std::move(value)); return *this;} + ///@} + private: + + RouteMatrixAllowOptions m_allow; + bool m_allowHasBeenSet = false; + + RouteMatrixAvoidanceOptions m_avoid; + bool m_avoidHasBeenSet = false; + + bool m_departNow; + bool m_departNowHasBeenSet = false; + + Aws::String m_departureTime; + bool m_departureTimeHasBeenSet = false; + + Aws::Vector m_destinations; + bool m_destinationsHasBeenSet = false; + + RouteMatrixExclusionOptions m_exclude; + bool m_excludeHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + RoutingObjective m_optimizeRoutingFor; + bool m_optimizeRoutingForHasBeenSet = false; + + Aws::Vector m_origins; + bool m_originsHasBeenSet = false; + + RouteMatrixBoundary m_routingBoundary; + bool m_routingBoundaryHasBeenSet = false; + + RouteMatrixTrafficOptions m_traffic; + bool m_trafficHasBeenSet = false; + + RouteMatrixTravelMode m_travelMode; + bool m_travelModeHasBeenSet = false; + + RouteMatrixTravelModeOptions m_travelModeOptions; + bool m_travelModeOptionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRouteMatrixResult.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRouteMatrixResult.h new file mode 100644 index 00000000000..e19054170e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRouteMatrixResult.h @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + class CalculateRouteMatrixResult + { + public: + AWS_GEOROUTES_API CalculateRouteMatrixResult(); + AWS_GEOROUTES_API CalculateRouteMatrixResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOROUTES_API CalculateRouteMatrixResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The count of error results in the route matrix. If this number is 0, all + * routes were calculated successfully.

                + */ + inline int GetErrorCount() const{ return m_errorCount; } + inline void SetErrorCount(int value) { m_errorCount = value; } + inline CalculateRouteMatrixResult& WithErrorCount(int value) { SetErrorCount(value); return *this;} + ///@} + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline CalculateRouteMatrixResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline CalculateRouteMatrixResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline CalculateRouteMatrixResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                The calculated route matrix containing the results for all pairs of Origins + * to Destination positions. Each row corresponds to one entry in Origins. Each + * entry in the row corresponds to the route from that entry in Origins to an entry + * in Destination positions.

                + */ + inline const Aws::Vector>& GetRouteMatrix() const{ return m_routeMatrix; } + inline void SetRouteMatrix(const Aws::Vector>& value) { m_routeMatrix = value; } + inline void SetRouteMatrix(Aws::Vector>&& value) { m_routeMatrix = std::move(value); } + inline CalculateRouteMatrixResult& WithRouteMatrix(const Aws::Vector>& value) { SetRouteMatrix(value); return *this;} + inline CalculateRouteMatrixResult& WithRouteMatrix(Aws::Vector>&& value) { SetRouteMatrix(std::move(value)); return *this;} + inline CalculateRouteMatrixResult& AddRouteMatrix(const Aws::Vector& value) { m_routeMatrix.push_back(value); return *this; } + inline CalculateRouteMatrixResult& AddRouteMatrix(Aws::Vector&& value) { m_routeMatrix.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Boundary within which the matrix is to be calculated. All data, origins and + * destinations outside the boundary are considered invalid.

                When + * request routing boundary was set as AutoCircle, the response routing boundary + * will return Circle derived from the AutoCircle settings.

                + */ + inline const RouteMatrixBoundary& GetRoutingBoundary() const{ return m_routingBoundary; } + inline void SetRoutingBoundary(const RouteMatrixBoundary& value) { m_routingBoundary = value; } + inline void SetRoutingBoundary(RouteMatrixBoundary&& value) { m_routingBoundary = std::move(value); } + inline CalculateRouteMatrixResult& WithRoutingBoundary(const RouteMatrixBoundary& value) { SetRoutingBoundary(value); return *this;} + inline CalculateRouteMatrixResult& WithRoutingBoundary(RouteMatrixBoundary&& value) { SetRoutingBoundary(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 CalculateRouteMatrixResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CalculateRouteMatrixResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CalculateRouteMatrixResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + int m_errorCount; + + Aws::String m_pricingBucket; + + Aws::Vector> m_routeMatrix; + + RouteMatrixBoundary m_routingBoundary; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRoutesRequest.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRoutesRequest.h new file mode 100644 index 00000000000..72e12559aa7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRoutesRequest.h @@ -0,0 +1,493 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoRoutes +{ +namespace Model +{ + + /** + */ + class CalculateRoutesRequest : public GeoRoutesRequest + { + public: + AWS_GEOROUTES_API CalculateRoutesRequest(); + + // 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 "CalculateRoutes"; } + + AWS_GEOROUTES_API Aws::String SerializePayload() const override; + + AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                Features that are allowed while calculating. a route

                + */ + inline const RouteAllowOptions& GetAllow() const{ return m_allow; } + inline bool AllowHasBeenSet() const { return m_allowHasBeenSet; } + inline void SetAllow(const RouteAllowOptions& value) { m_allowHasBeenSet = true; m_allow = value; } + inline void SetAllow(RouteAllowOptions&& value) { m_allowHasBeenSet = true; m_allow = std::move(value); } + inline CalculateRoutesRequest& WithAllow(const RouteAllowOptions& value) { SetAllow(value); return *this;} + inline CalculateRoutesRequest& WithAllow(RouteAllowOptions&& value) { SetAllow(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Time of arrival at the destination.

                Time + * format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                + */ + inline const Aws::String& GetArrivalTime() const{ return m_arrivalTime; } + inline bool ArrivalTimeHasBeenSet() const { return m_arrivalTimeHasBeenSet; } + inline void SetArrivalTime(const Aws::String& value) { m_arrivalTimeHasBeenSet = true; m_arrivalTime = value; } + inline void SetArrivalTime(Aws::String&& value) { m_arrivalTimeHasBeenSet = true; m_arrivalTime = std::move(value); } + inline void SetArrivalTime(const char* value) { m_arrivalTimeHasBeenSet = true; m_arrivalTime.assign(value); } + inline CalculateRoutesRequest& WithArrivalTime(const Aws::String& value) { SetArrivalTime(value); return *this;} + inline CalculateRoutesRequest& WithArrivalTime(Aws::String&& value) { SetArrivalTime(std::move(value)); return *this;} + inline CalculateRoutesRequest& WithArrivalTime(const char* value) { SetArrivalTime(value); return *this;} + ///@} + + ///@{ + /** + *

                Features that are avoided while calculating a route. Avoidance is on a + * best-case basis. If an avoidance can't be satisfied for a particular case, it + * violates the avoidance and the returned response produces a notice for the + * violation.

                + */ + inline const RouteAvoidanceOptions& GetAvoid() const{ return m_avoid; } + inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; } + inline void SetAvoid(const RouteAvoidanceOptions& value) { m_avoidHasBeenSet = true; m_avoid = value; } + inline void SetAvoid(RouteAvoidanceOptions&& value) { m_avoidHasBeenSet = true; m_avoid = std::move(value); } + inline CalculateRoutesRequest& WithAvoid(const RouteAvoidanceOptions& value) { SetAvoid(value); return *this;} + inline CalculateRoutesRequest& WithAvoid(RouteAvoidanceOptions&& value) { SetAvoid(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Uses the current time as the time of departure.

                + */ + inline bool GetDepartNow() const{ return m_departNow; } + inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; } + inline void SetDepartNow(bool value) { m_departNowHasBeenSet = true; m_departNow = value; } + inline CalculateRoutesRequest& WithDepartNow(bool value) { SetDepartNow(value); return *this;} + ///@} + + ///@{ + /** + *

                Time of departure from thr origin.

                Time + * format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                + */ + inline const Aws::String& GetDepartureTime() const{ return m_departureTime; } + inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; } + inline void SetDepartureTime(const Aws::String& value) { m_departureTimeHasBeenSet = true; m_departureTime = value; } + inline void SetDepartureTime(Aws::String&& value) { m_departureTimeHasBeenSet = true; m_departureTime = std::move(value); } + inline void SetDepartureTime(const char* value) { m_departureTimeHasBeenSet = true; m_departureTime.assign(value); } + inline CalculateRoutesRequest& WithDepartureTime(const Aws::String& value) { SetDepartureTime(value); return *this;} + inline CalculateRoutesRequest& WithDepartureTime(Aws::String&& value) { SetDepartureTime(std::move(value)); return *this;} + inline CalculateRoutesRequest& WithDepartureTime(const char* value) { SetDepartureTime(value); return *this;} + ///@} + + ///@{ + /** + *

                The final position for the route. In the World Geodetic System (WGS 84) + * format: [longitude, latitude].

                + */ + inline const Aws::Vector& GetDestination() const{ return m_destination; } + inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } + inline void SetDestination(const Aws::Vector& value) { m_destinationHasBeenSet = true; m_destination = value; } + inline void SetDestination(Aws::Vector&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } + inline CalculateRoutesRequest& WithDestination(const Aws::Vector& value) { SetDestination(value); return *this;} + inline CalculateRoutesRequest& WithDestination(Aws::Vector&& value) { SetDestination(std::move(value)); return *this;} + inline CalculateRoutesRequest& AddDestination(double value) { m_destinationHasBeenSet = true; m_destination.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Destination related options.

                + */ + inline const RouteDestinationOptions& GetDestinationOptions() const{ return m_destinationOptions; } + inline bool DestinationOptionsHasBeenSet() const { return m_destinationOptionsHasBeenSet; } + inline void SetDestinationOptions(const RouteDestinationOptions& value) { m_destinationOptionsHasBeenSet = true; m_destinationOptions = value; } + inline void SetDestinationOptions(RouteDestinationOptions&& value) { m_destinationOptionsHasBeenSet = true; m_destinationOptions = std::move(value); } + inline CalculateRoutesRequest& WithDestinationOptions(const RouteDestinationOptions& value) { SetDestinationOptions(value); return *this;} + inline CalculateRoutesRequest& WithDestinationOptions(RouteDestinationOptions&& value) { SetDestinationOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Driver related options.

                + */ + inline const RouteDriverOptions& GetDriver() const{ return m_driver; } + inline bool DriverHasBeenSet() const { return m_driverHasBeenSet; } + inline void SetDriver(const RouteDriverOptions& value) { m_driverHasBeenSet = true; m_driver = value; } + inline void SetDriver(RouteDriverOptions&& value) { m_driverHasBeenSet = true; m_driver = std::move(value); } + inline CalculateRoutesRequest& WithDriver(const RouteDriverOptions& value) { SetDriver(value); return *this;} + inline CalculateRoutesRequest& WithDriver(RouteDriverOptions&& value) { SetDriver(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Features to be strictly excluded while calculating the route.

                + */ + inline const RouteExclusionOptions& GetExclude() const{ return m_exclude; } + inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; } + inline void SetExclude(const RouteExclusionOptions& value) { m_excludeHasBeenSet = true; m_exclude = value; } + inline void SetExclude(RouteExclusionOptions&& value) { m_excludeHasBeenSet = true; m_exclude = std::move(value); } + inline CalculateRoutesRequest& WithExclude(const RouteExclusionOptions& value) { SetExclude(value); return *this;} + inline CalculateRoutesRequest& WithExclude(RouteExclusionOptions&& value) { SetExclude(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Measurement system to be used for instructions within steps in the + * response.

                + */ + inline const MeasurementSystem& GetInstructionsMeasurementSystem() const{ return m_instructionsMeasurementSystem; } + inline bool InstructionsMeasurementSystemHasBeenSet() const { return m_instructionsMeasurementSystemHasBeenSet; } + inline void SetInstructionsMeasurementSystem(const MeasurementSystem& value) { m_instructionsMeasurementSystemHasBeenSet = true; m_instructionsMeasurementSystem = value; } + inline void SetInstructionsMeasurementSystem(MeasurementSystem&& value) { m_instructionsMeasurementSystemHasBeenSet = true; m_instructionsMeasurementSystem = std::move(value); } + inline CalculateRoutesRequest& WithInstructionsMeasurementSystem(const MeasurementSystem& value) { SetInstructionsMeasurementSystem(value); return *this;} + inline CalculateRoutesRequest& WithInstructionsMeasurementSystem(MeasurementSystem&& value) { SetInstructionsMeasurementSystem(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline CalculateRoutesRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline CalculateRoutesRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline CalculateRoutesRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

                List of languages for instructions within steps in the response.

                + *

                Instructions in the requested language are returned only if they are + * available.

                + */ + inline const Aws::Vector& GetLanguages() const{ return m_languages; } + inline bool LanguagesHasBeenSet() const { return m_languagesHasBeenSet; } + inline void SetLanguages(const Aws::Vector& value) { m_languagesHasBeenSet = true; m_languages = value; } + inline void SetLanguages(Aws::Vector&& value) { m_languagesHasBeenSet = true; m_languages = std::move(value); } + inline CalculateRoutesRequest& WithLanguages(const Aws::Vector& value) { SetLanguages(value); return *this;} + inline CalculateRoutesRequest& WithLanguages(Aws::Vector&& value) { SetLanguages(std::move(value)); return *this;} + inline CalculateRoutesRequest& AddLanguages(const Aws::String& value) { m_languagesHasBeenSet = true; m_languages.push_back(value); return *this; } + inline CalculateRoutesRequest& AddLanguages(Aws::String&& value) { m_languagesHasBeenSet = true; m_languages.push_back(std::move(value)); return *this; } + inline CalculateRoutesRequest& AddLanguages(const char* value) { m_languagesHasBeenSet = true; m_languages.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                A list of optional additional parameters such as timezone that can be + * requested for each result.

                • Elevation: Retrieves + * the elevation information for each location.

                • + * Incidents: Provides information on traffic incidents along the + * route.

                • PassThroughWaypoints: Indicates waypoints + * that are passed through without stopping.

                • + * Summary: Returns a summary of the route, including distance and + * duration.

                • Tolls: Supplies toll cost information + * along the route.

                • TravelStepInstructions: + * Provides step-by-step instructions for travel along the route.

                • + *

                  TruckRoadTypes: Returns information about road types suitable + * for trucks.

                • TypicalDuration: Gives typical + * travel duration based on historical data.

                • Zones: + * Specifies the time zone information for each waypoint.

                + */ + inline const Aws::Vector& GetLegAdditionalFeatures() const{ return m_legAdditionalFeatures; } + inline bool LegAdditionalFeaturesHasBeenSet() const { return m_legAdditionalFeaturesHasBeenSet; } + inline void SetLegAdditionalFeatures(const Aws::Vector& value) { m_legAdditionalFeaturesHasBeenSet = true; m_legAdditionalFeatures = value; } + inline void SetLegAdditionalFeatures(Aws::Vector&& value) { m_legAdditionalFeaturesHasBeenSet = true; m_legAdditionalFeatures = std::move(value); } + inline CalculateRoutesRequest& WithLegAdditionalFeatures(const Aws::Vector& value) { SetLegAdditionalFeatures(value); return *this;} + inline CalculateRoutesRequest& WithLegAdditionalFeatures(Aws::Vector&& value) { SetLegAdditionalFeatures(std::move(value)); return *this;} + inline CalculateRoutesRequest& AddLegAdditionalFeatures(const RouteLegAdditionalFeature& value) { m_legAdditionalFeaturesHasBeenSet = true; m_legAdditionalFeatures.push_back(value); return *this; } + inline CalculateRoutesRequest& AddLegAdditionalFeatures(RouteLegAdditionalFeature&& value) { m_legAdditionalFeaturesHasBeenSet = true; m_legAdditionalFeatures.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Specifies the format of the geometry returned for each leg of the route. You + * can choose between two different geometry encoding formats.

                + * FlexiblePolyline: A compact and precise encoding format for the leg + * geometry. For more information on the format, see the GitHub repository for + * FlexiblePolyline .

                Simple: A less compact + * encoding, which is easier to decode but may be less precise and result in larger + * payloads.

                + */ + inline const GeometryFormat& GetLegGeometryFormat() const{ return m_legGeometryFormat; } + inline bool LegGeometryFormatHasBeenSet() const { return m_legGeometryFormatHasBeenSet; } + inline void SetLegGeometryFormat(const GeometryFormat& value) { m_legGeometryFormatHasBeenSet = true; m_legGeometryFormat = value; } + inline void SetLegGeometryFormat(GeometryFormat&& value) { m_legGeometryFormatHasBeenSet = true; m_legGeometryFormat = std::move(value); } + inline CalculateRoutesRequest& WithLegGeometryFormat(const GeometryFormat& value) { SetLegGeometryFormat(value); return *this;} + inline CalculateRoutesRequest& WithLegGeometryFormat(GeometryFormat&& value) { SetLegGeometryFormat(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Maximum number of alternative routes to be provided in the response, if + * available.

                + */ + inline int GetMaxAlternatives() const{ return m_maxAlternatives; } + inline bool MaxAlternativesHasBeenSet() const { return m_maxAlternativesHasBeenSet; } + inline void SetMaxAlternatives(int value) { m_maxAlternativesHasBeenSet = true; m_maxAlternatives = value; } + inline CalculateRoutesRequest& WithMaxAlternatives(int value) { SetMaxAlternatives(value); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the optimization criteria for calculating a route.

                Default + * Value: FastestRoute

                + */ + inline const RoutingObjective& GetOptimizeRoutingFor() const{ return m_optimizeRoutingFor; } + inline bool OptimizeRoutingForHasBeenSet() const { return m_optimizeRoutingForHasBeenSet; } + inline void SetOptimizeRoutingFor(const RoutingObjective& value) { m_optimizeRoutingForHasBeenSet = true; m_optimizeRoutingFor = value; } + inline void SetOptimizeRoutingFor(RoutingObjective&& value) { m_optimizeRoutingForHasBeenSet = true; m_optimizeRoutingFor = std::move(value); } + inline CalculateRoutesRequest& WithOptimizeRoutingFor(const RoutingObjective& value) { SetOptimizeRoutingFor(value); return *this;} + inline CalculateRoutesRequest& WithOptimizeRoutingFor(RoutingObjective&& value) { SetOptimizeRoutingFor(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The start position for the route.

                + */ + inline const Aws::Vector& GetOrigin() const{ return m_origin; } + inline bool OriginHasBeenSet() const { return m_originHasBeenSet; } + inline void SetOrigin(const Aws::Vector& value) { m_originHasBeenSet = true; m_origin = value; } + inline void SetOrigin(Aws::Vector&& value) { m_originHasBeenSet = true; m_origin = std::move(value); } + inline CalculateRoutesRequest& WithOrigin(const Aws::Vector& value) { SetOrigin(value); return *this;} + inline CalculateRoutesRequest& WithOrigin(Aws::Vector&& value) { SetOrigin(std::move(value)); return *this;} + inline CalculateRoutesRequest& AddOrigin(double value) { m_originHasBeenSet = true; m_origin.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Origin related options.

                + */ + inline const RouteOriginOptions& GetOriginOptions() const{ return m_originOptions; } + inline bool OriginOptionsHasBeenSet() const { return m_originOptionsHasBeenSet; } + inline void SetOriginOptions(const RouteOriginOptions& value) { m_originOptionsHasBeenSet = true; m_originOptions = value; } + inline void SetOriginOptions(RouteOriginOptions&& value) { m_originOptionsHasBeenSet = true; m_originOptions = std::move(value); } + inline CalculateRoutesRequest& WithOriginOptions(const RouteOriginOptions& value) { SetOriginOptions(value); return *this;} + inline CalculateRoutesRequest& WithOriginOptions(RouteOriginOptions&& value) { SetOriginOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of optional features such as SpeedLimit that can be requested for a + * Span. A span is a section of a Leg for which the requested features have the + * same values.

                + */ + inline const Aws::Vector& GetSpanAdditionalFeatures() const{ return m_spanAdditionalFeatures; } + inline bool SpanAdditionalFeaturesHasBeenSet() const { return m_spanAdditionalFeaturesHasBeenSet; } + inline void SetSpanAdditionalFeatures(const Aws::Vector& value) { m_spanAdditionalFeaturesHasBeenSet = true; m_spanAdditionalFeatures = value; } + inline void SetSpanAdditionalFeatures(Aws::Vector&& value) { m_spanAdditionalFeaturesHasBeenSet = true; m_spanAdditionalFeatures = std::move(value); } + inline CalculateRoutesRequest& WithSpanAdditionalFeatures(const Aws::Vector& value) { SetSpanAdditionalFeatures(value); return *this;} + inline CalculateRoutesRequest& WithSpanAdditionalFeatures(Aws::Vector&& value) { SetSpanAdditionalFeatures(std::move(value)); return *this;} + inline CalculateRoutesRequest& AddSpanAdditionalFeatures(const RouteSpanAdditionalFeature& value) { m_spanAdditionalFeaturesHasBeenSet = true; m_spanAdditionalFeatures.push_back(value); return *this; } + inline CalculateRoutesRequest& AddSpanAdditionalFeatures(RouteSpanAdditionalFeature&& value) { m_spanAdditionalFeaturesHasBeenSet = true; m_spanAdditionalFeatures.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Toll related options.

                + */ + inline const RouteTollOptions& GetTolls() const{ return m_tolls; } + inline bool TollsHasBeenSet() const { return m_tollsHasBeenSet; } + inline void SetTolls(const RouteTollOptions& value) { m_tollsHasBeenSet = true; m_tolls = value; } + inline void SetTolls(RouteTollOptions&& value) { m_tollsHasBeenSet = true; m_tolls = std::move(value); } + inline CalculateRoutesRequest& WithTolls(const RouteTollOptions& value) { SetTolls(value); return *this;} + inline CalculateRoutesRequest& WithTolls(RouteTollOptions&& value) { SetTolls(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Traffic related options.

                + */ + inline const RouteTrafficOptions& GetTraffic() const{ return m_traffic; } + inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; } + inline void SetTraffic(const RouteTrafficOptions& value) { m_trafficHasBeenSet = true; m_traffic = value; } + inline void SetTraffic(RouteTrafficOptions&& value) { m_trafficHasBeenSet = true; m_traffic = std::move(value); } + inline CalculateRoutesRequest& WithTraffic(const RouteTrafficOptions& value) { SetTraffic(value); return *this;} + inline CalculateRoutesRequest& WithTraffic(RouteTrafficOptions&& value) { SetTraffic(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the mode of transport when calculating a route. Used in estimating + * the speed of travel and road compatibility.

                Default Value: + * Car

                + */ + inline const RouteTravelMode& GetTravelMode() const{ return m_travelMode; } + inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; } + inline void SetTravelMode(const RouteTravelMode& value) { m_travelModeHasBeenSet = true; m_travelMode = value; } + inline void SetTravelMode(RouteTravelMode&& value) { m_travelModeHasBeenSet = true; m_travelMode = std::move(value); } + inline CalculateRoutesRequest& WithTravelMode(const RouteTravelMode& value) { SetTravelMode(value); return *this;} + inline CalculateRoutesRequest& WithTravelMode(RouteTravelMode&& value) { SetTravelMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode related options for the provided travel mode.

                + */ + inline const RouteTravelModeOptions& GetTravelModeOptions() const{ return m_travelModeOptions; } + inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; } + inline void SetTravelModeOptions(const RouteTravelModeOptions& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = value; } + inline void SetTravelModeOptions(RouteTravelModeOptions&& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = std::move(value); } + inline CalculateRoutesRequest& WithTravelModeOptions(const RouteTravelModeOptions& value) { SetTravelModeOptions(value); return *this;} + inline CalculateRoutesRequest& WithTravelModeOptions(RouteTravelModeOptions&& value) { SetTravelModeOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Type of step returned by the response. Default provides basic steps intended + * for web based applications. TurnByTurn provides detailed instructions with more + * granularity intended for a turn based naviagtion system.

                + */ + inline const RouteTravelStepType& GetTravelStepType() const{ return m_travelStepType; } + inline bool TravelStepTypeHasBeenSet() const { return m_travelStepTypeHasBeenSet; } + inline void SetTravelStepType(const RouteTravelStepType& value) { m_travelStepTypeHasBeenSet = true; m_travelStepType = value; } + inline void SetTravelStepType(RouteTravelStepType&& value) { m_travelStepTypeHasBeenSet = true; m_travelStepType = std::move(value); } + inline CalculateRoutesRequest& WithTravelStepType(const RouteTravelStepType& value) { SetTravelStepType(value); return *this;} + inline CalculateRoutesRequest& WithTravelStepType(RouteTravelStepType&& value) { SetTravelStepType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                List of waypoints between the Origin and Destination.

                + */ + inline const Aws::Vector& GetWaypoints() const{ return m_waypoints; } + inline bool WaypointsHasBeenSet() const { return m_waypointsHasBeenSet; } + inline void SetWaypoints(const Aws::Vector& value) { m_waypointsHasBeenSet = true; m_waypoints = value; } + inline void SetWaypoints(Aws::Vector&& value) { m_waypointsHasBeenSet = true; m_waypoints = std::move(value); } + inline CalculateRoutesRequest& WithWaypoints(const Aws::Vector& value) { SetWaypoints(value); return *this;} + inline CalculateRoutesRequest& WithWaypoints(Aws::Vector&& value) { SetWaypoints(std::move(value)); return *this;} + inline CalculateRoutesRequest& AddWaypoints(const RouteWaypoint& value) { m_waypointsHasBeenSet = true; m_waypoints.push_back(value); return *this; } + inline CalculateRoutesRequest& AddWaypoints(RouteWaypoint&& value) { m_waypointsHasBeenSet = true; m_waypoints.push_back(std::move(value)); return *this; } + ///@} + private: + + RouteAllowOptions m_allow; + bool m_allowHasBeenSet = false; + + Aws::String m_arrivalTime; + bool m_arrivalTimeHasBeenSet = false; + + RouteAvoidanceOptions m_avoid; + bool m_avoidHasBeenSet = false; + + bool m_departNow; + bool m_departNowHasBeenSet = false; + + Aws::String m_departureTime; + bool m_departureTimeHasBeenSet = false; + + Aws::Vector m_destination; + bool m_destinationHasBeenSet = false; + + RouteDestinationOptions m_destinationOptions; + bool m_destinationOptionsHasBeenSet = false; + + RouteDriverOptions m_driver; + bool m_driverHasBeenSet = false; + + RouteExclusionOptions m_exclude; + bool m_excludeHasBeenSet = false; + + MeasurementSystem m_instructionsMeasurementSystem; + bool m_instructionsMeasurementSystemHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + Aws::Vector m_languages; + bool m_languagesHasBeenSet = false; + + Aws::Vector m_legAdditionalFeatures; + bool m_legAdditionalFeaturesHasBeenSet = false; + + GeometryFormat m_legGeometryFormat; + bool m_legGeometryFormatHasBeenSet = false; + + int m_maxAlternatives; + bool m_maxAlternativesHasBeenSet = false; + + RoutingObjective m_optimizeRoutingFor; + bool m_optimizeRoutingForHasBeenSet = false; + + Aws::Vector m_origin; + bool m_originHasBeenSet = false; + + RouteOriginOptions m_originOptions; + bool m_originOptionsHasBeenSet = false; + + Aws::Vector m_spanAdditionalFeatures; + bool m_spanAdditionalFeaturesHasBeenSet = false; + + RouteTollOptions m_tolls; + bool m_tollsHasBeenSet = false; + + RouteTrafficOptions m_traffic; + bool m_trafficHasBeenSet = false; + + RouteTravelMode m_travelMode; + bool m_travelModeHasBeenSet = false; + + RouteTravelModeOptions m_travelModeOptions; + bool m_travelModeOptionsHasBeenSet = false; + + RouteTravelStepType m_travelStepType; + bool m_travelStepTypeHasBeenSet = false; + + Aws::Vector m_waypoints; + bool m_waypointsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRoutesResult.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRoutesResult.h new file mode 100644 index 00000000000..fa2e115e0e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/CalculateRoutesResult.h @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + class CalculateRoutesResult + { + public: + AWS_GEOROUTES_API CalculateRoutesResult(); + AWS_GEOROUTES_API CalculateRoutesResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOROUTES_API CalculateRoutesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                Specifies the format of the geometry returned for each leg of the route.

                + */ + inline const GeometryFormat& GetLegGeometryFormat() const{ return m_legGeometryFormat; } + inline void SetLegGeometryFormat(const GeometryFormat& value) { m_legGeometryFormat = value; } + inline void SetLegGeometryFormat(GeometryFormat&& value) { m_legGeometryFormat = std::move(value); } + inline CalculateRoutesResult& WithLegGeometryFormat(const GeometryFormat& value) { SetLegGeometryFormat(value); return *this;} + inline CalculateRoutesResult& WithLegGeometryFormat(GeometryFormat&& value) { SetLegGeometryFormat(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Notices are additional information returned that indicate issues that + * occurred during route calculation.

                + */ + inline const Aws::Vector& GetNotices() const{ return m_notices; } + inline void SetNotices(const Aws::Vector& value) { m_notices = value; } + inline void SetNotices(Aws::Vector&& value) { m_notices = std::move(value); } + inline CalculateRoutesResult& WithNotices(const Aws::Vector& value) { SetNotices(value); return *this;} + inline CalculateRoutesResult& WithNotices(Aws::Vector&& value) { SetNotices(std::move(value)); return *this;} + inline CalculateRoutesResult& AddNotices(const RouteResponseNotice& value) { m_notices.push_back(value); return *this; } + inline CalculateRoutesResult& AddNotices(RouteResponseNotice&& value) { m_notices.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline CalculateRoutesResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline CalculateRoutesResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline CalculateRoutesResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                The path from the origin to the destination.

                + */ + inline const Aws::Vector& GetRoutes() const{ return m_routes; } + inline void SetRoutes(const Aws::Vector& value) { m_routes = value; } + inline void SetRoutes(Aws::Vector&& value) { m_routes = std::move(value); } + inline CalculateRoutesResult& WithRoutes(const Aws::Vector& value) { SetRoutes(value); return *this;} + inline CalculateRoutesResult& WithRoutes(Aws::Vector&& value) { SetRoutes(std::move(value)); return *this;} + inline CalculateRoutesResult& AddRoutes(const Route& value) { m_routes.push_back(value); return *this; } + inline CalculateRoutesResult& AddRoutes(Route&& value) { m_routes.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 CalculateRoutesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CalculateRoutesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CalculateRoutesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + GeometryFormat m_legGeometryFormat; + + Aws::Vector m_notices; + + Aws::String m_pricingBucket; + + Aws::Vector m_routes; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Circle.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Circle.h new file mode 100644 index 00000000000..dce3e2d95e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Circle.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Geometry defined as a circle. When request routing boundary was set as + * AutoCircle, the response routing boundary will return + * Circle derived from the AutoCircle + * settings.

                See Also:

                AWS + * API Reference

                + */ + class Circle + { + public: + AWS_GEOROUTES_API Circle(); + AWS_GEOROUTES_API Circle(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Circle& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Center of the Circle defined in longitude and latitude coordinates.

                + *

                Example: [-123.1174, 49.2847] represents the position with + * longitude -123.1174 and latitude 49.2847.

                + */ + inline const Aws::Vector& GetCenter() const{ return m_center; } + inline bool CenterHasBeenSet() const { return m_centerHasBeenSet; } + inline void SetCenter(const Aws::Vector& value) { m_centerHasBeenSet = true; m_center = value; } + inline void SetCenter(Aws::Vector&& value) { m_centerHasBeenSet = true; m_center = std::move(value); } + inline Circle& WithCenter(const Aws::Vector& value) { SetCenter(value); return *this;} + inline Circle& WithCenter(Aws::Vector&& value) { SetCenter(std::move(value)); return *this;} + inline Circle& AddCenter(double value) { m_centerHasBeenSet = true; m_center.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Radius of the Circle.

                Unit: meters

                + */ + inline double GetRadius() const{ return m_radius; } + inline bool RadiusHasBeenSet() const { return m_radiusHasBeenSet; } + inline void SetRadius(double value) { m_radiusHasBeenSet = true; m_radius = value; } + inline Circle& WithRadius(double value) { SetRadius(value); return *this;} + ///@} + private: + + Aws::Vector m_center; + bool m_centerHasBeenSet = false; + + double m_radius; + bool m_radiusHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Corridor.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Corridor.h new file mode 100644 index 00000000000..5906beb9fa3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Corridor.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Geometry defined as a corridor - a LineString with a radius that defines the + * width of the corridor.

                See Also:

                AWS + * API Reference

                + */ + class Corridor + { + public: + AWS_GEOROUTES_API Corridor(); + AWS_GEOROUTES_API Corridor(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Corridor& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                An ordered list of positions used to plot a route on a map.

                + *

                LineString and Polyline are mutually exclusive properties.

                + */ + inline const Aws::Vector>& GetLineString() const{ return m_lineString; } + inline bool LineStringHasBeenSet() const { return m_lineStringHasBeenSet; } + inline void SetLineString(const Aws::Vector>& value) { m_lineStringHasBeenSet = true; m_lineString = value; } + inline void SetLineString(Aws::Vector>&& value) { m_lineStringHasBeenSet = true; m_lineString = std::move(value); } + inline Corridor& WithLineString(const Aws::Vector>& value) { SetLineString(value); return *this;} + inline Corridor& WithLineString(Aws::Vector>&& value) { SetLineString(std::move(value)); return *this;} + inline Corridor& AddLineString(const Aws::Vector& value) { m_lineStringHasBeenSet = true; m_lineString.push_back(value); return *this; } + inline Corridor& AddLineString(Aws::Vector&& value) { m_lineStringHasBeenSet = true; m_lineString.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Radius that defines the width of the corridor.

                + */ + inline int GetRadius() const{ return m_radius; } + inline bool RadiusHasBeenSet() const { return m_radiusHasBeenSet; } + inline void SetRadius(int value) { m_radiusHasBeenSet = true; m_radius = value; } + inline Corridor& WithRadius(int value) { SetRadius(value); return *this;} + ///@} + private: + + Aws::Vector> m_lineString; + bool m_lineStringHasBeenSet = false; + + int m_radius; + bool m_radiusHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/DayOfWeek.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/DayOfWeek.h new file mode 100644 index 00000000000..86542c110f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/DayOfWeek.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class DayOfWeek + { + NOT_SET, + Monday, + Tuesday, + Wednesday, + Thursday, + Friday, + Saturday, + Sunday + }; + +namespace DayOfWeekMapper +{ +AWS_GEOROUTES_API DayOfWeek GetDayOfWeekForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForDayOfWeek(DayOfWeek value); +} // namespace DayOfWeekMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/GeometryFormat.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/GeometryFormat.h new file mode 100644 index 00000000000..2361b307031 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/GeometryFormat.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class GeometryFormat + { + NOT_SET, + FlexiblePolyline, + Simple + }; + +namespace GeometryFormatMapper +{ +AWS_GEOROUTES_API GeometryFormat GetGeometryFormatForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForGeometryFormat(GeometryFormat value); +} // namespace GeometryFormatMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Isoline.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Isoline.h new file mode 100644 index 00000000000..93beced1e47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Isoline.h @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Calculated isolines and associated properties.

                See Also:

                AWS + * API Reference

                + */ + class Isoline + { + public: + AWS_GEOROUTES_API Isoline(); + AWS_GEOROUTES_API Isoline(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Isoline& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Isolines may contain multiple components, if these components are connected + * by ferry links. These components are returned as separate polygons while the + * ferry links are returned as connections.

                + */ + inline const Aws::Vector& GetConnections() const{ return m_connections; } + inline bool ConnectionsHasBeenSet() const { return m_connectionsHasBeenSet; } + inline void SetConnections(const Aws::Vector& value) { m_connectionsHasBeenSet = true; m_connections = value; } + inline void SetConnections(Aws::Vector&& value) { m_connectionsHasBeenSet = true; m_connections = std::move(value); } + inline Isoline& WithConnections(const Aws::Vector& value) { SetConnections(value); return *this;} + inline Isoline& WithConnections(Aws::Vector&& value) { SetConnections(std::move(value)); return *this;} + inline Isoline& AddConnections(const IsolineConnection& value) { m_connectionsHasBeenSet = true; m_connections.push_back(value); return *this; } + inline Isoline& AddConnections(IsolineConnection&& value) { m_connectionsHasBeenSet = true; m_connections.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Distance threshold corresponding to the calculated Isoline.

                + */ + inline long long GetDistanceThreshold() const{ return m_distanceThreshold; } + inline bool DistanceThresholdHasBeenSet() const { return m_distanceThresholdHasBeenSet; } + inline void SetDistanceThreshold(long long value) { m_distanceThresholdHasBeenSet = true; m_distanceThreshold = value; } + inline Isoline& WithDistanceThreshold(long long value) { SetDistanceThreshold(value); return *this;} + ///@} + + ///@{ + /** + *

                Geometries for the Calculated isolines.

                + */ + inline const Aws::Vector& GetGeometries() const{ return m_geometries; } + inline bool GeometriesHasBeenSet() const { return m_geometriesHasBeenSet; } + inline void SetGeometries(const Aws::Vector& value) { m_geometriesHasBeenSet = true; m_geometries = value; } + inline void SetGeometries(Aws::Vector&& value) { m_geometriesHasBeenSet = true; m_geometries = std::move(value); } + inline Isoline& WithGeometries(const Aws::Vector& value) { SetGeometries(value); return *this;} + inline Isoline& WithGeometries(Aws::Vector&& value) { SetGeometries(std::move(value)); return *this;} + inline Isoline& AddGeometries(const IsolineShapeGeometry& value) { m_geometriesHasBeenSet = true; m_geometries.push_back(value); return *this; } + inline Isoline& AddGeometries(IsolineShapeGeometry&& value) { m_geometriesHasBeenSet = true; m_geometries.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Time threshold corresponding to the calculated isoline.

                + */ + inline long long GetTimeThreshold() const{ return m_timeThreshold; } + inline bool TimeThresholdHasBeenSet() const { return m_timeThresholdHasBeenSet; } + inline void SetTimeThreshold(long long value) { m_timeThresholdHasBeenSet = true; m_timeThreshold = value; } + inline Isoline& WithTimeThreshold(long long value) { SetTimeThreshold(value); return *this;} + ///@} + private: + + Aws::Vector m_connections; + bool m_connectionsHasBeenSet = false; + + long long m_distanceThreshold; + bool m_distanceThresholdHasBeenSet = false; + + Aws::Vector m_geometries; + bool m_geometriesHasBeenSet = false; + + long long m_timeThreshold; + bool m_timeThresholdHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAllowOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAllowOptions.h new file mode 100644 index 00000000000..a8c1585dd31 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAllowOptions.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Features that are allowed while calculating. a route

                See Also:

                + * AWS + * API Reference

                + */ + class IsolineAllowOptions + { + public: + AWS_GEOROUTES_API IsolineAllowOptions(); + AWS_GEOROUTES_API IsolineAllowOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineAllowOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Allow Hot (High Occupancy Toll) lanes while calculating the route.

                + */ + inline bool GetHot() const{ return m_hot; } + inline bool HotHasBeenSet() const { return m_hotHasBeenSet; } + inline void SetHot(bool value) { m_hotHasBeenSet = true; m_hot = value; } + inline IsolineAllowOptions& WithHot(bool value) { SetHot(value); return *this;} + ///@} + + ///@{ + /** + *

                Allow Hov (High Occupancy vehicle) lanes while calculating the route.

                + */ + inline bool GetHov() const{ return m_hov; } + inline bool HovHasBeenSet() const { return m_hovHasBeenSet; } + inline void SetHov(bool value) { m_hovHasBeenSet = true; m_hov = value; } + inline IsolineAllowOptions& WithHov(bool value) { SetHov(value); return *this;} + ///@} + private: + + bool m_hot; + bool m_hotHasBeenSet = false; + + bool m_hov; + bool m_hovHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceArea.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceArea.h new file mode 100644 index 00000000000..44d2193a7fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceArea.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The area to be avoided.

                See Also:

                AWS + * API Reference

                + */ + class IsolineAvoidanceArea + { + public: + AWS_GEOROUTES_API IsolineAvoidanceArea(); + AWS_GEOROUTES_API IsolineAvoidanceArea(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineAvoidanceArea& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Exceptions to the provided avoidance geometry, to be included while + * calculating the route.

                + */ + inline const Aws::Vector& GetExcept() const{ return m_except; } + inline bool ExceptHasBeenSet() const { return m_exceptHasBeenSet; } + inline void SetExcept(const Aws::Vector& value) { m_exceptHasBeenSet = true; m_except = value; } + inline void SetExcept(Aws::Vector&& value) { m_exceptHasBeenSet = true; m_except = std::move(value); } + inline IsolineAvoidanceArea& WithExcept(const Aws::Vector& value) { SetExcept(value); return *this;} + inline IsolineAvoidanceArea& WithExcept(Aws::Vector&& value) { SetExcept(std::move(value)); return *this;} + inline IsolineAvoidanceArea& AddExcept(const IsolineAvoidanceAreaGeometry& value) { m_exceptHasBeenSet = true; m_except.push_back(value); return *this; } + inline IsolineAvoidanceArea& AddExcept(IsolineAvoidanceAreaGeometry&& value) { m_exceptHasBeenSet = true; m_except.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Geometry of the area to be avoided.

                + */ + inline const IsolineAvoidanceAreaGeometry& GetGeometry() const{ return m_geometry; } + inline bool GeometryHasBeenSet() const { return m_geometryHasBeenSet; } + inline void SetGeometry(const IsolineAvoidanceAreaGeometry& value) { m_geometryHasBeenSet = true; m_geometry = value; } + inline void SetGeometry(IsolineAvoidanceAreaGeometry&& value) { m_geometryHasBeenSet = true; m_geometry = std::move(value); } + inline IsolineAvoidanceArea& WithGeometry(const IsolineAvoidanceAreaGeometry& value) { SetGeometry(value); return *this;} + inline IsolineAvoidanceArea& WithGeometry(IsolineAvoidanceAreaGeometry&& value) { SetGeometry(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_except; + bool m_exceptHasBeenSet = false; + + IsolineAvoidanceAreaGeometry m_geometry; + bool m_geometryHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceAreaGeometry.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceAreaGeometry.h new file mode 100644 index 00000000000..716dd8a3df6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceAreaGeometry.h @@ -0,0 +1,141 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The avoidance geometry, to be included while calculating the + * route.

                See Also:

                AWS + * API Reference

                + */ + class IsolineAvoidanceAreaGeometry + { + public: + AWS_GEOROUTES_API IsolineAvoidanceAreaGeometry(); + AWS_GEOROUTES_API IsolineAvoidanceAreaGeometry(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineAvoidanceAreaGeometry& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Geometry defined as a bounding box. The first pair represents the X and Y + * coordinates (longitude and latitude,) of the southwest corner of the bounding + * box; the second pair represents the X and Y coordinates (longitude and latitude) + * of the northeast corner.

                + */ + inline const Aws::Vector& GetBoundingBox() const{ return m_boundingBox; } + inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } + inline void SetBoundingBox(const Aws::Vector& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } + inline void SetBoundingBox(Aws::Vector&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } + inline IsolineAvoidanceAreaGeometry& WithBoundingBox(const Aws::Vector& value) { SetBoundingBox(value); return *this;} + inline IsolineAvoidanceAreaGeometry& WithBoundingBox(Aws::Vector&& value) { SetBoundingBox(std::move(value)); return *this;} + inline IsolineAvoidanceAreaGeometry& AddBoundingBox(double value) { m_boundingBoxHasBeenSet = true; m_boundingBox.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Geometry defined as a corridor - a LineString with a radius that defines the + * width of the corridor.

                + */ + inline const Corridor& GetCorridor() const{ return m_corridor; } + inline bool CorridorHasBeenSet() const { return m_corridorHasBeenSet; } + inline void SetCorridor(const Corridor& value) { m_corridorHasBeenSet = true; m_corridor = value; } + inline void SetCorridor(Corridor&& value) { m_corridorHasBeenSet = true; m_corridor = std::move(value); } + inline IsolineAvoidanceAreaGeometry& WithCorridor(const Corridor& value) { SetCorridor(value); return *this;} + inline IsolineAvoidanceAreaGeometry& WithCorridor(Corridor&& value) { SetCorridor(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of Polygon will be excluded for calculating isolines, the list can + * only contain 1 polygon.

                + */ + inline const Aws::Vector>>& GetPolygon() const{ return m_polygon; } + inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; } + inline void SetPolygon(const Aws::Vector>>& value) { m_polygonHasBeenSet = true; m_polygon = value; } + inline void SetPolygon(Aws::Vector>>&& value) { m_polygonHasBeenSet = true; m_polygon = std::move(value); } + inline IsolineAvoidanceAreaGeometry& WithPolygon(const Aws::Vector>>& value) { SetPolygon(value); return *this;} + inline IsolineAvoidanceAreaGeometry& WithPolygon(Aws::Vector>>&& value) { SetPolygon(std::move(value)); return *this;} + inline IsolineAvoidanceAreaGeometry& AddPolygon(const Aws::Vector>& value) { m_polygonHasBeenSet = true; m_polygon.push_back(value); return *this; } + inline IsolineAvoidanceAreaGeometry& AddPolygon(Aws::Vector>&& value) { m_polygonHasBeenSet = true; m_polygon.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Geometry defined as an encoded corridor – a polyline with a radius that + * defines the width of the corridor. For more information on polyline encoding, + * see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.

                + */ + inline const PolylineCorridor& GetPolylineCorridor() const{ return m_polylineCorridor; } + inline bool PolylineCorridorHasBeenSet() const { return m_polylineCorridorHasBeenSet; } + inline void SetPolylineCorridor(const PolylineCorridor& value) { m_polylineCorridorHasBeenSet = true; m_polylineCorridor = value; } + inline void SetPolylineCorridor(PolylineCorridor&& value) { m_polylineCorridorHasBeenSet = true; m_polylineCorridor = std::move(value); } + inline IsolineAvoidanceAreaGeometry& WithPolylineCorridor(const PolylineCorridor& value) { SetPolylineCorridor(value); return *this;} + inline IsolineAvoidanceAreaGeometry& WithPolylineCorridor(PolylineCorridor&& value) { SetPolylineCorridor(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of PolylinePolygon's that are excluded for calculating isolines, the + * list can only contain 1 polygon. For more information on polyline encoding, see + * https://github.com/heremaps/flexiblepolyline/blob/master/README.md. + *

                + */ + inline const Aws::Vector& GetPolylinePolygon() const{ return m_polylinePolygon; } + inline bool PolylinePolygonHasBeenSet() const { return m_polylinePolygonHasBeenSet; } + inline void SetPolylinePolygon(const Aws::Vector& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon = value; } + inline void SetPolylinePolygon(Aws::Vector&& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon = std::move(value); } + inline IsolineAvoidanceAreaGeometry& WithPolylinePolygon(const Aws::Vector& value) { SetPolylinePolygon(value); return *this;} + inline IsolineAvoidanceAreaGeometry& WithPolylinePolygon(Aws::Vector&& value) { SetPolylinePolygon(std::move(value)); return *this;} + inline IsolineAvoidanceAreaGeometry& AddPolylinePolygon(const Aws::String& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(value); return *this; } + inline IsolineAvoidanceAreaGeometry& AddPolylinePolygon(Aws::String&& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(std::move(value)); return *this; } + inline IsolineAvoidanceAreaGeometry& AddPolylinePolygon(const char* value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_boundingBox; + bool m_boundingBoxHasBeenSet = false; + + Corridor m_corridor; + bool m_corridorHasBeenSet = false; + + Aws::Vector>> m_polygon; + bool m_polygonHasBeenSet = false; + + PolylineCorridor m_polylineCorridor; + bool m_polylineCorridorHasBeenSet = false; + + Aws::Vector m_polylinePolygon; + bool m_polylinePolygonHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceOptions.h new file mode 100644 index 00000000000..2fa40e241e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceOptions.h @@ -0,0 +1,224 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Features that are avoided while calculating a route. Avoidance is on a + * best-case basis. If an avoidance can't be satisfied for a particular case, it + * violates the avoidance and the returned response produces a notice for the + * violation.

                See Also:

                AWS + * API Reference

                + */ + class IsolineAvoidanceOptions + { + public: + AWS_GEOROUTES_API IsolineAvoidanceOptions(); + AWS_GEOROUTES_API IsolineAvoidanceOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineAvoidanceOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Areas to be avoided.

                + */ + inline const Aws::Vector& GetAreas() const{ return m_areas; } + inline bool AreasHasBeenSet() const { return m_areasHasBeenSet; } + inline void SetAreas(const Aws::Vector& value) { m_areasHasBeenSet = true; m_areas = value; } + inline void SetAreas(Aws::Vector&& value) { m_areasHasBeenSet = true; m_areas = std::move(value); } + inline IsolineAvoidanceOptions& WithAreas(const Aws::Vector& value) { SetAreas(value); return *this;} + inline IsolineAvoidanceOptions& WithAreas(Aws::Vector&& value) { SetAreas(std::move(value)); return *this;} + inline IsolineAvoidanceOptions& AddAreas(const IsolineAvoidanceArea& value) { m_areasHasBeenSet = true; m_areas.push_back(value); return *this; } + inline IsolineAvoidanceOptions& AddAreas(IsolineAvoidanceArea&& value) { m_areasHasBeenSet = true; m_areas.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Avoid car-shuttle-trains while calculating the route.

                + */ + inline bool GetCarShuttleTrains() const{ return m_carShuttleTrains; } + inline bool CarShuttleTrainsHasBeenSet() const { return m_carShuttleTrainsHasBeenSet; } + inline void SetCarShuttleTrains(bool value) { m_carShuttleTrainsHasBeenSet = true; m_carShuttleTrains = value; } + inline IsolineAvoidanceOptions& WithCarShuttleTrains(bool value) { SetCarShuttleTrains(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid controlled access highways while calculating the route.

                + */ + inline bool GetControlledAccessHighways() const{ return m_controlledAccessHighways; } + inline bool ControlledAccessHighwaysHasBeenSet() const { return m_controlledAccessHighwaysHasBeenSet; } + inline void SetControlledAccessHighways(bool value) { m_controlledAccessHighwaysHasBeenSet = true; m_controlledAccessHighways = value; } + inline IsolineAvoidanceOptions& WithControlledAccessHighways(bool value) { SetControlledAccessHighways(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid dirt roads while calculating the route.

                + */ + inline bool GetDirtRoads() const{ return m_dirtRoads; } + inline bool DirtRoadsHasBeenSet() const { return m_dirtRoadsHasBeenSet; } + inline void SetDirtRoads(bool value) { m_dirtRoadsHasBeenSet = true; m_dirtRoads = value; } + inline IsolineAvoidanceOptions& WithDirtRoads(bool value) { SetDirtRoads(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid ferries while calculating the route.

                + */ + inline bool GetFerries() const{ return m_ferries; } + inline bool FerriesHasBeenSet() const { return m_ferriesHasBeenSet; } + inline void SetFerries(bool value) { m_ferriesHasBeenSet = true; m_ferries = value; } + inline IsolineAvoidanceOptions& WithFerries(bool value) { SetFerries(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid roads that have seasonal closure while calculating the route.

                + */ + inline bool GetSeasonalClosure() const{ return m_seasonalClosure; } + inline bool SeasonalClosureHasBeenSet() const { return m_seasonalClosureHasBeenSet; } + inline void SetSeasonalClosure(bool value) { m_seasonalClosureHasBeenSet = true; m_seasonalClosure = value; } + inline IsolineAvoidanceOptions& WithSeasonalClosure(bool value) { SetSeasonalClosure(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoids roads where the specified toll transponders are the only mode of + * payment.

                + */ + inline bool GetTollRoads() const{ return m_tollRoads; } + inline bool TollRoadsHasBeenSet() const { return m_tollRoadsHasBeenSet; } + inline void SetTollRoads(bool value) { m_tollRoadsHasBeenSet = true; m_tollRoads = value; } + inline IsolineAvoidanceOptions& WithTollRoads(bool value) { SetTollRoads(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoids roads where the specified toll transponders are the only mode of + * payment.

                + */ + inline bool GetTollTransponders() const{ return m_tollTransponders; } + inline bool TollTranspondersHasBeenSet() const { return m_tollTranspondersHasBeenSet; } + inline void SetTollTransponders(bool value) { m_tollTranspondersHasBeenSet = true; m_tollTransponders = value; } + inline IsolineAvoidanceOptions& WithTollTransponders(bool value) { SetTollTransponders(value); return *this;} + ///@} + + ///@{ + /** + *

                Truck road type identifiers. BK1 through BK4 apply + * only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

                + *

                There are currently no other supported values as of 26th April + * 2024.

                + */ + inline const Aws::Vector& GetTruckRoadTypes() const{ return m_truckRoadTypes; } + inline bool TruckRoadTypesHasBeenSet() const { return m_truckRoadTypesHasBeenSet; } + inline void SetTruckRoadTypes(const Aws::Vector& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes = value; } + inline void SetTruckRoadTypes(Aws::Vector&& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes = std::move(value); } + inline IsolineAvoidanceOptions& WithTruckRoadTypes(const Aws::Vector& value) { SetTruckRoadTypes(value); return *this;} + inline IsolineAvoidanceOptions& WithTruckRoadTypes(Aws::Vector&& value) { SetTruckRoadTypes(std::move(value)); return *this;} + inline IsolineAvoidanceOptions& AddTruckRoadTypes(const Aws::String& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(value); return *this; } + inline IsolineAvoidanceOptions& AddTruckRoadTypes(Aws::String&& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(std::move(value)); return *this; } + inline IsolineAvoidanceOptions& AddTruckRoadTypes(const char* value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Avoid tunnels while calculating the route.

                + */ + inline bool GetTunnels() const{ return m_tunnels; } + inline bool TunnelsHasBeenSet() const { return m_tunnelsHasBeenSet; } + inline void SetTunnels(bool value) { m_tunnelsHasBeenSet = true; m_tunnels = value; } + inline IsolineAvoidanceOptions& WithTunnels(bool value) { SetTunnels(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid U-turns for calculation on highways and motorways.

                + */ + inline bool GetUTurns() const{ return m_uTurns; } + inline bool UTurnsHasBeenSet() const { return m_uTurnsHasBeenSet; } + inline void SetUTurns(bool value) { m_uTurnsHasBeenSet = true; m_uTurns = value; } + inline IsolineAvoidanceOptions& WithUTurns(bool value) { SetUTurns(value); return *this;} + ///@} + + ///@{ + /** + *

                Zone categories to be avoided.

                + */ + inline const Aws::Vector& GetZoneCategories() const{ return m_zoneCategories; } + inline bool ZoneCategoriesHasBeenSet() const { return m_zoneCategoriesHasBeenSet; } + inline void SetZoneCategories(const Aws::Vector& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories = value; } + inline void SetZoneCategories(Aws::Vector&& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories = std::move(value); } + inline IsolineAvoidanceOptions& WithZoneCategories(const Aws::Vector& value) { SetZoneCategories(value); return *this;} + inline IsolineAvoidanceOptions& WithZoneCategories(Aws::Vector&& value) { SetZoneCategories(std::move(value)); return *this;} + inline IsolineAvoidanceOptions& AddZoneCategories(const IsolineAvoidanceZoneCategory& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories.push_back(value); return *this; } + inline IsolineAvoidanceOptions& AddZoneCategories(IsolineAvoidanceZoneCategory&& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_areas; + bool m_areasHasBeenSet = false; + + bool m_carShuttleTrains; + bool m_carShuttleTrainsHasBeenSet = false; + + bool m_controlledAccessHighways; + bool m_controlledAccessHighwaysHasBeenSet = false; + + bool m_dirtRoads; + bool m_dirtRoadsHasBeenSet = false; + + bool m_ferries; + bool m_ferriesHasBeenSet = false; + + bool m_seasonalClosure; + bool m_seasonalClosureHasBeenSet = false; + + bool m_tollRoads; + bool m_tollRoadsHasBeenSet = false; + + bool m_tollTransponders; + bool m_tollTranspondersHasBeenSet = false; + + Aws::Vector m_truckRoadTypes; + bool m_truckRoadTypesHasBeenSet = false; + + bool m_tunnels; + bool m_tunnelsHasBeenSet = false; + + bool m_uTurns; + bool m_uTurnsHasBeenSet = false; + + Aws::Vector m_zoneCategories; + bool m_zoneCategoriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceZoneCategory.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceZoneCategory.h new file mode 100644 index 00000000000..d824b371211 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineAvoidanceZoneCategory.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Zone category to be avoided.

                See Also:

                AWS + * API Reference

                + */ + class IsolineAvoidanceZoneCategory + { + public: + AWS_GEOROUTES_API IsolineAvoidanceZoneCategory(); + AWS_GEOROUTES_API IsolineAvoidanceZoneCategory(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineAvoidanceZoneCategory& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Zone category to be avoided.

                + */ + inline const IsolineZoneCategory& GetCategory() const{ return m_category; } + inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } + inline void SetCategory(const IsolineZoneCategory& value) { m_categoryHasBeenSet = true; m_category = value; } + inline void SetCategory(IsolineZoneCategory&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } + inline IsolineAvoidanceZoneCategory& WithCategory(const IsolineZoneCategory& value) { SetCategory(value); return *this;} + inline IsolineAvoidanceZoneCategory& WithCategory(IsolineZoneCategory&& value) { SetCategory(std::move(value)); return *this;} + ///@} + private: + + IsolineZoneCategory m_category; + bool m_categoryHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineCarOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineCarOptions.h new file mode 100644 index 00000000000..e18c25f2c6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineCarOptions.h @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options for vehicles.

                See Also:

                AWS + * API Reference

                + */ + class IsolineCarOptions + { + public: + AWS_GEOROUTES_API IsolineCarOptions(); + AWS_GEOROUTES_API IsolineCarOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineCarOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Engine type of the vehicle.

                + */ + inline const IsolineEngineType& GetEngineType() const{ return m_engineType; } + inline bool EngineTypeHasBeenSet() const { return m_engineTypeHasBeenSet; } + inline void SetEngineType(const IsolineEngineType& value) { m_engineTypeHasBeenSet = true; m_engineType = value; } + inline void SetEngineType(IsolineEngineType&& value) { m_engineTypeHasBeenSet = true; m_engineType = std::move(value); } + inline IsolineCarOptions& WithEngineType(const IsolineEngineType& value) { SetEngineType(value); return *this;} + inline IsolineCarOptions& WithEngineType(IsolineEngineType&& value) { SetEngineType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The vehicle License Plate.

                + */ + inline const IsolineVehicleLicensePlate& GetLicensePlate() const{ return m_licensePlate; } + inline bool LicensePlateHasBeenSet() const { return m_licensePlateHasBeenSet; } + inline void SetLicensePlate(const IsolineVehicleLicensePlate& value) { m_licensePlateHasBeenSet = true; m_licensePlate = value; } + inline void SetLicensePlate(IsolineVehicleLicensePlate&& value) { m_licensePlateHasBeenSet = true; m_licensePlate = std::move(value); } + inline IsolineCarOptions& WithLicensePlate(const IsolineVehicleLicensePlate& value) { SetLicensePlate(value); return *this;} + inline IsolineCarOptions& WithLicensePlate(IsolineVehicleLicensePlate&& value) { SetLicensePlate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Maximum speed.

                Unit: KilometersPerHour

                + */ + inline double GetMaxSpeed() const{ return m_maxSpeed; } + inline bool MaxSpeedHasBeenSet() const { return m_maxSpeedHasBeenSet; } + inline void SetMaxSpeed(double value) { m_maxSpeedHasBeenSet = true; m_maxSpeed = value; } + inline IsolineCarOptions& WithMaxSpeed(double value) { SetMaxSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                The number of occupants in the vehicle.

                Default Value: 1 + *

                + */ + inline int GetOccupancy() const{ return m_occupancy; } + inline bool OccupancyHasBeenSet() const { return m_occupancyHasBeenSet; } + inline void SetOccupancy(int value) { m_occupancyHasBeenSet = true; m_occupancy = value; } + inline IsolineCarOptions& WithOccupancy(int value) { SetOccupancy(value); return *this;} + ///@} + private: + + IsolineEngineType m_engineType; + bool m_engineTypeHasBeenSet = false; + + IsolineVehicleLicensePlate m_licensePlate; + bool m_licensePlateHasBeenSet = false; + + double m_maxSpeed; + bool m_maxSpeedHasBeenSet = false; + + int m_occupancy; + bool m_occupancyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineConnection.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineConnection.h new file mode 100644 index 00000000000..cdaf440c210 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineConnection.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Isolines may contain multiple components, if these components are connected + * by ferry links. These components are returned as separate polygons while the + * ferry links are returned as connections.

                See Also:

                AWS + * API Reference

                + */ + class IsolineConnection + { + public: + AWS_GEOROUTES_API IsolineConnection(); + AWS_GEOROUTES_API IsolineConnection(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineConnection& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Index of the polygon corresponding to the "from" component of the connection. + * The polygon is available from Isoline[].Geometries.

                + */ + inline int GetFromPolygonIndex() const{ return m_fromPolygonIndex; } + inline bool FromPolygonIndexHasBeenSet() const { return m_fromPolygonIndexHasBeenSet; } + inline void SetFromPolygonIndex(int value) { m_fromPolygonIndexHasBeenSet = true; m_fromPolygonIndex = value; } + inline IsolineConnection& WithFromPolygonIndex(int value) { SetFromPolygonIndex(value); return *this;} + ///@} + + ///@{ + /** + *

                The isoline geometry.

                + */ + inline const IsolineConnectionGeometry& GetGeometry() const{ return m_geometry; } + inline bool GeometryHasBeenSet() const { return m_geometryHasBeenSet; } + inline void SetGeometry(const IsolineConnectionGeometry& value) { m_geometryHasBeenSet = true; m_geometry = value; } + inline void SetGeometry(IsolineConnectionGeometry&& value) { m_geometryHasBeenSet = true; m_geometry = std::move(value); } + inline IsolineConnection& WithGeometry(const IsolineConnectionGeometry& value) { SetGeometry(value); return *this;} + inline IsolineConnection& WithGeometry(IsolineConnectionGeometry&& value) { SetGeometry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Index of the polygon corresponding to the "to" component of the connection. + * The polygon is available from Isoline[].Geometries.

                + */ + inline int GetToPolygonIndex() const{ return m_toPolygonIndex; } + inline bool ToPolygonIndexHasBeenSet() const { return m_toPolygonIndexHasBeenSet; } + inline void SetToPolygonIndex(int value) { m_toPolygonIndexHasBeenSet = true; m_toPolygonIndex = value; } + inline IsolineConnection& WithToPolygonIndex(int value) { SetToPolygonIndex(value); return *this;} + ///@} + private: + + int m_fromPolygonIndex; + bool m_fromPolygonIndexHasBeenSet = false; + + IsolineConnectionGeometry m_geometry; + bool m_geometryHasBeenSet = false; + + int m_toPolygonIndex; + bool m_toPolygonIndexHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineConnectionGeometry.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineConnectionGeometry.h new file mode 100644 index 00000000000..4af0b3482aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineConnectionGeometry.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Geometry of the connection between different Isoline + * components.

                See Also:

                AWS + * API Reference

                + */ + class IsolineConnectionGeometry + { + public: + AWS_GEOROUTES_API IsolineConnectionGeometry(); + AWS_GEOROUTES_API IsolineConnectionGeometry(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineConnectionGeometry& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                An ordered list of positions used to plot a route on a map.

                + *

                LineString and Polyline are mutually exclusive properties.

                + */ + inline const Aws::Vector>& GetLineString() const{ return m_lineString; } + inline bool LineStringHasBeenSet() const { return m_lineStringHasBeenSet; } + inline void SetLineString(const Aws::Vector>& value) { m_lineStringHasBeenSet = true; m_lineString = value; } + inline void SetLineString(Aws::Vector>&& value) { m_lineStringHasBeenSet = true; m_lineString = std::move(value); } + inline IsolineConnectionGeometry& WithLineString(const Aws::Vector>& value) { SetLineString(value); return *this;} + inline IsolineConnectionGeometry& WithLineString(Aws::Vector>&& value) { SetLineString(std::move(value)); return *this;} + inline IsolineConnectionGeometry& AddLineString(const Aws::Vector& value) { m_lineStringHasBeenSet = true; m_lineString.push_back(value); return *this; } + inline IsolineConnectionGeometry& AddLineString(Aws::Vector&& value) { m_lineStringHasBeenSet = true; m_lineString.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                An ordered list of positions used to plot a route on a map in a lossy + * compression format.

                LineString and Polyline are mutually exclusive + * properties.

                + */ + inline const Aws::String& GetPolyline() const{ return m_polyline; } + inline bool PolylineHasBeenSet() const { return m_polylineHasBeenSet; } + inline void SetPolyline(const Aws::String& value) { m_polylineHasBeenSet = true; m_polyline = value; } + inline void SetPolyline(Aws::String&& value) { m_polylineHasBeenSet = true; m_polyline = std::move(value); } + inline void SetPolyline(const char* value) { m_polylineHasBeenSet = true; m_polyline.assign(value); } + inline IsolineConnectionGeometry& WithPolyline(const Aws::String& value) { SetPolyline(value); return *this;} + inline IsolineConnectionGeometry& WithPolyline(Aws::String&& value) { SetPolyline(std::move(value)); return *this;} + inline IsolineConnectionGeometry& WithPolyline(const char* value) { SetPolyline(value); return *this;} + ///@} + private: + + Aws::Vector> m_lineString; + bool m_lineStringHasBeenSet = false; + + Aws::String m_polyline; + bool m_polylineHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineDestinationOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineDestinationOptions.h new file mode 100644 index 00000000000..e56b18fef4f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineDestinationOptions.h @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Destination related options.

                See Also:

                AWS + * API Reference

                + */ + class IsolineDestinationOptions + { + public: + AWS_GEOROUTES_API IsolineDestinationOptions(); + AWS_GEOROUTES_API IsolineDestinationOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineDestinationOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Avoids actions for the provided distance. This is typically to consider for + * users in moving vehicles who may not have sufficient time to make an action at + * an origin or a destination.

                + */ + inline long long GetAvoidActionsForDistance() const{ return m_avoidActionsForDistance; } + inline bool AvoidActionsForDistanceHasBeenSet() const { return m_avoidActionsForDistanceHasBeenSet; } + inline void SetAvoidActionsForDistance(long long value) { m_avoidActionsForDistanceHasBeenSet = true; m_avoidActionsForDistance = value; } + inline IsolineDestinationOptions& WithAvoidActionsForDistance(long long value) { SetAvoidActionsForDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                GPS Heading at the position.

                + */ + inline double GetHeading() const{ return m_heading; } + inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; } + inline void SetHeading(double value) { m_headingHasBeenSet = true; m_heading = value; } + inline IsolineDestinationOptions& WithHeading(double value) { SetHeading(value); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to the road network.

                + */ + inline const IsolineMatchingOptions& GetMatching() const{ return m_matching; } + inline bool MatchingHasBeenSet() const { return m_matchingHasBeenSet; } + inline void SetMatching(const IsolineMatchingOptions& value) { m_matchingHasBeenSet = true; m_matching = value; } + inline void SetMatching(IsolineMatchingOptions&& value) { m_matchingHasBeenSet = true; m_matching = std::move(value); } + inline IsolineDestinationOptions& WithMatching(const IsolineMatchingOptions& value) { SetMatching(value); return *this;} + inline IsolineDestinationOptions& WithMatching(IsolineMatchingOptions&& value) { SetMatching(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to a side of the + * street.

                + */ + inline const IsolineSideOfStreetOptions& GetSideOfStreet() const{ return m_sideOfStreet; } + inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; } + inline void SetSideOfStreet(const IsolineSideOfStreetOptions& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = value; } + inline void SetSideOfStreet(IsolineSideOfStreetOptions&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::move(value); } + inline IsolineDestinationOptions& WithSideOfStreet(const IsolineSideOfStreetOptions& value) { SetSideOfStreet(value); return *this;} + inline IsolineDestinationOptions& WithSideOfStreet(IsolineSideOfStreetOptions&& value) { SetSideOfStreet(std::move(value)); return *this;} + ///@} + private: + + long long m_avoidActionsForDistance; + bool m_avoidActionsForDistanceHasBeenSet = false; + + double m_heading; + bool m_headingHasBeenSet = false; + + IsolineMatchingOptions m_matching; + bool m_matchingHasBeenSet = false; + + IsolineSideOfStreetOptions m_sideOfStreet; + bool m_sideOfStreetHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineEngineType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineEngineType.h new file mode 100644 index 00000000000..bc273c5a7d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineEngineType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class IsolineEngineType + { + NOT_SET, + Electric, + InternalCombustion, + PluginHybrid + }; + +namespace IsolineEngineTypeMapper +{ +AWS_GEOROUTES_API IsolineEngineType GetIsolineEngineTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForIsolineEngineType(IsolineEngineType value); +} // namespace IsolineEngineTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineGranularityOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineGranularityOptions.h new file mode 100644 index 00000000000..42d8e77cb24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineGranularityOptions.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Isoline granularity related options.

                See Also:

                AWS + * API Reference

                + */ + class IsolineGranularityOptions + { + public: + AWS_GEOROUTES_API IsolineGranularityOptions(); + AWS_GEOROUTES_API IsolineGranularityOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineGranularityOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Maximum number of points of returned Isoline.

                + */ + inline int GetMaxPoints() const{ return m_maxPoints; } + inline bool MaxPointsHasBeenSet() const { return m_maxPointsHasBeenSet; } + inline void SetMaxPoints(int value) { m_maxPointsHasBeenSet = true; m_maxPoints = value; } + inline IsolineGranularityOptions& WithMaxPoints(int value) { SetMaxPoints(value); return *this;} + ///@} + + ///@{ + /** + *

                Maximum resolution of the returned isoline.

                Unit: + * centimeters

                + */ + inline long long GetMaxResolution() const{ return m_maxResolution; } + inline bool MaxResolutionHasBeenSet() const { return m_maxResolutionHasBeenSet; } + inline void SetMaxResolution(long long value) { m_maxResolutionHasBeenSet = true; m_maxResolution = value; } + inline IsolineGranularityOptions& WithMaxResolution(long long value) { SetMaxResolution(value); return *this;} + ///@} + private: + + int m_maxPoints; + bool m_maxPointsHasBeenSet = false; + + long long m_maxResolution; + bool m_maxResolutionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineHazardousCargoType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineHazardousCargoType.h new file mode 100644 index 00000000000..4c3953ad959 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineHazardousCargoType.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class IsolineHazardousCargoType + { + NOT_SET, + Combustible, + Corrosive, + Explosive, + Flammable, + Gas, + HarmfulToWater, + Organic, + Other, + Poison, + PoisonousInhalation, + Radioactive + }; + +namespace IsolineHazardousCargoTypeMapper +{ +AWS_GEOROUTES_API IsolineHazardousCargoType GetIsolineHazardousCargoTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForIsolineHazardousCargoType(IsolineHazardousCargoType value); +} // namespace IsolineHazardousCargoTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineMatchingOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineMatchingOptions.h new file mode 100644 index 00000000000..69fe7640043 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineMatchingOptions.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Isoline matching related options.

                See Also:

                AWS + * API Reference

                + */ + class IsolineMatchingOptions + { + public: + AWS_GEOROUTES_API IsolineMatchingOptions(); + AWS_GEOROUTES_API IsolineMatchingOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineMatchingOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Attempts to match the provided position to a road similar to the provided + * name.

                + */ + inline const Aws::String& GetNameHint() const{ return m_nameHint; } + inline bool NameHintHasBeenSet() const { return m_nameHintHasBeenSet; } + inline void SetNameHint(const Aws::String& value) { m_nameHintHasBeenSet = true; m_nameHint = value; } + inline void SetNameHint(Aws::String&& value) { m_nameHintHasBeenSet = true; m_nameHint = std::move(value); } + inline void SetNameHint(const char* value) { m_nameHintHasBeenSet = true; m_nameHint.assign(value); } + inline IsolineMatchingOptions& WithNameHint(const Aws::String& value) { SetNameHint(value); return *this;} + inline IsolineMatchingOptions& WithNameHint(Aws::String&& value) { SetNameHint(std::move(value)); return *this;} + inline IsolineMatchingOptions& WithNameHint(const char* value) { SetNameHint(value); return *this;} + ///@} + + ///@{ + /** + *

                If the distance to a highway/bridge/tunnel/sliproad is within threshold, the + * waypoint will be snapped to the highway/bridge/tunnel/sliproad.

                + * Unit: meters

                + */ + inline long long GetOnRoadThreshold() const{ return m_onRoadThreshold; } + inline bool OnRoadThresholdHasBeenSet() const { return m_onRoadThresholdHasBeenSet; } + inline void SetOnRoadThreshold(long long value) { m_onRoadThresholdHasBeenSet = true; m_onRoadThreshold = value; } + inline IsolineMatchingOptions& WithOnRoadThreshold(long long value) { SetOnRoadThreshold(value); return *this;} + ///@} + + ///@{ + /** + *

                Considers all roads within the provided radius to match the provided + * destination to. The roads that are considered are determined by the provided + * Strategy.

                Unit: Meters

                + */ + inline long long GetRadius() const{ return m_radius; } + inline bool RadiusHasBeenSet() const { return m_radiusHasBeenSet; } + inline void SetRadius(long long value) { m_radiusHasBeenSet = true; m_radius = value; } + inline IsolineMatchingOptions& WithRadius(long long value) { SetRadius(value); return *this;} + ///@} + + ///@{ + /** + *

                Strategy that defines matching of the position onto the road network. + * MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches + * to the most significant road.

                + */ + inline const MatchingStrategy& GetStrategy() const{ return m_strategy; } + inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; } + inline void SetStrategy(const MatchingStrategy& value) { m_strategyHasBeenSet = true; m_strategy = value; } + inline void SetStrategy(MatchingStrategy&& value) { m_strategyHasBeenSet = true; m_strategy = std::move(value); } + inline IsolineMatchingOptions& WithStrategy(const MatchingStrategy& value) { SetStrategy(value); return *this;} + inline IsolineMatchingOptions& WithStrategy(MatchingStrategy&& value) { SetStrategy(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_nameHint; + bool m_nameHintHasBeenSet = false; + + long long m_onRoadThreshold; + bool m_onRoadThresholdHasBeenSet = false; + + long long m_radius; + bool m_radiusHasBeenSet = false; + + MatchingStrategy m_strategy; + bool m_strategyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineOptimizationObjective.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineOptimizationObjective.h new file mode 100644 index 00000000000..571a93fd72a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineOptimizationObjective.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class IsolineOptimizationObjective + { + NOT_SET, + AccurateCalculation, + BalancedCalculation, + FastCalculation + }; + +namespace IsolineOptimizationObjectiveMapper +{ +AWS_GEOROUTES_API IsolineOptimizationObjective GetIsolineOptimizationObjectiveForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForIsolineOptimizationObjective(IsolineOptimizationObjective value); +} // namespace IsolineOptimizationObjectiveMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineOriginOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineOriginOptions.h new file mode 100644 index 00000000000..a4f876442c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineOriginOptions.h @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options for the property.

                See Also:

                AWS + * API Reference

                + */ + class IsolineOriginOptions + { + public: + AWS_GEOROUTES_API IsolineOriginOptions(); + AWS_GEOROUTES_API IsolineOriginOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineOriginOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Avoids actions for the provided distance. This is typically to consider for + * users in moving vehicles who may not have sufficient time to make an action at + * an origin or a destination.

                + */ + inline long long GetAvoidActionsForDistance() const{ return m_avoidActionsForDistance; } + inline bool AvoidActionsForDistanceHasBeenSet() const { return m_avoidActionsForDistanceHasBeenSet; } + inline void SetAvoidActionsForDistance(long long value) { m_avoidActionsForDistanceHasBeenSet = true; m_avoidActionsForDistance = value; } + inline IsolineOriginOptions& WithAvoidActionsForDistance(long long value) { SetAvoidActionsForDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                GPS Heading at the position.

                + */ + inline double GetHeading() const{ return m_heading; } + inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; } + inline void SetHeading(double value) { m_headingHasBeenSet = true; m_heading = value; } + inline IsolineOriginOptions& WithHeading(double value) { SetHeading(value); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to the road network.

                + */ + inline const IsolineMatchingOptions& GetMatching() const{ return m_matching; } + inline bool MatchingHasBeenSet() const { return m_matchingHasBeenSet; } + inline void SetMatching(const IsolineMatchingOptions& value) { m_matchingHasBeenSet = true; m_matching = value; } + inline void SetMatching(IsolineMatchingOptions&& value) { m_matchingHasBeenSet = true; m_matching = std::move(value); } + inline IsolineOriginOptions& WithMatching(const IsolineMatchingOptions& value) { SetMatching(value); return *this;} + inline IsolineOriginOptions& WithMatching(IsolineMatchingOptions&& value) { SetMatching(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to a side of the + * street.

                + */ + inline const IsolineSideOfStreetOptions& GetSideOfStreet() const{ return m_sideOfStreet; } + inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; } + inline void SetSideOfStreet(const IsolineSideOfStreetOptions& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = value; } + inline void SetSideOfStreet(IsolineSideOfStreetOptions&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::move(value); } + inline IsolineOriginOptions& WithSideOfStreet(const IsolineSideOfStreetOptions& value) { SetSideOfStreet(value); return *this;} + inline IsolineOriginOptions& WithSideOfStreet(IsolineSideOfStreetOptions&& value) { SetSideOfStreet(std::move(value)); return *this;} + ///@} + private: + + long long m_avoidActionsForDistance; + bool m_avoidActionsForDistanceHasBeenSet = false; + + double m_heading; + bool m_headingHasBeenSet = false; + + IsolineMatchingOptions m_matching; + bool m_matchingHasBeenSet = false; + + IsolineSideOfStreetOptions m_sideOfStreet; + bool m_sideOfStreetHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineScooterOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineScooterOptions.h new file mode 100644 index 00000000000..7fe00fcfd89 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineScooterOptions.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options for the property.

                See Also:

                AWS + * API Reference

                + */ + class IsolineScooterOptions + { + public: + AWS_GEOROUTES_API IsolineScooterOptions(); + AWS_GEOROUTES_API IsolineScooterOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineScooterOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Engine type of the vehicle.

                + */ + inline const IsolineEngineType& GetEngineType() const{ return m_engineType; } + inline bool EngineTypeHasBeenSet() const { return m_engineTypeHasBeenSet; } + inline void SetEngineType(const IsolineEngineType& value) { m_engineTypeHasBeenSet = true; m_engineType = value; } + inline void SetEngineType(IsolineEngineType&& value) { m_engineTypeHasBeenSet = true; m_engineType = std::move(value); } + inline IsolineScooterOptions& WithEngineType(const IsolineEngineType& value) { SetEngineType(value); return *this;} + inline IsolineScooterOptions& WithEngineType(IsolineEngineType&& value) { SetEngineType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The vehicle License Plate.

                + */ + inline const IsolineVehicleLicensePlate& GetLicensePlate() const{ return m_licensePlate; } + inline bool LicensePlateHasBeenSet() const { return m_licensePlateHasBeenSet; } + inline void SetLicensePlate(const IsolineVehicleLicensePlate& value) { m_licensePlateHasBeenSet = true; m_licensePlate = value; } + inline void SetLicensePlate(IsolineVehicleLicensePlate&& value) { m_licensePlateHasBeenSet = true; m_licensePlate = std::move(value); } + inline IsolineScooterOptions& WithLicensePlate(const IsolineVehicleLicensePlate& value) { SetLicensePlate(value); return *this;} + inline IsolineScooterOptions& WithLicensePlate(IsolineVehicleLicensePlate&& value) { SetLicensePlate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Maximum speed specified.

                Unit: KilometersPerHour + *

                + */ + inline double GetMaxSpeed() const{ return m_maxSpeed; } + inline bool MaxSpeedHasBeenSet() const { return m_maxSpeedHasBeenSet; } + inline void SetMaxSpeed(double value) { m_maxSpeedHasBeenSet = true; m_maxSpeed = value; } + inline IsolineScooterOptions& WithMaxSpeed(double value) { SetMaxSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                The number of occupants in the vehicle.

                Default Value: 1 + *

                + */ + inline int GetOccupancy() const{ return m_occupancy; } + inline bool OccupancyHasBeenSet() const { return m_occupancyHasBeenSet; } + inline void SetOccupancy(int value) { m_occupancyHasBeenSet = true; m_occupancy = value; } + inline IsolineScooterOptions& WithOccupancy(int value) { SetOccupancy(value); return *this;} + ///@} + private: + + IsolineEngineType m_engineType; + bool m_engineTypeHasBeenSet = false; + + IsolineVehicleLicensePlate m_licensePlate; + bool m_licensePlateHasBeenSet = false; + + double m_maxSpeed; + bool m_maxSpeedHasBeenSet = false; + + int m_occupancy; + bool m_occupancyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineShapeGeometry.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineShapeGeometry.h new file mode 100644 index 00000000000..882bead5cb6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineShapeGeometry.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Geometry of the connection between different Isoline + * components.

                See Also:

                AWS + * API Reference

                + */ + class IsolineShapeGeometry + { + public: + AWS_GEOROUTES_API IsolineShapeGeometry(); + AWS_GEOROUTES_API IsolineShapeGeometry(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineShapeGeometry& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                A list of Isoline Polygons, for each isoline polygon, it contains polygons of + * the first linear ring (the outer ring) and from 2nd item to the last item (the + * inner rings).

                + */ + inline const Aws::Vector>>& GetPolygon() const{ return m_polygon; } + inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; } + inline void SetPolygon(const Aws::Vector>>& value) { m_polygonHasBeenSet = true; m_polygon = value; } + inline void SetPolygon(Aws::Vector>>&& value) { m_polygonHasBeenSet = true; m_polygon = std::move(value); } + inline IsolineShapeGeometry& WithPolygon(const Aws::Vector>>& value) { SetPolygon(value); return *this;} + inline IsolineShapeGeometry& WithPolygon(Aws::Vector>>&& value) { SetPolygon(std::move(value)); return *this;} + inline IsolineShapeGeometry& AddPolygon(const Aws::Vector>& value) { m_polygonHasBeenSet = true; m_polygon.push_back(value); return *this; } + inline IsolineShapeGeometry& AddPolygon(Aws::Vector>&& value) { m_polygonHasBeenSet = true; m_polygon.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it + * contains PolylinePolygon of the first linear ring (the outer ring) and from 2nd + * item to the last item (the inner rings). For more information on polyline + * encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.

                + */ + inline const Aws::Vector& GetPolylinePolygon() const{ return m_polylinePolygon; } + inline bool PolylinePolygonHasBeenSet() const { return m_polylinePolygonHasBeenSet; } + inline void SetPolylinePolygon(const Aws::Vector& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon = value; } + inline void SetPolylinePolygon(Aws::Vector&& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon = std::move(value); } + inline IsolineShapeGeometry& WithPolylinePolygon(const Aws::Vector& value) { SetPolylinePolygon(value); return *this;} + inline IsolineShapeGeometry& WithPolylinePolygon(Aws::Vector&& value) { SetPolylinePolygon(std::move(value)); return *this;} + inline IsolineShapeGeometry& AddPolylinePolygon(const Aws::String& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(value); return *this; } + inline IsolineShapeGeometry& AddPolylinePolygon(Aws::String&& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(std::move(value)); return *this; } + inline IsolineShapeGeometry& AddPolylinePolygon(const char* value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(value); return *this; } + ///@} + private: + + Aws::Vector>> m_polygon; + bool m_polygonHasBeenSet = false; + + Aws::Vector m_polylinePolygon; + bool m_polylinePolygonHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineSideOfStreetOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineSideOfStreetOptions.h new file mode 100644 index 00000000000..6ae40cca464 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineSideOfStreetOptions.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options to configure matching the provided position to a side of the + * street.

                See Also:

                AWS + * API Reference

                + */ + class IsolineSideOfStreetOptions + { + public: + AWS_GEOROUTES_API IsolineSideOfStreetOptions(); + AWS_GEOROUTES_API IsolineSideOfStreetOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineSideOfStreetOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline IsolineSideOfStreetOptions& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline IsolineSideOfStreetOptions& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline IsolineSideOfStreetOptions& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Strategy that defines when the side of street position should be used. + * AnyStreet will always use the provided position.

                Default Value: + * DividedStreetOnly

                + */ + inline const SideOfStreetMatchingStrategy& GetUseWith() const{ return m_useWith; } + inline bool UseWithHasBeenSet() const { return m_useWithHasBeenSet; } + inline void SetUseWith(const SideOfStreetMatchingStrategy& value) { m_useWithHasBeenSet = true; m_useWith = value; } + inline void SetUseWith(SideOfStreetMatchingStrategy&& value) { m_useWithHasBeenSet = true; m_useWith = std::move(value); } + inline IsolineSideOfStreetOptions& WithUseWith(const SideOfStreetMatchingStrategy& value) { SetUseWith(value); return *this;} + inline IsolineSideOfStreetOptions& WithUseWith(SideOfStreetMatchingStrategy&& value) { SetUseWith(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + SideOfStreetMatchingStrategy m_useWith; + bool m_useWithHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineThresholds.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineThresholds.h new file mode 100644 index 00000000000..53cd30c6ea3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineThresholds.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Threshold to be used for the isoline calculation. Up to 3 thresholds per + * provided type can be requested.

                See Also:

                AWS + * API Reference

                + */ + class IsolineThresholds + { + public: + AWS_GEOROUTES_API IsolineThresholds(); + AWS_GEOROUTES_API IsolineThresholds(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineThresholds& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Distance to be used for the isoline calculation.

                + */ + inline const Aws::Vector& GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(const Aws::Vector& value) { m_distanceHasBeenSet = true; m_distance = value; } + inline void SetDistance(Aws::Vector&& value) { m_distanceHasBeenSet = true; m_distance = std::move(value); } + inline IsolineThresholds& WithDistance(const Aws::Vector& value) { SetDistance(value); return *this;} + inline IsolineThresholds& WithDistance(Aws::Vector&& value) { SetDistance(std::move(value)); return *this;} + inline IsolineThresholds& AddDistance(long long value) { m_distanceHasBeenSet = true; m_distance.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Time to be used for the isoline calculation.

                + */ + inline const Aws::Vector& GetTime() const{ return m_time; } + inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } + inline void SetTime(const Aws::Vector& value) { m_timeHasBeenSet = true; m_time = value; } + inline void SetTime(Aws::Vector&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } + inline IsolineThresholds& WithTime(const Aws::Vector& value) { SetTime(value); return *this;} + inline IsolineThresholds& WithTime(Aws::Vector&& value) { SetTime(std::move(value)); return *this;} + inline IsolineThresholds& AddTime(long long value) { m_timeHasBeenSet = true; m_time.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_distance; + bool m_distanceHasBeenSet = false; + + Aws::Vector m_time; + bool m_timeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTrafficOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTrafficOptions.h new file mode 100644 index 00000000000..c693534a657 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTrafficOptions.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to traffic.

                See Also:

                AWS + * API Reference

                + */ + class IsolineTrafficOptions + { + public: + AWS_GEOROUTES_API IsolineTrafficOptions(); + AWS_GEOROUTES_API IsolineTrafficOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineTrafficOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Duration for which flow traffic is considered valid. For this period, the + * flow traffic is used over historical traffic data. Flow traffic refers to + * congestion, which changes very quickly. Duration in seconds for which flow + * traffic event would be considered valid. While flow traffic event is valid it + * will be used over the historical traffic data.

                Unit: + * seconds

                + */ + inline long long GetFlowEventThresholdOverride() const{ return m_flowEventThresholdOverride; } + inline bool FlowEventThresholdOverrideHasBeenSet() const { return m_flowEventThresholdOverrideHasBeenSet; } + inline void SetFlowEventThresholdOverride(long long value) { m_flowEventThresholdOverrideHasBeenSet = true; m_flowEventThresholdOverride = value; } + inline IsolineTrafficOptions& WithFlowEventThresholdOverride(long long value) { SetFlowEventThresholdOverride(value); return *this;} + ///@} + + ///@{ + /** + *

                Determines if traffic should be used or ignored while calculating the + * route.

                Default Value: UseTrafficData

                + */ + inline const TrafficUsage& GetUsage() const{ return m_usage; } + inline bool UsageHasBeenSet() const { return m_usageHasBeenSet; } + inline void SetUsage(const TrafficUsage& value) { m_usageHasBeenSet = true; m_usage = value; } + inline void SetUsage(TrafficUsage&& value) { m_usageHasBeenSet = true; m_usage = std::move(value); } + inline IsolineTrafficOptions& WithUsage(const TrafficUsage& value) { SetUsage(value); return *this;} + inline IsolineTrafficOptions& WithUsage(TrafficUsage&& value) { SetUsage(std::move(value)); return *this;} + ///@} + private: + + long long m_flowEventThresholdOverride; + bool m_flowEventThresholdOverrideHasBeenSet = false; + + TrafficUsage m_usage; + bool m_usageHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTrailerOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTrailerOptions.h new file mode 100644 index 00000000000..6103e958e27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTrailerOptions.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Trailer options corresponding to the vehicle.

                See Also:

                AWS + * API Reference

                + */ + class IsolineTrailerOptions + { + public: + AWS_GEOROUTES_API IsolineTrailerOptions(); + AWS_GEOROUTES_API IsolineTrailerOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineTrailerOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Total number of axles of the vehicle.

                + */ + inline int GetAxleCount() const{ return m_axleCount; } + inline bool AxleCountHasBeenSet() const { return m_axleCountHasBeenSet; } + inline void SetAxleCount(int value) { m_axleCountHasBeenSet = true; m_axleCount = value; } + inline IsolineTrailerOptions& WithAxleCount(int value) { SetAxleCount(value); return *this;} + ///@} + + ///@{ + /** + *

                Number of trailers attached to the vehicle.

                Default Value: + * 0

                + */ + inline int GetTrailerCount() const{ return m_trailerCount; } + inline bool TrailerCountHasBeenSet() const { return m_trailerCountHasBeenSet; } + inline void SetTrailerCount(int value) { m_trailerCountHasBeenSet = true; m_trailerCount = value; } + inline IsolineTrailerOptions& WithTrailerCount(int value) { SetTrailerCount(value); return *this;} + ///@} + private: + + int m_axleCount; + bool m_axleCountHasBeenSet = false; + + int m_trailerCount; + bool m_trailerCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTravelMode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTravelMode.h new file mode 100644 index 00000000000..c46741f1acd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTravelMode.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class IsolineTravelMode + { + NOT_SET, + Car, + Pedestrian, + Scooter, + Truck + }; + +namespace IsolineTravelModeMapper +{ +AWS_GEOROUTES_API IsolineTravelMode GetIsolineTravelModeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForIsolineTravelMode(IsolineTravelMode value); +} // namespace IsolineTravelModeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTravelModeOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTravelModeOptions.h new file mode 100644 index 00000000000..d96453c6af8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTravelModeOptions.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode related options for the provided travel mode.

                See + * Also:

                AWS + * API Reference

                + */ + class IsolineTravelModeOptions + { + public: + AWS_GEOROUTES_API IsolineTravelModeOptions(); + AWS_GEOROUTES_API IsolineTravelModeOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineTravelModeOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Car"

                + */ + inline const IsolineCarOptions& GetCar() const{ return m_car; } + inline bool CarHasBeenSet() const { return m_carHasBeenSet; } + inline void SetCar(const IsolineCarOptions& value) { m_carHasBeenSet = true; m_car = value; } + inline void SetCar(IsolineCarOptions&& value) { m_carHasBeenSet = true; m_car = std::move(value); } + inline IsolineTravelModeOptions& WithCar(const IsolineCarOptions& value) { SetCar(value); return *this;} + inline IsolineTravelModeOptions& WithCar(IsolineCarOptions&& value) { SetCar(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Scooter"

                + */ + inline const IsolineScooterOptions& GetScooter() const{ return m_scooter; } + inline bool ScooterHasBeenSet() const { return m_scooterHasBeenSet; } + inline void SetScooter(const IsolineScooterOptions& value) { m_scooterHasBeenSet = true; m_scooter = value; } + inline void SetScooter(IsolineScooterOptions&& value) { m_scooterHasBeenSet = true; m_scooter = std::move(value); } + inline IsolineTravelModeOptions& WithScooter(const IsolineScooterOptions& value) { SetScooter(value); return *this;} + inline IsolineTravelModeOptions& WithScooter(IsolineScooterOptions&& value) { SetScooter(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Truck"

                + */ + inline const IsolineTruckOptions& GetTruck() const{ return m_truck; } + inline bool TruckHasBeenSet() const { return m_truckHasBeenSet; } + inline void SetTruck(const IsolineTruckOptions& value) { m_truckHasBeenSet = true; m_truck = value; } + inline void SetTruck(IsolineTruckOptions&& value) { m_truckHasBeenSet = true; m_truck = std::move(value); } + inline IsolineTravelModeOptions& WithTruck(const IsolineTruckOptions& value) { SetTruck(value); return *this;} + inline IsolineTravelModeOptions& WithTruck(IsolineTruckOptions&& value) { SetTruck(std::move(value)); return *this;} + ///@} + private: + + IsolineCarOptions m_car; + bool m_carHasBeenSet = false; + + IsolineScooterOptions m_scooter; + bool m_scooterHasBeenSet = false; + + IsolineTruckOptions m_truck; + bool m_truckHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTruckOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTruckOptions.h new file mode 100644 index 00000000000..07d0e3d8f5f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTruckOptions.h @@ -0,0 +1,338 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode options when the provided travel mode is "Truck"

                See + * Also:

                AWS + * API Reference

                + */ + class IsolineTruckOptions + { + public: + AWS_GEOROUTES_API IsolineTruckOptions(); + AWS_GEOROUTES_API IsolineTruckOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineTruckOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Total number of axles of the vehicle.

                + */ + inline int GetAxleCount() const{ return m_axleCount; } + inline bool AxleCountHasBeenSet() const { return m_axleCountHasBeenSet; } + inline void SetAxleCount(int value) { m_axleCountHasBeenSet = true; m_axleCount = value; } + inline IsolineTruckOptions& WithAxleCount(int value) { SetAxleCount(value); return *this;} + ///@} + + ///@{ + /** + *

                Engine type of the vehicle.

                + */ + inline const IsolineEngineType& GetEngineType() const{ return m_engineType; } + inline bool EngineTypeHasBeenSet() const { return m_engineTypeHasBeenSet; } + inline void SetEngineType(const IsolineEngineType& value) { m_engineTypeHasBeenSet = true; m_engineType = value; } + inline void SetEngineType(IsolineEngineType&& value) { m_engineTypeHasBeenSet = true; m_engineType = std::move(value); } + inline IsolineTruckOptions& WithEngineType(const IsolineEngineType& value) { SetEngineType(value); return *this;} + inline IsolineTruckOptions& WithEngineType(IsolineEngineType&& value) { SetEngineType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Gross weight of the vehicle including trailers, and goods at capacity.

                + *

                Unit: Kilograms

                + */ + inline long long GetGrossWeight() const{ return m_grossWeight; } + inline bool GrossWeightHasBeenSet() const { return m_grossWeightHasBeenSet; } + inline void SetGrossWeight(long long value) { m_grossWeightHasBeenSet = true; m_grossWeight = value; } + inline IsolineTruckOptions& WithGrossWeight(long long value) { SetGrossWeight(value); return *this;} + ///@} + + ///@{ + /** + *

                List of Hazardous cargo contained in the vehicle.

                + */ + inline const Aws::Vector& GetHazardousCargos() const{ return m_hazardousCargos; } + inline bool HazardousCargosHasBeenSet() const { return m_hazardousCargosHasBeenSet; } + inline void SetHazardousCargos(const Aws::Vector& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = value; } + inline void SetHazardousCargos(Aws::Vector&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = std::move(value); } + inline IsolineTruckOptions& WithHazardousCargos(const Aws::Vector& value) { SetHazardousCargos(value); return *this;} + inline IsolineTruckOptions& WithHazardousCargos(Aws::Vector&& value) { SetHazardousCargos(std::move(value)); return *this;} + inline IsolineTruckOptions& AddHazardousCargos(const IsolineHazardousCargoType& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(value); return *this; } + inline IsolineTruckOptions& AddHazardousCargos(IsolineHazardousCargoType&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Height of the vehicle.

                Unit: centimeters

                + */ + inline long long GetHeight() const{ return m_height; } + inline bool HeightHasBeenSet() const { return m_heightHasBeenSet; } + inline void SetHeight(long long value) { m_heightHasBeenSet = true; m_height = value; } + inline IsolineTruckOptions& WithHeight(long long value) { SetHeight(value); return *this;} + ///@} + + ///@{ + /** + *

                Height of the vehicle above its first axle.

                Unit: + * centimeters

                + */ + inline long long GetHeightAboveFirstAxle() const{ return m_heightAboveFirstAxle; } + inline bool HeightAboveFirstAxleHasBeenSet() const { return m_heightAboveFirstAxleHasBeenSet; } + inline void SetHeightAboveFirstAxle(long long value) { m_heightAboveFirstAxleHasBeenSet = true; m_heightAboveFirstAxle = value; } + inline IsolineTruckOptions& WithHeightAboveFirstAxle(long long value) { SetHeightAboveFirstAxle(value); return *this;} + ///@} + + ///@{ + /** + *

                Kingpin to rear axle length of the vehicle.

                Unit: + * centimeters

                + */ + inline long long GetKpraLength() const{ return m_kpraLength; } + inline bool KpraLengthHasBeenSet() const { return m_kpraLengthHasBeenSet; } + inline void SetKpraLength(long long value) { m_kpraLengthHasBeenSet = true; m_kpraLength = value; } + inline IsolineTruckOptions& WithKpraLength(long long value) { SetKpraLength(value); return *this;} + ///@} + + ///@{ + /** + *

                Length of the vehicle.

                Unit: centimeters

                + */ + inline long long GetLength() const{ return m_length; } + inline bool LengthHasBeenSet() const { return m_lengthHasBeenSet; } + inline void SetLength(long long value) { m_lengthHasBeenSet = true; m_length = value; } + inline IsolineTruckOptions& WithLength(long long value) { SetLength(value); return *this;} + ///@} + + ///@{ + /** + *

                The vehicle License Plate.

                + */ + inline const IsolineVehicleLicensePlate& GetLicensePlate() const{ return m_licensePlate; } + inline bool LicensePlateHasBeenSet() const { return m_licensePlateHasBeenSet; } + inline void SetLicensePlate(const IsolineVehicleLicensePlate& value) { m_licensePlateHasBeenSet = true; m_licensePlate = value; } + inline void SetLicensePlate(IsolineVehicleLicensePlate&& value) { m_licensePlateHasBeenSet = true; m_licensePlate = std::move(value); } + inline IsolineTruckOptions& WithLicensePlate(const IsolineVehicleLicensePlate& value) { SetLicensePlate(value); return *this;} + inline IsolineTruckOptions& WithLicensePlate(IsolineVehicleLicensePlate&& value) { SetLicensePlate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Maximum speed specified.

                Unit: KilometersPerHour + *

                + */ + inline double GetMaxSpeed() const{ return m_maxSpeed; } + inline bool MaxSpeedHasBeenSet() const { return m_maxSpeedHasBeenSet; } + inline void SetMaxSpeed(double value) { m_maxSpeedHasBeenSet = true; m_maxSpeed = value; } + inline IsolineTruckOptions& WithMaxSpeed(double value) { SetMaxSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                The number of occupants in the vehicle.

                Default Value: 1 + *

                + */ + inline int GetOccupancy() const{ return m_occupancy; } + inline bool OccupancyHasBeenSet() const { return m_occupancyHasBeenSet; } + inline void SetOccupancy(int value) { m_occupancyHasBeenSet = true; m_occupancy = value; } + inline IsolineTruckOptions& WithOccupancy(int value) { SetOccupancy(value); return *this;} + ///@} + + ///@{ + /** + *

                Payload capacity of the vehicle and trailers attached.

                Unit: + * kilograms

                + */ + inline long long GetPayloadCapacity() const{ return m_payloadCapacity; } + inline bool PayloadCapacityHasBeenSet() const { return m_payloadCapacityHasBeenSet; } + inline void SetPayloadCapacity(long long value) { m_payloadCapacityHasBeenSet = true; m_payloadCapacity = value; } + inline IsolineTruckOptions& WithPayloadCapacity(long long value) { SetPayloadCapacity(value); return *this;} + ///@} + + ///@{ + /** + *

                Number of tires on the vehicle.

                + */ + inline int GetTireCount() const{ return m_tireCount; } + inline bool TireCountHasBeenSet() const { return m_tireCountHasBeenSet; } + inline void SetTireCount(int value) { m_tireCountHasBeenSet = true; m_tireCount = value; } + inline IsolineTruckOptions& WithTireCount(int value) { SetTireCount(value); return *this;} + ///@} + + ///@{ + /** + *

                Trailer options corresponding to the vehicle.

                + */ + inline const IsolineTrailerOptions& GetTrailer() const{ return m_trailer; } + inline bool TrailerHasBeenSet() const { return m_trailerHasBeenSet; } + inline void SetTrailer(const IsolineTrailerOptions& value) { m_trailerHasBeenSet = true; m_trailer = value; } + inline void SetTrailer(IsolineTrailerOptions&& value) { m_trailerHasBeenSet = true; m_trailer = std::move(value); } + inline IsolineTruckOptions& WithTrailer(const IsolineTrailerOptions& value) { SetTrailer(value); return *this;} + inline IsolineTruckOptions& WithTrailer(IsolineTrailerOptions&& value) { SetTrailer(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Type of the truck.

                + */ + inline const IsolineTruckType& GetTruckType() const{ return m_truckType; } + inline bool TruckTypeHasBeenSet() const { return m_truckTypeHasBeenSet; } + inline void SetTruckType(const IsolineTruckType& value) { m_truckTypeHasBeenSet = true; m_truckType = value; } + inline void SetTruckType(IsolineTruckType&& value) { m_truckTypeHasBeenSet = true; m_truckType = std::move(value); } + inline IsolineTruckOptions& WithTruckType(const IsolineTruckType& value) { SetTruckType(value); return *this;} + inline IsolineTruckOptions& WithTruckType(IsolineTruckType&& value) { SetTruckType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The tunnel restriction code.

                Tunnel categories in this list indicate + * the restrictions which apply to certain tunnels in Great Britain. They relate to + * the types of dangerous goods that can be transported through them.

                • + *

                  Tunnel Category B

                  • Risk Level: Limited + * risk

                  • Restrictions: Few restrictions

                  + *
                • Tunnel Category C

                  • Risk Level: + * Medium risk

                  • Restrictions: Some restrictions

                  • + *
                • Tunnel Category D

                  • Risk + * Level: High risk

                  • Restrictions: Many restrictions + * occur

                • Tunnel Category E

                  • + * Risk Level: Very high risk

                  • Restrictions: + * Restricted tunnel

                + */ + inline const Aws::String& GetTunnelRestrictionCode() const{ return m_tunnelRestrictionCode; } + inline bool TunnelRestrictionCodeHasBeenSet() const { return m_tunnelRestrictionCodeHasBeenSet; } + inline void SetTunnelRestrictionCode(const Aws::String& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = value; } + inline void SetTunnelRestrictionCode(Aws::String&& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = std::move(value); } + inline void SetTunnelRestrictionCode(const char* value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode.assign(value); } + inline IsolineTruckOptions& WithTunnelRestrictionCode(const Aws::String& value) { SetTunnelRestrictionCode(value); return *this;} + inline IsolineTruckOptions& WithTunnelRestrictionCode(Aws::String&& value) { SetTunnelRestrictionCode(std::move(value)); return *this;} + inline IsolineTruckOptions& WithTunnelRestrictionCode(const char* value) { SetTunnelRestrictionCode(value); return *this;} + ///@} + + ///@{ + /** + *

                Heaviest weight per axle irrespective of the axle type or the axle group. + * Meant for usage in countries where the differences in axle types or axle groups + * are not distinguished.

                Unit: Kilograms

                + */ + inline long long GetWeightPerAxle() const{ return m_weightPerAxle; } + inline bool WeightPerAxleHasBeenSet() const { return m_weightPerAxleHasBeenSet; } + inline void SetWeightPerAxle(long long value) { m_weightPerAxleHasBeenSet = true; m_weightPerAxle = value; } + inline IsolineTruckOptions& WithWeightPerAxle(long long value) { SetWeightPerAxle(value); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the total weight for the specified axle group. Meant for usage in + * countries that have different regulations based on the axle group type.

                + * Unit: Kilograms

                + */ + inline const WeightPerAxleGroup& GetWeightPerAxleGroup() const{ return m_weightPerAxleGroup; } + inline bool WeightPerAxleGroupHasBeenSet() const { return m_weightPerAxleGroupHasBeenSet; } + inline void SetWeightPerAxleGroup(const WeightPerAxleGroup& value) { m_weightPerAxleGroupHasBeenSet = true; m_weightPerAxleGroup = value; } + inline void SetWeightPerAxleGroup(WeightPerAxleGroup&& value) { m_weightPerAxleGroupHasBeenSet = true; m_weightPerAxleGroup = std::move(value); } + inline IsolineTruckOptions& WithWeightPerAxleGroup(const WeightPerAxleGroup& value) { SetWeightPerAxleGroup(value); return *this;} + inline IsolineTruckOptions& WithWeightPerAxleGroup(WeightPerAxleGroup&& value) { SetWeightPerAxleGroup(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Width of the vehicle.

                Unit: centimeters

                + */ + inline long long GetWidth() const{ return m_width; } + inline bool WidthHasBeenSet() const { return m_widthHasBeenSet; } + inline void SetWidth(long long value) { m_widthHasBeenSet = true; m_width = value; } + inline IsolineTruckOptions& WithWidth(long long value) { SetWidth(value); return *this;} + ///@} + private: + + int m_axleCount; + bool m_axleCountHasBeenSet = false; + + IsolineEngineType m_engineType; + bool m_engineTypeHasBeenSet = false; + + long long m_grossWeight; + bool m_grossWeightHasBeenSet = false; + + Aws::Vector m_hazardousCargos; + bool m_hazardousCargosHasBeenSet = false; + + long long m_height; + bool m_heightHasBeenSet = false; + + long long m_heightAboveFirstAxle; + bool m_heightAboveFirstAxleHasBeenSet = false; + + long long m_kpraLength; + bool m_kpraLengthHasBeenSet = false; + + long long m_length; + bool m_lengthHasBeenSet = false; + + IsolineVehicleLicensePlate m_licensePlate; + bool m_licensePlateHasBeenSet = false; + + double m_maxSpeed; + bool m_maxSpeedHasBeenSet = false; + + int m_occupancy; + bool m_occupancyHasBeenSet = false; + + long long m_payloadCapacity; + bool m_payloadCapacityHasBeenSet = false; + + int m_tireCount; + bool m_tireCountHasBeenSet = false; + + IsolineTrailerOptions m_trailer; + bool m_trailerHasBeenSet = false; + + IsolineTruckType m_truckType; + bool m_truckTypeHasBeenSet = false; + + Aws::String m_tunnelRestrictionCode; + bool m_tunnelRestrictionCodeHasBeenSet = false; + + long long m_weightPerAxle; + bool m_weightPerAxleHasBeenSet = false; + + WeightPerAxleGroup m_weightPerAxleGroup; + bool m_weightPerAxleGroupHasBeenSet = false; + + long long m_width; + bool m_widthHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTruckType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTruckType.h new file mode 100644 index 00000000000..6a8d34df952 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineTruckType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class IsolineTruckType + { + NOT_SET, + LightTruck, + StraightTruck, + Tractor + }; + +namespace IsolineTruckTypeMapper +{ +AWS_GEOROUTES_API IsolineTruckType GetIsolineTruckTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForIsolineTruckType(IsolineTruckType value); +} // namespace IsolineTruckTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineVehicleLicensePlate.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineVehicleLicensePlate.h new file mode 100644 index 00000000000..468738a2869 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineVehicleLicensePlate.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The vehicle license plate.

                See Also:

                AWS + * API Reference

                + */ + class IsolineVehicleLicensePlate + { + public: + AWS_GEOROUTES_API IsolineVehicleLicensePlate(); + AWS_GEOROUTES_API IsolineVehicleLicensePlate(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API IsolineVehicleLicensePlate& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The last character of the License Plate.

                + */ + inline const Aws::String& GetLastCharacter() const{ return m_lastCharacter; } + inline bool LastCharacterHasBeenSet() const { return m_lastCharacterHasBeenSet; } + inline void SetLastCharacter(const Aws::String& value) { m_lastCharacterHasBeenSet = true; m_lastCharacter = value; } + inline void SetLastCharacter(Aws::String&& value) { m_lastCharacterHasBeenSet = true; m_lastCharacter = std::move(value); } + inline void SetLastCharacter(const char* value) { m_lastCharacterHasBeenSet = true; m_lastCharacter.assign(value); } + inline IsolineVehicleLicensePlate& WithLastCharacter(const Aws::String& value) { SetLastCharacter(value); return *this;} + inline IsolineVehicleLicensePlate& WithLastCharacter(Aws::String&& value) { SetLastCharacter(std::move(value)); return *this;} + inline IsolineVehicleLicensePlate& WithLastCharacter(const char* value) { SetLastCharacter(value); return *this;} + ///@} + private: + + Aws::String m_lastCharacter; + bool m_lastCharacterHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineZoneCategory.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineZoneCategory.h new file mode 100644 index 00000000000..93ddc1ff30e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/IsolineZoneCategory.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class IsolineZoneCategory + { + NOT_SET, + CongestionPricing, + Environmental, + Vignette + }; + +namespace IsolineZoneCategoryMapper +{ +AWS_GEOROUTES_API IsolineZoneCategory GetIsolineZoneCategoryForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForIsolineZoneCategory(IsolineZoneCategory value); +} // namespace IsolineZoneCategoryMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/LocalizedString.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/LocalizedString.h new file mode 100644 index 00000000000..6d98827f82a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/LocalizedString.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The localized string.

                See Also:

                AWS + * API Reference

                + */ + class LocalizedString + { + public: + AWS_GEOROUTES_API LocalizedString(); + AWS_GEOROUTES_API LocalizedString(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API LocalizedString& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                A list of BCP 47 compliant language codes for the results to be rendered in. + * The request uses the regional default as the fallback if the requested language + * can't be provided.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline LocalizedString& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline LocalizedString& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline LocalizedString& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                The value of the localized string.

                + */ + 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 LocalizedString& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline LocalizedString& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline LocalizedString& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + private: + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/MatchingStrategy.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/MatchingStrategy.h new file mode 100644 index 00000000000..0423d8cf4a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/MatchingStrategy.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class MatchingStrategy + { + NOT_SET, + MatchAny, + MatchMostSignificantRoad + }; + +namespace MatchingStrategyMapper +{ +AWS_GEOROUTES_API MatchingStrategy GetMatchingStrategyForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForMatchingStrategy(MatchingStrategy value); +} // namespace MatchingStrategyMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/MeasurementSystem.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/MeasurementSystem.h new file mode 100644 index 00000000000..4712bc419b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/MeasurementSystem.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class MeasurementSystem + { + NOT_SET, + Metric, + Imperial + }; + +namespace MeasurementSystemMapper +{ +AWS_GEOROUTES_API MeasurementSystem GetMeasurementSystemForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForMeasurementSystem(MeasurementSystem value); +} // namespace MeasurementSystemMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/OptimizeWaypointsRequest.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/OptimizeWaypointsRequest.h new file mode 100644 index 00000000000..6c2ea1d20ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/OptimizeWaypointsRequest.h @@ -0,0 +1,285 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoRoutes +{ +namespace Model +{ + + /** + */ + class OptimizeWaypointsRequest : public GeoRoutesRequest + { + public: + AWS_GEOROUTES_API OptimizeWaypointsRequest(); + + // 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 "OptimizeWaypoints"; } + + AWS_GEOROUTES_API Aws::String SerializePayload() const override; + + AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                Features that are avoided while calculating a route. Avoidance is on a + * best-case basis. If an avoidance can't be satisfied for a particular case, this + * setting is ignored.

                + */ + inline const WaypointOptimizationAvoidanceOptions& GetAvoid() const{ return m_avoid; } + inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; } + inline void SetAvoid(const WaypointOptimizationAvoidanceOptions& value) { m_avoidHasBeenSet = true; m_avoid = value; } + inline void SetAvoid(WaypointOptimizationAvoidanceOptions&& value) { m_avoidHasBeenSet = true; m_avoid = std::move(value); } + inline OptimizeWaypointsRequest& WithAvoid(const WaypointOptimizationAvoidanceOptions& value) { SetAvoid(value); return *this;} + inline OptimizeWaypointsRequest& WithAvoid(WaypointOptimizationAvoidanceOptions&& value) { SetAvoid(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Departure time from the waypoint.

                Time + * format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                + */ + inline const Aws::String& GetDepartureTime() const{ return m_departureTime; } + inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; } + inline void SetDepartureTime(const Aws::String& value) { m_departureTimeHasBeenSet = true; m_departureTime = value; } + inline void SetDepartureTime(Aws::String&& value) { m_departureTimeHasBeenSet = true; m_departureTime = std::move(value); } + inline void SetDepartureTime(const char* value) { m_departureTimeHasBeenSet = true; m_departureTime.assign(value); } + inline OptimizeWaypointsRequest& WithDepartureTime(const Aws::String& value) { SetDepartureTime(value); return *this;} + inline OptimizeWaypointsRequest& WithDepartureTime(Aws::String&& value) { SetDepartureTime(std::move(value)); return *this;} + inline OptimizeWaypointsRequest& WithDepartureTime(const char* value) { SetDepartureTime(value); return *this;} + ///@} + + ///@{ + /** + *

                The final position for the route in the World Geodetic System (WGS 84) + * format: [longitude, latitude].

                + */ + inline const Aws::Vector& GetDestination() const{ return m_destination; } + inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } + inline void SetDestination(const Aws::Vector& value) { m_destinationHasBeenSet = true; m_destination = value; } + inline void SetDestination(Aws::Vector&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } + inline OptimizeWaypointsRequest& WithDestination(const Aws::Vector& value) { SetDestination(value); return *this;} + inline OptimizeWaypointsRequest& WithDestination(Aws::Vector&& value) { SetDestination(std::move(value)); return *this;} + inline OptimizeWaypointsRequest& AddDestination(double value) { m_destinationHasBeenSet = true; m_destination.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Destination related options.

                + */ + inline const WaypointOptimizationDestinationOptions& GetDestinationOptions() const{ return m_destinationOptions; } + inline bool DestinationOptionsHasBeenSet() const { return m_destinationOptionsHasBeenSet; } + inline void SetDestinationOptions(const WaypointOptimizationDestinationOptions& value) { m_destinationOptionsHasBeenSet = true; m_destinationOptions = value; } + inline void SetDestinationOptions(WaypointOptimizationDestinationOptions&& value) { m_destinationOptionsHasBeenSet = true; m_destinationOptions = std::move(value); } + inline OptimizeWaypointsRequest& WithDestinationOptions(const WaypointOptimizationDestinationOptions& value) { SetDestinationOptions(value); return *this;} + inline OptimizeWaypointsRequest& WithDestinationOptions(WaypointOptimizationDestinationOptions&& value) { SetDestinationOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Driver related options.

                + */ + inline const WaypointOptimizationDriverOptions& GetDriver() const{ return m_driver; } + inline bool DriverHasBeenSet() const { return m_driverHasBeenSet; } + inline void SetDriver(const WaypointOptimizationDriverOptions& value) { m_driverHasBeenSet = true; m_driver = value; } + inline void SetDriver(WaypointOptimizationDriverOptions&& value) { m_driverHasBeenSet = true; m_driver = std::move(value); } + inline OptimizeWaypointsRequest& WithDriver(const WaypointOptimizationDriverOptions& value) { SetDriver(value); return *this;} + inline OptimizeWaypointsRequest& WithDriver(WaypointOptimizationDriverOptions&& value) { SetDriver(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Features to be strictly excluded while calculating the route.

                + */ + inline const WaypointOptimizationExclusionOptions& GetExclude() const{ return m_exclude; } + inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; } + inline void SetExclude(const WaypointOptimizationExclusionOptions& value) { m_excludeHasBeenSet = true; m_exclude = value; } + inline void SetExclude(WaypointOptimizationExclusionOptions&& value) { m_excludeHasBeenSet = true; m_exclude = std::move(value); } + inline OptimizeWaypointsRequest& WithExclude(const WaypointOptimizationExclusionOptions& value) { SetExclude(value); return *this;} + inline OptimizeWaypointsRequest& WithExclude(WaypointOptimizationExclusionOptions&& value) { SetExclude(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline OptimizeWaypointsRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline OptimizeWaypointsRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline OptimizeWaypointsRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the optimization criteria for the calculated sequence.

                + *

                Default Value: FastestRoute.

                + */ + inline const WaypointOptimizationSequencingObjective& GetOptimizeSequencingFor() const{ return m_optimizeSequencingFor; } + inline bool OptimizeSequencingForHasBeenSet() const { return m_optimizeSequencingForHasBeenSet; } + inline void SetOptimizeSequencingFor(const WaypointOptimizationSequencingObjective& value) { m_optimizeSequencingForHasBeenSet = true; m_optimizeSequencingFor = value; } + inline void SetOptimizeSequencingFor(WaypointOptimizationSequencingObjective&& value) { m_optimizeSequencingForHasBeenSet = true; m_optimizeSequencingFor = std::move(value); } + inline OptimizeWaypointsRequest& WithOptimizeSequencingFor(const WaypointOptimizationSequencingObjective& value) { SetOptimizeSequencingFor(value); return *this;} + inline OptimizeWaypointsRequest& WithOptimizeSequencingFor(WaypointOptimizationSequencingObjective&& value) { SetOptimizeSequencingFor(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The start position for the route.

                + */ + inline const Aws::Vector& GetOrigin() const{ return m_origin; } + inline bool OriginHasBeenSet() const { return m_originHasBeenSet; } + inline void SetOrigin(const Aws::Vector& value) { m_originHasBeenSet = true; m_origin = value; } + inline void SetOrigin(Aws::Vector&& value) { m_originHasBeenSet = true; m_origin = std::move(value); } + inline OptimizeWaypointsRequest& WithOrigin(const Aws::Vector& value) { SetOrigin(value); return *this;} + inline OptimizeWaypointsRequest& WithOrigin(Aws::Vector&& value) { SetOrigin(std::move(value)); return *this;} + inline OptimizeWaypointsRequest& AddOrigin(double value) { m_originHasBeenSet = true; m_origin.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Origin related options.

                + */ + inline const WaypointOptimizationOriginOptions& GetOriginOptions() const{ return m_originOptions; } + inline bool OriginOptionsHasBeenSet() const { return m_originOptionsHasBeenSet; } + inline void SetOriginOptions(const WaypointOptimizationOriginOptions& value) { m_originOptionsHasBeenSet = true; m_originOptions = value; } + inline void SetOriginOptions(WaypointOptimizationOriginOptions&& value) { m_originOptionsHasBeenSet = true; m_originOptions = std::move(value); } + inline OptimizeWaypointsRequest& WithOriginOptions(const WaypointOptimizationOriginOptions& value) { SetOriginOptions(value); return *this;} + inline OptimizeWaypointsRequest& WithOriginOptions(WaypointOptimizationOriginOptions&& value) { SetOriginOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Traffic-related options.

                + */ + inline const WaypointOptimizationTrafficOptions& GetTraffic() const{ return m_traffic; } + inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; } + inline void SetTraffic(const WaypointOptimizationTrafficOptions& value) { m_trafficHasBeenSet = true; m_traffic = value; } + inline void SetTraffic(WaypointOptimizationTrafficOptions&& value) { m_trafficHasBeenSet = true; m_traffic = std::move(value); } + inline OptimizeWaypointsRequest& WithTraffic(const WaypointOptimizationTrafficOptions& value) { SetTraffic(value); return *this;} + inline OptimizeWaypointsRequest& WithTraffic(WaypointOptimizationTrafficOptions&& value) { SetTraffic(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the mode of transport when calculating a route. Used in estimating + * the speed of travel and road compatibility.

                Default Value: + * Car

                + */ + inline const WaypointOptimizationTravelMode& GetTravelMode() const{ return m_travelMode; } + inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; } + inline void SetTravelMode(const WaypointOptimizationTravelMode& value) { m_travelModeHasBeenSet = true; m_travelMode = value; } + inline void SetTravelMode(WaypointOptimizationTravelMode&& value) { m_travelModeHasBeenSet = true; m_travelMode = std::move(value); } + inline OptimizeWaypointsRequest& WithTravelMode(const WaypointOptimizationTravelMode& value) { SetTravelMode(value); return *this;} + inline OptimizeWaypointsRequest& WithTravelMode(WaypointOptimizationTravelMode&& value) { SetTravelMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode related options for the provided travel mode.

                + */ + inline const WaypointOptimizationTravelModeOptions& GetTravelModeOptions() const{ return m_travelModeOptions; } + inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; } + inline void SetTravelModeOptions(const WaypointOptimizationTravelModeOptions& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = value; } + inline void SetTravelModeOptions(WaypointOptimizationTravelModeOptions&& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = std::move(value); } + inline OptimizeWaypointsRequest& WithTravelModeOptions(const WaypointOptimizationTravelModeOptions& value) { SetTravelModeOptions(value); return *this;} + inline OptimizeWaypointsRequest& WithTravelModeOptions(WaypointOptimizationTravelModeOptions&& value) { SetTravelModeOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                List of waypoints between the Origin and + * Destination.

                + */ + inline const Aws::Vector& GetWaypoints() const{ return m_waypoints; } + inline bool WaypointsHasBeenSet() const { return m_waypointsHasBeenSet; } + inline void SetWaypoints(const Aws::Vector& value) { m_waypointsHasBeenSet = true; m_waypoints = value; } + inline void SetWaypoints(Aws::Vector&& value) { m_waypointsHasBeenSet = true; m_waypoints = std::move(value); } + inline OptimizeWaypointsRequest& WithWaypoints(const Aws::Vector& value) { SetWaypoints(value); return *this;} + inline OptimizeWaypointsRequest& WithWaypoints(Aws::Vector&& value) { SetWaypoints(std::move(value)); return *this;} + inline OptimizeWaypointsRequest& AddWaypoints(const WaypointOptimizationWaypoint& value) { m_waypointsHasBeenSet = true; m_waypoints.push_back(value); return *this; } + inline OptimizeWaypointsRequest& AddWaypoints(WaypointOptimizationWaypoint&& value) { m_waypointsHasBeenSet = true; m_waypoints.push_back(std::move(value)); return *this; } + ///@} + private: + + WaypointOptimizationAvoidanceOptions m_avoid; + bool m_avoidHasBeenSet = false; + + Aws::String m_departureTime; + bool m_departureTimeHasBeenSet = false; + + Aws::Vector m_destination; + bool m_destinationHasBeenSet = false; + + WaypointOptimizationDestinationOptions m_destinationOptions; + bool m_destinationOptionsHasBeenSet = false; + + WaypointOptimizationDriverOptions m_driver; + bool m_driverHasBeenSet = false; + + WaypointOptimizationExclusionOptions m_exclude; + bool m_excludeHasBeenSet = false; + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + WaypointOptimizationSequencingObjective m_optimizeSequencingFor; + bool m_optimizeSequencingForHasBeenSet = false; + + Aws::Vector m_origin; + bool m_originHasBeenSet = false; + + WaypointOptimizationOriginOptions m_originOptions; + bool m_originOptionsHasBeenSet = false; + + WaypointOptimizationTrafficOptions m_traffic; + bool m_trafficHasBeenSet = false; + + WaypointOptimizationTravelMode m_travelMode; + bool m_travelModeHasBeenSet = false; + + WaypointOptimizationTravelModeOptions m_travelModeOptions; + bool m_travelModeOptionsHasBeenSet = false; + + Aws::Vector m_waypoints; + bool m_waypointsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/OptimizeWaypointsResult.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/OptimizeWaypointsResult.h new file mode 100644 index 00000000000..6fde8213523 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/OptimizeWaypointsResult.h @@ -0,0 +1,155 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + class OptimizeWaypointsResult + { + public: + AWS_GEOROUTES_API OptimizeWaypointsResult(); + AWS_GEOROUTES_API OptimizeWaypointsResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOROUTES_API OptimizeWaypointsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                Details about the connection from one waypoint to the next, within the + * optimized sequence.

                + */ + inline const Aws::Vector& GetConnections() const{ return m_connections; } + inline void SetConnections(const Aws::Vector& value) { m_connections = value; } + inline void SetConnections(Aws::Vector&& value) { m_connections = std::move(value); } + inline OptimizeWaypointsResult& WithConnections(const Aws::Vector& value) { SetConnections(value); return *this;} + inline OptimizeWaypointsResult& WithConnections(Aws::Vector&& value) { SetConnections(std::move(value)); return *this;} + inline OptimizeWaypointsResult& AddConnections(const WaypointOptimizationConnection& value) { m_connections.push_back(value); return *this; } + inline OptimizeWaypointsResult& AddConnections(WaypointOptimizationConnection&& value) { m_connections.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Overall distance to travel the whole sequence.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline void SetDistance(long long value) { m_distance = value; } + inline OptimizeWaypointsResult& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Overall duration to travel the whole sequence.

                Unit: + * seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline void SetDuration(long long value) { m_duration = value; } + inline OptimizeWaypointsResult& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Returns waypoints that caused the optimization problem to fail, and the + * constraints that were unsatisfied leading to the failure.

                + */ + inline const Aws::Vector& GetImpedingWaypoints() const{ return m_impedingWaypoints; } + inline void SetImpedingWaypoints(const Aws::Vector& value) { m_impedingWaypoints = value; } + inline void SetImpedingWaypoints(Aws::Vector&& value) { m_impedingWaypoints = std::move(value); } + inline OptimizeWaypointsResult& WithImpedingWaypoints(const Aws::Vector& value) { SetImpedingWaypoints(value); return *this;} + inline OptimizeWaypointsResult& WithImpedingWaypoints(Aws::Vector&& value) { SetImpedingWaypoints(std::move(value)); return *this;} + inline OptimizeWaypointsResult& AddImpedingWaypoints(const WaypointOptimizationImpedingWaypoint& value) { m_impedingWaypoints.push_back(value); return *this; } + inline OptimizeWaypointsResult& AddImpedingWaypoints(WaypointOptimizationImpedingWaypoint&& value) { m_impedingWaypoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Waypoints in the order of the optimized sequence.

                + */ + inline const Aws::Vector& GetOptimizedWaypoints() const{ return m_optimizedWaypoints; } + inline void SetOptimizedWaypoints(const Aws::Vector& value) { m_optimizedWaypoints = value; } + inline void SetOptimizedWaypoints(Aws::Vector&& value) { m_optimizedWaypoints = std::move(value); } + inline OptimizeWaypointsResult& WithOptimizedWaypoints(const Aws::Vector& value) { SetOptimizedWaypoints(value); return *this;} + inline OptimizeWaypointsResult& WithOptimizedWaypoints(Aws::Vector&& value) { SetOptimizedWaypoints(std::move(value)); return *this;} + inline OptimizeWaypointsResult& AddOptimizedWaypoints(const WaypointOptimizationOptimizedWaypoint& value) { m_optimizedWaypoints.push_back(value); return *this; } + inline OptimizeWaypointsResult& AddOptimizedWaypoints(WaypointOptimizationOptimizedWaypoint&& value) { m_optimizedWaypoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline OptimizeWaypointsResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline OptimizeWaypointsResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline OptimizeWaypointsResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                Time breakdown for the sequence.

                + */ + inline const WaypointOptimizationTimeBreakdown& GetTimeBreakdown() const{ return m_timeBreakdown; } + inline void SetTimeBreakdown(const WaypointOptimizationTimeBreakdown& value) { m_timeBreakdown = value; } + inline void SetTimeBreakdown(WaypointOptimizationTimeBreakdown&& value) { m_timeBreakdown = std::move(value); } + inline OptimizeWaypointsResult& WithTimeBreakdown(const WaypointOptimizationTimeBreakdown& value) { SetTimeBreakdown(value); return *this;} + inline OptimizeWaypointsResult& WithTimeBreakdown(WaypointOptimizationTimeBreakdown&& value) { SetTimeBreakdown(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 OptimizeWaypointsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline OptimizeWaypointsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline OptimizeWaypointsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_connections; + + long long m_distance; + + long long m_duration; + + Aws::Vector m_impedingWaypoints; + + Aws::Vector m_optimizedWaypoints; + + Aws::String m_pricingBucket; + + WaypointOptimizationTimeBreakdown m_timeBreakdown; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/PolylineCorridor.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/PolylineCorridor.h new file mode 100644 index 00000000000..f72d0a237d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/PolylineCorridor.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Geometry defined as an encoded corridor - an encoded polyline with a radius + * that defines the width of the corridor.

                See Also:

                AWS + * API Reference

                + */ + class PolylineCorridor + { + public: + AWS_GEOROUTES_API PolylineCorridor(); + AWS_GEOROUTES_API PolylineCorridor(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API PolylineCorridor& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                An ordered list of positions used to plot a route on a map in a lossy + * compression format.

                LineString and Polyline are mutually exclusive + * properties.

                + */ + inline const Aws::String& GetPolyline() const{ return m_polyline; } + inline bool PolylineHasBeenSet() const { return m_polylineHasBeenSet; } + inline void SetPolyline(const Aws::String& value) { m_polylineHasBeenSet = true; m_polyline = value; } + inline void SetPolyline(Aws::String&& value) { m_polylineHasBeenSet = true; m_polyline = std::move(value); } + inline void SetPolyline(const char* value) { m_polylineHasBeenSet = true; m_polyline.assign(value); } + inline PolylineCorridor& WithPolyline(const Aws::String& value) { SetPolyline(value); return *this;} + inline PolylineCorridor& WithPolyline(Aws::String&& value) { SetPolyline(std::move(value)); return *this;} + inline PolylineCorridor& WithPolyline(const char* value) { SetPolyline(value); return *this;} + ///@} + + ///@{ + /** + *

                Considers all roads within the provided radius to match the provided + * destination to. The roads that are considered are determined by the provided + * Strategy.

                Unit: Meters

                + */ + inline int GetRadius() const{ return m_radius; } + inline bool RadiusHasBeenSet() const { return m_radiusHasBeenSet; } + inline void SetRadius(int value) { m_radiusHasBeenSet = true; m_radius = value; } + inline PolylineCorridor& WithRadius(int value) { SetRadius(value); return *this;} + ///@} + private: + + Aws::String m_polyline; + bool m_polylineHasBeenSet = false; + + int m_radius; + bool m_radiusHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapHazardousCargoType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapHazardousCargoType.h new file mode 100644 index 00000000000..6a873488293 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapHazardousCargoType.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RoadSnapHazardousCargoType + { + NOT_SET, + Combustible, + Corrosive, + Explosive, + Flammable, + Gas, + HarmfulToWater, + Organic, + Other, + Poison, + PoisonousInhalation, + Radioactive + }; + +namespace RoadSnapHazardousCargoTypeMapper +{ +AWS_GEOROUTES_API RoadSnapHazardousCargoType GetRoadSnapHazardousCargoTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRoadSnapHazardousCargoType(RoadSnapHazardousCargoType value); +} // namespace RoadSnapHazardousCargoTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapNotice.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapNotice.h new file mode 100644 index 00000000000..777428ff065 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapNotice.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Notices provide information around factors that may have influenced snapping + * in a manner atypical to the standard use cases.

                See Also:

                AWS + * API Reference

                + */ + class RoadSnapNotice + { + public: + AWS_GEOROUTES_API RoadSnapNotice(); + AWS_GEOROUTES_API RoadSnapNotice(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoadSnapNotice& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Code corresponding to the issue.

                + */ + inline const RoadSnapNoticeCode& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const RoadSnapNoticeCode& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(RoadSnapNoticeCode&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline RoadSnapNotice& WithCode(const RoadSnapNoticeCode& value) { SetCode(value); return *this;} + inline RoadSnapNotice& WithCode(RoadSnapNoticeCode&& value) { SetCode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The notice title.

                + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline RoadSnapNotice& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline RoadSnapNotice& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline RoadSnapNotice& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

                TracePoint indices for which the provided notice code corresponds to.

                + */ + inline const Aws::Vector& GetTracePointIndexes() const{ return m_tracePointIndexes; } + inline bool TracePointIndexesHasBeenSet() const { return m_tracePointIndexesHasBeenSet; } + inline void SetTracePointIndexes(const Aws::Vector& value) { m_tracePointIndexesHasBeenSet = true; m_tracePointIndexes = value; } + inline void SetTracePointIndexes(Aws::Vector&& value) { m_tracePointIndexesHasBeenSet = true; m_tracePointIndexes = std::move(value); } + inline RoadSnapNotice& WithTracePointIndexes(const Aws::Vector& value) { SetTracePointIndexes(value); return *this;} + inline RoadSnapNotice& WithTracePointIndexes(Aws::Vector&& value) { SetTracePointIndexes(std::move(value)); return *this;} + inline RoadSnapNotice& AddTracePointIndexes(int value) { m_tracePointIndexesHasBeenSet = true; m_tracePointIndexes.push_back(value); return *this; } + ///@} + private: + + RoadSnapNoticeCode m_code; + bool m_codeHasBeenSet = false; + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + Aws::Vector m_tracePointIndexes; + bool m_tracePointIndexesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapNoticeCode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapNoticeCode.h new file mode 100644 index 00000000000..83c4583fe60 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapNoticeCode.h @@ -0,0 +1,36 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RoadSnapNoticeCode + { + NOT_SET, + TracePointsHeadingIgnored, + TracePointsIgnored, + TracePointsMovedByLargeDistance, + TracePointsNotMatched, + TracePointsOutOfSequence, + TracePointsSpeedEstimated, + TracePointsSpeedIgnored + }; + +namespace RoadSnapNoticeCodeMapper +{ +AWS_GEOROUTES_API RoadSnapNoticeCode GetRoadSnapNoticeCodeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRoadSnapNoticeCode(RoadSnapNoticeCode value); +} // namespace RoadSnapNoticeCodeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapSnappedGeometry.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapSnappedGeometry.h new file mode 100644 index 00000000000..33a89633026 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapSnappedGeometry.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Interpolated geometry for the snapped route that is overlay-able onto a + * map.

                See Also:

                AWS + * API Reference

                + */ + class RoadSnapSnappedGeometry + { + public: + AWS_GEOROUTES_API RoadSnapSnappedGeometry(); + AWS_GEOROUTES_API RoadSnapSnappedGeometry(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoadSnapSnappedGeometry& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                An ordered list of positions used to plot a route on a map.

                + *

                LineString and Polyline are mutually exclusive properties.

                + */ + inline const Aws::Vector>& GetLineString() const{ return m_lineString; } + inline bool LineStringHasBeenSet() const { return m_lineStringHasBeenSet; } + inline void SetLineString(const Aws::Vector>& value) { m_lineStringHasBeenSet = true; m_lineString = value; } + inline void SetLineString(Aws::Vector>&& value) { m_lineStringHasBeenSet = true; m_lineString = std::move(value); } + inline RoadSnapSnappedGeometry& WithLineString(const Aws::Vector>& value) { SetLineString(value); return *this;} + inline RoadSnapSnappedGeometry& WithLineString(Aws::Vector>&& value) { SetLineString(std::move(value)); return *this;} + inline RoadSnapSnappedGeometry& AddLineString(const Aws::Vector& value) { m_lineStringHasBeenSet = true; m_lineString.push_back(value); return *this; } + inline RoadSnapSnappedGeometry& AddLineString(Aws::Vector&& value) { m_lineStringHasBeenSet = true; m_lineString.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                An ordered list of positions used to plot a route on a map in a lossy + * compression format.

                LineString and Polyline are mutually exclusive + * properties.

                + */ + inline const Aws::String& GetPolyline() const{ return m_polyline; } + inline bool PolylineHasBeenSet() const { return m_polylineHasBeenSet; } + inline void SetPolyline(const Aws::String& value) { m_polylineHasBeenSet = true; m_polyline = value; } + inline void SetPolyline(Aws::String&& value) { m_polylineHasBeenSet = true; m_polyline = std::move(value); } + inline void SetPolyline(const char* value) { m_polylineHasBeenSet = true; m_polyline.assign(value); } + inline RoadSnapSnappedGeometry& WithPolyline(const Aws::String& value) { SetPolyline(value); return *this;} + inline RoadSnapSnappedGeometry& WithPolyline(Aws::String&& value) { SetPolyline(std::move(value)); return *this;} + inline RoadSnapSnappedGeometry& WithPolyline(const char* value) { SetPolyline(value); return *this;} + ///@} + private: + + Aws::Vector> m_lineString; + bool m_lineStringHasBeenSet = false; + + Aws::String m_polyline; + bool m_polylineHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapSnappedTracePoint.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapSnappedTracePoint.h new file mode 100644 index 00000000000..64b6f0b60e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapSnappedTracePoint.h @@ -0,0 +1,91 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                TracePoints snapped onto the road network.

                See Also:

                AWS + * API Reference

                + */ + class RoadSnapSnappedTracePoint + { + public: + AWS_GEOROUTES_API RoadSnapSnappedTracePoint(); + AWS_GEOROUTES_API RoadSnapSnappedTracePoint(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoadSnapSnappedTracePoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Confidence value for the correctness of this point match.

                + */ + inline double GetConfidence() const{ return m_confidence; } + inline bool ConfidenceHasBeenSet() const { return m_confidenceHasBeenSet; } + inline void SetConfidence(double value) { m_confidenceHasBeenSet = true; m_confidence = value; } + inline RoadSnapSnappedTracePoint& WithConfidence(double value) { SetConfidence(value); return *this;} + ///@} + + ///@{ + /** + *

                Position of the TracePoint provided within the request, at the same + * index.

                + */ + inline const Aws::Vector& GetOriginalPosition() const{ return m_originalPosition; } + inline bool OriginalPositionHasBeenSet() const { return m_originalPositionHasBeenSet; } + inline void SetOriginalPosition(const Aws::Vector& value) { m_originalPositionHasBeenSet = true; m_originalPosition = value; } + inline void SetOriginalPosition(Aws::Vector&& value) { m_originalPositionHasBeenSet = true; m_originalPosition = std::move(value); } + inline RoadSnapSnappedTracePoint& WithOriginalPosition(const Aws::Vector& value) { SetOriginalPosition(value); return *this;} + inline RoadSnapSnappedTracePoint& WithOriginalPosition(Aws::Vector&& value) { SetOriginalPosition(std::move(value)); return *this;} + inline RoadSnapSnappedTracePoint& AddOriginalPosition(double value) { m_originalPositionHasBeenSet = true; m_originalPosition.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Snapped position of the TracePoint provided within the request, at the same + * index.

                + */ + inline const Aws::Vector& GetSnappedPosition() const{ return m_snappedPosition; } + inline bool SnappedPositionHasBeenSet() const { return m_snappedPositionHasBeenSet; } + inline void SetSnappedPosition(const Aws::Vector& value) { m_snappedPositionHasBeenSet = true; m_snappedPosition = value; } + inline void SetSnappedPosition(Aws::Vector&& value) { m_snappedPositionHasBeenSet = true; m_snappedPosition = std::move(value); } + inline RoadSnapSnappedTracePoint& WithSnappedPosition(const Aws::Vector& value) { SetSnappedPosition(value); return *this;} + inline RoadSnapSnappedTracePoint& WithSnappedPosition(Aws::Vector&& value) { SetSnappedPosition(std::move(value)); return *this;} + inline RoadSnapSnappedTracePoint& AddSnappedPosition(double value) { m_snappedPositionHasBeenSet = true; m_snappedPosition.push_back(value); return *this; } + ///@} + private: + + double m_confidence; + bool m_confidenceHasBeenSet = false; + + Aws::Vector m_originalPosition; + bool m_originalPositionHasBeenSet = false; + + Aws::Vector m_snappedPosition; + bool m_snappedPositionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTracePoint.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTracePoint.h new file mode 100644 index 00000000000..66c5b0088b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTracePoint.h @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                TracePoint indices for which the provided notice code corresponds + * to.

                See Also:

                AWS + * API Reference

                + */ + class RoadSnapTracePoint + { + public: + AWS_GEOROUTES_API RoadSnapTracePoint(); + AWS_GEOROUTES_API RoadSnapTracePoint(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoadSnapTracePoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                GPS Heading at the position.

                + */ + inline double GetHeading() const{ return m_heading; } + inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; } + inline void SetHeading(double value) { m_headingHasBeenSet = true; m_heading = value; } + inline RoadSnapTracePoint& WithHeading(double value) { SetHeading(value); return *this;} + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline RoadSnapTracePoint& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline RoadSnapTracePoint& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline RoadSnapTracePoint& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Speed at the specified trace point .

                Unit: + * KilometersPerHour

                + */ + inline double GetSpeed() const{ return m_speed; } + inline bool SpeedHasBeenSet() const { return m_speedHasBeenSet; } + inline void SetSpeed(double value) { m_speedHasBeenSet = true; m_speed = value; } + inline RoadSnapTracePoint& WithSpeed(double value) { SetSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                Timestamp of the event.

                + */ + inline const Aws::String& GetTimestamp() const{ return m_timestamp; } + inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } + inline void SetTimestamp(const Aws::String& value) { m_timestampHasBeenSet = true; m_timestamp = value; } + inline void SetTimestamp(Aws::String&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } + inline void SetTimestamp(const char* value) { m_timestampHasBeenSet = true; m_timestamp.assign(value); } + inline RoadSnapTracePoint& WithTimestamp(const Aws::String& value) { SetTimestamp(value); return *this;} + inline RoadSnapTracePoint& WithTimestamp(Aws::String&& value) { SetTimestamp(std::move(value)); return *this;} + inline RoadSnapTracePoint& WithTimestamp(const char* value) { SetTimestamp(value); return *this;} + ///@} + private: + + double m_heading; + bool m_headingHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + double m_speed; + bool m_speedHasBeenSet = false; + + Aws::String m_timestamp; + bool m_timestampHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTrailerOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTrailerOptions.h new file mode 100644 index 00000000000..a1ae60a622a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTrailerOptions.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Trailer options corresponding to the vehicle.

                See Also:

                AWS + * API Reference

                + */ + class RoadSnapTrailerOptions + { + public: + AWS_GEOROUTES_API RoadSnapTrailerOptions(); + AWS_GEOROUTES_API RoadSnapTrailerOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoadSnapTrailerOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Number of trailers attached to the vehicle.

                Default Value: + * 0

                + */ + inline int GetTrailerCount() const{ return m_trailerCount; } + inline bool TrailerCountHasBeenSet() const { return m_trailerCountHasBeenSet; } + inline void SetTrailerCount(int value) { m_trailerCountHasBeenSet = true; m_trailerCount = value; } + inline RoadSnapTrailerOptions& WithTrailerCount(int value) { SetTrailerCount(value); return *this;} + ///@} + private: + + int m_trailerCount; + bool m_trailerCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTravelMode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTravelMode.h new file mode 100644 index 00000000000..6daa8a87005 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTravelMode.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RoadSnapTravelMode + { + NOT_SET, + Car, + Pedestrian, + Scooter, + Truck + }; + +namespace RoadSnapTravelModeMapper +{ +AWS_GEOROUTES_API RoadSnapTravelMode GetRoadSnapTravelModeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRoadSnapTravelMode(RoadSnapTravelMode value); +} // namespace RoadSnapTravelModeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTravelModeOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTravelModeOptions.h new file mode 100644 index 00000000000..ccbb0309064 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTravelModeOptions.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode related options for the provided travel mode.

                See + * Also:

                AWS + * API Reference

                + */ + class RoadSnapTravelModeOptions + { + public: + AWS_GEOROUTES_API RoadSnapTravelModeOptions(); + AWS_GEOROUTES_API RoadSnapTravelModeOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoadSnapTravelModeOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Truck".

                + */ + inline const RoadSnapTruckOptions& GetTruck() const{ return m_truck; } + inline bool TruckHasBeenSet() const { return m_truckHasBeenSet; } + inline void SetTruck(const RoadSnapTruckOptions& value) { m_truckHasBeenSet = true; m_truck = value; } + inline void SetTruck(RoadSnapTruckOptions&& value) { m_truckHasBeenSet = true; m_truck = std::move(value); } + inline RoadSnapTravelModeOptions& WithTruck(const RoadSnapTruckOptions& value) { SetTruck(value); return *this;} + inline RoadSnapTravelModeOptions& WithTruck(RoadSnapTruckOptions&& value) { SetTruck(std::move(value)); return *this;} + ///@} + private: + + RoadSnapTruckOptions m_truck; + bool m_truckHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTruckOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTruckOptions.h new file mode 100644 index 00000000000..1fc8542b40d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoadSnapTruckOptions.h @@ -0,0 +1,161 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode options when the provided travel mode is "Truck".

                See + * Also:

                AWS + * API Reference

                + */ + class RoadSnapTruckOptions + { + public: + AWS_GEOROUTES_API RoadSnapTruckOptions(); + AWS_GEOROUTES_API RoadSnapTruckOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoadSnapTruckOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Gross weight of the vehicle including trailers, and goods at capacity.

                + *

                Unit: Kilograms

                + */ + inline long long GetGrossWeight() const{ return m_grossWeight; } + inline bool GrossWeightHasBeenSet() const { return m_grossWeightHasBeenSet; } + inline void SetGrossWeight(long long value) { m_grossWeightHasBeenSet = true; m_grossWeight = value; } + inline RoadSnapTruckOptions& WithGrossWeight(long long value) { SetGrossWeight(value); return *this;} + ///@} + + ///@{ + /** + *

                List of Hazardous cargos contained in the vehicle.

                + */ + inline const Aws::Vector& GetHazardousCargos() const{ return m_hazardousCargos; } + inline bool HazardousCargosHasBeenSet() const { return m_hazardousCargosHasBeenSet; } + inline void SetHazardousCargos(const Aws::Vector& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = value; } + inline void SetHazardousCargos(Aws::Vector&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = std::move(value); } + inline RoadSnapTruckOptions& WithHazardousCargos(const Aws::Vector& value) { SetHazardousCargos(value); return *this;} + inline RoadSnapTruckOptions& WithHazardousCargos(Aws::Vector&& value) { SetHazardousCargos(std::move(value)); return *this;} + inline RoadSnapTruckOptions& AddHazardousCargos(const RoadSnapHazardousCargoType& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(value); return *this; } + inline RoadSnapTruckOptions& AddHazardousCargos(RoadSnapHazardousCargoType&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Height of the vehicle.

                Unit: centimeters

                + */ + inline long long GetHeight() const{ return m_height; } + inline bool HeightHasBeenSet() const { return m_heightHasBeenSet; } + inline void SetHeight(long long value) { m_heightHasBeenSet = true; m_height = value; } + inline RoadSnapTruckOptions& WithHeight(long long value) { SetHeight(value); return *this;} + ///@} + + ///@{ + /** + *

                Length of the vehicle.

                Unit: centimeters

                + */ + inline long long GetLength() const{ return m_length; } + inline bool LengthHasBeenSet() const { return m_lengthHasBeenSet; } + inline void SetLength(long long value) { m_lengthHasBeenSet = true; m_length = value; } + inline RoadSnapTruckOptions& WithLength(long long value) { SetLength(value); return *this;} + ///@} + + ///@{ + /** + *

                Trailer options corresponding to the vehicle.

                + */ + inline const RoadSnapTrailerOptions& GetTrailer() const{ return m_trailer; } + inline bool TrailerHasBeenSet() const { return m_trailerHasBeenSet; } + inline void SetTrailer(const RoadSnapTrailerOptions& value) { m_trailerHasBeenSet = true; m_trailer = value; } + inline void SetTrailer(RoadSnapTrailerOptions&& value) { m_trailerHasBeenSet = true; m_trailer = std::move(value); } + inline RoadSnapTruckOptions& WithTrailer(const RoadSnapTrailerOptions& value) { SetTrailer(value); return *this;} + inline RoadSnapTruckOptions& WithTrailer(RoadSnapTrailerOptions&& value) { SetTrailer(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The tunnel restriction code.

                Tunnel categories in this list indicate + * the restrictions which apply to certain tunnels in Great Britain. They relate to + * the types of dangerous goods that can be transported through them.

                • + *

                  Tunnel Category B

                  • Risk Level: Limited + * risk

                  • Restrictions: Few restrictions

                  + *
                • Tunnel Category C

                  • Risk Level: + * Medium risk

                  • Restrictions: Some restrictions

                  • + *
                • Tunnel Category D

                  • Risk + * Level: High risk

                  • Restrictions: Many restrictions + * occur

                • Tunnel Category E

                  • + * Risk Level: Very high risk

                  • Restrictions: + * Restricted tunnel

                + */ + inline const Aws::String& GetTunnelRestrictionCode() const{ return m_tunnelRestrictionCode; } + inline bool TunnelRestrictionCodeHasBeenSet() const { return m_tunnelRestrictionCodeHasBeenSet; } + inline void SetTunnelRestrictionCode(const Aws::String& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = value; } + inline void SetTunnelRestrictionCode(Aws::String&& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = std::move(value); } + inline void SetTunnelRestrictionCode(const char* value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode.assign(value); } + inline RoadSnapTruckOptions& WithTunnelRestrictionCode(const Aws::String& value) { SetTunnelRestrictionCode(value); return *this;} + inline RoadSnapTruckOptions& WithTunnelRestrictionCode(Aws::String&& value) { SetTunnelRestrictionCode(std::move(value)); return *this;} + inline RoadSnapTruckOptions& WithTunnelRestrictionCode(const char* value) { SetTunnelRestrictionCode(value); return *this;} + ///@} + + ///@{ + /** + *

                Width of the vehicle in centimenters.

                + */ + inline long long GetWidth() const{ return m_width; } + inline bool WidthHasBeenSet() const { return m_widthHasBeenSet; } + inline void SetWidth(long long value) { m_widthHasBeenSet = true; m_width = value; } + inline RoadSnapTruckOptions& WithWidth(long long value) { SetWidth(value); return *this;} + ///@} + private: + + long long m_grossWeight; + bool m_grossWeightHasBeenSet = false; + + Aws::Vector m_hazardousCargos; + bool m_hazardousCargosHasBeenSet = false; + + long long m_height; + bool m_heightHasBeenSet = false; + + long long m_length; + bool m_lengthHasBeenSet = false; + + RoadSnapTrailerOptions m_trailer; + bool m_trailerHasBeenSet = false; + + Aws::String m_tunnelRestrictionCode; + bool m_tunnelRestrictionCodeHasBeenSet = false; + + long long m_width; + bool m_widthHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Route.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Route.h new file mode 100644 index 00000000000..620911fe663 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/Route.h @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The route.

                See Also:

                AWS + * API Reference

                + */ + class Route + { + public: + AWS_GEOROUTES_API Route(); + AWS_GEOROUTES_API Route(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Route& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                A leg is a section of a route from one waypoint to the next. A leg could be + * of type Vehicle, Pedestrian or Ferry. Legs of different types could occur + * together within a single route. For example, a car employing the use of a Ferry + * will contain Vehicle legs corresponding to journey on land, and Ferry legs + * corresponding to the journey via Ferry.

                + */ + inline const Aws::Vector& GetLegs() const{ return m_legs; } + inline bool LegsHasBeenSet() const { return m_legsHasBeenSet; } + inline void SetLegs(const Aws::Vector& value) { m_legsHasBeenSet = true; m_legs = value; } + inline void SetLegs(Aws::Vector&& value) { m_legsHasBeenSet = true; m_legs = std::move(value); } + inline Route& WithLegs(const Aws::Vector& value) { SetLegs(value); return *this;} + inline Route& WithLegs(Aws::Vector&& value) { SetLegs(std::move(value)); return *this;} + inline Route& AddLegs(const RouteLeg& value) { m_legsHasBeenSet = true; m_legs.push_back(value); return *this; } + inline Route& AddLegs(RouteLeg&& value) { m_legsHasBeenSet = true; m_legs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Important labels including names and route numbers that differentiate the + * current route from the alternatives presented.

                + */ + inline const Aws::Vector& GetMajorRoadLabels() const{ return m_majorRoadLabels; } + inline bool MajorRoadLabelsHasBeenSet() const { return m_majorRoadLabelsHasBeenSet; } + inline void SetMajorRoadLabels(const Aws::Vector& value) { m_majorRoadLabelsHasBeenSet = true; m_majorRoadLabels = value; } + inline void SetMajorRoadLabels(Aws::Vector&& value) { m_majorRoadLabelsHasBeenSet = true; m_majorRoadLabels = std::move(value); } + inline Route& WithMajorRoadLabels(const Aws::Vector& value) { SetMajorRoadLabels(value); return *this;} + inline Route& WithMajorRoadLabels(Aws::Vector&& value) { SetMajorRoadLabels(std::move(value)); return *this;} + inline Route& AddMajorRoadLabels(const RouteMajorRoadLabel& value) { m_majorRoadLabelsHasBeenSet = true; m_majorRoadLabels.push_back(value); return *this; } + inline Route& AddMajorRoadLabels(RouteMajorRoadLabel&& value) { m_majorRoadLabelsHasBeenSet = true; m_majorRoadLabels.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Summarized details of the leg.

                + */ + inline const RouteSummary& GetSummary() const{ return m_summary; } + inline bool SummaryHasBeenSet() const { return m_summaryHasBeenSet; } + inline void SetSummary(const RouteSummary& value) { m_summaryHasBeenSet = true; m_summary = value; } + inline void SetSummary(RouteSummary&& value) { m_summaryHasBeenSet = true; m_summary = std::move(value); } + inline Route& WithSummary(const RouteSummary& value) { SetSummary(value); return *this;} + inline Route& WithSummary(RouteSummary&& value) { SetSummary(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_legs; + bool m_legsHasBeenSet = false; + + Aws::Vector m_majorRoadLabels; + bool m_majorRoadLabelsHasBeenSet = false; + + RouteSummary m_summary; + bool m_summaryHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAllowOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAllowOptions.h new file mode 100644 index 00000000000..ec516a5f2a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAllowOptions.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Features that are allowed while calculating. a route

                See Also:

                + * AWS + * API Reference

                + */ + class RouteAllowOptions + { + public: + AWS_GEOROUTES_API RouteAllowOptions(); + AWS_GEOROUTES_API RouteAllowOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteAllowOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Allow Hot (High Occupancy Toll) lanes while calculating the route.

                + */ + inline bool GetHot() const{ return m_hot; } + inline bool HotHasBeenSet() const { return m_hotHasBeenSet; } + inline void SetHot(bool value) { m_hotHasBeenSet = true; m_hot = value; } + inline RouteAllowOptions& WithHot(bool value) { SetHot(value); return *this;} + ///@} + + ///@{ + /** + *

                Allow Hov (High Occupancy vehicle) lanes while calculating the route.

                + */ + inline bool GetHov() const{ return m_hov; } + inline bool HovHasBeenSet() const { return m_hovHasBeenSet; } + inline void SetHov(bool value) { m_hovHasBeenSet = true; m_hov = value; } + inline RouteAllowOptions& WithHov(bool value) { SetHov(value); return *this;} + ///@} + private: + + bool m_hot; + bool m_hotHasBeenSet = false; + + bool m_hov; + bool m_hovHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceArea.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceArea.h new file mode 100644 index 00000000000..27c72aaf1da --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceArea.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Areas to be avoided.

                See Also:

                AWS + * API Reference

                + */ + class RouteAvoidanceArea + { + public: + AWS_GEOROUTES_API RouteAvoidanceArea(); + AWS_GEOROUTES_API RouteAvoidanceArea(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteAvoidanceArea& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Exceptions to the provided avoidance geometry, to be included while + * calculating the route.

                + */ + inline const Aws::Vector& GetExcept() const{ return m_except; } + inline bool ExceptHasBeenSet() const { return m_exceptHasBeenSet; } + inline void SetExcept(const Aws::Vector& value) { m_exceptHasBeenSet = true; m_except = value; } + inline void SetExcept(Aws::Vector&& value) { m_exceptHasBeenSet = true; m_except = std::move(value); } + inline RouteAvoidanceArea& WithExcept(const Aws::Vector& value) { SetExcept(value); return *this;} + inline RouteAvoidanceArea& WithExcept(Aws::Vector&& value) { SetExcept(std::move(value)); return *this;} + inline RouteAvoidanceArea& AddExcept(const RouteAvoidanceAreaGeometry& value) { m_exceptHasBeenSet = true; m_except.push_back(value); return *this; } + inline RouteAvoidanceArea& AddExcept(RouteAvoidanceAreaGeometry&& value) { m_exceptHasBeenSet = true; m_except.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const RouteAvoidanceAreaGeometry& GetGeometry() const{ return m_geometry; } + inline bool GeometryHasBeenSet() const { return m_geometryHasBeenSet; } + inline void SetGeometry(const RouteAvoidanceAreaGeometry& value) { m_geometryHasBeenSet = true; m_geometry = value; } + inline void SetGeometry(RouteAvoidanceAreaGeometry&& value) { m_geometryHasBeenSet = true; m_geometry = std::move(value); } + inline RouteAvoidanceArea& WithGeometry(const RouteAvoidanceAreaGeometry& value) { SetGeometry(value); return *this;} + inline RouteAvoidanceArea& WithGeometry(RouteAvoidanceAreaGeometry&& value) { SetGeometry(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_except; + bool m_exceptHasBeenSet = false; + + RouteAvoidanceAreaGeometry m_geometry; + bool m_geometryHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceAreaGeometry.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceAreaGeometry.h new file mode 100644 index 00000000000..c14226a61f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceAreaGeometry.h @@ -0,0 +1,137 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Geometry of the area to be avoided.

                See Also:

                AWS + * API Reference

                + */ + class RouteAvoidanceAreaGeometry + { + public: + AWS_GEOROUTES_API RouteAvoidanceAreaGeometry(); + AWS_GEOROUTES_API RouteAvoidanceAreaGeometry(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteAvoidanceAreaGeometry& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Geometry defined as a corridor - a LineString with a radius that defines the + * width of the corridor.

                + */ + inline const Corridor& GetCorridor() const{ return m_corridor; } + inline bool CorridorHasBeenSet() const { return m_corridorHasBeenSet; } + inline void SetCorridor(const Corridor& value) { m_corridorHasBeenSet = true; m_corridor = value; } + inline void SetCorridor(Corridor&& value) { m_corridorHasBeenSet = true; m_corridor = std::move(value); } + inline RouteAvoidanceAreaGeometry& WithCorridor(const Corridor& value) { SetCorridor(value); return *this;} + inline RouteAvoidanceAreaGeometry& WithCorridor(Corridor&& value) { SetCorridor(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Geometry defined as a bounding box. The first pair represents the X and Y + * coordinates (longitude and latitude,) of the southwest corner of the bounding + * box; the second pair represents the X and Y coordinates (longitude and latitude) + * of the northeast corner.

                + */ + inline const Aws::Vector& GetBoundingBox() const{ return m_boundingBox; } + inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } + inline void SetBoundingBox(const Aws::Vector& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } + inline void SetBoundingBox(Aws::Vector&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } + inline RouteAvoidanceAreaGeometry& WithBoundingBox(const Aws::Vector& value) { SetBoundingBox(value); return *this;} + inline RouteAvoidanceAreaGeometry& WithBoundingBox(Aws::Vector&& value) { SetBoundingBox(std::move(value)); return *this;} + inline RouteAvoidanceAreaGeometry& AddBoundingBox(double value) { m_boundingBoxHasBeenSet = true; m_boundingBox.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Geometry defined as a polygon with only one linear ring.

                + */ + inline const Aws::Vector>>& GetPolygon() const{ return m_polygon; } + inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; } + inline void SetPolygon(const Aws::Vector>>& value) { m_polygonHasBeenSet = true; m_polygon = value; } + inline void SetPolygon(Aws::Vector>>&& value) { m_polygonHasBeenSet = true; m_polygon = std::move(value); } + inline RouteAvoidanceAreaGeometry& WithPolygon(const Aws::Vector>>& value) { SetPolygon(value); return *this;} + inline RouteAvoidanceAreaGeometry& WithPolygon(Aws::Vector>>&& value) { SetPolygon(std::move(value)); return *this;} + inline RouteAvoidanceAreaGeometry& AddPolygon(const Aws::Vector>& value) { m_polygonHasBeenSet = true; m_polygon.push_back(value); return *this; } + inline RouteAvoidanceAreaGeometry& AddPolygon(Aws::Vector>&& value) { m_polygonHasBeenSet = true; m_polygon.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Geometry defined as an encoded corridor - an encoded polyline with a radius + * that defines the width of the corridor.

                + */ + inline const PolylineCorridor& GetPolylineCorridor() const{ return m_polylineCorridor; } + inline bool PolylineCorridorHasBeenSet() const { return m_polylineCorridorHasBeenSet; } + inline void SetPolylineCorridor(const PolylineCorridor& value) { m_polylineCorridorHasBeenSet = true; m_polylineCorridor = value; } + inline void SetPolylineCorridor(PolylineCorridor&& value) { m_polylineCorridorHasBeenSet = true; m_polylineCorridor = std::move(value); } + inline RouteAvoidanceAreaGeometry& WithPolylineCorridor(const PolylineCorridor& value) { SetPolylineCorridor(value); return *this;} + inline RouteAvoidanceAreaGeometry& WithPolylineCorridor(PolylineCorridor&& value) { SetPolylineCorridor(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it + * contains PolylinePolygon of the first linear ring (the outer ring) and from 2nd + * item to the last item (the inner rings). For more information on polyline + * encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.

                + */ + inline const Aws::Vector& GetPolylinePolygon() const{ return m_polylinePolygon; } + inline bool PolylinePolygonHasBeenSet() const { return m_polylinePolygonHasBeenSet; } + inline void SetPolylinePolygon(const Aws::Vector& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon = value; } + inline void SetPolylinePolygon(Aws::Vector&& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon = std::move(value); } + inline RouteAvoidanceAreaGeometry& WithPolylinePolygon(const Aws::Vector& value) { SetPolylinePolygon(value); return *this;} + inline RouteAvoidanceAreaGeometry& WithPolylinePolygon(Aws::Vector&& value) { SetPolylinePolygon(std::move(value)); return *this;} + inline RouteAvoidanceAreaGeometry& AddPolylinePolygon(const Aws::String& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(value); return *this; } + inline RouteAvoidanceAreaGeometry& AddPolylinePolygon(Aws::String&& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(std::move(value)); return *this; } + inline RouteAvoidanceAreaGeometry& AddPolylinePolygon(const char* value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(value); return *this; } + ///@} + private: + + Corridor m_corridor; + bool m_corridorHasBeenSet = false; + + Aws::Vector m_boundingBox; + bool m_boundingBoxHasBeenSet = false; + + Aws::Vector>> m_polygon; + bool m_polygonHasBeenSet = false; + + PolylineCorridor m_polylineCorridor; + bool m_polylineCorridorHasBeenSet = false; + + Aws::Vector m_polylinePolygon; + bool m_polylinePolygonHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceOptions.h new file mode 100644 index 00000000000..dcdf2b374af --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceOptions.h @@ -0,0 +1,221 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to areas to be avoided.

                See Also:

                AWS + * API Reference

                + */ + class RouteAvoidanceOptions + { + public: + AWS_GEOROUTES_API RouteAvoidanceOptions(); + AWS_GEOROUTES_API RouteAvoidanceOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteAvoidanceOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Areas to be avoided.

                + */ + inline const Aws::Vector& GetAreas() const{ return m_areas; } + inline bool AreasHasBeenSet() const { return m_areasHasBeenSet; } + inline void SetAreas(const Aws::Vector& value) { m_areasHasBeenSet = true; m_areas = value; } + inline void SetAreas(Aws::Vector&& value) { m_areasHasBeenSet = true; m_areas = std::move(value); } + inline RouteAvoidanceOptions& WithAreas(const Aws::Vector& value) { SetAreas(value); return *this;} + inline RouteAvoidanceOptions& WithAreas(Aws::Vector&& value) { SetAreas(std::move(value)); return *this;} + inline RouteAvoidanceOptions& AddAreas(const RouteAvoidanceArea& value) { m_areasHasBeenSet = true; m_areas.push_back(value); return *this; } + inline RouteAvoidanceOptions& AddAreas(RouteAvoidanceArea&& value) { m_areasHasBeenSet = true; m_areas.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Avoid car-shuttle-trains while calculating the route.

                + */ + inline bool GetCarShuttleTrains() const{ return m_carShuttleTrains; } + inline bool CarShuttleTrainsHasBeenSet() const { return m_carShuttleTrainsHasBeenSet; } + inline void SetCarShuttleTrains(bool value) { m_carShuttleTrainsHasBeenSet = true; m_carShuttleTrains = value; } + inline RouteAvoidanceOptions& WithCarShuttleTrains(bool value) { SetCarShuttleTrains(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid controlled access highways while calculating the route.

                + */ + inline bool GetControlledAccessHighways() const{ return m_controlledAccessHighways; } + inline bool ControlledAccessHighwaysHasBeenSet() const { return m_controlledAccessHighwaysHasBeenSet; } + inline void SetControlledAccessHighways(bool value) { m_controlledAccessHighwaysHasBeenSet = true; m_controlledAccessHighways = value; } + inline RouteAvoidanceOptions& WithControlledAccessHighways(bool value) { SetControlledAccessHighways(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid dirt roads while calculating the route.

                + */ + inline bool GetDirtRoads() const{ return m_dirtRoads; } + inline bool DirtRoadsHasBeenSet() const { return m_dirtRoadsHasBeenSet; } + inline void SetDirtRoads(bool value) { m_dirtRoadsHasBeenSet = true; m_dirtRoads = value; } + inline RouteAvoidanceOptions& WithDirtRoads(bool value) { SetDirtRoads(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid ferries while calculating the route.

                + */ + inline bool GetFerries() const{ return m_ferries; } + inline bool FerriesHasBeenSet() const { return m_ferriesHasBeenSet; } + inline void SetFerries(bool value) { m_ferriesHasBeenSet = true; m_ferries = value; } + inline RouteAvoidanceOptions& WithFerries(bool value) { SetFerries(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid roads that have seasonal closure while calculating the route.

                + */ + inline bool GetSeasonalClosure() const{ return m_seasonalClosure; } + inline bool SeasonalClosureHasBeenSet() const { return m_seasonalClosureHasBeenSet; } + inline void SetSeasonalClosure(bool value) { m_seasonalClosureHasBeenSet = true; m_seasonalClosure = value; } + inline RouteAvoidanceOptions& WithSeasonalClosure(bool value) { SetSeasonalClosure(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoids roads where the specified toll transponders are the only mode of + * payment.

                + */ + inline bool GetTollRoads() const{ return m_tollRoads; } + inline bool TollRoadsHasBeenSet() const { return m_tollRoadsHasBeenSet; } + inline void SetTollRoads(bool value) { m_tollRoadsHasBeenSet = true; m_tollRoads = value; } + inline RouteAvoidanceOptions& WithTollRoads(bool value) { SetTollRoads(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoids roads where the specified toll transponders are the only mode of + * payment.

                + */ + inline bool GetTollTransponders() const{ return m_tollTransponders; } + inline bool TollTranspondersHasBeenSet() const { return m_tollTranspondersHasBeenSet; } + inline void SetTollTransponders(bool value) { m_tollTranspondersHasBeenSet = true; m_tollTransponders = value; } + inline RouteAvoidanceOptions& WithTollTransponders(bool value) { SetTollTransponders(value); return *this;} + ///@} + + ///@{ + /** + *

                Truck road type identifiers. BK1 through BK4 apply + * only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

                + *

                There are currently no other supported values as of 26th April + * 2024.

                + */ + inline const Aws::Vector& GetTruckRoadTypes() const{ return m_truckRoadTypes; } + inline bool TruckRoadTypesHasBeenSet() const { return m_truckRoadTypesHasBeenSet; } + inline void SetTruckRoadTypes(const Aws::Vector& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes = value; } + inline void SetTruckRoadTypes(Aws::Vector&& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes = std::move(value); } + inline RouteAvoidanceOptions& WithTruckRoadTypes(const Aws::Vector& value) { SetTruckRoadTypes(value); return *this;} + inline RouteAvoidanceOptions& WithTruckRoadTypes(Aws::Vector&& value) { SetTruckRoadTypes(std::move(value)); return *this;} + inline RouteAvoidanceOptions& AddTruckRoadTypes(const Aws::String& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(value); return *this; } + inline RouteAvoidanceOptions& AddTruckRoadTypes(Aws::String&& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(std::move(value)); return *this; } + inline RouteAvoidanceOptions& AddTruckRoadTypes(const char* value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Avoid tunnels while calculating the route.

                + */ + inline bool GetTunnels() const{ return m_tunnels; } + inline bool TunnelsHasBeenSet() const { return m_tunnelsHasBeenSet; } + inline void SetTunnels(bool value) { m_tunnelsHasBeenSet = true; m_tunnels = value; } + inline RouteAvoidanceOptions& WithTunnels(bool value) { SetTunnels(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid U-turns for calculation on highways and motorways.

                + */ + inline bool GetUTurns() const{ return m_uTurns; } + inline bool UTurnsHasBeenSet() const { return m_uTurnsHasBeenSet; } + inline void SetUTurns(bool value) { m_uTurnsHasBeenSet = true; m_uTurns = value; } + inline RouteAvoidanceOptions& WithUTurns(bool value) { SetUTurns(value); return *this;} + ///@} + + ///@{ + /** + *

                Zone categories to be avoided.

                + */ + inline const Aws::Vector& GetZoneCategories() const{ return m_zoneCategories; } + inline bool ZoneCategoriesHasBeenSet() const { return m_zoneCategoriesHasBeenSet; } + inline void SetZoneCategories(const Aws::Vector& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories = value; } + inline void SetZoneCategories(Aws::Vector&& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories = std::move(value); } + inline RouteAvoidanceOptions& WithZoneCategories(const Aws::Vector& value) { SetZoneCategories(value); return *this;} + inline RouteAvoidanceOptions& WithZoneCategories(Aws::Vector&& value) { SetZoneCategories(std::move(value)); return *this;} + inline RouteAvoidanceOptions& AddZoneCategories(const RouteAvoidanceZoneCategory& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories.push_back(value); return *this; } + inline RouteAvoidanceOptions& AddZoneCategories(RouteAvoidanceZoneCategory&& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_areas; + bool m_areasHasBeenSet = false; + + bool m_carShuttleTrains; + bool m_carShuttleTrainsHasBeenSet = false; + + bool m_controlledAccessHighways; + bool m_controlledAccessHighwaysHasBeenSet = false; + + bool m_dirtRoads; + bool m_dirtRoadsHasBeenSet = false; + + bool m_ferries; + bool m_ferriesHasBeenSet = false; + + bool m_seasonalClosure; + bool m_seasonalClosureHasBeenSet = false; + + bool m_tollRoads; + bool m_tollRoadsHasBeenSet = false; + + bool m_tollTransponders; + bool m_tollTranspondersHasBeenSet = false; + + Aws::Vector m_truckRoadTypes; + bool m_truckRoadTypesHasBeenSet = false; + + bool m_tunnels; + bool m_tunnelsHasBeenSet = false; + + bool m_uTurns; + bool m_uTurnsHasBeenSet = false; + + Aws::Vector m_zoneCategories; + bool m_zoneCategoriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceZoneCategory.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceZoneCategory.h new file mode 100644 index 00000000000..d50f52e5ae2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteAvoidanceZoneCategory.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Zone categories to be avoided.

                See Also:

                AWS + * API Reference

                + */ + class RouteAvoidanceZoneCategory + { + public: + AWS_GEOROUTES_API RouteAvoidanceZoneCategory(); + AWS_GEOROUTES_API RouteAvoidanceZoneCategory(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteAvoidanceZoneCategory& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Zone category to be avoided.

                + */ + inline const RouteZoneCategory& GetCategory() const{ return m_category; } + inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } + inline void SetCategory(const RouteZoneCategory& value) { m_categoryHasBeenSet = true; m_category = value; } + inline void SetCategory(RouteZoneCategory&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } + inline RouteAvoidanceZoneCategory& WithCategory(const RouteZoneCategory& value) { SetCategory(value); return *this;} + inline RouteAvoidanceZoneCategory& WithCategory(RouteZoneCategory&& value) { SetCategory(std::move(value)); return *this;} + ///@} + private: + + RouteZoneCategory m_category; + bool m_categoryHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteCarOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteCarOptions.h new file mode 100644 index 00000000000..83c9f22ff1b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteCarOptions.h @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode options when the provided travel mode is "Car"

                See + * Also:

                AWS + * API Reference

                + */ + class RouteCarOptions + { + public: + AWS_GEOROUTES_API RouteCarOptions(); + AWS_GEOROUTES_API RouteCarOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteCarOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Engine type of the vehicle.

                + */ + inline const RouteEngineType& GetEngineType() const{ return m_engineType; } + inline bool EngineTypeHasBeenSet() const { return m_engineTypeHasBeenSet; } + inline void SetEngineType(const RouteEngineType& value) { m_engineTypeHasBeenSet = true; m_engineType = value; } + inline void SetEngineType(RouteEngineType&& value) { m_engineTypeHasBeenSet = true; m_engineType = std::move(value); } + inline RouteCarOptions& WithEngineType(const RouteEngineType& value) { SetEngineType(value); return *this;} + inline RouteCarOptions& WithEngineType(RouteEngineType&& value) { SetEngineType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The vehicle License Plate.

                + */ + inline const RouteVehicleLicensePlate& GetLicensePlate() const{ return m_licensePlate; } + inline bool LicensePlateHasBeenSet() const { return m_licensePlateHasBeenSet; } + inline void SetLicensePlate(const RouteVehicleLicensePlate& value) { m_licensePlateHasBeenSet = true; m_licensePlate = value; } + inline void SetLicensePlate(RouteVehicleLicensePlate&& value) { m_licensePlateHasBeenSet = true; m_licensePlate = std::move(value); } + inline RouteCarOptions& WithLicensePlate(const RouteVehicleLicensePlate& value) { SetLicensePlate(value); return *this;} + inline RouteCarOptions& WithLicensePlate(RouteVehicleLicensePlate&& value) { SetLicensePlate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Maximum speed specified.

                Unit: KilometersPerHour + *

                + */ + inline double GetMaxSpeed() const{ return m_maxSpeed; } + inline bool MaxSpeedHasBeenSet() const { return m_maxSpeedHasBeenSet; } + inline void SetMaxSpeed(double value) { m_maxSpeedHasBeenSet = true; m_maxSpeed = value; } + inline RouteCarOptions& WithMaxSpeed(double value) { SetMaxSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                The number of occupants in the vehicle.

                Default Value: 1 + *

                + */ + inline int GetOccupancy() const{ return m_occupancy; } + inline bool OccupancyHasBeenSet() const { return m_occupancyHasBeenSet; } + inline void SetOccupancy(int value) { m_occupancyHasBeenSet = true; m_occupancy = value; } + inline RouteCarOptions& WithOccupancy(int value) { SetOccupancy(value); return *this;} + ///@} + private: + + RouteEngineType m_engineType; + bool m_engineTypeHasBeenSet = false; + + RouteVehicleLicensePlate m_licensePlate; + bool m_licensePlateHasBeenSet = false; + + double m_maxSpeed; + bool m_maxSpeedHasBeenSet = false; + + int m_occupancy; + bool m_occupancyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteContinueHighwayStepDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteContinueHighwayStepDetails.h new file mode 100644 index 00000000000..c3d8c41d702 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteContinueHighwayStepDetails.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details related to the continue highway step.

                See Also:

                AWS + * API Reference

                + */ + class RouteContinueHighwayStepDetails + { + public: + AWS_GEOROUTES_API RouteContinueHighwayStepDetails(); + AWS_GEOROUTES_API RouteContinueHighwayStepDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteContinueHighwayStepDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the intersection, if applicable to the step.

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline RouteContinueHighwayStepDetails& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline RouteContinueHighwayStepDetails& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline RouteContinueHighwayStepDetails& AddIntersection(const LocalizedString& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline RouteContinueHighwayStepDetails& AddIntersection(LocalizedString&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Steering direction for the step.

                + */ + inline const RouteSteeringDirection& GetSteeringDirection() const{ return m_steeringDirection; } + inline bool SteeringDirectionHasBeenSet() const { return m_steeringDirectionHasBeenSet; } + inline void SetSteeringDirection(const RouteSteeringDirection& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = value; } + inline void SetSteeringDirection(RouteSteeringDirection&& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = std::move(value); } + inline RouteContinueHighwayStepDetails& WithSteeringDirection(const RouteSteeringDirection& value) { SetSteeringDirection(value); return *this;} + inline RouteContinueHighwayStepDetails& WithSteeringDirection(RouteSteeringDirection&& value) { SetSteeringDirection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Angle of the turn.

                + */ + inline double GetTurnAngle() const{ return m_turnAngle; } + inline bool TurnAngleHasBeenSet() const { return m_turnAngleHasBeenSet; } + inline void SetTurnAngle(double value) { m_turnAngleHasBeenSet = true; m_turnAngle = value; } + inline RouteContinueHighwayStepDetails& WithTurnAngle(double value) { SetTurnAngle(value); return *this;} + ///@} + + ///@{ + /** + *

                Intensity of the turn.

                + */ + inline const RouteTurnIntensity& GetTurnIntensity() const{ return m_turnIntensity; } + inline bool TurnIntensityHasBeenSet() const { return m_turnIntensityHasBeenSet; } + inline void SetTurnIntensity(const RouteTurnIntensity& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = value; } + inline void SetTurnIntensity(RouteTurnIntensity&& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = std::move(value); } + inline RouteContinueHighwayStepDetails& WithTurnIntensity(const RouteTurnIntensity& value) { SetTurnIntensity(value); return *this;} + inline RouteContinueHighwayStepDetails& WithTurnIntensity(RouteTurnIntensity&& value) { SetTurnIntensity(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + RouteSteeringDirection m_steeringDirection; + bool m_steeringDirectionHasBeenSet = false; + + double m_turnAngle; + bool m_turnAngleHasBeenSet = false; + + RouteTurnIntensity m_turnIntensity; + bool m_turnIntensityHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteContinueStepDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteContinueStepDetails.h new file mode 100644 index 00000000000..34142970baf --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteContinueStepDetails.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details related to the continue step.

                See Also:

                AWS + * API Reference

                + */ + class RouteContinueStepDetails + { + public: + AWS_GEOROUTES_API RouteContinueStepDetails(); + AWS_GEOROUTES_API RouteContinueStepDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteContinueStepDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the intersection, if applicable to the step.

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline RouteContinueStepDetails& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline RouteContinueStepDetails& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline RouteContinueStepDetails& AddIntersection(const LocalizedString& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline RouteContinueStepDetails& AddIntersection(LocalizedString&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDestinationOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDestinationOptions.h new file mode 100644 index 00000000000..e59ebefb483 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDestinationOptions.h @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to the destination.

                See Also:

                AWS + * API Reference

                + */ + class RouteDestinationOptions + { + public: + AWS_GEOROUTES_API RouteDestinationOptions(); + AWS_GEOROUTES_API RouteDestinationOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteDestinationOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Avoids actions for the provided distance. This is typically to consider for + * users in moving vehicles who may not have sufficient time to make an action at + * an origin or a destination.

                + */ + inline long long GetAvoidActionsForDistance() const{ return m_avoidActionsForDistance; } + inline bool AvoidActionsForDistanceHasBeenSet() const { return m_avoidActionsForDistanceHasBeenSet; } + inline void SetAvoidActionsForDistance(long long value) { m_avoidActionsForDistanceHasBeenSet = true; m_avoidActionsForDistance = value; } + inline RouteDestinationOptions& WithAvoidActionsForDistance(long long value) { SetAvoidActionsForDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid U-turns for calculation on highways and motorways.

                + */ + inline bool GetAvoidUTurns() const{ return m_avoidUTurns; } + inline bool AvoidUTurnsHasBeenSet() const { return m_avoidUTurnsHasBeenSet; } + inline void SetAvoidUTurns(bool value) { m_avoidUTurnsHasBeenSet = true; m_avoidUTurns = value; } + inline RouteDestinationOptions& WithAvoidUTurns(bool value) { SetAvoidUTurns(value); return *this;} + ///@} + + ///@{ + /** + *

                GPS Heading at the position.

                + */ + inline double GetHeading() const{ return m_heading; } + inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; } + inline void SetHeading(double value) { m_headingHasBeenSet = true; m_heading = value; } + inline RouteDestinationOptions& WithHeading(double value) { SetHeading(value); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to the road network.

                + */ + inline const RouteMatchingOptions& GetMatching() const{ return m_matching; } + inline bool MatchingHasBeenSet() const { return m_matchingHasBeenSet; } + inline void SetMatching(const RouteMatchingOptions& value) { m_matchingHasBeenSet = true; m_matching = value; } + inline void SetMatching(RouteMatchingOptions&& value) { m_matchingHasBeenSet = true; m_matching = std::move(value); } + inline RouteDestinationOptions& WithMatching(const RouteMatchingOptions& value) { SetMatching(value); return *this;} + inline RouteDestinationOptions& WithMatching(RouteMatchingOptions&& value) { SetMatching(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to a side of the + * street.

                + */ + inline const RouteSideOfStreetOptions& GetSideOfStreet() const{ return m_sideOfStreet; } + inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; } + inline void SetSideOfStreet(const RouteSideOfStreetOptions& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = value; } + inline void SetSideOfStreet(RouteSideOfStreetOptions&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::move(value); } + inline RouteDestinationOptions& WithSideOfStreet(const RouteSideOfStreetOptions& value) { SetSideOfStreet(value); return *this;} + inline RouteDestinationOptions& WithSideOfStreet(RouteSideOfStreetOptions&& value) { SetSideOfStreet(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the stop.

                Unit: seconds

                + */ + inline long long GetStopDuration() const{ return m_stopDuration; } + inline bool StopDurationHasBeenSet() const { return m_stopDurationHasBeenSet; } + inline void SetStopDuration(long long value) { m_stopDurationHasBeenSet = true; m_stopDuration = value; } + inline RouteDestinationOptions& WithStopDuration(long long value) { SetStopDuration(value); return *this;} + ///@} + private: + + long long m_avoidActionsForDistance; + bool m_avoidActionsForDistanceHasBeenSet = false; + + bool m_avoidUTurns; + bool m_avoidUTurnsHasBeenSet = false; + + double m_heading; + bool m_headingHasBeenSet = false; + + RouteMatchingOptions m_matching; + bool m_matchingHasBeenSet = false; + + RouteSideOfStreetOptions m_sideOfStreet; + bool m_sideOfStreetHasBeenSet = false; + + long long m_stopDuration; + bool m_stopDurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDirection.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDirection.h new file mode 100644 index 00000000000..49d56c041b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDirection.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteDirection + { + NOT_SET, + East, + North, + South, + West + }; + +namespace RouteDirectionMapper +{ +AWS_GEOROUTES_API RouteDirection GetRouteDirectionForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteDirection(RouteDirection value); +} // namespace RouteDirectionMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDriverOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDriverOptions.h new file mode 100644 index 00000000000..829b8ee88e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDriverOptions.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Driver related options.

                See Also:

                AWS + * API Reference

                + */ + class RouteDriverOptions + { + public: + AWS_GEOROUTES_API RouteDriverOptions(); + AWS_GEOROUTES_API RouteDriverOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteDriverOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Driver work-rest schedule. Stops are added to fulfil the provided rest + * schedule.

                + */ + inline const Aws::Vector& GetSchedule() const{ return m_schedule; } + inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; } + inline void SetSchedule(const Aws::Vector& value) { m_scheduleHasBeenSet = true; m_schedule = value; } + inline void SetSchedule(Aws::Vector&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); } + inline RouteDriverOptions& WithSchedule(const Aws::Vector& value) { SetSchedule(value); return *this;} + inline RouteDriverOptions& WithSchedule(Aws::Vector&& value) { SetSchedule(std::move(value)); return *this;} + inline RouteDriverOptions& AddSchedule(const RouteDriverScheduleInterval& value) { m_scheduleHasBeenSet = true; m_schedule.push_back(value); return *this; } + inline RouteDriverOptions& AddSchedule(RouteDriverScheduleInterval&& value) { m_scheduleHasBeenSet = true; m_schedule.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_schedule; + bool m_scheduleHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDriverScheduleInterval.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDriverScheduleInterval.h new file mode 100644 index 00000000000..37fe64f9a36 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteDriverScheduleInterval.h @@ -0,0 +1,71 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Interval of the driver work-rest schedule. Stops are added to fulfil the + * provided rest schedule.

                See Also:

                AWS + * API Reference

                + */ + class RouteDriverScheduleInterval + { + public: + AWS_GEOROUTES_API RouteDriverScheduleInterval(); + AWS_GEOROUTES_API RouteDriverScheduleInterval(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteDriverScheduleInterval& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Maximum allowed driving time before stopping to rest.

                Unit: + * seconds

                + */ + inline long long GetDriveDuration() const{ return m_driveDuration; } + inline bool DriveDurationHasBeenSet() const { return m_driveDurationHasBeenSet; } + inline void SetDriveDuration(long long value) { m_driveDurationHasBeenSet = true; m_driveDuration = value; } + inline RouteDriverScheduleInterval& WithDriveDuration(long long value) { SetDriveDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Resting time before the driver can continue driving.

                Unit: + * seconds

                + */ + inline long long GetRestDuration() const{ return m_restDuration; } + inline bool RestDurationHasBeenSet() const { return m_restDurationHasBeenSet; } + inline void SetRestDuration(long long value) { m_restDurationHasBeenSet = true; m_restDuration = value; } + inline RouteDriverScheduleInterval& WithRestDuration(long long value) { SetRestDuration(value); return *this;} + ///@} + private: + + long long m_driveDuration; + bool m_driveDurationHasBeenSet = false; + + long long m_restDuration; + bool m_restDurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteEmissionType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteEmissionType.h new file mode 100644 index 00000000000..dbf613f536d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteEmissionType.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Type of the emission.

                Valid values: Euro1, Euro2, Euro3, + * Euro4, Euro5, Euro6, EuroEev

                See Also:

                AWS + * API Reference

                + */ + class RouteEmissionType + { + public: + AWS_GEOROUTES_API RouteEmissionType(); + AWS_GEOROUTES_API RouteEmissionType(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteEmissionType& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The CO 2 emission classes.

                + */ + inline const Aws::String& GetCo2EmissionClass() const{ return m_co2EmissionClass; } + inline bool Co2EmissionClassHasBeenSet() const { return m_co2EmissionClassHasBeenSet; } + inline void SetCo2EmissionClass(const Aws::String& value) { m_co2EmissionClassHasBeenSet = true; m_co2EmissionClass = value; } + inline void SetCo2EmissionClass(Aws::String&& value) { m_co2EmissionClassHasBeenSet = true; m_co2EmissionClass = std::move(value); } + inline void SetCo2EmissionClass(const char* value) { m_co2EmissionClassHasBeenSet = true; m_co2EmissionClass.assign(value); } + inline RouteEmissionType& WithCo2EmissionClass(const Aws::String& value) { SetCo2EmissionClass(value); return *this;} + inline RouteEmissionType& WithCo2EmissionClass(Aws::String&& value) { SetCo2EmissionClass(std::move(value)); return *this;} + inline RouteEmissionType& WithCo2EmissionClass(const char* value) { SetCo2EmissionClass(value); return *this;} + ///@} + + ///@{ + /** + *

                Type of the emission.

                Valid values: Euro1, Euro2, Euro3, + * Euro4, Euro5, Euro6, EuroEev

                + */ + inline const Aws::String& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + inline RouteEmissionType& WithType(const Aws::String& value) { SetType(value); return *this;} + inline RouteEmissionType& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + inline RouteEmissionType& WithType(const char* value) { SetType(value); return *this;} + ///@} + private: + + Aws::String m_co2EmissionClass; + bool m_co2EmissionClassHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteEngineType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteEngineType.h new file mode 100644 index 00000000000..f4247bf7caa --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteEngineType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteEngineType + { + NOT_SET, + Electric, + InternalCombustion, + PluginHybrid + }; + +namespace RouteEngineTypeMapper +{ +AWS_GEOROUTES_API RouteEngineType GetRouteEngineTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteEngineType(RouteEngineType value); +} // namespace RouteEngineTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteEnterHighwayStepDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteEnterHighwayStepDetails.h new file mode 100644 index 00000000000..86dab0a1b78 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteEnterHighwayStepDetails.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details related to the enter highway step.

                See Also:

                AWS + * API Reference

                + */ + class RouteEnterHighwayStepDetails + { + public: + AWS_GEOROUTES_API RouteEnterHighwayStepDetails(); + AWS_GEOROUTES_API RouteEnterHighwayStepDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteEnterHighwayStepDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the intersection, if applicable to the step.

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline RouteEnterHighwayStepDetails& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline RouteEnterHighwayStepDetails& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline RouteEnterHighwayStepDetails& AddIntersection(const LocalizedString& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline RouteEnterHighwayStepDetails& AddIntersection(LocalizedString&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Steering direction for the step.

                + */ + inline const RouteSteeringDirection& GetSteeringDirection() const{ return m_steeringDirection; } + inline bool SteeringDirectionHasBeenSet() const { return m_steeringDirectionHasBeenSet; } + inline void SetSteeringDirection(const RouteSteeringDirection& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = value; } + inline void SetSteeringDirection(RouteSteeringDirection&& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = std::move(value); } + inline RouteEnterHighwayStepDetails& WithSteeringDirection(const RouteSteeringDirection& value) { SetSteeringDirection(value); return *this;} + inline RouteEnterHighwayStepDetails& WithSteeringDirection(RouteSteeringDirection&& value) { SetSteeringDirection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Angle of the turn.

                + */ + inline double GetTurnAngle() const{ return m_turnAngle; } + inline bool TurnAngleHasBeenSet() const { return m_turnAngleHasBeenSet; } + inline void SetTurnAngle(double value) { m_turnAngleHasBeenSet = true; m_turnAngle = value; } + inline RouteEnterHighwayStepDetails& WithTurnAngle(double value) { SetTurnAngle(value); return *this;} + ///@} + + ///@{ + /** + *

                Intensity of the turn.

                + */ + inline const RouteTurnIntensity& GetTurnIntensity() const{ return m_turnIntensity; } + inline bool TurnIntensityHasBeenSet() const { return m_turnIntensityHasBeenSet; } + inline void SetTurnIntensity(const RouteTurnIntensity& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = value; } + inline void SetTurnIntensity(RouteTurnIntensity&& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = std::move(value); } + inline RouteEnterHighwayStepDetails& WithTurnIntensity(const RouteTurnIntensity& value) { SetTurnIntensity(value); return *this;} + inline RouteEnterHighwayStepDetails& WithTurnIntensity(RouteTurnIntensity&& value) { SetTurnIntensity(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + RouteSteeringDirection m_steeringDirection; + bool m_steeringDirectionHasBeenSet = false; + + double m_turnAngle; + bool m_turnAngleHasBeenSet = false; + + RouteTurnIntensity m_turnIntensity; + bool m_turnIntensityHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteExclusionOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteExclusionOptions.h new file mode 100644 index 00000000000..b982191bccf --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteExclusionOptions.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Exclusion options for the route.

                See Also:

                AWS + * API Reference

                + */ + class RouteExclusionOptions + { + public: + AWS_GEOROUTES_API RouteExclusionOptions(); + AWS_GEOROUTES_API RouteExclusionOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteExclusionOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                List of countries to be avoided defined by two-letter or three-letter country + * codes.

                + */ + inline const Aws::Vector& GetCountries() const{ return m_countries; } + inline bool CountriesHasBeenSet() const { return m_countriesHasBeenSet; } + inline void SetCountries(const Aws::Vector& value) { m_countriesHasBeenSet = true; m_countries = value; } + inline void SetCountries(Aws::Vector&& value) { m_countriesHasBeenSet = true; m_countries = std::move(value); } + inline RouteExclusionOptions& WithCountries(const Aws::Vector& value) { SetCountries(value); return *this;} + inline RouteExclusionOptions& WithCountries(Aws::Vector&& value) { SetCountries(std::move(value)); return *this;} + inline RouteExclusionOptions& AddCountries(const Aws::String& value) { m_countriesHasBeenSet = true; m_countries.push_back(value); return *this; } + inline RouteExclusionOptions& AddCountries(Aws::String&& value) { m_countriesHasBeenSet = true; m_countries.push_back(std::move(value)); return *this; } + inline RouteExclusionOptions& AddCountries(const char* value) { m_countriesHasBeenSet = true; m_countries.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_countries; + bool m_countriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteExitStepDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteExitStepDetails.h new file mode 100644 index 00000000000..c4af7b61d18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteExitStepDetails.h @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details related to the exit step.

                See Also:

                AWS + * API Reference

                + */ + class RouteExitStepDetails + { + public: + AWS_GEOROUTES_API RouteExitStepDetails(); + AWS_GEOROUTES_API RouteExitStepDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteExitStepDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the intersection, if applicable to the step.

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline RouteExitStepDetails& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline RouteExitStepDetails& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline RouteExitStepDetails& AddIntersection(const LocalizedString& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline RouteExitStepDetails& AddIntersection(LocalizedString&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Exit to be taken.

                + */ + inline int GetRelativeExit() const{ return m_relativeExit; } + inline bool RelativeExitHasBeenSet() const { return m_relativeExitHasBeenSet; } + inline void SetRelativeExit(int value) { m_relativeExitHasBeenSet = true; m_relativeExit = value; } + inline RouteExitStepDetails& WithRelativeExit(int value) { SetRelativeExit(value); return *this;} + ///@} + + ///@{ + /** + *

                Steering direction for the step.

                + */ + inline const RouteSteeringDirection& GetSteeringDirection() const{ return m_steeringDirection; } + inline bool SteeringDirectionHasBeenSet() const { return m_steeringDirectionHasBeenSet; } + inline void SetSteeringDirection(const RouteSteeringDirection& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = value; } + inline void SetSteeringDirection(RouteSteeringDirection&& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = std::move(value); } + inline RouteExitStepDetails& WithSteeringDirection(const RouteSteeringDirection& value) { SetSteeringDirection(value); return *this;} + inline RouteExitStepDetails& WithSteeringDirection(RouteSteeringDirection&& value) { SetSteeringDirection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Angle of the turn.

                + */ + inline double GetTurnAngle() const{ return m_turnAngle; } + inline bool TurnAngleHasBeenSet() const { return m_turnAngleHasBeenSet; } + inline void SetTurnAngle(double value) { m_turnAngleHasBeenSet = true; m_turnAngle = value; } + inline RouteExitStepDetails& WithTurnAngle(double value) { SetTurnAngle(value); return *this;} + ///@} + + ///@{ + /** + *

                Intensity of the turn.

                + */ + inline const RouteTurnIntensity& GetTurnIntensity() const{ return m_turnIntensity; } + inline bool TurnIntensityHasBeenSet() const { return m_turnIntensityHasBeenSet; } + inline void SetTurnIntensity(const RouteTurnIntensity& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = value; } + inline void SetTurnIntensity(RouteTurnIntensity&& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = std::move(value); } + inline RouteExitStepDetails& WithTurnIntensity(const RouteTurnIntensity& value) { SetTurnIntensity(value); return *this;} + inline RouteExitStepDetails& WithTurnIntensity(RouteTurnIntensity&& value) { SetTurnIntensity(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + int m_relativeExit; + bool m_relativeExitHasBeenSet = false; + + RouteSteeringDirection m_steeringDirection; + bool m_steeringDirectionHasBeenSet = false; + + double m_turnAngle; + bool m_turnAngleHasBeenSet = false; + + RouteTurnIntensity m_turnIntensity; + bool m_turnIntensityHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryAfterTravelStep.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryAfterTravelStep.h new file mode 100644 index 00000000000..e21e65bfd52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryAfterTravelStep.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Steps of a leg that must be performed after the travel portion of the + * leg.

                See Also:

                AWS + * API Reference

                + */ + class RouteFerryAfterTravelStep + { + public: + AWS_GEOROUTES_API RouteFerryAfterTravelStep(); + AWS_GEOROUTES_API RouteFerryAfterTravelStep(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerryAfterTravelStep& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Duration of the step.

                Unit: seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteFerryAfterTravelStep& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Brief description of the step in the requested language.

                Only + * available when the TravelStepType is Default.

                + */ + inline const Aws::String& GetInstruction() const{ return m_instruction; } + inline bool InstructionHasBeenSet() const { return m_instructionHasBeenSet; } + inline void SetInstruction(const Aws::String& value) { m_instructionHasBeenSet = true; m_instruction = value; } + inline void SetInstruction(Aws::String&& value) { m_instructionHasBeenSet = true; m_instruction = std::move(value); } + inline void SetInstruction(const char* value) { m_instructionHasBeenSet = true; m_instruction.assign(value); } + inline RouteFerryAfterTravelStep& WithInstruction(const Aws::String& value) { SetInstruction(value); return *this;} + inline RouteFerryAfterTravelStep& WithInstruction(Aws::String&& value) { SetInstruction(std::move(value)); return *this;} + inline RouteFerryAfterTravelStep& WithInstruction(const char* value) { SetInstruction(value); return *this;} + ///@} + + ///@{ + /** + *

                Type of the step.

                + */ + inline const RouteFerryAfterTravelStepType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RouteFerryAfterTravelStepType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RouteFerryAfterTravelStepType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RouteFerryAfterTravelStep& WithType(const RouteFerryAfterTravelStepType& value) { SetType(value); return *this;} + inline RouteFerryAfterTravelStep& WithType(RouteFerryAfterTravelStepType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + long long m_duration; + bool m_durationHasBeenSet = false; + + Aws::String m_instruction; + bool m_instructionHasBeenSet = false; + + RouteFerryAfterTravelStepType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryAfterTravelStepType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryAfterTravelStepType.h new file mode 100644 index 00000000000..64bdf4dbf73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryAfterTravelStepType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteFerryAfterTravelStepType + { + NOT_SET, + Deboard + }; + +namespace RouteFerryAfterTravelStepTypeMapper +{ +AWS_GEOROUTES_API RouteFerryAfterTravelStepType GetRouteFerryAfterTravelStepTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteFerryAfterTravelStepType(RouteFerryAfterTravelStepType value); +} // namespace RouteFerryAfterTravelStepTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryArrival.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryArrival.h new file mode 100644 index 00000000000..fee0bf11a29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryArrival.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details corresponding to the arrival for the leg.

                See Also:

                + * AWS + * API Reference

                + */ + class RouteFerryArrival + { + public: + AWS_GEOROUTES_API RouteFerryArrival(); + AWS_GEOROUTES_API RouteFerryArrival(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerryArrival& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The place details.

                + */ + inline const RouteFerryPlace& GetPlace() const{ return m_place; } + inline bool PlaceHasBeenSet() const { return m_placeHasBeenSet; } + inline void SetPlace(const RouteFerryPlace& value) { m_placeHasBeenSet = true; m_place = value; } + inline void SetPlace(RouteFerryPlace&& value) { m_placeHasBeenSet = true; m_place = std::move(value); } + inline RouteFerryArrival& WithPlace(const RouteFerryPlace& value) { SetPlace(value); return *this;} + inline RouteFerryArrival& WithPlace(RouteFerryPlace&& value) { SetPlace(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The time.

                + */ + inline const Aws::String& GetTime() const{ return m_time; } + inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } + inline void SetTime(const Aws::String& value) { m_timeHasBeenSet = true; m_time = value; } + inline void SetTime(Aws::String&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } + inline void SetTime(const char* value) { m_timeHasBeenSet = true; m_time.assign(value); } + inline RouteFerryArrival& WithTime(const Aws::String& value) { SetTime(value); return *this;} + inline RouteFerryArrival& WithTime(Aws::String&& value) { SetTime(std::move(value)); return *this;} + inline RouteFerryArrival& WithTime(const char* value) { SetTime(value); return *this;} + ///@} + private: + + RouteFerryPlace m_place; + bool m_placeHasBeenSet = false; + + Aws::String m_time; + bool m_timeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryBeforeTravelStep.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryBeforeTravelStep.h new file mode 100644 index 00000000000..71107d358d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryBeforeTravelStep.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Steps of a leg that must be performed before the travel portion of the + * leg.

                See Also:

                AWS + * API Reference

                + */ + class RouteFerryBeforeTravelStep + { + public: + AWS_GEOROUTES_API RouteFerryBeforeTravelStep(); + AWS_GEOROUTES_API RouteFerryBeforeTravelStep(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerryBeforeTravelStep& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Duration of the step.

                Unit: seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteFerryBeforeTravelStep& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Brief description of the step in the requested language.

                Only + * available when the TravelStepType is Default.

                + */ + inline const Aws::String& GetInstruction() const{ return m_instruction; } + inline bool InstructionHasBeenSet() const { return m_instructionHasBeenSet; } + inline void SetInstruction(const Aws::String& value) { m_instructionHasBeenSet = true; m_instruction = value; } + inline void SetInstruction(Aws::String&& value) { m_instructionHasBeenSet = true; m_instruction = std::move(value); } + inline void SetInstruction(const char* value) { m_instructionHasBeenSet = true; m_instruction.assign(value); } + inline RouteFerryBeforeTravelStep& WithInstruction(const Aws::String& value) { SetInstruction(value); return *this;} + inline RouteFerryBeforeTravelStep& WithInstruction(Aws::String&& value) { SetInstruction(std::move(value)); return *this;} + inline RouteFerryBeforeTravelStep& WithInstruction(const char* value) { SetInstruction(value); return *this;} + ///@} + + ///@{ + /** + *

                Type of the step.

                + */ + inline const RouteFerryBeforeTravelStepType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RouteFerryBeforeTravelStepType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RouteFerryBeforeTravelStepType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RouteFerryBeforeTravelStep& WithType(const RouteFerryBeforeTravelStepType& value) { SetType(value); return *this;} + inline RouteFerryBeforeTravelStep& WithType(RouteFerryBeforeTravelStepType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + long long m_duration; + bool m_durationHasBeenSet = false; + + Aws::String m_instruction; + bool m_instructionHasBeenSet = false; + + RouteFerryBeforeTravelStepType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryBeforeTravelStepType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryBeforeTravelStepType.h new file mode 100644 index 00000000000..41af4159b3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryBeforeTravelStepType.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteFerryBeforeTravelStepType + { + NOT_SET, + Board + }; + +namespace RouteFerryBeforeTravelStepTypeMapper +{ +AWS_GEOROUTES_API RouteFerryBeforeTravelStepType GetRouteFerryBeforeTravelStepTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteFerryBeforeTravelStepType(RouteFerryBeforeTravelStepType value); +} // namespace RouteFerryBeforeTravelStepTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryDeparture.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryDeparture.h new file mode 100644 index 00000000000..0ad3060e685 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryDeparture.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details corresponding to the departure for the leg.

                See Also:

                + * AWS + * API Reference

                + */ + class RouteFerryDeparture + { + public: + AWS_GEOROUTES_API RouteFerryDeparture(); + AWS_GEOROUTES_API RouteFerryDeparture(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerryDeparture& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The place details.

                + */ + inline const RouteFerryPlace& GetPlace() const{ return m_place; } + inline bool PlaceHasBeenSet() const { return m_placeHasBeenSet; } + inline void SetPlace(const RouteFerryPlace& value) { m_placeHasBeenSet = true; m_place = value; } + inline void SetPlace(RouteFerryPlace&& value) { m_placeHasBeenSet = true; m_place = std::move(value); } + inline RouteFerryDeparture& WithPlace(const RouteFerryPlace& value) { SetPlace(value); return *this;} + inline RouteFerryDeparture& WithPlace(RouteFerryPlace&& value) { SetPlace(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The time.

                + */ + inline const Aws::String& GetTime() const{ return m_time; } + inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } + inline void SetTime(const Aws::String& value) { m_timeHasBeenSet = true; m_time = value; } + inline void SetTime(Aws::String&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } + inline void SetTime(const char* value) { m_timeHasBeenSet = true; m_time.assign(value); } + inline RouteFerryDeparture& WithTime(const Aws::String& value) { SetTime(value); return *this;} + inline RouteFerryDeparture& WithTime(Aws::String&& value) { SetTime(std::move(value)); return *this;} + inline RouteFerryDeparture& WithTime(const char* value) { SetTime(value); return *this;} + ///@} + private: + + RouteFerryPlace m_place; + bool m_placeHasBeenSet = false; + + Aws::String m_time; + bool m_timeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryLegDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryLegDetails.h new file mode 100644 index 00000000000..c049b189609 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryLegDetails.h @@ -0,0 +1,224 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                FerryLegDetails is populated when the Leg type is Ferry, and provides + * additional information that is specific

                See Also:

                AWS + * API Reference

                + */ + class RouteFerryLegDetails + { + public: + AWS_GEOROUTES_API RouteFerryLegDetails(); + AWS_GEOROUTES_API RouteFerryLegDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerryLegDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Steps of a leg that must be performed after the travel portion of the + * leg.

                + */ + inline const Aws::Vector& GetAfterTravelSteps() const{ return m_afterTravelSteps; } + inline bool AfterTravelStepsHasBeenSet() const { return m_afterTravelStepsHasBeenSet; } + inline void SetAfterTravelSteps(const Aws::Vector& value) { m_afterTravelStepsHasBeenSet = true; m_afterTravelSteps = value; } + inline void SetAfterTravelSteps(Aws::Vector&& value) { m_afterTravelStepsHasBeenSet = true; m_afterTravelSteps = std::move(value); } + inline RouteFerryLegDetails& WithAfterTravelSteps(const Aws::Vector& value) { SetAfterTravelSteps(value); return *this;} + inline RouteFerryLegDetails& WithAfterTravelSteps(Aws::Vector&& value) { SetAfterTravelSteps(std::move(value)); return *this;} + inline RouteFerryLegDetails& AddAfterTravelSteps(const RouteFerryAfterTravelStep& value) { m_afterTravelStepsHasBeenSet = true; m_afterTravelSteps.push_back(value); return *this; } + inline RouteFerryLegDetails& AddAfterTravelSteps(RouteFerryAfterTravelStep&& value) { m_afterTravelStepsHasBeenSet = true; m_afterTravelSteps.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Details corresponding to the arrival for the leg.

                + */ + inline const RouteFerryArrival& GetArrival() const{ return m_arrival; } + inline bool ArrivalHasBeenSet() const { return m_arrivalHasBeenSet; } + inline void SetArrival(const RouteFerryArrival& value) { m_arrivalHasBeenSet = true; m_arrival = value; } + inline void SetArrival(RouteFerryArrival&& value) { m_arrivalHasBeenSet = true; m_arrival = std::move(value); } + inline RouteFerryLegDetails& WithArrival(const RouteFerryArrival& value) { SetArrival(value); return *this;} + inline RouteFerryLegDetails& WithArrival(RouteFerryArrival&& value) { SetArrival(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Steps of a leg that must be performed before the travel portion of the + * leg.

                + */ + inline const Aws::Vector& GetBeforeTravelSteps() const{ return m_beforeTravelSteps; } + inline bool BeforeTravelStepsHasBeenSet() const { return m_beforeTravelStepsHasBeenSet; } + inline void SetBeforeTravelSteps(const Aws::Vector& value) { m_beforeTravelStepsHasBeenSet = true; m_beforeTravelSteps = value; } + inline void SetBeforeTravelSteps(Aws::Vector&& value) { m_beforeTravelStepsHasBeenSet = true; m_beforeTravelSteps = std::move(value); } + inline RouteFerryLegDetails& WithBeforeTravelSteps(const Aws::Vector& value) { SetBeforeTravelSteps(value); return *this;} + inline RouteFerryLegDetails& WithBeforeTravelSteps(Aws::Vector&& value) { SetBeforeTravelSteps(std::move(value)); return *this;} + inline RouteFerryLegDetails& AddBeforeTravelSteps(const RouteFerryBeforeTravelStep& value) { m_beforeTravelStepsHasBeenSet = true; m_beforeTravelSteps.push_back(value); return *this; } + inline RouteFerryLegDetails& AddBeforeTravelSteps(RouteFerryBeforeTravelStep&& value) { m_beforeTravelStepsHasBeenSet = true; m_beforeTravelSteps.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Details corresponding to the departure for the leg.

                + */ + inline const RouteFerryDeparture& GetDeparture() const{ return m_departure; } + inline bool DepartureHasBeenSet() const { return m_departureHasBeenSet; } + inline void SetDeparture(const RouteFerryDeparture& value) { m_departureHasBeenSet = true; m_departure = value; } + inline void SetDeparture(RouteFerryDeparture&& value) { m_departureHasBeenSet = true; m_departure = std::move(value); } + inline RouteFerryLegDetails& WithDeparture(const RouteFerryDeparture& value) { SetDeparture(value); return *this;} + inline RouteFerryLegDetails& WithDeparture(RouteFerryDeparture&& value) { SetDeparture(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Notices are additional information returned that indicate issues that + * occurred during route calculation.

                + */ + inline const Aws::Vector& GetNotices() const{ return m_notices; } + inline bool NoticesHasBeenSet() const { return m_noticesHasBeenSet; } + inline void SetNotices(const Aws::Vector& value) { m_noticesHasBeenSet = true; m_notices = value; } + inline void SetNotices(Aws::Vector&& value) { m_noticesHasBeenSet = true; m_notices = std::move(value); } + inline RouteFerryLegDetails& WithNotices(const Aws::Vector& value) { SetNotices(value); return *this;} + inline RouteFerryLegDetails& WithNotices(Aws::Vector&& value) { SetNotices(std::move(value)); return *this;} + inline RouteFerryLegDetails& AddNotices(const RouteFerryNotice& value) { m_noticesHasBeenSet = true; m_notices.push_back(value); return *this; } + inline RouteFerryLegDetails& AddNotices(RouteFerryNotice&& value) { m_noticesHasBeenSet = true; m_notices.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Waypoints that were passed through during the leg. This includes the + * waypoints that were configured with the PassThrough option.

                + */ + inline const Aws::Vector& GetPassThroughWaypoints() const{ return m_passThroughWaypoints; } + inline bool PassThroughWaypointsHasBeenSet() const { return m_passThroughWaypointsHasBeenSet; } + inline void SetPassThroughWaypoints(const Aws::Vector& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints = value; } + inline void SetPassThroughWaypoints(Aws::Vector&& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints = std::move(value); } + inline RouteFerryLegDetails& WithPassThroughWaypoints(const Aws::Vector& value) { SetPassThroughWaypoints(value); return *this;} + inline RouteFerryLegDetails& WithPassThroughWaypoints(Aws::Vector&& value) { SetPassThroughWaypoints(std::move(value)); return *this;} + inline RouteFerryLegDetails& AddPassThroughWaypoints(const RoutePassThroughWaypoint& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints.push_back(value); return *this; } + inline RouteFerryLegDetails& AddPassThroughWaypoints(RoutePassThroughWaypoint&& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Route name of the ferry line.

                + */ + inline const Aws::String& GetRouteName() const{ return m_routeName; } + inline bool RouteNameHasBeenSet() const { return m_routeNameHasBeenSet; } + inline void SetRouteName(const Aws::String& value) { m_routeNameHasBeenSet = true; m_routeName = value; } + inline void SetRouteName(Aws::String&& value) { m_routeNameHasBeenSet = true; m_routeName = std::move(value); } + inline void SetRouteName(const char* value) { m_routeNameHasBeenSet = true; m_routeName.assign(value); } + inline RouteFerryLegDetails& WithRouteName(const Aws::String& value) { SetRouteName(value); return *this;} + inline RouteFerryLegDetails& WithRouteName(Aws::String&& value) { SetRouteName(std::move(value)); return *this;} + inline RouteFerryLegDetails& WithRouteName(const char* value) { SetRouteName(value); return *this;} + ///@} + + ///@{ + /** + *

                Spans that were computed for the requested SpanAdditionalFeatures.

                + */ + inline const Aws::Vector& GetSpans() const{ return m_spans; } + inline bool SpansHasBeenSet() const { return m_spansHasBeenSet; } + inline void SetSpans(const Aws::Vector& value) { m_spansHasBeenSet = true; m_spans = value; } + inline void SetSpans(Aws::Vector&& value) { m_spansHasBeenSet = true; m_spans = std::move(value); } + inline RouteFerryLegDetails& WithSpans(const Aws::Vector& value) { SetSpans(value); return *this;} + inline RouteFerryLegDetails& WithSpans(Aws::Vector&& value) { SetSpans(std::move(value)); return *this;} + inline RouteFerryLegDetails& AddSpans(const RouteFerrySpan& value) { m_spansHasBeenSet = true; m_spans.push_back(value); return *this; } + inline RouteFerryLegDetails& AddSpans(RouteFerrySpan&& value) { m_spansHasBeenSet = true; m_spans.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Summarized details of the leg.

                + */ + inline const RouteFerrySummary& GetSummary() const{ return m_summary; } + inline bool SummaryHasBeenSet() const { return m_summaryHasBeenSet; } + inline void SetSummary(const RouteFerrySummary& value) { m_summaryHasBeenSet = true; m_summary = value; } + inline void SetSummary(RouteFerrySummary&& value) { m_summaryHasBeenSet = true; m_summary = std::move(value); } + inline RouteFerryLegDetails& WithSummary(const RouteFerrySummary& value) { SetSummary(value); return *this;} + inline RouteFerryLegDetails& WithSummary(RouteFerrySummary&& value) { SetSummary(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Steps of a leg that must be performed before the travel portion of the + * leg.

                + */ + inline const Aws::Vector& GetTravelSteps() const{ return m_travelSteps; } + inline bool TravelStepsHasBeenSet() const { return m_travelStepsHasBeenSet; } + inline void SetTravelSteps(const Aws::Vector& value) { m_travelStepsHasBeenSet = true; m_travelSteps = value; } + inline void SetTravelSteps(Aws::Vector&& value) { m_travelStepsHasBeenSet = true; m_travelSteps = std::move(value); } + inline RouteFerryLegDetails& WithTravelSteps(const Aws::Vector& value) { SetTravelSteps(value); return *this;} + inline RouteFerryLegDetails& WithTravelSteps(Aws::Vector&& value) { SetTravelSteps(std::move(value)); return *this;} + inline RouteFerryLegDetails& AddTravelSteps(const RouteFerryTravelStep& value) { m_travelStepsHasBeenSet = true; m_travelSteps.push_back(value); return *this; } + inline RouteFerryLegDetails& AddTravelSteps(RouteFerryTravelStep&& value) { m_travelStepsHasBeenSet = true; m_travelSteps.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_afterTravelSteps; + bool m_afterTravelStepsHasBeenSet = false; + + RouteFerryArrival m_arrival; + bool m_arrivalHasBeenSet = false; + + Aws::Vector m_beforeTravelSteps; + bool m_beforeTravelStepsHasBeenSet = false; + + RouteFerryDeparture m_departure; + bool m_departureHasBeenSet = false; + + Aws::Vector m_notices; + bool m_noticesHasBeenSet = false; + + Aws::Vector m_passThroughWaypoints; + bool m_passThroughWaypointsHasBeenSet = false; + + Aws::String m_routeName; + bool m_routeNameHasBeenSet = false; + + Aws::Vector m_spans; + bool m_spansHasBeenSet = false; + + RouteFerrySummary m_summary; + bool m_summaryHasBeenSet = false; + + Aws::Vector m_travelSteps; + bool m_travelStepsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryNotice.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryNotice.h new file mode 100644 index 00000000000..4e915108307 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryNotice.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Notices are additional information returned that indicate issues that + * occurred during route calculation.

                See Also:

                AWS + * API Reference

                + */ + class RouteFerryNotice + { + public: + AWS_GEOROUTES_API RouteFerryNotice(); + AWS_GEOROUTES_API RouteFerryNotice(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerryNotice& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Code corresponding to the issue.

                + */ + inline const RouteFerryNoticeCode& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const RouteFerryNoticeCode& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(RouteFerryNoticeCode&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline RouteFerryNotice& WithCode(const RouteFerryNoticeCode& value) { SetCode(value); return *this;} + inline RouteFerryNotice& WithCode(RouteFerryNoticeCode&& value) { SetCode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Impact corresponding to the issue. While Low impact notices can be safely + * ignored, High impact notices must be evaluated further to determine the + * impact.

                + */ + inline const RouteNoticeImpact& GetImpact() const{ return m_impact; } + inline bool ImpactHasBeenSet() const { return m_impactHasBeenSet; } + inline void SetImpact(const RouteNoticeImpact& value) { m_impactHasBeenSet = true; m_impact = value; } + inline void SetImpact(RouteNoticeImpact&& value) { m_impactHasBeenSet = true; m_impact = std::move(value); } + inline RouteFerryNotice& WithImpact(const RouteNoticeImpact& value) { SetImpact(value); return *this;} + inline RouteFerryNotice& WithImpact(RouteNoticeImpact&& value) { SetImpact(std::move(value)); return *this;} + ///@} + private: + + RouteFerryNoticeCode m_code; + bool m_codeHasBeenSet = false; + + RouteNoticeImpact m_impact; + bool m_impactHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryNoticeCode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryNoticeCode.h new file mode 100644 index 00000000000..f15280875cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryNoticeCode.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteFerryNoticeCode + { + NOT_SET, + AccuratePolylineUnavailable, + NoSchedule, + Other, + ViolatedAvoidFerry, + ViolatedAvoidRailFerry + }; + +namespace RouteFerryNoticeCodeMapper +{ +AWS_GEOROUTES_API RouteFerryNoticeCode GetRouteFerryNoticeCodeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteFerryNoticeCode(RouteFerryNoticeCode value); +} // namespace RouteFerryNoticeCodeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryOverviewSummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryOverviewSummary.h new file mode 100644 index 00000000000..91e36dc47eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryOverviewSummary.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Summarized details of the leg.

                See Also:

                AWS + * API Reference

                + */ + class RouteFerryOverviewSummary + { + public: + AWS_GEOROUTES_API RouteFerryOverviewSummary(); + AWS_GEOROUTES_API RouteFerryOverviewSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerryOverviewSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Distance of the step.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline RouteFerryOverviewSummary& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the step.

                Unit: seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteFerryOverviewSummary& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + private: + + long long m_distance; + bool m_distanceHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryPlace.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryPlace.h new file mode 100644 index 00000000000..9eefdb53337 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryPlace.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Position provided in the request.

                See Also:

                AWS + * API Reference

                + */ + class RouteFerryPlace + { + public: + AWS_GEOROUTES_API RouteFerryPlace(); + AWS_GEOROUTES_API RouteFerryPlace(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerryPlace& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The name of the place.

                + */ + 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 RouteFerryPlace& WithName(const Aws::String& value) { SetName(value); return *this;} + inline RouteFerryPlace& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline RouteFerryPlace& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                Position provided in the request.

                + */ + inline const Aws::Vector& GetOriginalPosition() const{ return m_originalPosition; } + inline bool OriginalPositionHasBeenSet() const { return m_originalPositionHasBeenSet; } + inline void SetOriginalPosition(const Aws::Vector& value) { m_originalPositionHasBeenSet = true; m_originalPosition = value; } + inline void SetOriginalPosition(Aws::Vector&& value) { m_originalPositionHasBeenSet = true; m_originalPosition = std::move(value); } + inline RouteFerryPlace& WithOriginalPosition(const Aws::Vector& value) { SetOriginalPosition(value); return *this;} + inline RouteFerryPlace& WithOriginalPosition(Aws::Vector&& value) { SetOriginalPosition(std::move(value)); return *this;} + inline RouteFerryPlace& AddOriginalPosition(double value) { m_originalPositionHasBeenSet = true; m_originalPosition.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline RouteFerryPlace& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline RouteFerryPlace& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline RouteFerryPlace& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Index of the waypoint in the request.

                + */ + inline int GetWaypointIndex() const{ return m_waypointIndex; } + inline bool WaypointIndexHasBeenSet() const { return m_waypointIndexHasBeenSet; } + inline void SetWaypointIndex(int value) { m_waypointIndexHasBeenSet = true; m_waypointIndex = value; } + inline RouteFerryPlace& WithWaypointIndex(int value) { SetWaypointIndex(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_originalPosition; + bool m_originalPositionHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + int m_waypointIndex; + bool m_waypointIndexHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerrySpan.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerrySpan.h new file mode 100644 index 00000000000..b96242c2353 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerrySpan.h @@ -0,0 +1,141 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Span computed for the requested SpanAdditionalFeatures.

                See + * Also:

                AWS + * API Reference

                + */ + class RouteFerrySpan + { + public: + AWS_GEOROUTES_API RouteFerrySpan(); + AWS_GEOROUTES_API RouteFerrySpan(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerrySpan& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                3 letter Country code corresponding to the Span.

                + */ + inline const Aws::String& GetCountry() const{ return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + inline void SetCountry(const Aws::String& value) { m_countryHasBeenSet = true; m_country = value; } + inline void SetCountry(Aws::String&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } + inline void SetCountry(const char* value) { m_countryHasBeenSet = true; m_country.assign(value); } + inline RouteFerrySpan& WithCountry(const Aws::String& value) { SetCountry(value); return *this;} + inline RouteFerrySpan& WithCountry(Aws::String&& value) { SetCountry(std::move(value)); return *this;} + inline RouteFerrySpan& WithCountry(const char* value) { SetCountry(value); return *this;} + ///@} + + ///@{ + /** + *

                Distance of the computed span. This feature doesn't split a span, but is + * always computed on a span split by other properties.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline RouteFerrySpan& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the computed span. This feature doesn't split a span, but is + * always computed on a span split by other properties.

                Unit: + * seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteFerrySpan& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Offset in the leg geometry corresponding to the start of this span.

                + */ + inline int GetGeometryOffset() const{ return m_geometryOffset; } + inline bool GeometryOffsetHasBeenSet() const { return m_geometryOffsetHasBeenSet; } + inline void SetGeometryOffset(int value) { m_geometryOffsetHasBeenSet = true; m_geometryOffset = value; } + inline RouteFerrySpan& WithGeometryOffset(int value) { SetGeometryOffset(value); return *this;} + ///@} + + ///@{ + /** + *

                Provides an array of names of the ferry span in available languages.

                + */ + inline const Aws::Vector& GetNames() const{ return m_names; } + inline bool NamesHasBeenSet() const { return m_namesHasBeenSet; } + inline void SetNames(const Aws::Vector& value) { m_namesHasBeenSet = true; m_names = value; } + inline void SetNames(Aws::Vector&& value) { m_namesHasBeenSet = true; m_names = std::move(value); } + inline RouteFerrySpan& WithNames(const Aws::Vector& value) { SetNames(value); return *this;} + inline RouteFerrySpan& WithNames(Aws::Vector&& value) { SetNames(std::move(value)); return *this;} + inline RouteFerrySpan& AddNames(const LocalizedString& value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; } + inline RouteFerrySpan& AddNames(LocalizedString&& value) { m_namesHasBeenSet = true; m_names.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                2-3 letter Region code corresponding to the Span. This is either a province + * or a state.

                + */ + inline const Aws::String& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + inline RouteFerrySpan& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + inline RouteFerrySpan& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + inline RouteFerrySpan& WithRegion(const char* value) { SetRegion(value); return *this;} + ///@} + private: + + Aws::String m_country; + bool m_countryHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + + int m_geometryOffset; + bool m_geometryOffsetHasBeenSet = false; + + Aws::Vector m_names; + bool m_namesHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerrySummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerrySummary.h new file mode 100644 index 00000000000..e8779b18579 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerrySummary.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Summarized details for the leg including travel steps only. The Distance for + * the travel only portion of the journey is the same as the Distance within the + * Overview summary.

                See Also:

                AWS + * API Reference

                + */ + class RouteFerrySummary + { + public: + AWS_GEOROUTES_API RouteFerrySummary(); + AWS_GEOROUTES_API RouteFerrySummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerrySummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Summarized details for the leg including before travel, travel and after + * travel steps.

                + */ + inline const RouteFerryOverviewSummary& GetOverview() const{ return m_overview; } + inline bool OverviewHasBeenSet() const { return m_overviewHasBeenSet; } + inline void SetOverview(const RouteFerryOverviewSummary& value) { m_overviewHasBeenSet = true; m_overview = value; } + inline void SetOverview(RouteFerryOverviewSummary&& value) { m_overviewHasBeenSet = true; m_overview = std::move(value); } + inline RouteFerrySummary& WithOverview(const RouteFerryOverviewSummary& value) { SetOverview(value); return *this;} + inline RouteFerrySummary& WithOverview(RouteFerryOverviewSummary&& value) { SetOverview(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Summarized details for the leg including travel steps only. The Distance for + * the travel only portion of the journey is in meters

                + */ + inline const RouteFerryTravelOnlySummary& GetTravelOnly() const{ return m_travelOnly; } + inline bool TravelOnlyHasBeenSet() const { return m_travelOnlyHasBeenSet; } + inline void SetTravelOnly(const RouteFerryTravelOnlySummary& value) { m_travelOnlyHasBeenSet = true; m_travelOnly = value; } + inline void SetTravelOnly(RouteFerryTravelOnlySummary&& value) { m_travelOnlyHasBeenSet = true; m_travelOnly = std::move(value); } + inline RouteFerrySummary& WithTravelOnly(const RouteFerryTravelOnlySummary& value) { SetTravelOnly(value); return *this;} + inline RouteFerrySummary& WithTravelOnly(RouteFerryTravelOnlySummary&& value) { SetTravelOnly(std::move(value)); return *this;} + ///@} + private: + + RouteFerryOverviewSummary m_overview; + bool m_overviewHasBeenSet = false; + + RouteFerryTravelOnlySummary m_travelOnly; + bool m_travelOnlyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryTravelOnlySummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryTravelOnlySummary.h new file mode 100644 index 00000000000..403bfe90d2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryTravelOnlySummary.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Summarized details for the leg including travel steps only. The Distance for + * the travel only portion of the journey is the same as the Distance within the + * Overview summary.

                See Also:

                AWS + * API Reference

                + */ + class RouteFerryTravelOnlySummary + { + public: + AWS_GEOROUTES_API RouteFerryTravelOnlySummary(); + AWS_GEOROUTES_API RouteFerryTravelOnlySummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerryTravelOnlySummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Total duration in free flowing traffic, which is the best case or shortest + * duration possible to cover the leg.

                Unit: seconds + *

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteFerryTravelOnlySummary& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + private: + + long long m_duration; + bool m_durationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryTravelStep.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryTravelStep.h new file mode 100644 index 00000000000..4829c5582e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryTravelStep.h @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Steps of a leg that must be performed during the travel portion of the + * leg.

                See Also:

                AWS + * API Reference

                + */ + class RouteFerryTravelStep + { + public: + AWS_GEOROUTES_API RouteFerryTravelStep(); + AWS_GEOROUTES_API RouteFerryTravelStep(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteFerryTravelStep& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Distance of the step.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline RouteFerryTravelStep& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the step.

                Unit: seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteFerryTravelStep& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Offset in the leg geometry corresponding to the start of this step.

                + */ + inline int GetGeometryOffset() const{ return m_geometryOffset; } + inline bool GeometryOffsetHasBeenSet() const { return m_geometryOffsetHasBeenSet; } + inline void SetGeometryOffset(int value) { m_geometryOffsetHasBeenSet = true; m_geometryOffset = value; } + inline RouteFerryTravelStep& WithGeometryOffset(int value) { SetGeometryOffset(value); return *this;} + ///@} + + ///@{ + /** + *

                Brief description of the step in the requested language.

                Only + * available when the TravelStepType is Default.

                + */ + inline const Aws::String& GetInstruction() const{ return m_instruction; } + inline bool InstructionHasBeenSet() const { return m_instructionHasBeenSet; } + inline void SetInstruction(const Aws::String& value) { m_instructionHasBeenSet = true; m_instruction = value; } + inline void SetInstruction(Aws::String&& value) { m_instructionHasBeenSet = true; m_instruction = std::move(value); } + inline void SetInstruction(const char* value) { m_instructionHasBeenSet = true; m_instruction.assign(value); } + inline RouteFerryTravelStep& WithInstruction(const Aws::String& value) { SetInstruction(value); return *this;} + inline RouteFerryTravelStep& WithInstruction(Aws::String&& value) { SetInstruction(std::move(value)); return *this;} + inline RouteFerryTravelStep& WithInstruction(const char* value) { SetInstruction(value); return *this;} + ///@} + + ///@{ + /** + *

                Type of the step.

                + */ + inline const RouteFerryTravelStepType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RouteFerryTravelStepType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RouteFerryTravelStepType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RouteFerryTravelStep& WithType(const RouteFerryTravelStepType& value) { SetType(value); return *this;} + inline RouteFerryTravelStep& WithType(RouteFerryTravelStepType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + long long m_distance; + bool m_distanceHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + + int m_geometryOffset; + bool m_geometryOffsetHasBeenSet = false; + + Aws::String m_instruction; + bool m_instructionHasBeenSet = false; + + RouteFerryTravelStepType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryTravelStepType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryTravelStepType.h new file mode 100644 index 00000000000..1881e94befc --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteFerryTravelStepType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteFerryTravelStepType + { + NOT_SET, + Depart, + Continue, + Arrive + }; + +namespace RouteFerryTravelStepTypeMapper +{ +AWS_GEOROUTES_API RouteFerryTravelStepType GetRouteFerryTravelStepTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteFerryTravelStepType(RouteFerryTravelStepType value); +} // namespace RouteFerryTravelStepTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteHazardousCargoType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteHazardousCargoType.h new file mode 100644 index 00000000000..8f4b39cfb31 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteHazardousCargoType.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteHazardousCargoType + { + NOT_SET, + Combustible, + Corrosive, + Explosive, + Flammable, + Gas, + HarmfulToWater, + Organic, + Other, + Poison, + PoisonousInhalation, + Radioactive + }; + +namespace RouteHazardousCargoTypeMapper +{ +AWS_GEOROUTES_API RouteHazardousCargoType GetRouteHazardousCargoTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteHazardousCargoType(RouteHazardousCargoType value); +} // namespace RouteHazardousCargoTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteKeepStepDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteKeepStepDetails.h new file mode 100644 index 00000000000..f22be151cca --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteKeepStepDetails.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details that are specific to a Keep step.

                See Also:

                AWS + * API Reference

                + */ + class RouteKeepStepDetails + { + public: + AWS_GEOROUTES_API RouteKeepStepDetails(); + AWS_GEOROUTES_API RouteKeepStepDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteKeepStepDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the intersection, if applicable to the step.

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline RouteKeepStepDetails& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline RouteKeepStepDetails& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline RouteKeepStepDetails& AddIntersection(const LocalizedString& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline RouteKeepStepDetails& AddIntersection(LocalizedString&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Steering direction for the step.

                + */ + inline const RouteSteeringDirection& GetSteeringDirection() const{ return m_steeringDirection; } + inline bool SteeringDirectionHasBeenSet() const { return m_steeringDirectionHasBeenSet; } + inline void SetSteeringDirection(const RouteSteeringDirection& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = value; } + inline void SetSteeringDirection(RouteSteeringDirection&& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = std::move(value); } + inline RouteKeepStepDetails& WithSteeringDirection(const RouteSteeringDirection& value) { SetSteeringDirection(value); return *this;} + inline RouteKeepStepDetails& WithSteeringDirection(RouteSteeringDirection&& value) { SetSteeringDirection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Angle of the turn.

                + */ + inline double GetTurnAngle() const{ return m_turnAngle; } + inline bool TurnAngleHasBeenSet() const { return m_turnAngleHasBeenSet; } + inline void SetTurnAngle(double value) { m_turnAngleHasBeenSet = true; m_turnAngle = value; } + inline RouteKeepStepDetails& WithTurnAngle(double value) { SetTurnAngle(value); return *this;} + ///@} + + ///@{ + /** + *

                Intensity of the turn.

                + */ + inline const RouteTurnIntensity& GetTurnIntensity() const{ return m_turnIntensity; } + inline bool TurnIntensityHasBeenSet() const { return m_turnIntensityHasBeenSet; } + inline void SetTurnIntensity(const RouteTurnIntensity& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = value; } + inline void SetTurnIntensity(RouteTurnIntensity&& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = std::move(value); } + inline RouteKeepStepDetails& WithTurnIntensity(const RouteTurnIntensity& value) { SetTurnIntensity(value); return *this;} + inline RouteKeepStepDetails& WithTurnIntensity(RouteTurnIntensity&& value) { SetTurnIntensity(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + RouteSteeringDirection m_steeringDirection; + bool m_steeringDirectionHasBeenSet = false; + + double m_turnAngle; + bool m_turnAngleHasBeenSet = false; + + RouteTurnIntensity m_turnIntensity; + bool m_turnIntensityHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLeg.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLeg.h new file mode 100644 index 00000000000..af182f5cfa8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLeg.h @@ -0,0 +1,164 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                A leg is a section of a route from one waypoint to the next. A leg could be + * of type Vehicle, Pedestrian or Ferry. Legs of different types could occur + * together within a single route. For example, a car employing the use of a Ferry + * will contain Vehicle legs corresponding to journey on land, and Ferry legs + * corresponding to the journey via Ferry.

                See Also:

                AWS + * API Reference

                + */ + class RouteLeg + { + public: + AWS_GEOROUTES_API RouteLeg(); + AWS_GEOROUTES_API RouteLeg(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteLeg& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                FerryLegDetails is populated when the Leg type is Ferry, and provides + * additional information that is specific

                + */ + inline const RouteFerryLegDetails& GetFerryLegDetails() const{ return m_ferryLegDetails; } + inline bool FerryLegDetailsHasBeenSet() const { return m_ferryLegDetailsHasBeenSet; } + inline void SetFerryLegDetails(const RouteFerryLegDetails& value) { m_ferryLegDetailsHasBeenSet = true; m_ferryLegDetails = value; } + inline void SetFerryLegDetails(RouteFerryLegDetails&& value) { m_ferryLegDetailsHasBeenSet = true; m_ferryLegDetails = std::move(value); } + inline RouteLeg& WithFerryLegDetails(const RouteFerryLegDetails& value) { SetFerryLegDetails(value); return *this;} + inline RouteLeg& WithFerryLegDetails(RouteFerryLegDetails&& value) { SetFerryLegDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Geometry of the area to be avoided.

                + */ + inline const RouteLegGeometry& GetGeometry() const{ return m_geometry; } + inline bool GeometryHasBeenSet() const { return m_geometryHasBeenSet; } + inline void SetGeometry(const RouteLegGeometry& value) { m_geometryHasBeenSet = true; m_geometry = value; } + inline void SetGeometry(RouteLegGeometry&& value) { m_geometryHasBeenSet = true; m_geometry = std::move(value); } + inline RouteLeg& WithGeometry(const RouteLegGeometry& value) { SetGeometry(value); return *this;} + inline RouteLeg& WithGeometry(RouteLegGeometry&& value) { SetGeometry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                List of languages for instructions within steps in the response.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline RouteLeg& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline RouteLeg& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline RouteLeg& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                Details related to the pedestrian leg.

                + */ + inline const RoutePedestrianLegDetails& GetPedestrianLegDetails() const{ return m_pedestrianLegDetails; } + inline bool PedestrianLegDetailsHasBeenSet() const { return m_pedestrianLegDetailsHasBeenSet; } + inline void SetPedestrianLegDetails(const RoutePedestrianLegDetails& value) { m_pedestrianLegDetailsHasBeenSet = true; m_pedestrianLegDetails = value; } + inline void SetPedestrianLegDetails(RoutePedestrianLegDetails&& value) { m_pedestrianLegDetailsHasBeenSet = true; m_pedestrianLegDetails = std::move(value); } + inline RouteLeg& WithPedestrianLegDetails(const RoutePedestrianLegDetails& value) { SetPedestrianLegDetails(value); return *this;} + inline RouteLeg& WithPedestrianLegDetails(RoutePedestrianLegDetails&& value) { SetPedestrianLegDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the mode of transport when calculating a route. Used in estimating + * the speed of travel and road compatibility.

                Default Value: + * Car

                + */ + inline const RouteLegTravelMode& GetTravelMode() const{ return m_travelMode; } + inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; } + inline void SetTravelMode(const RouteLegTravelMode& value) { m_travelModeHasBeenSet = true; m_travelMode = value; } + inline void SetTravelMode(RouteLegTravelMode&& value) { m_travelModeHasBeenSet = true; m_travelMode = std::move(value); } + inline RouteLeg& WithTravelMode(const RouteLegTravelMode& value) { SetTravelMode(value); return *this;} + inline RouteLeg& WithTravelMode(RouteLegTravelMode&& value) { SetTravelMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Type of the leg.

                + */ + inline const RouteLegType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RouteLegType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RouteLegType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RouteLeg& WithType(const RouteLegType& value) { SetType(value); return *this;} + inline RouteLeg& WithType(RouteLegType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details related to the vehicle leg.

                + */ + inline const RouteVehicleLegDetails& GetVehicleLegDetails() const{ return m_vehicleLegDetails; } + inline bool VehicleLegDetailsHasBeenSet() const { return m_vehicleLegDetailsHasBeenSet; } + inline void SetVehicleLegDetails(const RouteVehicleLegDetails& value) { m_vehicleLegDetailsHasBeenSet = true; m_vehicleLegDetails = value; } + inline void SetVehicleLegDetails(RouteVehicleLegDetails&& value) { m_vehicleLegDetailsHasBeenSet = true; m_vehicleLegDetails = std::move(value); } + inline RouteLeg& WithVehicleLegDetails(const RouteVehicleLegDetails& value) { SetVehicleLegDetails(value); return *this;} + inline RouteLeg& WithVehicleLegDetails(RouteVehicleLegDetails&& value) { SetVehicleLegDetails(std::move(value)); return *this;} + ///@} + private: + + RouteFerryLegDetails m_ferryLegDetails; + bool m_ferryLegDetailsHasBeenSet = false; + + RouteLegGeometry m_geometry; + bool m_geometryHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + RoutePedestrianLegDetails m_pedestrianLegDetails; + bool m_pedestrianLegDetailsHasBeenSet = false; + + RouteLegTravelMode m_travelMode; + bool m_travelModeHasBeenSet = false; + + RouteLegType m_type; + bool m_typeHasBeenSet = false; + + RouteVehicleLegDetails m_vehicleLegDetails; + bool m_vehicleLegDetailsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegAdditionalFeature.h new file mode 100644 index 00000000000..3c9ff47b83c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegAdditionalFeature.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteLegAdditionalFeature + { + NOT_SET, + Elevation, + Incidents, + PassThroughWaypoints, + Summary, + Tolls, + TravelStepInstructions, + TruckRoadTypes, + TypicalDuration, + Zones + }; + +namespace RouteLegAdditionalFeatureMapper +{ +AWS_GEOROUTES_API RouteLegAdditionalFeature GetRouteLegAdditionalFeatureForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteLegAdditionalFeature(RouteLegAdditionalFeature value); +} // namespace RouteLegAdditionalFeatureMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegGeometry.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegGeometry.h new file mode 100644 index 00000000000..8e876be7095 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegGeometry.h @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The returned Route leg geometry.

                See Also:

                AWS + * API Reference

                + */ + class RouteLegGeometry + { + public: + AWS_GEOROUTES_API RouteLegGeometry(); + AWS_GEOROUTES_API RouteLegGeometry(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteLegGeometry& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                An ordered list of positions used to plot a route on a map.

                + *

                LineString and Polyline are mutually exclusive properties.

                + */ + inline const Aws::Vector>& GetLineString() const{ return m_lineString; } + inline bool LineStringHasBeenSet() const { return m_lineStringHasBeenSet; } + inline void SetLineString(const Aws::Vector>& value) { m_lineStringHasBeenSet = true; m_lineString = value; } + inline void SetLineString(Aws::Vector>&& value) { m_lineStringHasBeenSet = true; m_lineString = std::move(value); } + inline RouteLegGeometry& WithLineString(const Aws::Vector>& value) { SetLineString(value); return *this;} + inline RouteLegGeometry& WithLineString(Aws::Vector>&& value) { SetLineString(std::move(value)); return *this;} + inline RouteLegGeometry& AddLineString(const Aws::Vector& value) { m_lineStringHasBeenSet = true; m_lineString.push_back(value); return *this; } + inline RouteLegGeometry& AddLineString(Aws::Vector&& value) { m_lineStringHasBeenSet = true; m_lineString.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                An ordered list of positions used to plot a route on a map in a lossy + * compression format.

                LineString and Polyline are mutually exclusive + * properties.

                + */ + inline const Aws::String& GetPolyline() const{ return m_polyline; } + inline bool PolylineHasBeenSet() const { return m_polylineHasBeenSet; } + inline void SetPolyline(const Aws::String& value) { m_polylineHasBeenSet = true; m_polyline = value; } + inline void SetPolyline(Aws::String&& value) { m_polylineHasBeenSet = true; m_polyline = std::move(value); } + inline void SetPolyline(const char* value) { m_polylineHasBeenSet = true; m_polyline.assign(value); } + inline RouteLegGeometry& WithPolyline(const Aws::String& value) { SetPolyline(value); return *this;} + inline RouteLegGeometry& WithPolyline(Aws::String&& value) { SetPolyline(std::move(value)); return *this;} + inline RouteLegGeometry& WithPolyline(const char* value) { SetPolyline(value); return *this;} + ///@} + private: + + Aws::Vector> m_lineString; + bool m_lineStringHasBeenSet = false; + + Aws::String m_polyline; + bool m_polylineHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegTravelMode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegTravelMode.h new file mode 100644 index 00000000000..764380aa4a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegTravelMode.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteLegTravelMode + { + NOT_SET, + Car, + Ferry, + Pedestrian, + Scooter, + Truck + }; + +namespace RouteLegTravelModeMapper +{ +AWS_GEOROUTES_API RouteLegTravelMode GetRouteLegTravelModeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteLegTravelMode(RouteLegTravelMode value); +} // namespace RouteLegTravelModeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegType.h new file mode 100644 index 00000000000..426b198cf59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteLegType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteLegType + { + NOT_SET, + Ferry, + Pedestrian, + Vehicle + }; + +namespace RouteLegTypeMapper +{ +AWS_GEOROUTES_API RouteLegType GetRouteLegTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteLegType(RouteLegType value); +} // namespace RouteLegTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMajorRoadLabel.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMajorRoadLabel.h new file mode 100644 index 00000000000..bfbfcb54b36 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMajorRoadLabel.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Important labels including names and route numbers that differentiate the + * current route from the alternatives presented.

                See Also:

                AWS + * API Reference

                + */ + class RouteMajorRoadLabel + { + public: + AWS_GEOROUTES_API RouteMajorRoadLabel(); + AWS_GEOROUTES_API RouteMajorRoadLabel(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMajorRoadLabel& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the road (localized).

                + */ + inline const LocalizedString& GetRoadName() const{ return m_roadName; } + inline bool RoadNameHasBeenSet() const { return m_roadNameHasBeenSet; } + inline void SetRoadName(const LocalizedString& value) { m_roadNameHasBeenSet = true; m_roadName = value; } + inline void SetRoadName(LocalizedString&& value) { m_roadNameHasBeenSet = true; m_roadName = std::move(value); } + inline RouteMajorRoadLabel& WithRoadName(const LocalizedString& value) { SetRoadName(value); return *this;} + inline RouteMajorRoadLabel& WithRoadName(LocalizedString&& value) { SetRoadName(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Route number of the road.

                + */ + inline const RouteNumber& GetRouteNumber() const{ return m_routeNumber; } + inline bool RouteNumberHasBeenSet() const { return m_routeNumberHasBeenSet; } + inline void SetRouteNumber(const RouteNumber& value) { m_routeNumberHasBeenSet = true; m_routeNumber = value; } + inline void SetRouteNumber(RouteNumber&& value) { m_routeNumberHasBeenSet = true; m_routeNumber = std::move(value); } + inline RouteMajorRoadLabel& WithRouteNumber(const RouteNumber& value) { SetRouteNumber(value); return *this;} + inline RouteMajorRoadLabel& WithRouteNumber(RouteNumber&& value) { SetRouteNumber(std::move(value)); return *this;} + ///@} + private: + + LocalizedString m_roadName; + bool m_roadNameHasBeenSet = false; + + RouteNumber m_routeNumber; + bool m_routeNumberHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatchingOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatchingOptions.h new file mode 100644 index 00000000000..c57582e6b9b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatchingOptions.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to route matching.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatchingOptions + { + public: + AWS_GEOROUTES_API RouteMatchingOptions(); + AWS_GEOROUTES_API RouteMatchingOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatchingOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Attempts to match the provided position to a road similar to the provided + * name.

                + */ + inline const Aws::String& GetNameHint() const{ return m_nameHint; } + inline bool NameHintHasBeenSet() const { return m_nameHintHasBeenSet; } + inline void SetNameHint(const Aws::String& value) { m_nameHintHasBeenSet = true; m_nameHint = value; } + inline void SetNameHint(Aws::String&& value) { m_nameHintHasBeenSet = true; m_nameHint = std::move(value); } + inline void SetNameHint(const char* value) { m_nameHintHasBeenSet = true; m_nameHint.assign(value); } + inline RouteMatchingOptions& WithNameHint(const Aws::String& value) { SetNameHint(value); return *this;} + inline RouteMatchingOptions& WithNameHint(Aws::String&& value) { SetNameHint(std::move(value)); return *this;} + inline RouteMatchingOptions& WithNameHint(const char* value) { SetNameHint(value); return *this;} + ///@} + + ///@{ + /** + *

                If the distance to a highway/bridge/tunnel/sliproad is within threshold, the + * waypoint will be snapped to the highway/bridge/tunnel/sliproad.

                + * Unit: meters

                + */ + inline long long GetOnRoadThreshold() const{ return m_onRoadThreshold; } + inline bool OnRoadThresholdHasBeenSet() const { return m_onRoadThresholdHasBeenSet; } + inline void SetOnRoadThreshold(long long value) { m_onRoadThresholdHasBeenSet = true; m_onRoadThreshold = value; } + inline RouteMatchingOptions& WithOnRoadThreshold(long long value) { SetOnRoadThreshold(value); return *this;} + ///@} + + ///@{ + /** + *

                Considers all roads within the provided radius to match the provided + * destination to. The roads that are considered are determined by the provided + * Strategy.

                Unit: Meters

                + */ + inline long long GetRadius() const{ return m_radius; } + inline bool RadiusHasBeenSet() const { return m_radiusHasBeenSet; } + inline void SetRadius(long long value) { m_radiusHasBeenSet = true; m_radius = value; } + inline RouteMatchingOptions& WithRadius(long long value) { SetRadius(value); return *this;} + ///@} + + ///@{ + /** + *

                Strategy that defines matching of the position onto the road network. + * MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches + * to the most significant road.

                + */ + inline const MatchingStrategy& GetStrategy() const{ return m_strategy; } + inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; } + inline void SetStrategy(const MatchingStrategy& value) { m_strategyHasBeenSet = true; m_strategy = value; } + inline void SetStrategy(MatchingStrategy&& value) { m_strategyHasBeenSet = true; m_strategy = std::move(value); } + inline RouteMatchingOptions& WithStrategy(const MatchingStrategy& value) { SetStrategy(value); return *this;} + inline RouteMatchingOptions& WithStrategy(MatchingStrategy&& value) { SetStrategy(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_nameHint; + bool m_nameHintHasBeenSet = false; + + long long m_onRoadThreshold; + bool m_onRoadThresholdHasBeenSet = false; + + long long m_radius; + bool m_radiusHasBeenSet = false; + + MatchingStrategy m_strategy; + bool m_strategyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAllowOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAllowOptions.h new file mode 100644 index 00000000000..f4d25b0b72d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAllowOptions.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Allow Options related to the route matrix.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixAllowOptions + { + public: + AWS_GEOROUTES_API RouteMatrixAllowOptions(); + AWS_GEOROUTES_API RouteMatrixAllowOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixAllowOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Allow Hot (High Occupancy Toll) lanes while calculating the route.

                + */ + inline bool GetHot() const{ return m_hot; } + inline bool HotHasBeenSet() const { return m_hotHasBeenSet; } + inline void SetHot(bool value) { m_hotHasBeenSet = true; m_hot = value; } + inline RouteMatrixAllowOptions& WithHot(bool value) { SetHot(value); return *this;} + ///@} + + ///@{ + /** + *

                Allow Hov (High Occupancy vehicle) lanes while calculating the route.

                + */ + inline bool GetHov() const{ return m_hov; } + inline bool HovHasBeenSet() const { return m_hovHasBeenSet; } + inline void SetHov(bool value) { m_hovHasBeenSet = true; m_hov = value; } + inline RouteMatrixAllowOptions& WithHov(bool value) { SetHov(value); return *this;} + ///@} + private: + + bool m_hot; + bool m_hotHasBeenSet = false; + + bool m_hov; + bool m_hovHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAutoCircle.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAutoCircle.h new file mode 100644 index 00000000000..3263ef9b12b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAutoCircle.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Provides the circle that was used while calculating the route.

                See + * Also:

                AWS + * API Reference

                + */ + class RouteMatrixAutoCircle + { + public: + AWS_GEOROUTES_API RouteMatrixAutoCircle(); + AWS_GEOROUTES_API RouteMatrixAutoCircle(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixAutoCircle& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The margin provided for the calculation.

                + */ + inline long long GetMargin() const{ return m_margin; } + inline bool MarginHasBeenSet() const { return m_marginHasBeenSet; } + inline void SetMargin(long long value) { m_marginHasBeenSet = true; m_margin = value; } + inline RouteMatrixAutoCircle& WithMargin(long long value) { SetMargin(value); return *this;} + ///@} + + ///@{ + /** + *

                The maximum size of the radius provided for the calculation.

                + */ + inline long long GetMaxRadius() const{ return m_maxRadius; } + inline bool MaxRadiusHasBeenSet() const { return m_maxRadiusHasBeenSet; } + inline void SetMaxRadius(long long value) { m_maxRadiusHasBeenSet = true; m_maxRadius = value; } + inline RouteMatrixAutoCircle& WithMaxRadius(long long value) { SetMaxRadius(value); return *this;} + ///@} + private: + + long long m_margin; + bool m_marginHasBeenSet = false; + + long long m_maxRadius; + bool m_maxRadiusHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceArea.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceArea.h new file mode 100644 index 00000000000..7589343d24d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceArea.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Area to be avoided.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixAvoidanceArea + { + public: + AWS_GEOROUTES_API RouteMatrixAvoidanceArea(); + AWS_GEOROUTES_API RouteMatrixAvoidanceArea(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixAvoidanceArea& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Geometry of the area to be avoided.

                + */ + inline const RouteMatrixAvoidanceAreaGeometry& GetGeometry() const{ return m_geometry; } + inline bool GeometryHasBeenSet() const { return m_geometryHasBeenSet; } + inline void SetGeometry(const RouteMatrixAvoidanceAreaGeometry& value) { m_geometryHasBeenSet = true; m_geometry = value; } + inline void SetGeometry(RouteMatrixAvoidanceAreaGeometry&& value) { m_geometryHasBeenSet = true; m_geometry = std::move(value); } + inline RouteMatrixAvoidanceArea& WithGeometry(const RouteMatrixAvoidanceAreaGeometry& value) { SetGeometry(value); return *this;} + inline RouteMatrixAvoidanceArea& WithGeometry(RouteMatrixAvoidanceAreaGeometry&& value) { SetGeometry(std::move(value)); return *this;} + ///@} + private: + + RouteMatrixAvoidanceAreaGeometry m_geometry; + bool m_geometryHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceAreaGeometry.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceAreaGeometry.h new file mode 100644 index 00000000000..0e5bb58a218 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceAreaGeometry.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Geometry of the area to be avoided.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixAvoidanceAreaGeometry + { + public: + AWS_GEOROUTES_API RouteMatrixAvoidanceAreaGeometry(); + AWS_GEOROUTES_API RouteMatrixAvoidanceAreaGeometry(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixAvoidanceAreaGeometry& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Geometry defined as a bounding box. The first pair represents the X and Y + * coordinates (longitude and latitude,) of the southwest corner of the bounding + * box; the second pair represents the X and Y coordinates (longitude and latitude) + * of the northeast corner.

                + */ + inline const Aws::Vector& GetBoundingBox() const{ return m_boundingBox; } + inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } + inline void SetBoundingBox(const Aws::Vector& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } + inline void SetBoundingBox(Aws::Vector&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } + inline RouteMatrixAvoidanceAreaGeometry& WithBoundingBox(const Aws::Vector& value) { SetBoundingBox(value); return *this;} + inline RouteMatrixAvoidanceAreaGeometry& WithBoundingBox(Aws::Vector&& value) { SetBoundingBox(std::move(value)); return *this;} + inline RouteMatrixAvoidanceAreaGeometry& AddBoundingBox(double value) { m_boundingBoxHasBeenSet = true; m_boundingBox.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Geometry defined as a polygon with only one linear ring.

                + */ + inline const Aws::Vector>>& GetPolygon() const{ return m_polygon; } + inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; } + inline void SetPolygon(const Aws::Vector>>& value) { m_polygonHasBeenSet = true; m_polygon = value; } + inline void SetPolygon(Aws::Vector>>&& value) { m_polygonHasBeenSet = true; m_polygon = std::move(value); } + inline RouteMatrixAvoidanceAreaGeometry& WithPolygon(const Aws::Vector>>& value) { SetPolygon(value); return *this;} + inline RouteMatrixAvoidanceAreaGeometry& WithPolygon(Aws::Vector>>&& value) { SetPolygon(std::move(value)); return *this;} + inline RouteMatrixAvoidanceAreaGeometry& AddPolygon(const Aws::Vector>& value) { m_polygonHasBeenSet = true; m_polygon.push_back(value); return *this; } + inline RouteMatrixAvoidanceAreaGeometry& AddPolygon(Aws::Vector>&& value) { m_polygonHasBeenSet = true; m_polygon.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it + * contains PolylinePolygon of the first linear ring (the outer ring) and from + * second item to the last item (the inner rings). For more information on polyline + * encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.

                + */ + inline const Aws::Vector& GetPolylinePolygon() const{ return m_polylinePolygon; } + inline bool PolylinePolygonHasBeenSet() const { return m_polylinePolygonHasBeenSet; } + inline void SetPolylinePolygon(const Aws::Vector& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon = value; } + inline void SetPolylinePolygon(Aws::Vector&& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon = std::move(value); } + inline RouteMatrixAvoidanceAreaGeometry& WithPolylinePolygon(const Aws::Vector& value) { SetPolylinePolygon(value); return *this;} + inline RouteMatrixAvoidanceAreaGeometry& WithPolylinePolygon(Aws::Vector&& value) { SetPolylinePolygon(std::move(value)); return *this;} + inline RouteMatrixAvoidanceAreaGeometry& AddPolylinePolygon(const Aws::String& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(value); return *this; } + inline RouteMatrixAvoidanceAreaGeometry& AddPolylinePolygon(Aws::String&& value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(std::move(value)); return *this; } + inline RouteMatrixAvoidanceAreaGeometry& AddPolylinePolygon(const char* value) { m_polylinePolygonHasBeenSet = true; m_polylinePolygon.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_boundingBox; + bool m_boundingBoxHasBeenSet = false; + + Aws::Vector>> m_polygon; + bool m_polygonHasBeenSet = false; + + Aws::Vector m_polylinePolygon; + bool m_polylinePolygonHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceOptions.h new file mode 100644 index 00000000000..3d7de59ab09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceOptions.h @@ -0,0 +1,208 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to the route matrix.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixAvoidanceOptions + { + public: + AWS_GEOROUTES_API RouteMatrixAvoidanceOptions(); + AWS_GEOROUTES_API RouteMatrixAvoidanceOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixAvoidanceOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Areas to be avoided.

                + */ + inline const Aws::Vector& GetAreas() const{ return m_areas; } + inline bool AreasHasBeenSet() const { return m_areasHasBeenSet; } + inline void SetAreas(const Aws::Vector& value) { m_areasHasBeenSet = true; m_areas = value; } + inline void SetAreas(Aws::Vector&& value) { m_areasHasBeenSet = true; m_areas = std::move(value); } + inline RouteMatrixAvoidanceOptions& WithAreas(const Aws::Vector& value) { SetAreas(value); return *this;} + inline RouteMatrixAvoidanceOptions& WithAreas(Aws::Vector&& value) { SetAreas(std::move(value)); return *this;} + inline RouteMatrixAvoidanceOptions& AddAreas(const RouteMatrixAvoidanceArea& value) { m_areasHasBeenSet = true; m_areas.push_back(value); return *this; } + inline RouteMatrixAvoidanceOptions& AddAreas(RouteMatrixAvoidanceArea&& value) { m_areasHasBeenSet = true; m_areas.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Avoid car-shuttle-trains while calculating the route.

                + */ + inline bool GetCarShuttleTrains() const{ return m_carShuttleTrains; } + inline bool CarShuttleTrainsHasBeenSet() const { return m_carShuttleTrainsHasBeenSet; } + inline void SetCarShuttleTrains(bool value) { m_carShuttleTrainsHasBeenSet = true; m_carShuttleTrains = value; } + inline RouteMatrixAvoidanceOptions& WithCarShuttleTrains(bool value) { SetCarShuttleTrains(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid controlled access highways while calculating the route.

                + */ + inline bool GetControlledAccessHighways() const{ return m_controlledAccessHighways; } + inline bool ControlledAccessHighwaysHasBeenSet() const { return m_controlledAccessHighwaysHasBeenSet; } + inline void SetControlledAccessHighways(bool value) { m_controlledAccessHighwaysHasBeenSet = true; m_controlledAccessHighways = value; } + inline RouteMatrixAvoidanceOptions& WithControlledAccessHighways(bool value) { SetControlledAccessHighways(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid dirt roads while calculating the route.

                + */ + inline bool GetDirtRoads() const{ return m_dirtRoads; } + inline bool DirtRoadsHasBeenSet() const { return m_dirtRoadsHasBeenSet; } + inline void SetDirtRoads(bool value) { m_dirtRoadsHasBeenSet = true; m_dirtRoads = value; } + inline RouteMatrixAvoidanceOptions& WithDirtRoads(bool value) { SetDirtRoads(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid ferries while calculating the route.

                + */ + inline bool GetFerries() const{ return m_ferries; } + inline bool FerriesHasBeenSet() const { return m_ferriesHasBeenSet; } + inline void SetFerries(bool value) { m_ferriesHasBeenSet = true; m_ferries = value; } + inline RouteMatrixAvoidanceOptions& WithFerries(bool value) { SetFerries(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoids roads where the specified toll transponders are the only mode of + * payment.

                + */ + inline bool GetTollRoads() const{ return m_tollRoads; } + inline bool TollRoadsHasBeenSet() const { return m_tollRoadsHasBeenSet; } + inline void SetTollRoads(bool value) { m_tollRoadsHasBeenSet = true; m_tollRoads = value; } + inline RouteMatrixAvoidanceOptions& WithTollRoads(bool value) { SetTollRoads(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoids roads where the specified toll transponders are the only mode of + * payment.

                + */ + inline bool GetTollTransponders() const{ return m_tollTransponders; } + inline bool TollTranspondersHasBeenSet() const { return m_tollTranspondersHasBeenSet; } + inline void SetTollTransponders(bool value) { m_tollTranspondersHasBeenSet = true; m_tollTransponders = value; } + inline RouteMatrixAvoidanceOptions& WithTollTransponders(bool value) { SetTollTransponders(value); return *this;} + ///@} + + ///@{ + /** + *

                Truck road type identifiers. BK1 through BK4 apply + * only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

                + *

                There are currently no other supported values as of 26th April + * 2024.

                + */ + inline const Aws::Vector& GetTruckRoadTypes() const{ return m_truckRoadTypes; } + inline bool TruckRoadTypesHasBeenSet() const { return m_truckRoadTypesHasBeenSet; } + inline void SetTruckRoadTypes(const Aws::Vector& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes = value; } + inline void SetTruckRoadTypes(Aws::Vector&& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes = std::move(value); } + inline RouteMatrixAvoidanceOptions& WithTruckRoadTypes(const Aws::Vector& value) { SetTruckRoadTypes(value); return *this;} + inline RouteMatrixAvoidanceOptions& WithTruckRoadTypes(Aws::Vector&& value) { SetTruckRoadTypes(std::move(value)); return *this;} + inline RouteMatrixAvoidanceOptions& AddTruckRoadTypes(const Aws::String& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(value); return *this; } + inline RouteMatrixAvoidanceOptions& AddTruckRoadTypes(Aws::String&& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(std::move(value)); return *this; } + inline RouteMatrixAvoidanceOptions& AddTruckRoadTypes(const char* value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Avoid tunnels while calculating the route.

                + */ + inline bool GetTunnels() const{ return m_tunnels; } + inline bool TunnelsHasBeenSet() const { return m_tunnelsHasBeenSet; } + inline void SetTunnels(bool value) { m_tunnelsHasBeenSet = true; m_tunnels = value; } + inline RouteMatrixAvoidanceOptions& WithTunnels(bool value) { SetTunnels(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid U-turns for calculation on highways and motorways.

                + */ + inline bool GetUTurns() const{ return m_uTurns; } + inline bool UTurnsHasBeenSet() const { return m_uTurnsHasBeenSet; } + inline void SetUTurns(bool value) { m_uTurnsHasBeenSet = true; m_uTurns = value; } + inline RouteMatrixAvoidanceOptions& WithUTurns(bool value) { SetUTurns(value); return *this;} + ///@} + + ///@{ + /** + *

                Zone categories to be avoided.

                + */ + inline const Aws::Vector& GetZoneCategories() const{ return m_zoneCategories; } + inline bool ZoneCategoriesHasBeenSet() const { return m_zoneCategoriesHasBeenSet; } + inline void SetZoneCategories(const Aws::Vector& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories = value; } + inline void SetZoneCategories(Aws::Vector&& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories = std::move(value); } + inline RouteMatrixAvoidanceOptions& WithZoneCategories(const Aws::Vector& value) { SetZoneCategories(value); return *this;} + inline RouteMatrixAvoidanceOptions& WithZoneCategories(Aws::Vector&& value) { SetZoneCategories(std::move(value)); return *this;} + inline RouteMatrixAvoidanceOptions& AddZoneCategories(const RouteMatrixAvoidanceZoneCategory& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories.push_back(value); return *this; } + inline RouteMatrixAvoidanceOptions& AddZoneCategories(RouteMatrixAvoidanceZoneCategory&& value) { m_zoneCategoriesHasBeenSet = true; m_zoneCategories.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_areas; + bool m_areasHasBeenSet = false; + + bool m_carShuttleTrains; + bool m_carShuttleTrainsHasBeenSet = false; + + bool m_controlledAccessHighways; + bool m_controlledAccessHighwaysHasBeenSet = false; + + bool m_dirtRoads; + bool m_dirtRoadsHasBeenSet = false; + + bool m_ferries; + bool m_ferriesHasBeenSet = false; + + bool m_tollRoads; + bool m_tollRoadsHasBeenSet = false; + + bool m_tollTransponders; + bool m_tollTranspondersHasBeenSet = false; + + Aws::Vector m_truckRoadTypes; + bool m_truckRoadTypesHasBeenSet = false; + + bool m_tunnels; + bool m_tunnelsHasBeenSet = false; + + bool m_uTurns; + bool m_uTurnsHasBeenSet = false; + + Aws::Vector m_zoneCategories; + bool m_zoneCategoriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceZoneCategory.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceZoneCategory.h new file mode 100644 index 00000000000..96f05631b7e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixAvoidanceZoneCategory.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Zone categories to be avoided.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixAvoidanceZoneCategory + { + public: + AWS_GEOROUTES_API RouteMatrixAvoidanceZoneCategory(); + AWS_GEOROUTES_API RouteMatrixAvoidanceZoneCategory(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixAvoidanceZoneCategory& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Zone category to be avoided.

                + */ + inline const RouteMatrixZoneCategory& GetCategory() const{ return m_category; } + inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } + inline void SetCategory(const RouteMatrixZoneCategory& value) { m_categoryHasBeenSet = true; m_category = value; } + inline void SetCategory(RouteMatrixZoneCategory&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } + inline RouteMatrixAvoidanceZoneCategory& WithCategory(const RouteMatrixZoneCategory& value) { SetCategory(value); return *this;} + inline RouteMatrixAvoidanceZoneCategory& WithCategory(RouteMatrixZoneCategory&& value) { SetCategory(std::move(value)); return *this;} + ///@} + private: + + RouteMatrixZoneCategory m_category; + bool m_categoryHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixBoundary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixBoundary.h new file mode 100644 index 00000000000..c1bd2a82a8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixBoundary.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Boundary within which the matrix is to be calculated. All data, origins and + * destinations outside the boundary are considered invalid.

                See + * Also:

                AWS + * API Reference

                + */ + class RouteMatrixBoundary + { + public: + AWS_GEOROUTES_API RouteMatrixBoundary(); + AWS_GEOROUTES_API RouteMatrixBoundary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixBoundary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Geometry of the area to be avoided.

                + */ + inline const RouteMatrixBoundaryGeometry& GetGeometry() const{ return m_geometry; } + inline bool GeometryHasBeenSet() const { return m_geometryHasBeenSet; } + inline void SetGeometry(const RouteMatrixBoundaryGeometry& value) { m_geometryHasBeenSet = true; m_geometry = value; } + inline void SetGeometry(RouteMatrixBoundaryGeometry&& value) { m_geometryHasBeenSet = true; m_geometry = std::move(value); } + inline RouteMatrixBoundary& WithGeometry(const RouteMatrixBoundaryGeometry& value) { SetGeometry(value); return *this;} + inline RouteMatrixBoundary& WithGeometry(RouteMatrixBoundaryGeometry&& value) { SetGeometry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                No restrictions in terms of a routing boundary, and is typically used for + * longer routes.

                + */ + inline bool GetUnbounded() const{ return m_unbounded; } + inline bool UnboundedHasBeenSet() const { return m_unboundedHasBeenSet; } + inline void SetUnbounded(bool value) { m_unboundedHasBeenSet = true; m_unbounded = value; } + inline RouteMatrixBoundary& WithUnbounded(bool value) { SetUnbounded(value); return *this;} + ///@} + private: + + RouteMatrixBoundaryGeometry m_geometry; + bool m_geometryHasBeenSet = false; + + bool m_unbounded; + bool m_unboundedHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixBoundaryGeometry.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixBoundaryGeometry.h new file mode 100644 index 00000000000..43de1aa3103 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixBoundaryGeometry.h @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Geometry of the routing boundary.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixBoundaryGeometry + { + public: + AWS_GEOROUTES_API RouteMatrixBoundaryGeometry(); + AWS_GEOROUTES_API RouteMatrixBoundaryGeometry(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixBoundaryGeometry& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Provides the circle that was used while calculating the route.

                + */ + inline const RouteMatrixAutoCircle& GetAutoCircle() const{ return m_autoCircle; } + inline bool AutoCircleHasBeenSet() const { return m_autoCircleHasBeenSet; } + inline void SetAutoCircle(const RouteMatrixAutoCircle& value) { m_autoCircleHasBeenSet = true; m_autoCircle = value; } + inline void SetAutoCircle(RouteMatrixAutoCircle&& value) { m_autoCircleHasBeenSet = true; m_autoCircle = std::move(value); } + inline RouteMatrixBoundaryGeometry& WithAutoCircle(const RouteMatrixAutoCircle& value) { SetAutoCircle(value); return *this;} + inline RouteMatrixBoundaryGeometry& WithAutoCircle(RouteMatrixAutoCircle&& value) { SetAutoCircle(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Geometry defined as a circle. When request routing boundary was set as + * AutoCircle, the response routing boundary will return + * Circle derived from the AutoCircle settings.

                + */ + inline const Circle& GetCircle() const{ return m_circle; } + inline bool CircleHasBeenSet() const { return m_circleHasBeenSet; } + inline void SetCircle(const Circle& value) { m_circleHasBeenSet = true; m_circle = value; } + inline void SetCircle(Circle&& value) { m_circleHasBeenSet = true; m_circle = std::move(value); } + inline RouteMatrixBoundaryGeometry& WithCircle(const Circle& value) { SetCircle(value); return *this;} + inline RouteMatrixBoundaryGeometry& WithCircle(Circle&& value) { SetCircle(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Geometry defined as a bounding box. The first pair represents the X and Y + * coordinates (longitude and latitude,) of the southwest corner of the bounding + * box; the second pair represents the X and Y coordinates (longitude and latitude) + * of the northeast corner.

                + */ + inline const Aws::Vector& GetBoundingBox() const{ return m_boundingBox; } + inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } + inline void SetBoundingBox(const Aws::Vector& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } + inline void SetBoundingBox(Aws::Vector&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } + inline RouteMatrixBoundaryGeometry& WithBoundingBox(const Aws::Vector& value) { SetBoundingBox(value); return *this;} + inline RouteMatrixBoundaryGeometry& WithBoundingBox(Aws::Vector&& value) { SetBoundingBox(std::move(value)); return *this;} + inline RouteMatrixBoundaryGeometry& AddBoundingBox(double value) { m_boundingBoxHasBeenSet = true; m_boundingBox.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Geometry defined as a polygon with only one linear ring.

                + */ + inline const Aws::Vector>>& GetPolygon() const{ return m_polygon; } + inline bool PolygonHasBeenSet() const { return m_polygonHasBeenSet; } + inline void SetPolygon(const Aws::Vector>>& value) { m_polygonHasBeenSet = true; m_polygon = value; } + inline void SetPolygon(Aws::Vector>>&& value) { m_polygonHasBeenSet = true; m_polygon = std::move(value); } + inline RouteMatrixBoundaryGeometry& WithPolygon(const Aws::Vector>>& value) { SetPolygon(value); return *this;} + inline RouteMatrixBoundaryGeometry& WithPolygon(Aws::Vector>>&& value) { SetPolygon(std::move(value)); return *this;} + inline RouteMatrixBoundaryGeometry& AddPolygon(const Aws::Vector>& value) { m_polygonHasBeenSet = true; m_polygon.push_back(value); return *this; } + inline RouteMatrixBoundaryGeometry& AddPolygon(Aws::Vector>&& value) { m_polygonHasBeenSet = true; m_polygon.push_back(std::move(value)); return *this; } + ///@} + private: + + RouteMatrixAutoCircle m_autoCircle; + bool m_autoCircleHasBeenSet = false; + + Circle m_circle; + bool m_circleHasBeenSet = false; + + Aws::Vector m_boundingBox; + bool m_boundingBoxHasBeenSet = false; + + Aws::Vector>> m_polygon; + bool m_polygonHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixCarOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixCarOptions.h new file mode 100644 index 00000000000..3bb025f73e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixCarOptions.h @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to the car.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixCarOptions + { + public: + AWS_GEOROUTES_API RouteMatrixCarOptions(); + AWS_GEOROUTES_API RouteMatrixCarOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixCarOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The vehicle License Plate.

                + */ + inline const RouteMatrixVehicleLicensePlate& GetLicensePlate() const{ return m_licensePlate; } + inline bool LicensePlateHasBeenSet() const { return m_licensePlateHasBeenSet; } + inline void SetLicensePlate(const RouteMatrixVehicleLicensePlate& value) { m_licensePlateHasBeenSet = true; m_licensePlate = value; } + inline void SetLicensePlate(RouteMatrixVehicleLicensePlate&& value) { m_licensePlateHasBeenSet = true; m_licensePlate = std::move(value); } + inline RouteMatrixCarOptions& WithLicensePlate(const RouteMatrixVehicleLicensePlate& value) { SetLicensePlate(value); return *this;} + inline RouteMatrixCarOptions& WithLicensePlate(RouteMatrixVehicleLicensePlate&& value) { SetLicensePlate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Maximum speed

                Unit: KilometersPerHour

                + */ + inline double GetMaxSpeed() const{ return m_maxSpeed; } + inline bool MaxSpeedHasBeenSet() const { return m_maxSpeedHasBeenSet; } + inline void SetMaxSpeed(double value) { m_maxSpeedHasBeenSet = true; m_maxSpeed = value; } + inline RouteMatrixCarOptions& WithMaxSpeed(double value) { SetMaxSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                The number of occupants in the vehicle.

                Default Value: 1 + *

                + */ + inline int GetOccupancy() const{ return m_occupancy; } + inline bool OccupancyHasBeenSet() const { return m_occupancyHasBeenSet; } + inline void SetOccupancy(int value) { m_occupancyHasBeenSet = true; m_occupancy = value; } + inline RouteMatrixCarOptions& WithOccupancy(int value) { SetOccupancy(value); return *this;} + ///@} + private: + + RouteMatrixVehicleLicensePlate m_licensePlate; + bool m_licensePlateHasBeenSet = false; + + double m_maxSpeed; + bool m_maxSpeedHasBeenSet = false; + + int m_occupancy; + bool m_occupancyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixDestination.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixDestination.h new file mode 100644 index 00000000000..7b6bdfe9c11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixDestination.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The route destination.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixDestination + { + public: + AWS_GEOROUTES_API RouteMatrixDestination(); + AWS_GEOROUTES_API RouteMatrixDestination(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixDestination& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Destination related options.

                + */ + inline const RouteMatrixDestinationOptions& GetOptions() const{ return m_options; } + inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; } + inline void SetOptions(const RouteMatrixDestinationOptions& value) { m_optionsHasBeenSet = true; m_options = value; } + inline void SetOptions(RouteMatrixDestinationOptions&& value) { m_optionsHasBeenSet = true; m_options = std::move(value); } + inline RouteMatrixDestination& WithOptions(const RouteMatrixDestinationOptions& value) { SetOptions(value); return *this;} + inline RouteMatrixDestination& WithOptions(RouteMatrixDestinationOptions&& value) { SetOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline RouteMatrixDestination& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline RouteMatrixDestination& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline RouteMatrixDestination& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + private: + + RouteMatrixDestinationOptions m_options; + bool m_optionsHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixDestinationOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixDestinationOptions.h new file mode 100644 index 00000000000..486116b237b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixDestinationOptions.h @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to the destination.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixDestinationOptions + { + public: + AWS_GEOROUTES_API RouteMatrixDestinationOptions(); + AWS_GEOROUTES_API RouteMatrixDestinationOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixDestinationOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Avoids actions for the provided distance. This is typically to consider for + * users in moving vehicles who may not have sufficient time to make an action at + * an origin or a destination.

                + */ + inline long long GetAvoidActionsForDistance() const{ return m_avoidActionsForDistance; } + inline bool AvoidActionsForDistanceHasBeenSet() const { return m_avoidActionsForDistanceHasBeenSet; } + inline void SetAvoidActionsForDistance(long long value) { m_avoidActionsForDistanceHasBeenSet = true; m_avoidActionsForDistance = value; } + inline RouteMatrixDestinationOptions& WithAvoidActionsForDistance(long long value) { SetAvoidActionsForDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                GPS Heading at the position.

                + */ + inline double GetHeading() const{ return m_heading; } + inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; } + inline void SetHeading(double value) { m_headingHasBeenSet = true; m_heading = value; } + inline RouteMatrixDestinationOptions& WithHeading(double value) { SetHeading(value); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to the road network.

                + */ + inline const RouteMatrixMatchingOptions& GetMatching() const{ return m_matching; } + inline bool MatchingHasBeenSet() const { return m_matchingHasBeenSet; } + inline void SetMatching(const RouteMatrixMatchingOptions& value) { m_matchingHasBeenSet = true; m_matching = value; } + inline void SetMatching(RouteMatrixMatchingOptions&& value) { m_matchingHasBeenSet = true; m_matching = std::move(value); } + inline RouteMatrixDestinationOptions& WithMatching(const RouteMatrixMatchingOptions& value) { SetMatching(value); return *this;} + inline RouteMatrixDestinationOptions& WithMatching(RouteMatrixMatchingOptions&& value) { SetMatching(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to a side of the + * street.

                + */ + inline const RouteMatrixSideOfStreetOptions& GetSideOfStreet() const{ return m_sideOfStreet; } + inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; } + inline void SetSideOfStreet(const RouteMatrixSideOfStreetOptions& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = value; } + inline void SetSideOfStreet(RouteMatrixSideOfStreetOptions&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::move(value); } + inline RouteMatrixDestinationOptions& WithSideOfStreet(const RouteMatrixSideOfStreetOptions& value) { SetSideOfStreet(value); return *this;} + inline RouteMatrixDestinationOptions& WithSideOfStreet(RouteMatrixSideOfStreetOptions&& value) { SetSideOfStreet(std::move(value)); return *this;} + ///@} + private: + + long long m_avoidActionsForDistance; + bool m_avoidActionsForDistanceHasBeenSet = false; + + double m_heading; + bool m_headingHasBeenSet = false; + + RouteMatrixMatchingOptions m_matching; + bool m_matchingHasBeenSet = false; + + RouteMatrixSideOfStreetOptions m_sideOfStreet; + bool m_sideOfStreetHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixEntry.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixEntry.h new file mode 100644 index 00000000000..872cf4136c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixEntry.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The calculated route matrix containing the results for all pairs of Origins + * to Destination positions. Each row corresponds to one entry in Origins. Each + * entry in the row corresponds to the route from that entry in Origins to an entry + * in Destination positions.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixEntry + { + public: + AWS_GEOROUTES_API RouteMatrixEntry(); + AWS_GEOROUTES_API RouteMatrixEntry(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixEntry& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The total distance of travel for the route.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline RouteMatrixEntry& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                The expected duration of travel for the route.

                Unit: + * seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteMatrixEntry& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Error code that occurred during calculation of the route.

                + */ + inline const RouteMatrixErrorCode& GetError() const{ return m_error; } + inline bool ErrorHasBeenSet() const { return m_errorHasBeenSet; } + inline void SetError(const RouteMatrixErrorCode& value) { m_errorHasBeenSet = true; m_error = value; } + inline void SetError(RouteMatrixErrorCode&& value) { m_errorHasBeenSet = true; m_error = std::move(value); } + inline RouteMatrixEntry& WithError(const RouteMatrixErrorCode& value) { SetError(value); return *this;} + inline RouteMatrixEntry& WithError(RouteMatrixErrorCode&& value) { SetError(std::move(value)); return *this;} + ///@} + private: + + long long m_distance; + bool m_distanceHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + + RouteMatrixErrorCode m_error; + bool m_errorHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixErrorCode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixErrorCode.h new file mode 100644 index 00000000000..c7001a9a5cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixErrorCode.h @@ -0,0 +1,38 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteMatrixErrorCode + { + NOT_SET, + NoMatch, + NoMatchDestination, + NoMatchOrigin, + NoRoute, + OutOfBounds, + OutOfBoundsDestination, + OutOfBoundsOrigin, + Other, + Violation + }; + +namespace RouteMatrixErrorCodeMapper +{ +AWS_GEOROUTES_API RouteMatrixErrorCode GetRouteMatrixErrorCodeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteMatrixErrorCode(RouteMatrixErrorCode value); +} // namespace RouteMatrixErrorCodeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixExclusionOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixExclusionOptions.h new file mode 100644 index 00000000000..0c17c8c770d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixExclusionOptions.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Exclusion options.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixExclusionOptions + { + public: + AWS_GEOROUTES_API RouteMatrixExclusionOptions(); + AWS_GEOROUTES_API RouteMatrixExclusionOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixExclusionOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                List of countries to be avoided defined by two-letter or three-letter country + * codes.

                + */ + inline const Aws::Vector& GetCountries() const{ return m_countries; } + inline bool CountriesHasBeenSet() const { return m_countriesHasBeenSet; } + inline void SetCountries(const Aws::Vector& value) { m_countriesHasBeenSet = true; m_countries = value; } + inline void SetCountries(Aws::Vector&& value) { m_countriesHasBeenSet = true; m_countries = std::move(value); } + inline RouteMatrixExclusionOptions& WithCountries(const Aws::Vector& value) { SetCountries(value); return *this;} + inline RouteMatrixExclusionOptions& WithCountries(Aws::Vector&& value) { SetCountries(std::move(value)); return *this;} + inline RouteMatrixExclusionOptions& AddCountries(const Aws::String& value) { m_countriesHasBeenSet = true; m_countries.push_back(value); return *this; } + inline RouteMatrixExclusionOptions& AddCountries(Aws::String&& value) { m_countriesHasBeenSet = true; m_countries.push_back(std::move(value)); return *this; } + inline RouteMatrixExclusionOptions& AddCountries(const char* value) { m_countriesHasBeenSet = true; m_countries.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_countries; + bool m_countriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixHazardousCargoType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixHazardousCargoType.h new file mode 100644 index 00000000000..573601f8f1b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixHazardousCargoType.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteMatrixHazardousCargoType + { + NOT_SET, + Combustible, + Corrosive, + Explosive, + Flammable, + Gas, + HarmfulToWater, + Organic, + Other, + Poison, + PoisonousInhalation, + Radioactive + }; + +namespace RouteMatrixHazardousCargoTypeMapper +{ +AWS_GEOROUTES_API RouteMatrixHazardousCargoType GetRouteMatrixHazardousCargoTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteMatrixHazardousCargoType(RouteMatrixHazardousCargoType value); +} // namespace RouteMatrixHazardousCargoTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixMatchingOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixMatchingOptions.h new file mode 100644 index 00000000000..6ce6266a9ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixMatchingOptions.h @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Matching options.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixMatchingOptions + { + public: + AWS_GEOROUTES_API RouteMatrixMatchingOptions(); + AWS_GEOROUTES_API RouteMatrixMatchingOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixMatchingOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Attempts to match the provided position to a road similar to the provided + * name.

                + */ + inline const Aws::String& GetNameHint() const{ return m_nameHint; } + inline bool NameHintHasBeenSet() const { return m_nameHintHasBeenSet; } + inline void SetNameHint(const Aws::String& value) { m_nameHintHasBeenSet = true; m_nameHint = value; } + inline void SetNameHint(Aws::String&& value) { m_nameHintHasBeenSet = true; m_nameHint = std::move(value); } + inline void SetNameHint(const char* value) { m_nameHintHasBeenSet = true; m_nameHint.assign(value); } + inline RouteMatrixMatchingOptions& WithNameHint(const Aws::String& value) { SetNameHint(value); return *this;} + inline RouteMatrixMatchingOptions& WithNameHint(Aws::String&& value) { SetNameHint(std::move(value)); return *this;} + inline RouteMatrixMatchingOptions& WithNameHint(const char* value) { SetNameHint(value); return *this;} + ///@} + + ///@{ + /** + *

                If the distance to a highway/bridge/tunnel/sliproad is within threshold, the + * waypoint will be snapped to the highway/bridge/tunnel/sliproad.

                + * Unit: meters

                + */ + inline long long GetOnRoadThreshold() const{ return m_onRoadThreshold; } + inline bool OnRoadThresholdHasBeenSet() const { return m_onRoadThresholdHasBeenSet; } + inline void SetOnRoadThreshold(long long value) { m_onRoadThresholdHasBeenSet = true; m_onRoadThreshold = value; } + inline RouteMatrixMatchingOptions& WithOnRoadThreshold(long long value) { SetOnRoadThreshold(value); return *this;} + ///@} + + ///@{ + /** + *

                Considers all roads within the provided radius to match the provided + * destination to. The roads that are considered are determined by the provided + * Strategy.

                Unit: Meters

                + */ + inline long long GetRadius() const{ return m_radius; } + inline bool RadiusHasBeenSet() const { return m_radiusHasBeenSet; } + inline void SetRadius(long long value) { m_radiusHasBeenSet = true; m_radius = value; } + inline RouteMatrixMatchingOptions& WithRadius(long long value) { SetRadius(value); return *this;} + ///@} + + ///@{ + /** + *

                Strategy that defines matching of the position onto the road network. + * MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches + * to the most significant road.

                + */ + inline const MatchingStrategy& GetStrategy() const{ return m_strategy; } + inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; } + inline void SetStrategy(const MatchingStrategy& value) { m_strategyHasBeenSet = true; m_strategy = value; } + inline void SetStrategy(MatchingStrategy&& value) { m_strategyHasBeenSet = true; m_strategy = std::move(value); } + inline RouteMatrixMatchingOptions& WithStrategy(const MatchingStrategy& value) { SetStrategy(value); return *this;} + inline RouteMatrixMatchingOptions& WithStrategy(MatchingStrategy&& value) { SetStrategy(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_nameHint; + bool m_nameHintHasBeenSet = false; + + long long m_onRoadThreshold; + bool m_onRoadThresholdHasBeenSet = false; + + long long m_radius; + bool m_radiusHasBeenSet = false; + + MatchingStrategy m_strategy; + bool m_strategyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixOrigin.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixOrigin.h new file mode 100644 index 00000000000..c60bc0584e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixOrigin.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The start position for the route.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixOrigin + { + public: + AWS_GEOROUTES_API RouteMatrixOrigin(); + AWS_GEOROUTES_API RouteMatrixOrigin(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixOrigin& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Origin related options.

                + */ + inline const RouteMatrixOriginOptions& GetOptions() const{ return m_options; } + inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; } + inline void SetOptions(const RouteMatrixOriginOptions& value) { m_optionsHasBeenSet = true; m_options = value; } + inline void SetOptions(RouteMatrixOriginOptions&& value) { m_optionsHasBeenSet = true; m_options = std::move(value); } + inline RouteMatrixOrigin& WithOptions(const RouteMatrixOriginOptions& value) { SetOptions(value); return *this;} + inline RouteMatrixOrigin& WithOptions(RouteMatrixOriginOptions&& value) { SetOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline RouteMatrixOrigin& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline RouteMatrixOrigin& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline RouteMatrixOrigin& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + private: + + RouteMatrixOriginOptions m_options; + bool m_optionsHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixOriginOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixOriginOptions.h new file mode 100644 index 00000000000..60e56a5b265 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixOriginOptions.h @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Origin related options.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixOriginOptions + { + public: + AWS_GEOROUTES_API RouteMatrixOriginOptions(); + AWS_GEOROUTES_API RouteMatrixOriginOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixOriginOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Avoids actions for the provided distance. This is typically to consider for + * users in moving vehicles who may not have sufficient time to make an action at + * an origin or a destination.

                + */ + inline long long GetAvoidActionsForDistance() const{ return m_avoidActionsForDistance; } + inline bool AvoidActionsForDistanceHasBeenSet() const { return m_avoidActionsForDistanceHasBeenSet; } + inline void SetAvoidActionsForDistance(long long value) { m_avoidActionsForDistanceHasBeenSet = true; m_avoidActionsForDistance = value; } + inline RouteMatrixOriginOptions& WithAvoidActionsForDistance(long long value) { SetAvoidActionsForDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                GPS Heading at the position.

                + */ + inline double GetHeading() const{ return m_heading; } + inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; } + inline void SetHeading(double value) { m_headingHasBeenSet = true; m_heading = value; } + inline RouteMatrixOriginOptions& WithHeading(double value) { SetHeading(value); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to the road network.

                + */ + inline const RouteMatrixMatchingOptions& GetMatching() const{ return m_matching; } + inline bool MatchingHasBeenSet() const { return m_matchingHasBeenSet; } + inline void SetMatching(const RouteMatrixMatchingOptions& value) { m_matchingHasBeenSet = true; m_matching = value; } + inline void SetMatching(RouteMatrixMatchingOptions&& value) { m_matchingHasBeenSet = true; m_matching = std::move(value); } + inline RouteMatrixOriginOptions& WithMatching(const RouteMatrixMatchingOptions& value) { SetMatching(value); return *this;} + inline RouteMatrixOriginOptions& WithMatching(RouteMatrixMatchingOptions&& value) { SetMatching(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to a side of the + * street.

                + */ + inline const RouteMatrixSideOfStreetOptions& GetSideOfStreet() const{ return m_sideOfStreet; } + inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; } + inline void SetSideOfStreet(const RouteMatrixSideOfStreetOptions& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = value; } + inline void SetSideOfStreet(RouteMatrixSideOfStreetOptions&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::move(value); } + inline RouteMatrixOriginOptions& WithSideOfStreet(const RouteMatrixSideOfStreetOptions& value) { SetSideOfStreet(value); return *this;} + inline RouteMatrixOriginOptions& WithSideOfStreet(RouteMatrixSideOfStreetOptions&& value) { SetSideOfStreet(std::move(value)); return *this;} + ///@} + private: + + long long m_avoidActionsForDistance; + bool m_avoidActionsForDistanceHasBeenSet = false; + + double m_heading; + bool m_headingHasBeenSet = false; + + RouteMatrixMatchingOptions m_matching; + bool m_matchingHasBeenSet = false; + + RouteMatrixSideOfStreetOptions m_sideOfStreet; + bool m_sideOfStreetHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixScooterOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixScooterOptions.h new file mode 100644 index 00000000000..68777ee4e60 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixScooterOptions.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode options when the provided travel mode is "Scooter"

                See + * Also:

                AWS + * API Reference

                + */ + class RouteMatrixScooterOptions + { + public: + AWS_GEOROUTES_API RouteMatrixScooterOptions(); + AWS_GEOROUTES_API RouteMatrixScooterOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixScooterOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The vehicle License Plate.

                + */ + inline const RouteMatrixVehicleLicensePlate& GetLicensePlate() const{ return m_licensePlate; } + inline bool LicensePlateHasBeenSet() const { return m_licensePlateHasBeenSet; } + inline void SetLicensePlate(const RouteMatrixVehicleLicensePlate& value) { m_licensePlateHasBeenSet = true; m_licensePlate = value; } + inline void SetLicensePlate(RouteMatrixVehicleLicensePlate&& value) { m_licensePlateHasBeenSet = true; m_licensePlate = std::move(value); } + inline RouteMatrixScooterOptions& WithLicensePlate(const RouteMatrixVehicleLicensePlate& value) { SetLicensePlate(value); return *this;} + inline RouteMatrixScooterOptions& WithLicensePlate(RouteMatrixVehicleLicensePlate&& value) { SetLicensePlate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Maximum speed.

                Unit: KilometersPerHour

                + */ + inline double GetMaxSpeed() const{ return m_maxSpeed; } + inline bool MaxSpeedHasBeenSet() const { return m_maxSpeedHasBeenSet; } + inline void SetMaxSpeed(double value) { m_maxSpeedHasBeenSet = true; m_maxSpeed = value; } + inline RouteMatrixScooterOptions& WithMaxSpeed(double value) { SetMaxSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                The number of occupants in the vehicle.

                Default Value: 1 + *

                + */ + inline int GetOccupancy() const{ return m_occupancy; } + inline bool OccupancyHasBeenSet() const { return m_occupancyHasBeenSet; } + inline void SetOccupancy(int value) { m_occupancyHasBeenSet = true; m_occupancy = value; } + inline RouteMatrixScooterOptions& WithOccupancy(int value) { SetOccupancy(value); return *this;} + ///@} + private: + + RouteMatrixVehicleLicensePlate m_licensePlate; + bool m_licensePlateHasBeenSet = false; + + double m_maxSpeed; + bool m_maxSpeedHasBeenSet = false; + + int m_occupancy; + bool m_occupancyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixSideOfStreetOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixSideOfStreetOptions.h new file mode 100644 index 00000000000..c633566ab54 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixSideOfStreetOptions.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options to configure matching the provided position to a side of the + * street.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixSideOfStreetOptions + { + public: + AWS_GEOROUTES_API RouteMatrixSideOfStreetOptions(); + AWS_GEOROUTES_API RouteMatrixSideOfStreetOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixSideOfStreetOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline RouteMatrixSideOfStreetOptions& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline RouteMatrixSideOfStreetOptions& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline RouteMatrixSideOfStreetOptions& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Strategy that defines when the side of street position should be used. + * AnyStreet will always use the provided position.

                Default Value: + * DividedStreetOnly

                + */ + inline const SideOfStreetMatchingStrategy& GetUseWith() const{ return m_useWith; } + inline bool UseWithHasBeenSet() const { return m_useWithHasBeenSet; } + inline void SetUseWith(const SideOfStreetMatchingStrategy& value) { m_useWithHasBeenSet = true; m_useWith = value; } + inline void SetUseWith(SideOfStreetMatchingStrategy&& value) { m_useWithHasBeenSet = true; m_useWith = std::move(value); } + inline RouteMatrixSideOfStreetOptions& WithUseWith(const SideOfStreetMatchingStrategy& value) { SetUseWith(value); return *this;} + inline RouteMatrixSideOfStreetOptions& WithUseWith(SideOfStreetMatchingStrategy&& value) { SetUseWith(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + SideOfStreetMatchingStrategy m_useWith; + bool m_useWithHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTrafficOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTrafficOptions.h new file mode 100644 index 00000000000..936602a3e69 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTrafficOptions.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Traffic related options.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixTrafficOptions + { + public: + AWS_GEOROUTES_API RouteMatrixTrafficOptions(); + AWS_GEOROUTES_API RouteMatrixTrafficOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixTrafficOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Duration for which flow traffic is considered valid. For this period, the + * flow traffic is used over historical traffic data. Flow traffic refers to + * congestion, which changes very quickly. Duration in seconds for which flow + * traffic event would be considered valid. While flow traffic event is valid it + * will be used over the historical traffic data.

                + */ + inline long long GetFlowEventThresholdOverride() const{ return m_flowEventThresholdOverride; } + inline bool FlowEventThresholdOverrideHasBeenSet() const { return m_flowEventThresholdOverrideHasBeenSet; } + inline void SetFlowEventThresholdOverride(long long value) { m_flowEventThresholdOverrideHasBeenSet = true; m_flowEventThresholdOverride = value; } + inline RouteMatrixTrafficOptions& WithFlowEventThresholdOverride(long long value) { SetFlowEventThresholdOverride(value); return *this;} + ///@} + + ///@{ + /** + *

                Determines if traffic should be used or ignored while calculating the + * route.

                Default Value: UseTrafficData

                + */ + inline const TrafficUsage& GetUsage() const{ return m_usage; } + inline bool UsageHasBeenSet() const { return m_usageHasBeenSet; } + inline void SetUsage(const TrafficUsage& value) { m_usageHasBeenSet = true; m_usage = value; } + inline void SetUsage(TrafficUsage&& value) { m_usageHasBeenSet = true; m_usage = std::move(value); } + inline RouteMatrixTrafficOptions& WithUsage(const TrafficUsage& value) { SetUsage(value); return *this;} + inline RouteMatrixTrafficOptions& WithUsage(TrafficUsage&& value) { SetUsage(std::move(value)); return *this;} + ///@} + private: + + long long m_flowEventThresholdOverride; + bool m_flowEventThresholdOverrideHasBeenSet = false; + + TrafficUsage m_usage; + bool m_usageHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTrailerOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTrailerOptions.h new file mode 100644 index 00000000000..65412e60eeb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTrailerOptions.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Trailer options corresponding to the vehicle.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixTrailerOptions + { + public: + AWS_GEOROUTES_API RouteMatrixTrailerOptions(); + AWS_GEOROUTES_API RouteMatrixTrailerOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixTrailerOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Number of trailers attached to the vehicle.

                Default Value: + * 0

                + */ + inline int GetTrailerCount() const{ return m_trailerCount; } + inline bool TrailerCountHasBeenSet() const { return m_trailerCountHasBeenSet; } + inline void SetTrailerCount(int value) { m_trailerCountHasBeenSet = true; m_trailerCount = value; } + inline RouteMatrixTrailerOptions& WithTrailerCount(int value) { SetTrailerCount(value); return *this;} + ///@} + private: + + int m_trailerCount; + bool m_trailerCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTravelMode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTravelMode.h new file mode 100644 index 00000000000..7d541e9c183 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTravelMode.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteMatrixTravelMode + { + NOT_SET, + Car, + Pedestrian, + Scooter, + Truck + }; + +namespace RouteMatrixTravelModeMapper +{ +AWS_GEOROUTES_API RouteMatrixTravelMode GetRouteMatrixTravelModeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteMatrixTravelMode(RouteMatrixTravelMode value); +} // namespace RouteMatrixTravelModeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTravelModeOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTravelModeOptions.h new file mode 100644 index 00000000000..a77e04c0e44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTravelModeOptions.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode related options for the provided travel mode.

                See + * Also:

                AWS + * API Reference

                + */ + class RouteMatrixTravelModeOptions + { + public: + AWS_GEOROUTES_API RouteMatrixTravelModeOptions(); + AWS_GEOROUTES_API RouteMatrixTravelModeOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixTravelModeOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Car"

                + */ + inline const RouteMatrixCarOptions& GetCar() const{ return m_car; } + inline bool CarHasBeenSet() const { return m_carHasBeenSet; } + inline void SetCar(const RouteMatrixCarOptions& value) { m_carHasBeenSet = true; m_car = value; } + inline void SetCar(RouteMatrixCarOptions&& value) { m_carHasBeenSet = true; m_car = std::move(value); } + inline RouteMatrixTravelModeOptions& WithCar(const RouteMatrixCarOptions& value) { SetCar(value); return *this;} + inline RouteMatrixTravelModeOptions& WithCar(RouteMatrixCarOptions&& value) { SetCar(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Scooter"

                + */ + inline const RouteMatrixScooterOptions& GetScooter() const{ return m_scooter; } + inline bool ScooterHasBeenSet() const { return m_scooterHasBeenSet; } + inline void SetScooter(const RouteMatrixScooterOptions& value) { m_scooterHasBeenSet = true; m_scooter = value; } + inline void SetScooter(RouteMatrixScooterOptions&& value) { m_scooterHasBeenSet = true; m_scooter = std::move(value); } + inline RouteMatrixTravelModeOptions& WithScooter(const RouteMatrixScooterOptions& value) { SetScooter(value); return *this;} + inline RouteMatrixTravelModeOptions& WithScooter(RouteMatrixScooterOptions&& value) { SetScooter(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Truck"

                + */ + inline const RouteMatrixTruckOptions& GetTruck() const{ return m_truck; } + inline bool TruckHasBeenSet() const { return m_truckHasBeenSet; } + inline void SetTruck(const RouteMatrixTruckOptions& value) { m_truckHasBeenSet = true; m_truck = value; } + inline void SetTruck(RouteMatrixTruckOptions&& value) { m_truckHasBeenSet = true; m_truck = std::move(value); } + inline RouteMatrixTravelModeOptions& WithTruck(const RouteMatrixTruckOptions& value) { SetTruck(value); return *this;} + inline RouteMatrixTravelModeOptions& WithTruck(RouteMatrixTruckOptions&& value) { SetTruck(std::move(value)); return *this;} + ///@} + private: + + RouteMatrixCarOptions m_car; + bool m_carHasBeenSet = false; + + RouteMatrixScooterOptions m_scooter; + bool m_scooterHasBeenSet = false; + + RouteMatrixTruckOptions m_truck; + bool m_truckHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTruckOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTruckOptions.h new file mode 100644 index 00000000000..4980dc42464 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTruckOptions.h @@ -0,0 +1,293 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode options when the provided travel mode is "Truck"

                See + * Also:

                AWS + * API Reference

                + */ + class RouteMatrixTruckOptions + { + public: + AWS_GEOROUTES_API RouteMatrixTruckOptions(); + AWS_GEOROUTES_API RouteMatrixTruckOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixTruckOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Total number of axles of the vehicle.

                + */ + inline int GetAxleCount() const{ return m_axleCount; } + inline bool AxleCountHasBeenSet() const { return m_axleCountHasBeenSet; } + inline void SetAxleCount(int value) { m_axleCountHasBeenSet = true; m_axleCount = value; } + inline RouteMatrixTruckOptions& WithAxleCount(int value) { SetAxleCount(value); return *this;} + ///@} + + ///@{ + /** + *

                Gross weight of the vehicle including trailers, and goods at capacity.

                + *

                Unit: Kilograms

                + */ + inline long long GetGrossWeight() const{ return m_grossWeight; } + inline bool GrossWeightHasBeenSet() const { return m_grossWeightHasBeenSet; } + inline void SetGrossWeight(long long value) { m_grossWeightHasBeenSet = true; m_grossWeight = value; } + inline RouteMatrixTruckOptions& WithGrossWeight(long long value) { SetGrossWeight(value); return *this;} + ///@} + + ///@{ + /** + *

                List of Hazardous cargo contained in the vehicle.

                + */ + inline const Aws::Vector& GetHazardousCargos() const{ return m_hazardousCargos; } + inline bool HazardousCargosHasBeenSet() const { return m_hazardousCargosHasBeenSet; } + inline void SetHazardousCargos(const Aws::Vector& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = value; } + inline void SetHazardousCargos(Aws::Vector&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = std::move(value); } + inline RouteMatrixTruckOptions& WithHazardousCargos(const Aws::Vector& value) { SetHazardousCargos(value); return *this;} + inline RouteMatrixTruckOptions& WithHazardousCargos(Aws::Vector&& value) { SetHazardousCargos(std::move(value)); return *this;} + inline RouteMatrixTruckOptions& AddHazardousCargos(const RouteMatrixHazardousCargoType& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(value); return *this; } + inline RouteMatrixTruckOptions& AddHazardousCargos(RouteMatrixHazardousCargoType&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Height of the vehicle.

                Unit: centimeters

                + */ + inline long long GetHeight() const{ return m_height; } + inline bool HeightHasBeenSet() const { return m_heightHasBeenSet; } + inline void SetHeight(long long value) { m_heightHasBeenSet = true; m_height = value; } + inline RouteMatrixTruckOptions& WithHeight(long long value) { SetHeight(value); return *this;} + ///@} + + ///@{ + /** + *

                Kingpin to rear axle length of the vehicle

                Unit: + * centimeters

                + */ + inline long long GetKpraLength() const{ return m_kpraLength; } + inline bool KpraLengthHasBeenSet() const { return m_kpraLengthHasBeenSet; } + inline void SetKpraLength(long long value) { m_kpraLengthHasBeenSet = true; m_kpraLength = value; } + inline RouteMatrixTruckOptions& WithKpraLength(long long value) { SetKpraLength(value); return *this;} + ///@} + + ///@{ + /** + *

                Length of the vehicle.

                Unit: centimeters

                + */ + inline long long GetLength() const{ return m_length; } + inline bool LengthHasBeenSet() const { return m_lengthHasBeenSet; } + inline void SetLength(long long value) { m_lengthHasBeenSet = true; m_length = value; } + inline RouteMatrixTruckOptions& WithLength(long long value) { SetLength(value); return *this;} + ///@} + + ///@{ + /** + *

                The vehicle License Plate.

                + */ + inline const RouteMatrixVehicleLicensePlate& GetLicensePlate() const{ return m_licensePlate; } + inline bool LicensePlateHasBeenSet() const { return m_licensePlateHasBeenSet; } + inline void SetLicensePlate(const RouteMatrixVehicleLicensePlate& value) { m_licensePlateHasBeenSet = true; m_licensePlate = value; } + inline void SetLicensePlate(RouteMatrixVehicleLicensePlate&& value) { m_licensePlateHasBeenSet = true; m_licensePlate = std::move(value); } + inline RouteMatrixTruckOptions& WithLicensePlate(const RouteMatrixVehicleLicensePlate& value) { SetLicensePlate(value); return *this;} + inline RouteMatrixTruckOptions& WithLicensePlate(RouteMatrixVehicleLicensePlate&& value) { SetLicensePlate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Maximum speed

                Unit: KilometersPerHour

                + */ + inline double GetMaxSpeed() const{ return m_maxSpeed; } + inline bool MaxSpeedHasBeenSet() const { return m_maxSpeedHasBeenSet; } + inline void SetMaxSpeed(double value) { m_maxSpeedHasBeenSet = true; m_maxSpeed = value; } + inline RouteMatrixTruckOptions& WithMaxSpeed(double value) { SetMaxSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                The number of occupants in the vehicle.

                Default Value: 1 + *

                + */ + inline int GetOccupancy() const{ return m_occupancy; } + inline bool OccupancyHasBeenSet() const { return m_occupancyHasBeenSet; } + inline void SetOccupancy(int value) { m_occupancyHasBeenSet = true; m_occupancy = value; } + inline RouteMatrixTruckOptions& WithOccupancy(int value) { SetOccupancy(value); return *this;} + ///@} + + ///@{ + /** + *

                Payload capacity of the vehicle and trailers attached.

                Unit: + * kilograms

                + */ + inline long long GetPayloadCapacity() const{ return m_payloadCapacity; } + inline bool PayloadCapacityHasBeenSet() const { return m_payloadCapacityHasBeenSet; } + inline void SetPayloadCapacity(long long value) { m_payloadCapacityHasBeenSet = true; m_payloadCapacity = value; } + inline RouteMatrixTruckOptions& WithPayloadCapacity(long long value) { SetPayloadCapacity(value); return *this;} + ///@} + + ///@{ + /** + *

                Trailer options corresponding to the vehicle.

                + */ + inline const RouteMatrixTrailerOptions& GetTrailer() const{ return m_trailer; } + inline bool TrailerHasBeenSet() const { return m_trailerHasBeenSet; } + inline void SetTrailer(const RouteMatrixTrailerOptions& value) { m_trailerHasBeenSet = true; m_trailer = value; } + inline void SetTrailer(RouteMatrixTrailerOptions&& value) { m_trailerHasBeenSet = true; m_trailer = std::move(value); } + inline RouteMatrixTruckOptions& WithTrailer(const RouteMatrixTrailerOptions& value) { SetTrailer(value); return *this;} + inline RouteMatrixTruckOptions& WithTrailer(RouteMatrixTrailerOptions&& value) { SetTrailer(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Type of the truck.

                + */ + inline const RouteMatrixTruckType& GetTruckType() const{ return m_truckType; } + inline bool TruckTypeHasBeenSet() const { return m_truckTypeHasBeenSet; } + inline void SetTruckType(const RouteMatrixTruckType& value) { m_truckTypeHasBeenSet = true; m_truckType = value; } + inline void SetTruckType(RouteMatrixTruckType&& value) { m_truckTypeHasBeenSet = true; m_truckType = std::move(value); } + inline RouteMatrixTruckOptions& WithTruckType(const RouteMatrixTruckType& value) { SetTruckType(value); return *this;} + inline RouteMatrixTruckOptions& WithTruckType(RouteMatrixTruckType&& value) { SetTruckType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The tunnel restriction code.

                Tunnel categories in this list indicate + * the restrictions which apply to certain tunnels in Great Britain. They relate to + * the types of dangerous goods that can be transported through them.

                • + *

                  Tunnel Category B

                  • Risk Level: Limited + * risk

                  • Restrictions: Few restrictions

                  + *
                • Tunnel Category C

                  • Risk Level: + * Medium risk

                  • Restrictions: Some restrictions

                  • + *
                • Tunnel Category D

                  • Risk + * Level: High risk

                  • Restrictions: Many restrictions + * occur

                • Tunnel Category E

                  • + * Risk Level: Very high risk

                  • Restrictions: + * Restricted tunnel

                + */ + inline const Aws::String& GetTunnelRestrictionCode() const{ return m_tunnelRestrictionCode; } + inline bool TunnelRestrictionCodeHasBeenSet() const { return m_tunnelRestrictionCodeHasBeenSet; } + inline void SetTunnelRestrictionCode(const Aws::String& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = value; } + inline void SetTunnelRestrictionCode(Aws::String&& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = std::move(value); } + inline void SetTunnelRestrictionCode(const char* value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode.assign(value); } + inline RouteMatrixTruckOptions& WithTunnelRestrictionCode(const Aws::String& value) { SetTunnelRestrictionCode(value); return *this;} + inline RouteMatrixTruckOptions& WithTunnelRestrictionCode(Aws::String&& value) { SetTunnelRestrictionCode(std::move(value)); return *this;} + inline RouteMatrixTruckOptions& WithTunnelRestrictionCode(const char* value) { SetTunnelRestrictionCode(value); return *this;} + ///@} + + ///@{ + /** + *

                Heaviest weight per axle irrespective of the axle type or the axle group. + * Meant for usage in countries where the differences in axle types or axle groups + * are not distinguished.

                Unit: Kilograms

                + */ + inline long long GetWeightPerAxle() const{ return m_weightPerAxle; } + inline bool WeightPerAxleHasBeenSet() const { return m_weightPerAxleHasBeenSet; } + inline void SetWeightPerAxle(long long value) { m_weightPerAxleHasBeenSet = true; m_weightPerAxle = value; } + inline RouteMatrixTruckOptions& WithWeightPerAxle(long long value) { SetWeightPerAxle(value); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the total weight for the specified axle group. Meant for usage in + * countries that have different regulations based on the axle group type.

                + */ + inline const WeightPerAxleGroup& GetWeightPerAxleGroup() const{ return m_weightPerAxleGroup; } + inline bool WeightPerAxleGroupHasBeenSet() const { return m_weightPerAxleGroupHasBeenSet; } + inline void SetWeightPerAxleGroup(const WeightPerAxleGroup& value) { m_weightPerAxleGroupHasBeenSet = true; m_weightPerAxleGroup = value; } + inline void SetWeightPerAxleGroup(WeightPerAxleGroup&& value) { m_weightPerAxleGroupHasBeenSet = true; m_weightPerAxleGroup = std::move(value); } + inline RouteMatrixTruckOptions& WithWeightPerAxleGroup(const WeightPerAxleGroup& value) { SetWeightPerAxleGroup(value); return *this;} + inline RouteMatrixTruckOptions& WithWeightPerAxleGroup(WeightPerAxleGroup&& value) { SetWeightPerAxleGroup(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Width of the vehicle.

                Unit: centimeters

                + */ + inline long long GetWidth() const{ return m_width; } + inline bool WidthHasBeenSet() const { return m_widthHasBeenSet; } + inline void SetWidth(long long value) { m_widthHasBeenSet = true; m_width = value; } + inline RouteMatrixTruckOptions& WithWidth(long long value) { SetWidth(value); return *this;} + ///@} + private: + + int m_axleCount; + bool m_axleCountHasBeenSet = false; + + long long m_grossWeight; + bool m_grossWeightHasBeenSet = false; + + Aws::Vector m_hazardousCargos; + bool m_hazardousCargosHasBeenSet = false; + + long long m_height; + bool m_heightHasBeenSet = false; + + long long m_kpraLength; + bool m_kpraLengthHasBeenSet = false; + + long long m_length; + bool m_lengthHasBeenSet = false; + + RouteMatrixVehicleLicensePlate m_licensePlate; + bool m_licensePlateHasBeenSet = false; + + double m_maxSpeed; + bool m_maxSpeedHasBeenSet = false; + + int m_occupancy; + bool m_occupancyHasBeenSet = false; + + long long m_payloadCapacity; + bool m_payloadCapacityHasBeenSet = false; + + RouteMatrixTrailerOptions m_trailer; + bool m_trailerHasBeenSet = false; + + RouteMatrixTruckType m_truckType; + bool m_truckTypeHasBeenSet = false; + + Aws::String m_tunnelRestrictionCode; + bool m_tunnelRestrictionCodeHasBeenSet = false; + + long long m_weightPerAxle; + bool m_weightPerAxleHasBeenSet = false; + + WeightPerAxleGroup m_weightPerAxleGroup; + bool m_weightPerAxleGroupHasBeenSet = false; + + long long m_width; + bool m_widthHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTruckType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTruckType.h new file mode 100644 index 00000000000..ee8705aeb1d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixTruckType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteMatrixTruckType + { + NOT_SET, + LightTruck, + StraightTruck, + Tractor + }; + +namespace RouteMatrixTruckTypeMapper +{ +AWS_GEOROUTES_API RouteMatrixTruckType GetRouteMatrixTruckTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteMatrixTruckType(RouteMatrixTruckType value); +} // namespace RouteMatrixTruckTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixVehicleLicensePlate.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixVehicleLicensePlate.h new file mode 100644 index 00000000000..fdf435b982e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixVehicleLicensePlate.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The vehicle License Plate.

                See Also:

                AWS + * API Reference

                + */ + class RouteMatrixVehicleLicensePlate + { + public: + AWS_GEOROUTES_API RouteMatrixVehicleLicensePlate(); + AWS_GEOROUTES_API RouteMatrixVehicleLicensePlate(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteMatrixVehicleLicensePlate& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The last character of the License Plate.

                + */ + inline const Aws::String& GetLastCharacter() const{ return m_lastCharacter; } + inline bool LastCharacterHasBeenSet() const { return m_lastCharacterHasBeenSet; } + inline void SetLastCharacter(const Aws::String& value) { m_lastCharacterHasBeenSet = true; m_lastCharacter = value; } + inline void SetLastCharacter(Aws::String&& value) { m_lastCharacterHasBeenSet = true; m_lastCharacter = std::move(value); } + inline void SetLastCharacter(const char* value) { m_lastCharacterHasBeenSet = true; m_lastCharacter.assign(value); } + inline RouteMatrixVehicleLicensePlate& WithLastCharacter(const Aws::String& value) { SetLastCharacter(value); return *this;} + inline RouteMatrixVehicleLicensePlate& WithLastCharacter(Aws::String&& value) { SetLastCharacter(std::move(value)); return *this;} + inline RouteMatrixVehicleLicensePlate& WithLastCharacter(const char* value) { SetLastCharacter(value); return *this;} + ///@} + private: + + Aws::String m_lastCharacter; + bool m_lastCharacterHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixZoneCategory.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixZoneCategory.h new file mode 100644 index 00000000000..b01acaacdc9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteMatrixZoneCategory.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteMatrixZoneCategory + { + NOT_SET, + CongestionPricing, + Environmental, + Vignette + }; + +namespace RouteMatrixZoneCategoryMapper +{ +AWS_GEOROUTES_API RouteMatrixZoneCategory GetRouteMatrixZoneCategoryForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteMatrixZoneCategory(RouteMatrixZoneCategory value); +} // namespace RouteMatrixZoneCategoryMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteNoticeDetailRange.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteNoticeDetailRange.h new file mode 100644 index 00000000000..b7f738b5eb7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteNoticeDetailRange.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Notice Detail that is a range.

                See Also:

                AWS + * API Reference

                + */ + class RouteNoticeDetailRange + { + public: + AWS_GEOROUTES_API RouteNoticeDetailRange(); + AWS_GEOROUTES_API RouteNoticeDetailRange(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteNoticeDetailRange& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Minimum value for the range.

                + */ + inline int GetMin() const{ return m_min; } + inline bool MinHasBeenSet() const { return m_minHasBeenSet; } + inline void SetMin(int value) { m_minHasBeenSet = true; m_min = value; } + inline RouteNoticeDetailRange& WithMin(int value) { SetMin(value); return *this;} + ///@} + + ///@{ + /** + *

                Maximum value for the range.

                + */ + inline int GetMax() const{ return m_max; } + inline bool MaxHasBeenSet() const { return m_maxHasBeenSet; } + inline void SetMax(int value) { m_maxHasBeenSet = true; m_max = value; } + inline RouteNoticeDetailRange& WithMax(int value) { SetMax(value); return *this;} + ///@} + private: + + int m_min; + bool m_minHasBeenSet = false; + + int m_max; + bool m_maxHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteNoticeImpact.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteNoticeImpact.h new file mode 100644 index 00000000000..a97ca1580e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteNoticeImpact.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteNoticeImpact + { + NOT_SET, + High, + Low + }; + +namespace RouteNoticeImpactMapper +{ +AWS_GEOROUTES_API RouteNoticeImpact GetRouteNoticeImpactForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteNoticeImpact(RouteNoticeImpact value); +} // namespace RouteNoticeImpactMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteNumber.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteNumber.h new file mode 100644 index 00000000000..70e743b14ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteNumber.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The route number.

                See Also:

                AWS + * API Reference

                + */ + class RouteNumber + { + public: + AWS_GEOROUTES_API RouteNumber(); + AWS_GEOROUTES_API RouteNumber(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteNumber& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Directional identifier of the route.

                + */ + inline const RouteDirection& GetDirection() const{ return m_direction; } + inline bool DirectionHasBeenSet() const { return m_directionHasBeenSet; } + inline void SetDirection(const RouteDirection& value) { m_directionHasBeenSet = true; m_direction = value; } + inline void SetDirection(RouteDirection&& value) { m_directionHasBeenSet = true; m_direction = std::move(value); } + inline RouteNumber& WithDirection(const RouteDirection& value) { SetDirection(value); return *this;} + inline RouteNumber& WithDirection(RouteDirection&& value) { SetDirection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                List of languages for instructions corresponding to the route number.

                + */ + inline const Aws::String& GetLanguage() const{ return m_language; } + inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } + inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } + inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } + inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } + inline RouteNumber& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} + inline RouteNumber& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} + inline RouteNumber& WithLanguage(const char* value) { SetLanguage(value); return *this;} + ///@} + + ///@{ + /** + *

                The route number.

                + */ + 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 RouteNumber& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline RouteNumber& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline RouteNumber& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + private: + + RouteDirection m_direction; + bool m_directionHasBeenSet = false; + + Aws::String m_language; + bool m_languageHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteOriginOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteOriginOptions.h new file mode 100644 index 00000000000..72213f36e02 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteOriginOptions.h @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Origin related options.

                See Also:

                AWS + * API Reference

                + */ + class RouteOriginOptions + { + public: + AWS_GEOROUTES_API RouteOriginOptions(); + AWS_GEOROUTES_API RouteOriginOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteOriginOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Avoids actions for the provided distance. This is typically to consider for + * users in moving vehicles who may not have sufficient time to make an action at + * an origin or a destination.

                + */ + inline long long GetAvoidActionsForDistance() const{ return m_avoidActionsForDistance; } + inline bool AvoidActionsForDistanceHasBeenSet() const { return m_avoidActionsForDistanceHasBeenSet; } + inline void SetAvoidActionsForDistance(long long value) { m_avoidActionsForDistanceHasBeenSet = true; m_avoidActionsForDistance = value; } + inline RouteOriginOptions& WithAvoidActionsForDistance(long long value) { SetAvoidActionsForDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid U-turns for calculation on highways and motorways.

                + */ + inline bool GetAvoidUTurns() const{ return m_avoidUTurns; } + inline bool AvoidUTurnsHasBeenSet() const { return m_avoidUTurnsHasBeenSet; } + inline void SetAvoidUTurns(bool value) { m_avoidUTurnsHasBeenSet = true; m_avoidUTurns = value; } + inline RouteOriginOptions& WithAvoidUTurns(bool value) { SetAvoidUTurns(value); return *this;} + ///@} + + ///@{ + /** + *

                GPS Heading at the position.

                + */ + inline double GetHeading() const{ return m_heading; } + inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; } + inline void SetHeading(double value) { m_headingHasBeenSet = true; m_heading = value; } + inline RouteOriginOptions& WithHeading(double value) { SetHeading(value); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to the road network.

                + */ + inline const RouteMatchingOptions& GetMatching() const{ return m_matching; } + inline bool MatchingHasBeenSet() const { return m_matchingHasBeenSet; } + inline void SetMatching(const RouteMatchingOptions& value) { m_matchingHasBeenSet = true; m_matching = value; } + inline void SetMatching(RouteMatchingOptions&& value) { m_matchingHasBeenSet = true; m_matching = std::move(value); } + inline RouteOriginOptions& WithMatching(const RouteMatchingOptions& value) { SetMatching(value); return *this;} + inline RouteOriginOptions& WithMatching(RouteMatchingOptions&& value) { SetMatching(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to a side of the + * street.

                + */ + inline const RouteSideOfStreetOptions& GetSideOfStreet() const{ return m_sideOfStreet; } + inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; } + inline void SetSideOfStreet(const RouteSideOfStreetOptions& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = value; } + inline void SetSideOfStreet(RouteSideOfStreetOptions&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::move(value); } + inline RouteOriginOptions& WithSideOfStreet(const RouteSideOfStreetOptions& value) { SetSideOfStreet(value); return *this;} + inline RouteOriginOptions& WithSideOfStreet(RouteSideOfStreetOptions&& value) { SetSideOfStreet(std::move(value)); return *this;} + ///@} + private: + + long long m_avoidActionsForDistance; + bool m_avoidActionsForDistanceHasBeenSet = false; + + bool m_avoidUTurns; + bool m_avoidUTurnsHasBeenSet = false; + + double m_heading; + bool m_headingHasBeenSet = false; + + RouteMatchingOptions m_matching; + bool m_matchingHasBeenSet = false; + + RouteSideOfStreetOptions m_sideOfStreet; + bool m_sideOfStreetHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePassThroughPlace.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePassThroughPlace.h new file mode 100644 index 00000000000..1e961595298 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePassThroughPlace.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The place where the waypoint is passed through and not treated as a + * stop.

                See Also:

                AWS + * API Reference

                + */ + class RoutePassThroughPlace + { + public: + AWS_GEOROUTES_API RoutePassThroughPlace(); + AWS_GEOROUTES_API RoutePassThroughPlace(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePassThroughPlace& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Position provided in the request.

                + */ + inline const Aws::Vector& GetOriginalPosition() const{ return m_originalPosition; } + inline bool OriginalPositionHasBeenSet() const { return m_originalPositionHasBeenSet; } + inline void SetOriginalPosition(const Aws::Vector& value) { m_originalPositionHasBeenSet = true; m_originalPosition = value; } + inline void SetOriginalPosition(Aws::Vector&& value) { m_originalPositionHasBeenSet = true; m_originalPosition = std::move(value); } + inline RoutePassThroughPlace& WithOriginalPosition(const Aws::Vector& value) { SetOriginalPosition(value); return *this;} + inline RoutePassThroughPlace& WithOriginalPosition(Aws::Vector&& value) { SetOriginalPosition(std::move(value)); return *this;} + inline RoutePassThroughPlace& AddOriginalPosition(double value) { m_originalPositionHasBeenSet = true; m_originalPosition.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline RoutePassThroughPlace& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline RoutePassThroughPlace& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline RoutePassThroughPlace& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Index of the waypoint in the request.

                + */ + inline int GetWaypointIndex() const{ return m_waypointIndex; } + inline bool WaypointIndexHasBeenSet() const { return m_waypointIndexHasBeenSet; } + inline void SetWaypointIndex(int value) { m_waypointIndexHasBeenSet = true; m_waypointIndex = value; } + inline RoutePassThroughPlace& WithWaypointIndex(int value) { SetWaypointIndex(value); return *this;} + ///@} + private: + + Aws::Vector m_originalPosition; + bool m_originalPositionHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + int m_waypointIndex; + bool m_waypointIndexHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePassThroughWaypoint.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePassThroughWaypoint.h new file mode 100644 index 00000000000..5cf3de5e146 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePassThroughWaypoint.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                If the waypoint should be treated as a stop. If yes, the route is split up + * into different legs around the stop.

                See Also:

                AWS + * API Reference

                + */ + class RoutePassThroughWaypoint + { + public: + AWS_GEOROUTES_API RoutePassThroughWaypoint(); + AWS_GEOROUTES_API RoutePassThroughWaypoint(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePassThroughWaypoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Offset in the leg geometry corresponding to the start of this step.

                + */ + inline int GetGeometryOffset() const{ return m_geometryOffset; } + inline bool GeometryOffsetHasBeenSet() const { return m_geometryOffsetHasBeenSet; } + inline void SetGeometryOffset(int value) { m_geometryOffsetHasBeenSet = true; m_geometryOffset = value; } + inline RoutePassThroughWaypoint& WithGeometryOffset(int value) { SetGeometryOffset(value); return *this;} + ///@} + + ///@{ + /** + *

                The place details.

                + */ + inline const RoutePassThroughPlace& GetPlace() const{ return m_place; } + inline bool PlaceHasBeenSet() const { return m_placeHasBeenSet; } + inline void SetPlace(const RoutePassThroughPlace& value) { m_placeHasBeenSet = true; m_place = value; } + inline void SetPlace(RoutePassThroughPlace&& value) { m_placeHasBeenSet = true; m_place = std::move(value); } + inline RoutePassThroughWaypoint& WithPlace(const RoutePassThroughPlace& value) { SetPlace(value); return *this;} + inline RoutePassThroughWaypoint& WithPlace(RoutePassThroughPlace&& value) { SetPlace(std::move(value)); return *this;} + ///@} + private: + + int m_geometryOffset; + bool m_geometryOffsetHasBeenSet = false; + + RoutePassThroughPlace m_place; + bool m_placeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianArrival.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianArrival.h new file mode 100644 index 00000000000..4da2486554e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianArrival.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details corresponding to the arrival for a leg.

                Time + * format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                See Also:

                AWS + * API Reference

                + */ + class RoutePedestrianArrival + { + public: + AWS_GEOROUTES_API RoutePedestrianArrival(); + AWS_GEOROUTES_API RoutePedestrianArrival(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePedestrianArrival& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The place details.

                + */ + inline const RoutePedestrianPlace& GetPlace() const{ return m_place; } + inline bool PlaceHasBeenSet() const { return m_placeHasBeenSet; } + inline void SetPlace(const RoutePedestrianPlace& value) { m_placeHasBeenSet = true; m_place = value; } + inline void SetPlace(RoutePedestrianPlace&& value) { m_placeHasBeenSet = true; m_place = std::move(value); } + inline RoutePedestrianArrival& WithPlace(const RoutePedestrianPlace& value) { SetPlace(value); return *this;} + inline RoutePedestrianArrival& WithPlace(RoutePedestrianPlace&& value) { SetPlace(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The time.

                + */ + inline const Aws::String& GetTime() const{ return m_time; } + inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } + inline void SetTime(const Aws::String& value) { m_timeHasBeenSet = true; m_time = value; } + inline void SetTime(Aws::String&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } + inline void SetTime(const char* value) { m_timeHasBeenSet = true; m_time.assign(value); } + inline RoutePedestrianArrival& WithTime(const Aws::String& value) { SetTime(value); return *this;} + inline RoutePedestrianArrival& WithTime(Aws::String&& value) { SetTime(std::move(value)); return *this;} + inline RoutePedestrianArrival& WithTime(const char* value) { SetTime(value); return *this;} + ///@} + private: + + RoutePedestrianPlace m_place; + bool m_placeHasBeenSet = false; + + Aws::String m_time; + bool m_timeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianDeparture.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianDeparture.h new file mode 100644 index 00000000000..8a28bbe30b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianDeparture.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details corresponding to the departure for a leg.

                Time + * format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                See Also:

                AWS + * API Reference

                + */ + class RoutePedestrianDeparture + { + public: + AWS_GEOROUTES_API RoutePedestrianDeparture(); + AWS_GEOROUTES_API RoutePedestrianDeparture(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePedestrianDeparture& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The place details.

                + */ + inline const RoutePedestrianPlace& GetPlace() const{ return m_place; } + inline bool PlaceHasBeenSet() const { return m_placeHasBeenSet; } + inline void SetPlace(const RoutePedestrianPlace& value) { m_placeHasBeenSet = true; m_place = value; } + inline void SetPlace(RoutePedestrianPlace&& value) { m_placeHasBeenSet = true; m_place = std::move(value); } + inline RoutePedestrianDeparture& WithPlace(const RoutePedestrianPlace& value) { SetPlace(value); return *this;} + inline RoutePedestrianDeparture& WithPlace(RoutePedestrianPlace&& value) { SetPlace(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The time.

                + */ + inline const Aws::String& GetTime() const{ return m_time; } + inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } + inline void SetTime(const Aws::String& value) { m_timeHasBeenSet = true; m_time = value; } + inline void SetTime(Aws::String&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } + inline void SetTime(const char* value) { m_timeHasBeenSet = true; m_time.assign(value); } + inline RoutePedestrianDeparture& WithTime(const Aws::String& value) { SetTime(value); return *this;} + inline RoutePedestrianDeparture& WithTime(Aws::String&& value) { SetTime(std::move(value)); return *this;} + inline RoutePedestrianDeparture& WithTime(const char* value) { SetTime(value); return *this;} + ///@} + private: + + RoutePedestrianPlace m_place; + bool m_placeHasBeenSet = false; + + Aws::String m_time; + bool m_timeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianLegDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianLegDetails.h new file mode 100644 index 00000000000..a4f764dfa70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianLegDetails.h @@ -0,0 +1,167 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details that are specific to a pedestrian leg.

                See Also:

                AWS + * API Reference

                + */ + class RoutePedestrianLegDetails + { + public: + AWS_GEOROUTES_API RoutePedestrianLegDetails(); + AWS_GEOROUTES_API RoutePedestrianLegDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePedestrianLegDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Details corresponding to the arrival for the leg.

                + */ + inline const RoutePedestrianArrival& GetArrival() const{ return m_arrival; } + inline bool ArrivalHasBeenSet() const { return m_arrivalHasBeenSet; } + inline void SetArrival(const RoutePedestrianArrival& value) { m_arrivalHasBeenSet = true; m_arrival = value; } + inline void SetArrival(RoutePedestrianArrival&& value) { m_arrivalHasBeenSet = true; m_arrival = std::move(value); } + inline RoutePedestrianLegDetails& WithArrival(const RoutePedestrianArrival& value) { SetArrival(value); return *this;} + inline RoutePedestrianLegDetails& WithArrival(RoutePedestrianArrival&& value) { SetArrival(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details corresponding to the departure for the leg.

                + */ + inline const RoutePedestrianDeparture& GetDeparture() const{ return m_departure; } + inline bool DepartureHasBeenSet() const { return m_departureHasBeenSet; } + inline void SetDeparture(const RoutePedestrianDeparture& value) { m_departureHasBeenSet = true; m_departure = value; } + inline void SetDeparture(RoutePedestrianDeparture&& value) { m_departureHasBeenSet = true; m_departure = std::move(value); } + inline RoutePedestrianLegDetails& WithDeparture(const RoutePedestrianDeparture& value) { SetDeparture(value); return *this;} + inline RoutePedestrianLegDetails& WithDeparture(RoutePedestrianDeparture&& value) { SetDeparture(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Notices are additional information returned that indicate issues that + * occurred during route calculation.

                + */ + inline const Aws::Vector& GetNotices() const{ return m_notices; } + inline bool NoticesHasBeenSet() const { return m_noticesHasBeenSet; } + inline void SetNotices(const Aws::Vector& value) { m_noticesHasBeenSet = true; m_notices = value; } + inline void SetNotices(Aws::Vector&& value) { m_noticesHasBeenSet = true; m_notices = std::move(value); } + inline RoutePedestrianLegDetails& WithNotices(const Aws::Vector& value) { SetNotices(value); return *this;} + inline RoutePedestrianLegDetails& WithNotices(Aws::Vector&& value) { SetNotices(std::move(value)); return *this;} + inline RoutePedestrianLegDetails& AddNotices(const RoutePedestrianNotice& value) { m_noticesHasBeenSet = true; m_notices.push_back(value); return *this; } + inline RoutePedestrianLegDetails& AddNotices(RoutePedestrianNotice&& value) { m_noticesHasBeenSet = true; m_notices.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Waypoints that were passed through during the leg. This includes the + * waypoints that were configured with the PassThrough option.

                + */ + inline const Aws::Vector& GetPassThroughWaypoints() const{ return m_passThroughWaypoints; } + inline bool PassThroughWaypointsHasBeenSet() const { return m_passThroughWaypointsHasBeenSet; } + inline void SetPassThroughWaypoints(const Aws::Vector& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints = value; } + inline void SetPassThroughWaypoints(Aws::Vector&& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints = std::move(value); } + inline RoutePedestrianLegDetails& WithPassThroughWaypoints(const Aws::Vector& value) { SetPassThroughWaypoints(value); return *this;} + inline RoutePedestrianLegDetails& WithPassThroughWaypoints(Aws::Vector&& value) { SetPassThroughWaypoints(std::move(value)); return *this;} + inline RoutePedestrianLegDetails& AddPassThroughWaypoints(const RoutePassThroughWaypoint& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints.push_back(value); return *this; } + inline RoutePedestrianLegDetails& AddPassThroughWaypoints(RoutePassThroughWaypoint&& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Spans that were computed for the requested SpanAdditionalFeatures.

                + */ + inline const Aws::Vector& GetSpans() const{ return m_spans; } + inline bool SpansHasBeenSet() const { return m_spansHasBeenSet; } + inline void SetSpans(const Aws::Vector& value) { m_spansHasBeenSet = true; m_spans = value; } + inline void SetSpans(Aws::Vector&& value) { m_spansHasBeenSet = true; m_spans = std::move(value); } + inline RoutePedestrianLegDetails& WithSpans(const Aws::Vector& value) { SetSpans(value); return *this;} + inline RoutePedestrianLegDetails& WithSpans(Aws::Vector&& value) { SetSpans(std::move(value)); return *this;} + inline RoutePedestrianLegDetails& AddSpans(const RoutePedestrianSpan& value) { m_spansHasBeenSet = true; m_spans.push_back(value); return *this; } + inline RoutePedestrianLegDetails& AddSpans(RoutePedestrianSpan&& value) { m_spansHasBeenSet = true; m_spans.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Summarized details of the leg.

                + */ + inline const RoutePedestrianSummary& GetSummary() const{ return m_summary; } + inline bool SummaryHasBeenSet() const { return m_summaryHasBeenSet; } + inline void SetSummary(const RoutePedestrianSummary& value) { m_summaryHasBeenSet = true; m_summary = value; } + inline void SetSummary(RoutePedestrianSummary&& value) { m_summaryHasBeenSet = true; m_summary = std::move(value); } + inline RoutePedestrianLegDetails& WithSummary(const RoutePedestrianSummary& value) { SetSummary(value); return *this;} + inline RoutePedestrianLegDetails& WithSummary(RoutePedestrianSummary&& value) { SetSummary(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Steps of a leg that must be performed before the travel portion of the + * leg.

                + */ + inline const Aws::Vector& GetTravelSteps() const{ return m_travelSteps; } + inline bool TravelStepsHasBeenSet() const { return m_travelStepsHasBeenSet; } + inline void SetTravelSteps(const Aws::Vector& value) { m_travelStepsHasBeenSet = true; m_travelSteps = value; } + inline void SetTravelSteps(Aws::Vector&& value) { m_travelStepsHasBeenSet = true; m_travelSteps = std::move(value); } + inline RoutePedestrianLegDetails& WithTravelSteps(const Aws::Vector& value) { SetTravelSteps(value); return *this;} + inline RoutePedestrianLegDetails& WithTravelSteps(Aws::Vector&& value) { SetTravelSteps(std::move(value)); return *this;} + inline RoutePedestrianLegDetails& AddTravelSteps(const RoutePedestrianTravelStep& value) { m_travelStepsHasBeenSet = true; m_travelSteps.push_back(value); return *this; } + inline RoutePedestrianLegDetails& AddTravelSteps(RoutePedestrianTravelStep&& value) { m_travelStepsHasBeenSet = true; m_travelSteps.push_back(std::move(value)); return *this; } + ///@} + private: + + RoutePedestrianArrival m_arrival; + bool m_arrivalHasBeenSet = false; + + RoutePedestrianDeparture m_departure; + bool m_departureHasBeenSet = false; + + Aws::Vector m_notices; + bool m_noticesHasBeenSet = false; + + Aws::Vector m_passThroughWaypoints; + bool m_passThroughWaypointsHasBeenSet = false; + + Aws::Vector m_spans; + bool m_spansHasBeenSet = false; + + RoutePedestrianSummary m_summary; + bool m_summaryHasBeenSet = false; + + Aws::Vector m_travelSteps; + bool m_travelStepsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianNotice.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianNotice.h new file mode 100644 index 00000000000..d6204cb7442 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianNotice.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Notices are additional information returned that indicate issues that + * occurred during route calculation.

                See Also:

                AWS + * API Reference

                + */ + class RoutePedestrianNotice + { + public: + AWS_GEOROUTES_API RoutePedestrianNotice(); + AWS_GEOROUTES_API RoutePedestrianNotice(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePedestrianNotice& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Code corresponding to the issue.

                + */ + inline const RoutePedestrianNoticeCode& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const RoutePedestrianNoticeCode& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(RoutePedestrianNoticeCode&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline RoutePedestrianNotice& WithCode(const RoutePedestrianNoticeCode& value) { SetCode(value); return *this;} + inline RoutePedestrianNotice& WithCode(RoutePedestrianNoticeCode&& value) { SetCode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Impact corresponding to the issue. While Low impact notices can be safely + * ignored, High impact notices must be evaluated further to determine the + * impact.

                + */ + inline const RouteNoticeImpact& GetImpact() const{ return m_impact; } + inline bool ImpactHasBeenSet() const { return m_impactHasBeenSet; } + inline void SetImpact(const RouteNoticeImpact& value) { m_impactHasBeenSet = true; m_impact = value; } + inline void SetImpact(RouteNoticeImpact&& value) { m_impactHasBeenSet = true; m_impact = std::move(value); } + inline RoutePedestrianNotice& WithImpact(const RouteNoticeImpact& value) { SetImpact(value); return *this;} + inline RoutePedestrianNotice& WithImpact(RouteNoticeImpact&& value) { SetImpact(std::move(value)); return *this;} + ///@} + private: + + RoutePedestrianNoticeCode m_code; + bool m_codeHasBeenSet = false; + + RouteNoticeImpact m_impact; + bool m_impactHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianNoticeCode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianNoticeCode.h new file mode 100644 index 00000000000..b83a3e80022 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianNoticeCode.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RoutePedestrianNoticeCode + { + NOT_SET, + AccuratePolylineUnavailable, + Other, + ViolatedAvoidDirtRoad, + ViolatedAvoidTunnel, + ViolatedPedestrianOption + }; + +namespace RoutePedestrianNoticeCodeMapper +{ +AWS_GEOROUTES_API RoutePedestrianNoticeCode GetRoutePedestrianNoticeCodeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRoutePedestrianNoticeCode(RoutePedestrianNoticeCode value); +} // namespace RoutePedestrianNoticeCodeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianOptions.h new file mode 100644 index 00000000000..2444130e110 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianOptions.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to the pedestrian.

                See Also:

                AWS + * API Reference

                + */ + class RoutePedestrianOptions + { + public: + AWS_GEOROUTES_API RoutePedestrianOptions(); + AWS_GEOROUTES_API RoutePedestrianOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePedestrianOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Walking speed in Kilometers per hour.

                + */ + inline double GetSpeed() const{ return m_speed; } + inline bool SpeedHasBeenSet() const { return m_speedHasBeenSet; } + inline void SetSpeed(double value) { m_speedHasBeenSet = true; m_speed = value; } + inline RoutePedestrianOptions& WithSpeed(double value) { SetSpeed(value); return *this;} + ///@} + private: + + double m_speed; + bool m_speedHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianOverviewSummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianOverviewSummary.h new file mode 100644 index 00000000000..6b9701678e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianOverviewSummary.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Provides a summary of a pedestrian route step.

                See Also:

                AWS + * API Reference

                + */ + class RoutePedestrianOverviewSummary + { + public: + AWS_GEOROUTES_API RoutePedestrianOverviewSummary(); + AWS_GEOROUTES_API RoutePedestrianOverviewSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePedestrianOverviewSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Distance of the step.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline RoutePedestrianOverviewSummary& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the step.

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RoutePedestrianOverviewSummary& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + private: + + long long m_distance; + bool m_distanceHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianPlace.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianPlace.h new file mode 100644 index 00000000000..1e41a007bf1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianPlace.h @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Place details corresponding to the arrival or departure.

                See + * Also:

                AWS + * API Reference

                + */ + class RoutePedestrianPlace + { + public: + AWS_GEOROUTES_API RoutePedestrianPlace(); + AWS_GEOROUTES_API RoutePedestrianPlace(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePedestrianPlace& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The name of the place.

                + */ + 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 RoutePedestrianPlace& WithName(const Aws::String& value) { SetName(value); return *this;} + inline RoutePedestrianPlace& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline RoutePedestrianPlace& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                Position provided in the request.

                + */ + inline const Aws::Vector& GetOriginalPosition() const{ return m_originalPosition; } + inline bool OriginalPositionHasBeenSet() const { return m_originalPositionHasBeenSet; } + inline void SetOriginalPosition(const Aws::Vector& value) { m_originalPositionHasBeenSet = true; m_originalPosition = value; } + inline void SetOriginalPosition(Aws::Vector&& value) { m_originalPositionHasBeenSet = true; m_originalPosition = std::move(value); } + inline RoutePedestrianPlace& WithOriginalPosition(const Aws::Vector& value) { SetOriginalPosition(value); return *this;} + inline RoutePedestrianPlace& WithOriginalPosition(Aws::Vector&& value) { SetOriginalPosition(std::move(value)); return *this;} + inline RoutePedestrianPlace& AddOriginalPosition(double value) { m_originalPositionHasBeenSet = true; m_originalPosition.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline RoutePedestrianPlace& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline RoutePedestrianPlace& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline RoutePedestrianPlace& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to a side of the + * street.

                + */ + inline const RouteSideOfStreet& GetSideOfStreet() const{ return m_sideOfStreet; } + inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; } + inline void SetSideOfStreet(const RouteSideOfStreet& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = value; } + inline void SetSideOfStreet(RouteSideOfStreet&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::move(value); } + inline RoutePedestrianPlace& WithSideOfStreet(const RouteSideOfStreet& value) { SetSideOfStreet(value); return *this;} + inline RoutePedestrianPlace& WithSideOfStreet(RouteSideOfStreet&& value) { SetSideOfStreet(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Index of the waypoint in the request.

                + */ + inline int GetWaypointIndex() const{ return m_waypointIndex; } + inline bool WaypointIndexHasBeenSet() const { return m_waypointIndexHasBeenSet; } + inline void SetWaypointIndex(int value) { m_waypointIndexHasBeenSet = true; m_waypointIndex = value; } + inline RoutePedestrianPlace& WithWaypointIndex(int value) { SetWaypointIndex(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_originalPosition; + bool m_originalPositionHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + RouteSideOfStreet m_sideOfStreet; + bool m_sideOfStreetHasBeenSet = false; + + int m_waypointIndex; + bool m_waypointIndexHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianSpan.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianSpan.h new file mode 100644 index 00000000000..21f17822de8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianSpan.h @@ -0,0 +1,287 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Span computed for the requested SpanAdditionalFeatures.

                See + * Also:

                AWS + * API Reference

                + */ + class RoutePedestrianSpan + { + public: + AWS_GEOROUTES_API RoutePedestrianSpan(); + AWS_GEOROUTES_API RoutePedestrianSpan(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePedestrianSpan& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Duration of the computed span without traffic congestion.

                + * Unit: seconds

                + */ + inline long long GetBestCaseDuration() const{ return m_bestCaseDuration; } + inline bool BestCaseDurationHasBeenSet() const { return m_bestCaseDurationHasBeenSet; } + inline void SetBestCaseDuration(long long value) { m_bestCaseDurationHasBeenSet = true; m_bestCaseDuration = value; } + inline RoutePedestrianSpan& WithBestCaseDuration(long long value) { SetBestCaseDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                3 letter Country code corresponding to the Span.

                + */ + inline const Aws::String& GetCountry() const{ return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + inline void SetCountry(const Aws::String& value) { m_countryHasBeenSet = true; m_country = value; } + inline void SetCountry(Aws::String&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } + inline void SetCountry(const char* value) { m_countryHasBeenSet = true; m_country.assign(value); } + inline RoutePedestrianSpan& WithCountry(const Aws::String& value) { SetCountry(value); return *this;} + inline RoutePedestrianSpan& WithCountry(Aws::String&& value) { SetCountry(std::move(value)); return *this;} + inline RoutePedestrianSpan& WithCountry(const char* value) { SetCountry(value); return *this;} + ///@} + + ///@{ + /** + *

                Distance of the computed span. This feature doesn't split a span, but is + * always computed on a span split by other properties.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline RoutePedestrianSpan& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the computed span. This feature doesn't split a span, but is + * always computed on a span split by other properties.

                Unit: + * seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RoutePedestrianSpan& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Dynamic speed details corresponding to the span.

                Unit: + * KilometersPerHour

                + */ + inline const RouteSpanDynamicSpeedDetails& GetDynamicSpeed() const{ return m_dynamicSpeed; } + inline bool DynamicSpeedHasBeenSet() const { return m_dynamicSpeedHasBeenSet; } + inline void SetDynamicSpeed(const RouteSpanDynamicSpeedDetails& value) { m_dynamicSpeedHasBeenSet = true; m_dynamicSpeed = value; } + inline void SetDynamicSpeed(RouteSpanDynamicSpeedDetails&& value) { m_dynamicSpeedHasBeenSet = true; m_dynamicSpeed = std::move(value); } + inline RoutePedestrianSpan& WithDynamicSpeed(const RouteSpanDynamicSpeedDetails& value) { SetDynamicSpeed(value); return *this;} + inline RoutePedestrianSpan& WithDynamicSpeed(RouteSpanDynamicSpeedDetails&& value) { SetDynamicSpeed(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Functional classification of the road segment corresponding to the span.

                + */ + inline int GetFunctionalClassification() const{ return m_functionalClassification; } + inline bool FunctionalClassificationHasBeenSet() const { return m_functionalClassificationHasBeenSet; } + inline void SetFunctionalClassification(int value) { m_functionalClassificationHasBeenSet = true; m_functionalClassification = value; } + inline RoutePedestrianSpan& WithFunctionalClassification(int value) { SetFunctionalClassification(value); return *this;} + ///@} + + ///@{ + /** + *

                Offset in the leg geometry corresponding to the start of this span.

                + */ + inline int GetGeometryOffset() const{ return m_geometryOffset; } + inline bool GeometryOffsetHasBeenSet() const { return m_geometryOffsetHasBeenSet; } + inline void SetGeometryOffset(int value) { m_geometryOffsetHasBeenSet = true; m_geometryOffset = value; } + inline RoutePedestrianSpan& WithGeometryOffset(int value) { SetGeometryOffset(value); return *this;} + ///@} + + ///@{ + /** + *

                Incidents corresponding to the span. These index into the Incidents in the + * parent Leg.

                + */ + inline const Aws::Vector& GetIncidents() const{ return m_incidents; } + inline bool IncidentsHasBeenSet() const { return m_incidentsHasBeenSet; } + inline void SetIncidents(const Aws::Vector& value) { m_incidentsHasBeenSet = true; m_incidents = value; } + inline void SetIncidents(Aws::Vector&& value) { m_incidentsHasBeenSet = true; m_incidents = std::move(value); } + inline RoutePedestrianSpan& WithIncidents(const Aws::Vector& value) { SetIncidents(value); return *this;} + inline RoutePedestrianSpan& WithIncidents(Aws::Vector&& value) { SetIncidents(std::move(value)); return *this;} + inline RoutePedestrianSpan& AddIncidents(int value) { m_incidentsHasBeenSet = true; m_incidents.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Provides an array of names of the pedestrian span in available languages.

                + */ + inline const Aws::Vector& GetNames() const{ return m_names; } + inline bool NamesHasBeenSet() const { return m_namesHasBeenSet; } + inline void SetNames(const Aws::Vector& value) { m_namesHasBeenSet = true; m_names = value; } + inline void SetNames(Aws::Vector&& value) { m_namesHasBeenSet = true; m_names = std::move(value); } + inline RoutePedestrianSpan& WithNames(const Aws::Vector& value) { SetNames(value); return *this;} + inline RoutePedestrianSpan& WithNames(Aws::Vector&& value) { SetNames(std::move(value)); return *this;} + inline RoutePedestrianSpan& AddNames(const LocalizedString& value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; } + inline RoutePedestrianSpan& AddNames(LocalizedString&& value) { m_namesHasBeenSet = true; m_names.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Access attributes for a pedestrian corresponding to the span.

                + */ + inline const Aws::Vector& GetPedestrianAccess() const{ return m_pedestrianAccess; } + inline bool PedestrianAccessHasBeenSet() const { return m_pedestrianAccessHasBeenSet; } + inline void SetPedestrianAccess(const Aws::Vector& value) { m_pedestrianAccessHasBeenSet = true; m_pedestrianAccess = value; } + inline void SetPedestrianAccess(Aws::Vector&& value) { m_pedestrianAccessHasBeenSet = true; m_pedestrianAccess = std::move(value); } + inline RoutePedestrianSpan& WithPedestrianAccess(const Aws::Vector& value) { SetPedestrianAccess(value); return *this;} + inline RoutePedestrianSpan& WithPedestrianAccess(Aws::Vector&& value) { SetPedestrianAccess(std::move(value)); return *this;} + inline RoutePedestrianSpan& AddPedestrianAccess(const RouteSpanPedestrianAccessAttribute& value) { m_pedestrianAccessHasBeenSet = true; m_pedestrianAccess.push_back(value); return *this; } + inline RoutePedestrianSpan& AddPedestrianAccess(RouteSpanPedestrianAccessAttribute&& value) { m_pedestrianAccessHasBeenSet = true; m_pedestrianAccess.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                2-3 letter Region code corresponding to the Span. This is either a province + * or a state.

                + */ + inline const Aws::String& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + inline RoutePedestrianSpan& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + inline RoutePedestrianSpan& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + inline RoutePedestrianSpan& WithRegion(const char* value) { SetRegion(value); return *this;} + ///@} + + ///@{ + /** + *

                Attributes for the road segment corresponding to the span.

                + */ + inline const Aws::Vector& GetRoadAttributes() const{ return m_roadAttributes; } + inline bool RoadAttributesHasBeenSet() const { return m_roadAttributesHasBeenSet; } + inline void SetRoadAttributes(const Aws::Vector& value) { m_roadAttributesHasBeenSet = true; m_roadAttributes = value; } + inline void SetRoadAttributes(Aws::Vector&& value) { m_roadAttributesHasBeenSet = true; m_roadAttributes = std::move(value); } + inline RoutePedestrianSpan& WithRoadAttributes(const Aws::Vector& value) { SetRoadAttributes(value); return *this;} + inline RoutePedestrianSpan& WithRoadAttributes(Aws::Vector&& value) { SetRoadAttributes(std::move(value)); return *this;} + inline RoutePedestrianSpan& AddRoadAttributes(const RouteSpanRoadAttribute& value) { m_roadAttributesHasBeenSet = true; m_roadAttributes.push_back(value); return *this; } + inline RoutePedestrianSpan& AddRoadAttributes(RouteSpanRoadAttribute&& value) { m_roadAttributesHasBeenSet = true; m_roadAttributes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Designated route name or number corresponding to the span.

                + */ + inline const Aws::Vector& GetRouteNumbers() const{ return m_routeNumbers; } + inline bool RouteNumbersHasBeenSet() const { return m_routeNumbersHasBeenSet; } + inline void SetRouteNumbers(const Aws::Vector& value) { m_routeNumbersHasBeenSet = true; m_routeNumbers = value; } + inline void SetRouteNumbers(Aws::Vector&& value) { m_routeNumbersHasBeenSet = true; m_routeNumbers = std::move(value); } + inline RoutePedestrianSpan& WithRouteNumbers(const Aws::Vector& value) { SetRouteNumbers(value); return *this;} + inline RoutePedestrianSpan& WithRouteNumbers(Aws::Vector&& value) { SetRouteNumbers(std::move(value)); return *this;} + inline RoutePedestrianSpan& AddRouteNumbers(const RouteNumber& value) { m_routeNumbersHasBeenSet = true; m_routeNumbers.push_back(value); return *this; } + inline RoutePedestrianSpan& AddRouteNumbers(RouteNumber&& value) { m_routeNumbersHasBeenSet = true; m_routeNumbers.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Speed limit details corresponding to the span.

                Unit: + * KilometersPerHour

                + */ + inline const RouteSpanSpeedLimitDetails& GetSpeedLimit() const{ return m_speedLimit; } + inline bool SpeedLimitHasBeenSet() const { return m_speedLimitHasBeenSet; } + inline void SetSpeedLimit(const RouteSpanSpeedLimitDetails& value) { m_speedLimitHasBeenSet = true; m_speedLimit = value; } + inline void SetSpeedLimit(RouteSpanSpeedLimitDetails&& value) { m_speedLimitHasBeenSet = true; m_speedLimit = std::move(value); } + inline RoutePedestrianSpan& WithSpeedLimit(const RouteSpanSpeedLimitDetails& value) { SetSpeedLimit(value); return *this;} + inline RoutePedestrianSpan& WithSpeedLimit(RouteSpanSpeedLimitDetails&& value) { SetSpeedLimit(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the computed span under typical traffic congestion.

                + * Unit: seconds

                + */ + inline long long GetTypicalDuration() const{ return m_typicalDuration; } + inline bool TypicalDurationHasBeenSet() const { return m_typicalDurationHasBeenSet; } + inline void SetTypicalDuration(long long value) { m_typicalDurationHasBeenSet = true; m_typicalDuration = value; } + inline RoutePedestrianSpan& WithTypicalDuration(long long value) { SetTypicalDuration(value); return *this;} + ///@} + private: + + long long m_bestCaseDuration; + bool m_bestCaseDurationHasBeenSet = false; + + Aws::String m_country; + bool m_countryHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + + RouteSpanDynamicSpeedDetails m_dynamicSpeed; + bool m_dynamicSpeedHasBeenSet = false; + + int m_functionalClassification; + bool m_functionalClassificationHasBeenSet = false; + + int m_geometryOffset; + bool m_geometryOffsetHasBeenSet = false; + + Aws::Vector m_incidents; + bool m_incidentsHasBeenSet = false; + + Aws::Vector m_names; + bool m_namesHasBeenSet = false; + + Aws::Vector m_pedestrianAccess; + bool m_pedestrianAccessHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + Aws::Vector m_roadAttributes; + bool m_roadAttributesHasBeenSet = false; + + Aws::Vector m_routeNumbers; + bool m_routeNumbersHasBeenSet = false; + + RouteSpanSpeedLimitDetails m_speedLimit; + bool m_speedLimitHasBeenSet = false; + + long long m_typicalDuration; + bool m_typicalDurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianSummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianSummary.h new file mode 100644 index 00000000000..137ba7ab117 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianSummary.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Summarized details for the leg including before travel, travel and after + * travel steps.

                See Also:

                AWS + * API Reference

                + */ + class RoutePedestrianSummary + { + public: + AWS_GEOROUTES_API RoutePedestrianSummary(); + AWS_GEOROUTES_API RoutePedestrianSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePedestrianSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Summarized details for the leg including before travel, travel and after + * travel steps.

                + */ + inline const RoutePedestrianOverviewSummary& GetOverview() const{ return m_overview; } + inline bool OverviewHasBeenSet() const { return m_overviewHasBeenSet; } + inline void SetOverview(const RoutePedestrianOverviewSummary& value) { m_overviewHasBeenSet = true; m_overview = value; } + inline void SetOverview(RoutePedestrianOverviewSummary&& value) { m_overviewHasBeenSet = true; m_overview = std::move(value); } + inline RoutePedestrianSummary& WithOverview(const RoutePedestrianOverviewSummary& value) { SetOverview(value); return *this;} + inline RoutePedestrianSummary& WithOverview(RoutePedestrianOverviewSummary&& value) { SetOverview(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Summarized details for the leg including travel steps only. The Distance for + * the travel only portion of the journey is in meters

                + */ + inline const RoutePedestrianTravelOnlySummary& GetTravelOnly() const{ return m_travelOnly; } + inline bool TravelOnlyHasBeenSet() const { return m_travelOnlyHasBeenSet; } + inline void SetTravelOnly(const RoutePedestrianTravelOnlySummary& value) { m_travelOnlyHasBeenSet = true; m_travelOnly = value; } + inline void SetTravelOnly(RoutePedestrianTravelOnlySummary&& value) { m_travelOnlyHasBeenSet = true; m_travelOnly = std::move(value); } + inline RoutePedestrianSummary& WithTravelOnly(const RoutePedestrianTravelOnlySummary& value) { SetTravelOnly(value); return *this;} + inline RoutePedestrianSummary& WithTravelOnly(RoutePedestrianTravelOnlySummary&& value) { SetTravelOnly(std::move(value)); return *this;} + ///@} + private: + + RoutePedestrianOverviewSummary m_overview; + bool m_overviewHasBeenSet = false; + + RoutePedestrianTravelOnlySummary m_travelOnly; + bool m_travelOnlyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianTravelOnlySummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianTravelOnlySummary.h new file mode 100644 index 00000000000..2f95ec9f1dc --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianTravelOnlySummary.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Summarized details for the leg including travel steps.

                See + * Also:

                AWS + * API Reference

                + */ + class RoutePedestrianTravelOnlySummary + { + public: + AWS_GEOROUTES_API RoutePedestrianTravelOnlySummary(); + AWS_GEOROUTES_API RoutePedestrianTravelOnlySummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePedestrianTravelOnlySummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Duration of the step.

                Unit: seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RoutePedestrianTravelOnlySummary& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + private: + + long long m_duration; + bool m_durationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianTravelStep.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianTravelStep.h new file mode 100644 index 00000000000..4d03a97b890 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianTravelStep.h @@ -0,0 +1,281 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Steps of a leg that must be performed during the travel portion of the + * leg.

                See Also:

                AWS + * API Reference

                + */ + class RoutePedestrianTravelStep + { + public: + AWS_GEOROUTES_API RoutePedestrianTravelStep(); + AWS_GEOROUTES_API RoutePedestrianTravelStep(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RoutePedestrianTravelStep& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Details related to the continue step.

                + */ + inline const RouteContinueStepDetails& GetContinueStepDetails() const{ return m_continueStepDetails; } + inline bool ContinueStepDetailsHasBeenSet() const { return m_continueStepDetailsHasBeenSet; } + inline void SetContinueStepDetails(const RouteContinueStepDetails& value) { m_continueStepDetailsHasBeenSet = true; m_continueStepDetails = value; } + inline void SetContinueStepDetails(RouteContinueStepDetails&& value) { m_continueStepDetailsHasBeenSet = true; m_continueStepDetails = std::move(value); } + inline RoutePedestrianTravelStep& WithContinueStepDetails(const RouteContinueStepDetails& value) { SetContinueStepDetails(value); return *this;} + inline RoutePedestrianTravelStep& WithContinueStepDetails(RouteContinueStepDetails&& value) { SetContinueStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details of the current road. See RouteRoad for details of sub-attributes.

                + */ + inline const RouteRoad& GetCurrentRoad() const{ return m_currentRoad; } + inline bool CurrentRoadHasBeenSet() const { return m_currentRoadHasBeenSet; } + inline void SetCurrentRoad(const RouteRoad& value) { m_currentRoadHasBeenSet = true; m_currentRoad = value; } + inline void SetCurrentRoad(RouteRoad&& value) { m_currentRoadHasBeenSet = true; m_currentRoad = std::move(value); } + inline RoutePedestrianTravelStep& WithCurrentRoad(const RouteRoad& value) { SetCurrentRoad(value); return *this;} + inline RoutePedestrianTravelStep& WithCurrentRoad(RouteRoad&& value) { SetCurrentRoad(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Distance of the step.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline RoutePedestrianTravelStep& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the step.

                Unit: seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RoutePedestrianTravelStep& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Exit number of the road exit, if applicable.

                + */ + inline const Aws::Vector& GetExitNumber() const{ return m_exitNumber; } + inline bool ExitNumberHasBeenSet() const { return m_exitNumberHasBeenSet; } + inline void SetExitNumber(const Aws::Vector& value) { m_exitNumberHasBeenSet = true; m_exitNumber = value; } + inline void SetExitNumber(Aws::Vector&& value) { m_exitNumberHasBeenSet = true; m_exitNumber = std::move(value); } + inline RoutePedestrianTravelStep& WithExitNumber(const Aws::Vector& value) { SetExitNumber(value); return *this;} + inline RoutePedestrianTravelStep& WithExitNumber(Aws::Vector&& value) { SetExitNumber(std::move(value)); return *this;} + inline RoutePedestrianTravelStep& AddExitNumber(const LocalizedString& value) { m_exitNumberHasBeenSet = true; m_exitNumber.push_back(value); return *this; } + inline RoutePedestrianTravelStep& AddExitNumber(LocalizedString&& value) { m_exitNumberHasBeenSet = true; m_exitNumber.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Offset in the leg geometry corresponding to the start of this step.

                + */ + inline int GetGeometryOffset() const{ return m_geometryOffset; } + inline bool GeometryOffsetHasBeenSet() const { return m_geometryOffsetHasBeenSet; } + inline void SetGeometryOffset(int value) { m_geometryOffsetHasBeenSet = true; m_geometryOffset = value; } + inline RoutePedestrianTravelStep& WithGeometryOffset(int value) { SetGeometryOffset(value); return *this;} + ///@} + + ///@{ + /** + *

                Brief description of the step in the requested language.

                Only + * available when the TravelStepType is Default.

                + */ + inline const Aws::String& GetInstruction() const{ return m_instruction; } + inline bool InstructionHasBeenSet() const { return m_instructionHasBeenSet; } + inline void SetInstruction(const Aws::String& value) { m_instructionHasBeenSet = true; m_instruction = value; } + inline void SetInstruction(Aws::String&& value) { m_instructionHasBeenSet = true; m_instruction = std::move(value); } + inline void SetInstruction(const char* value) { m_instructionHasBeenSet = true; m_instruction.assign(value); } + inline RoutePedestrianTravelStep& WithInstruction(const Aws::String& value) { SetInstruction(value); return *this;} + inline RoutePedestrianTravelStep& WithInstruction(Aws::String&& value) { SetInstruction(std::move(value)); return *this;} + inline RoutePedestrianTravelStep& WithInstruction(const char* value) { SetInstruction(value); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Keep step.

                + */ + inline const RouteKeepStepDetails& GetKeepStepDetails() const{ return m_keepStepDetails; } + inline bool KeepStepDetailsHasBeenSet() const { return m_keepStepDetailsHasBeenSet; } + inline void SetKeepStepDetails(const RouteKeepStepDetails& value) { m_keepStepDetailsHasBeenSet = true; m_keepStepDetails = value; } + inline void SetKeepStepDetails(RouteKeepStepDetails&& value) { m_keepStepDetailsHasBeenSet = true; m_keepStepDetails = std::move(value); } + inline RoutePedestrianTravelStep& WithKeepStepDetails(const RouteKeepStepDetails& value) { SetKeepStepDetails(value); return *this;} + inline RoutePedestrianTravelStep& WithKeepStepDetails(RouteKeepStepDetails&& value) { SetKeepStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details of the next road. See RouteRoad for details of sub-attributes.

                + */ + inline const RouteRoad& GetNextRoad() const{ return m_nextRoad; } + inline bool NextRoadHasBeenSet() const { return m_nextRoadHasBeenSet; } + inline void SetNextRoad(const RouteRoad& value) { m_nextRoadHasBeenSet = true; m_nextRoad = value; } + inline void SetNextRoad(RouteRoad&& value) { m_nextRoadHasBeenSet = true; m_nextRoad = std::move(value); } + inline RoutePedestrianTravelStep& WithNextRoad(const RouteRoad& value) { SetNextRoad(value); return *this;} + inline RoutePedestrianTravelStep& WithNextRoad(RouteRoad&& value) { SetNextRoad(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Roundabout Enter step.

                + */ + inline const RouteRoundaboutEnterStepDetails& GetRoundaboutEnterStepDetails() const{ return m_roundaboutEnterStepDetails; } + inline bool RoundaboutEnterStepDetailsHasBeenSet() const { return m_roundaboutEnterStepDetailsHasBeenSet; } + inline void SetRoundaboutEnterStepDetails(const RouteRoundaboutEnterStepDetails& value) { m_roundaboutEnterStepDetailsHasBeenSet = true; m_roundaboutEnterStepDetails = value; } + inline void SetRoundaboutEnterStepDetails(RouteRoundaboutEnterStepDetails&& value) { m_roundaboutEnterStepDetailsHasBeenSet = true; m_roundaboutEnterStepDetails = std::move(value); } + inline RoutePedestrianTravelStep& WithRoundaboutEnterStepDetails(const RouteRoundaboutEnterStepDetails& value) { SetRoundaboutEnterStepDetails(value); return *this;} + inline RoutePedestrianTravelStep& WithRoundaboutEnterStepDetails(RouteRoundaboutEnterStepDetails&& value) { SetRoundaboutEnterStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Roundabout Exit step.

                + */ + inline const RouteRoundaboutExitStepDetails& GetRoundaboutExitStepDetails() const{ return m_roundaboutExitStepDetails; } + inline bool RoundaboutExitStepDetailsHasBeenSet() const { return m_roundaboutExitStepDetailsHasBeenSet; } + inline void SetRoundaboutExitStepDetails(const RouteRoundaboutExitStepDetails& value) { m_roundaboutExitStepDetailsHasBeenSet = true; m_roundaboutExitStepDetails = value; } + inline void SetRoundaboutExitStepDetails(RouteRoundaboutExitStepDetails&& value) { m_roundaboutExitStepDetailsHasBeenSet = true; m_roundaboutExitStepDetails = std::move(value); } + inline RoutePedestrianTravelStep& WithRoundaboutExitStepDetails(const RouteRoundaboutExitStepDetails& value) { SetRoundaboutExitStepDetails(value); return *this;} + inline RoutePedestrianTravelStep& WithRoundaboutExitStepDetails(RouteRoundaboutExitStepDetails&& value) { SetRoundaboutExitStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Roundabout Pass step.

                + */ + inline const RouteRoundaboutPassStepDetails& GetRoundaboutPassStepDetails() const{ return m_roundaboutPassStepDetails; } + inline bool RoundaboutPassStepDetailsHasBeenSet() const { return m_roundaboutPassStepDetailsHasBeenSet; } + inline void SetRoundaboutPassStepDetails(const RouteRoundaboutPassStepDetails& value) { m_roundaboutPassStepDetailsHasBeenSet = true; m_roundaboutPassStepDetails = value; } + inline void SetRoundaboutPassStepDetails(RouteRoundaboutPassStepDetails&& value) { m_roundaboutPassStepDetailsHasBeenSet = true; m_roundaboutPassStepDetails = std::move(value); } + inline RoutePedestrianTravelStep& WithRoundaboutPassStepDetails(const RouteRoundaboutPassStepDetails& value) { SetRoundaboutPassStepDetails(value); return *this;} + inline RoutePedestrianTravelStep& WithRoundaboutPassStepDetails(RouteRoundaboutPassStepDetails&& value) { SetRoundaboutPassStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Sign post information of the action, applicable only for TurnByTurn steps. + * See RouteSignpost for details of sub-attributes.

                + */ + inline const RouteSignpost& GetSignpost() const{ return m_signpost; } + inline bool SignpostHasBeenSet() const { return m_signpostHasBeenSet; } + inline void SetSignpost(const RouteSignpost& value) { m_signpostHasBeenSet = true; m_signpost = value; } + inline void SetSignpost(RouteSignpost&& value) { m_signpostHasBeenSet = true; m_signpost = std::move(value); } + inline RoutePedestrianTravelStep& WithSignpost(const RouteSignpost& value) { SetSignpost(value); return *this;} + inline RoutePedestrianTravelStep& WithSignpost(RouteSignpost&& value) { SetSignpost(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a turn step.

                + */ + inline const RouteTurnStepDetails& GetTurnStepDetails() const{ return m_turnStepDetails; } + inline bool TurnStepDetailsHasBeenSet() const { return m_turnStepDetailsHasBeenSet; } + inline void SetTurnStepDetails(const RouteTurnStepDetails& value) { m_turnStepDetailsHasBeenSet = true; m_turnStepDetails = value; } + inline void SetTurnStepDetails(RouteTurnStepDetails&& value) { m_turnStepDetailsHasBeenSet = true; m_turnStepDetails = std::move(value); } + inline RoutePedestrianTravelStep& WithTurnStepDetails(const RouteTurnStepDetails& value) { SetTurnStepDetails(value); return *this;} + inline RoutePedestrianTravelStep& WithTurnStepDetails(RouteTurnStepDetails&& value) { SetTurnStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Type of the step.

                + */ + inline const RoutePedestrianTravelStepType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RoutePedestrianTravelStepType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RoutePedestrianTravelStepType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RoutePedestrianTravelStep& WithType(const RoutePedestrianTravelStepType& value) { SetType(value); return *this;} + inline RoutePedestrianTravelStep& WithType(RoutePedestrianTravelStepType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + RouteContinueStepDetails m_continueStepDetails; + bool m_continueStepDetailsHasBeenSet = false; + + RouteRoad m_currentRoad; + bool m_currentRoadHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + + Aws::Vector m_exitNumber; + bool m_exitNumberHasBeenSet = false; + + int m_geometryOffset; + bool m_geometryOffsetHasBeenSet = false; + + Aws::String m_instruction; + bool m_instructionHasBeenSet = false; + + RouteKeepStepDetails m_keepStepDetails; + bool m_keepStepDetailsHasBeenSet = false; + + RouteRoad m_nextRoad; + bool m_nextRoadHasBeenSet = false; + + RouteRoundaboutEnterStepDetails m_roundaboutEnterStepDetails; + bool m_roundaboutEnterStepDetailsHasBeenSet = false; + + RouteRoundaboutExitStepDetails m_roundaboutExitStepDetails; + bool m_roundaboutExitStepDetailsHasBeenSet = false; + + RouteRoundaboutPassStepDetails m_roundaboutPassStepDetails; + bool m_roundaboutPassStepDetailsHasBeenSet = false; + + RouteSignpost m_signpost; + bool m_signpostHasBeenSet = false; + + RouteTurnStepDetails m_turnStepDetails; + bool m_turnStepDetailsHasBeenSet = false; + + RoutePedestrianTravelStepType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianTravelStepType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianTravelStepType.h new file mode 100644 index 00000000000..e187a6296c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutePedestrianTravelStepType.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RoutePedestrianTravelStepType + { + NOT_SET, + Arrive, + Continue, + Depart, + Keep, + RoundaboutEnter, + RoundaboutExit, + RoundaboutPass, + Turn, + Exit, + Ramp, + UTurn + }; + +namespace RoutePedestrianTravelStepTypeMapper +{ +AWS_GEOROUTES_API RoutePedestrianTravelStepType GetRoutePedestrianTravelStepTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRoutePedestrianTravelStepType(RoutePedestrianTravelStepType value); +} // namespace RoutePedestrianTravelStepTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRampStepDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRampStepDetails.h new file mode 100644 index 00000000000..3ab67caac0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRampStepDetails.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details that are specific to a ramp step.

                See Also:

                AWS + * API Reference

                + */ + class RouteRampStepDetails + { + public: + AWS_GEOROUTES_API RouteRampStepDetails(); + AWS_GEOROUTES_API RouteRampStepDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteRampStepDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the intersection, if applicable to the step.

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline RouteRampStepDetails& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline RouteRampStepDetails& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline RouteRampStepDetails& AddIntersection(const LocalizedString& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline RouteRampStepDetails& AddIntersection(LocalizedString&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Steering direction for the step.

                + */ + inline const RouteSteeringDirection& GetSteeringDirection() const{ return m_steeringDirection; } + inline bool SteeringDirectionHasBeenSet() const { return m_steeringDirectionHasBeenSet; } + inline void SetSteeringDirection(const RouteSteeringDirection& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = value; } + inline void SetSteeringDirection(RouteSteeringDirection&& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = std::move(value); } + inline RouteRampStepDetails& WithSteeringDirection(const RouteSteeringDirection& value) { SetSteeringDirection(value); return *this;} + inline RouteRampStepDetails& WithSteeringDirection(RouteSteeringDirection&& value) { SetSteeringDirection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Angle of the turn.

                + */ + inline double GetTurnAngle() const{ return m_turnAngle; } + inline bool TurnAngleHasBeenSet() const { return m_turnAngleHasBeenSet; } + inline void SetTurnAngle(double value) { m_turnAngleHasBeenSet = true; m_turnAngle = value; } + inline RouteRampStepDetails& WithTurnAngle(double value) { SetTurnAngle(value); return *this;} + ///@} + + ///@{ + /** + *

                Intensity of the turn.

                + */ + inline const RouteTurnIntensity& GetTurnIntensity() const{ return m_turnIntensity; } + inline bool TurnIntensityHasBeenSet() const { return m_turnIntensityHasBeenSet; } + inline void SetTurnIntensity(const RouteTurnIntensity& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = value; } + inline void SetTurnIntensity(RouteTurnIntensity&& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = std::move(value); } + inline RouteRampStepDetails& WithTurnIntensity(const RouteTurnIntensity& value) { SetTurnIntensity(value); return *this;} + inline RouteRampStepDetails& WithTurnIntensity(RouteTurnIntensity&& value) { SetTurnIntensity(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + RouteSteeringDirection m_steeringDirection; + bool m_steeringDirectionHasBeenSet = false; + + double m_turnAngle; + bool m_turnAngleHasBeenSet = false; + + RouteTurnIntensity m_turnIntensity; + bool m_turnIntensityHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteResponseNotice.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteResponseNotice.h new file mode 100644 index 00000000000..be492fc5564 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteResponseNotice.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Notices are additional information returned that indicate issues that + * occurred during route calculation.

                See Also:

                AWS + * API Reference

                + */ + class RouteResponseNotice + { + public: + AWS_GEOROUTES_API RouteResponseNotice(); + AWS_GEOROUTES_API RouteResponseNotice(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteResponseNotice& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Code corresponding to the issue.

                + */ + inline const RouteResponseNoticeCode& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const RouteResponseNoticeCode& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(RouteResponseNoticeCode&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline RouteResponseNotice& WithCode(const RouteResponseNoticeCode& value) { SetCode(value); return *this;} + inline RouteResponseNotice& WithCode(RouteResponseNoticeCode&& value) { SetCode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Impact corresponding to the issue. While Low impact notices can be safely + * ignored, High impact notices must be evaluated further to determine the + * impact.

                + */ + inline const RouteNoticeImpact& GetImpact() const{ return m_impact; } + inline bool ImpactHasBeenSet() const { return m_impactHasBeenSet; } + inline void SetImpact(const RouteNoticeImpact& value) { m_impactHasBeenSet = true; m_impact = value; } + inline void SetImpact(RouteNoticeImpact&& value) { m_impactHasBeenSet = true; m_impact = std::move(value); } + inline RouteResponseNotice& WithImpact(const RouteNoticeImpact& value) { SetImpact(value); return *this;} + inline RouteResponseNotice& WithImpact(RouteNoticeImpact&& value) { SetImpact(std::move(value)); return *this;} + ///@} + private: + + RouteResponseNoticeCode m_code; + bool m_codeHasBeenSet = false; + + RouteNoticeImpact m_impact; + bool m_impactHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteResponseNoticeCode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteResponseNoticeCode.h new file mode 100644 index 00000000000..932ff58904e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteResponseNoticeCode.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteResponseNoticeCode + { + NOT_SET, + MainLanguageNotFound, + Other, + TravelTimeExceedsDriverWorkHours + }; + +namespace RouteResponseNoticeCodeMapper +{ +AWS_GEOROUTES_API RouteResponseNoticeCode GetRouteResponseNoticeCodeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteResponseNoticeCode(RouteResponseNoticeCode value); +} // namespace RouteResponseNoticeCodeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoad.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoad.h new file mode 100644 index 00000000000..22c12780d38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoad.h @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The road on the route.

                See Also:

                AWS + * API Reference

                + */ + class RouteRoad + { + public: + AWS_GEOROUTES_API RouteRoad(); + AWS_GEOROUTES_API RouteRoad(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteRoad& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the road (localized).

                + */ + inline const Aws::Vector& GetRoadName() const{ return m_roadName; } + inline bool RoadNameHasBeenSet() const { return m_roadNameHasBeenSet; } + inline void SetRoadName(const Aws::Vector& value) { m_roadNameHasBeenSet = true; m_roadName = value; } + inline void SetRoadName(Aws::Vector&& value) { m_roadNameHasBeenSet = true; m_roadName = std::move(value); } + inline RouteRoad& WithRoadName(const Aws::Vector& value) { SetRoadName(value); return *this;} + inline RouteRoad& WithRoadName(Aws::Vector&& value) { SetRoadName(std::move(value)); return *this;} + inline RouteRoad& AddRoadName(const LocalizedString& value) { m_roadNameHasBeenSet = true; m_roadName.push_back(value); return *this; } + inline RouteRoad& AddRoadName(LocalizedString&& value) { m_roadNameHasBeenSet = true; m_roadName.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Route number of the road.

                + */ + inline const Aws::Vector& GetRouteNumber() const{ return m_routeNumber; } + inline bool RouteNumberHasBeenSet() const { return m_routeNumberHasBeenSet; } + inline void SetRouteNumber(const Aws::Vector& value) { m_routeNumberHasBeenSet = true; m_routeNumber = value; } + inline void SetRouteNumber(Aws::Vector&& value) { m_routeNumberHasBeenSet = true; m_routeNumber = std::move(value); } + inline RouteRoad& WithRouteNumber(const Aws::Vector& value) { SetRouteNumber(value); return *this;} + inline RouteRoad& WithRouteNumber(Aws::Vector&& value) { SetRouteNumber(std::move(value)); return *this;} + inline RouteRoad& AddRouteNumber(const RouteNumber& value) { m_routeNumberHasBeenSet = true; m_routeNumber.push_back(value); return *this; } + inline RouteRoad& AddRouteNumber(RouteNumber&& value) { m_routeNumberHasBeenSet = true; m_routeNumber.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Names of destinations that can be reached when traveling on the road.

                + */ + inline const Aws::Vector& GetTowards() const{ return m_towards; } + inline bool TowardsHasBeenSet() const { return m_towardsHasBeenSet; } + inline void SetTowards(const Aws::Vector& value) { m_towardsHasBeenSet = true; m_towards = value; } + inline void SetTowards(Aws::Vector&& value) { m_towardsHasBeenSet = true; m_towards = std::move(value); } + inline RouteRoad& WithTowards(const Aws::Vector& value) { SetTowards(value); return *this;} + inline RouteRoad& WithTowards(Aws::Vector&& value) { SetTowards(std::move(value)); return *this;} + inline RouteRoad& AddTowards(const LocalizedString& value) { m_towardsHasBeenSet = true; m_towards.push_back(value); return *this; } + inline RouteRoad& AddTowards(LocalizedString&& value) { m_towardsHasBeenSet = true; m_towards.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The type of road.

                + */ + inline const RouteRoadType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RouteRoadType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RouteRoadType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RouteRoad& WithType(const RouteRoadType& value) { SetType(value); return *this;} + inline RouteRoad& WithType(RouteRoadType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_roadName; + bool m_roadNameHasBeenSet = false; + + Aws::Vector m_routeNumber; + bool m_routeNumberHasBeenSet = false; + + Aws::Vector m_towards; + bool m_towardsHasBeenSet = false; + + RouteRoadType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoadType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoadType.h new file mode 100644 index 00000000000..29189d16f65 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoadType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteRoadType + { + NOT_SET, + Highway, + Rural, + Urban + }; + +namespace RouteRoadTypeMapper +{ +AWS_GEOROUTES_API RouteRoadType GetRouteRoadTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteRoadType(RouteRoadType value); +} // namespace RouteRoadTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoundaboutEnterStepDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoundaboutEnterStepDetails.h new file mode 100644 index 00000000000..e979e98e199 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoundaboutEnterStepDetails.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details about the roundabout leg.

                See Also:

                AWS + * API Reference

                + */ + class RouteRoundaboutEnterStepDetails + { + public: + AWS_GEOROUTES_API RouteRoundaboutEnterStepDetails(); + AWS_GEOROUTES_API RouteRoundaboutEnterStepDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteRoundaboutEnterStepDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the intersection, if applicable to the step.

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline RouteRoundaboutEnterStepDetails& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline RouteRoundaboutEnterStepDetails& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline RouteRoundaboutEnterStepDetails& AddIntersection(const LocalizedString& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline RouteRoundaboutEnterStepDetails& AddIntersection(LocalizedString&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Steering direction for the step.

                + */ + inline const RouteSteeringDirection& GetSteeringDirection() const{ return m_steeringDirection; } + inline bool SteeringDirectionHasBeenSet() const { return m_steeringDirectionHasBeenSet; } + inline void SetSteeringDirection(const RouteSteeringDirection& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = value; } + inline void SetSteeringDirection(RouteSteeringDirection&& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = std::move(value); } + inline RouteRoundaboutEnterStepDetails& WithSteeringDirection(const RouteSteeringDirection& value) { SetSteeringDirection(value); return *this;} + inline RouteRoundaboutEnterStepDetails& WithSteeringDirection(RouteSteeringDirection&& value) { SetSteeringDirection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Angle of the turn.

                + */ + inline double GetTurnAngle() const{ return m_turnAngle; } + inline bool TurnAngleHasBeenSet() const { return m_turnAngleHasBeenSet; } + inline void SetTurnAngle(double value) { m_turnAngleHasBeenSet = true; m_turnAngle = value; } + inline RouteRoundaboutEnterStepDetails& WithTurnAngle(double value) { SetTurnAngle(value); return *this;} + ///@} + + ///@{ + /** + *

                Intensity of the turn.

                + */ + inline const RouteTurnIntensity& GetTurnIntensity() const{ return m_turnIntensity; } + inline bool TurnIntensityHasBeenSet() const { return m_turnIntensityHasBeenSet; } + inline void SetTurnIntensity(const RouteTurnIntensity& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = value; } + inline void SetTurnIntensity(RouteTurnIntensity&& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = std::move(value); } + inline RouteRoundaboutEnterStepDetails& WithTurnIntensity(const RouteTurnIntensity& value) { SetTurnIntensity(value); return *this;} + inline RouteRoundaboutEnterStepDetails& WithTurnIntensity(RouteTurnIntensity&& value) { SetTurnIntensity(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + RouteSteeringDirection m_steeringDirection; + bool m_steeringDirectionHasBeenSet = false; + + double m_turnAngle; + bool m_turnAngleHasBeenSet = false; + + RouteTurnIntensity m_turnIntensity; + bool m_turnIntensityHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoundaboutExitStepDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoundaboutExitStepDetails.h new file mode 100644 index 00000000000..639f4e145c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoundaboutExitStepDetails.h @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details about the roundabout step.

                See Also:

                AWS + * API Reference

                + */ + class RouteRoundaboutExitStepDetails + { + public: + AWS_GEOROUTES_API RouteRoundaboutExitStepDetails(); + AWS_GEOROUTES_API RouteRoundaboutExitStepDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteRoundaboutExitStepDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the intersection, if applicable to the step.

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline RouteRoundaboutExitStepDetails& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline RouteRoundaboutExitStepDetails& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline RouteRoundaboutExitStepDetails& AddIntersection(const LocalizedString& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline RouteRoundaboutExitStepDetails& AddIntersection(LocalizedString&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Exit to be taken.

                + */ + inline int GetRelativeExit() const{ return m_relativeExit; } + inline bool RelativeExitHasBeenSet() const { return m_relativeExitHasBeenSet; } + inline void SetRelativeExit(int value) { m_relativeExitHasBeenSet = true; m_relativeExit = value; } + inline RouteRoundaboutExitStepDetails& WithRelativeExit(int value) { SetRelativeExit(value); return *this;} + ///@} + + ///@{ + /** + *

                Angle of the roundabout.

                + */ + inline double GetRoundaboutAngle() const{ return m_roundaboutAngle; } + inline bool RoundaboutAngleHasBeenSet() const { return m_roundaboutAngleHasBeenSet; } + inline void SetRoundaboutAngle(double value) { m_roundaboutAngleHasBeenSet = true; m_roundaboutAngle = value; } + inline RouteRoundaboutExitStepDetails& WithRoundaboutAngle(double value) { SetRoundaboutAngle(value); return *this;} + ///@} + + ///@{ + /** + *

                Steering direction for the step.

                + */ + inline const RouteSteeringDirection& GetSteeringDirection() const{ return m_steeringDirection; } + inline bool SteeringDirectionHasBeenSet() const { return m_steeringDirectionHasBeenSet; } + inline void SetSteeringDirection(const RouteSteeringDirection& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = value; } + inline void SetSteeringDirection(RouteSteeringDirection&& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = std::move(value); } + inline RouteRoundaboutExitStepDetails& WithSteeringDirection(const RouteSteeringDirection& value) { SetSteeringDirection(value); return *this;} + inline RouteRoundaboutExitStepDetails& WithSteeringDirection(RouteSteeringDirection&& value) { SetSteeringDirection(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + int m_relativeExit; + bool m_relativeExitHasBeenSet = false; + + double m_roundaboutAngle; + bool m_roundaboutAngleHasBeenSet = false; + + RouteSteeringDirection m_steeringDirection; + bool m_steeringDirectionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoundaboutPassStepDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoundaboutPassStepDetails.h new file mode 100644 index 00000000000..43f3c4a88c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteRoundaboutPassStepDetails.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details about the step.

                See Also:

                AWS + * API Reference

                + */ + class RouteRoundaboutPassStepDetails + { + public: + AWS_GEOROUTES_API RouteRoundaboutPassStepDetails(); + AWS_GEOROUTES_API RouteRoundaboutPassStepDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteRoundaboutPassStepDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the intersection, if applicable to the step.

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline RouteRoundaboutPassStepDetails& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline RouteRoundaboutPassStepDetails& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline RouteRoundaboutPassStepDetails& AddIntersection(const LocalizedString& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline RouteRoundaboutPassStepDetails& AddIntersection(LocalizedString&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Steering direction for the step.

                + */ + inline const RouteSteeringDirection& GetSteeringDirection() const{ return m_steeringDirection; } + inline bool SteeringDirectionHasBeenSet() const { return m_steeringDirectionHasBeenSet; } + inline void SetSteeringDirection(const RouteSteeringDirection& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = value; } + inline void SetSteeringDirection(RouteSteeringDirection&& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = std::move(value); } + inline RouteRoundaboutPassStepDetails& WithSteeringDirection(const RouteSteeringDirection& value) { SetSteeringDirection(value); return *this;} + inline RouteRoundaboutPassStepDetails& WithSteeringDirection(RouteSteeringDirection&& value) { SetSteeringDirection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Angle of the turn.

                + */ + inline double GetTurnAngle() const{ return m_turnAngle; } + inline bool TurnAngleHasBeenSet() const { return m_turnAngleHasBeenSet; } + inline void SetTurnAngle(double value) { m_turnAngleHasBeenSet = true; m_turnAngle = value; } + inline RouteRoundaboutPassStepDetails& WithTurnAngle(double value) { SetTurnAngle(value); return *this;} + ///@} + + ///@{ + /** + *

                Intensity of the turn.

                + */ + inline const RouteTurnIntensity& GetTurnIntensity() const{ return m_turnIntensity; } + inline bool TurnIntensityHasBeenSet() const { return m_turnIntensityHasBeenSet; } + inline void SetTurnIntensity(const RouteTurnIntensity& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = value; } + inline void SetTurnIntensity(RouteTurnIntensity&& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = std::move(value); } + inline RouteRoundaboutPassStepDetails& WithTurnIntensity(const RouteTurnIntensity& value) { SetTurnIntensity(value); return *this;} + inline RouteRoundaboutPassStepDetails& WithTurnIntensity(RouteTurnIntensity&& value) { SetTurnIntensity(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + RouteSteeringDirection m_steeringDirection; + bool m_steeringDirectionHasBeenSet = false; + + double m_turnAngle; + bool m_turnAngleHasBeenSet = false; + + RouteTurnIntensity m_turnIntensity; + bool m_turnIntensityHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteScooterOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteScooterOptions.h new file mode 100644 index 00000000000..62a6a282dc7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteScooterOptions.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode options when the provided travel mode is "Scooter"

                See + * Also:

                AWS + * API Reference

                + */ + class RouteScooterOptions + { + public: + AWS_GEOROUTES_API RouteScooterOptions(); + AWS_GEOROUTES_API RouteScooterOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteScooterOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Engine type of the vehicle.

                + */ + inline const RouteEngineType& GetEngineType() const{ return m_engineType; } + inline bool EngineTypeHasBeenSet() const { return m_engineTypeHasBeenSet; } + inline void SetEngineType(const RouteEngineType& value) { m_engineTypeHasBeenSet = true; m_engineType = value; } + inline void SetEngineType(RouteEngineType&& value) { m_engineTypeHasBeenSet = true; m_engineType = std::move(value); } + inline RouteScooterOptions& WithEngineType(const RouteEngineType& value) { SetEngineType(value); return *this;} + inline RouteScooterOptions& WithEngineType(RouteEngineType&& value) { SetEngineType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The vehicle License Plate.

                + */ + inline const RouteVehicleLicensePlate& GetLicensePlate() const{ return m_licensePlate; } + inline bool LicensePlateHasBeenSet() const { return m_licensePlateHasBeenSet; } + inline void SetLicensePlate(const RouteVehicleLicensePlate& value) { m_licensePlateHasBeenSet = true; m_licensePlate = value; } + inline void SetLicensePlate(RouteVehicleLicensePlate&& value) { m_licensePlateHasBeenSet = true; m_licensePlate = std::move(value); } + inline RouteScooterOptions& WithLicensePlate(const RouteVehicleLicensePlate& value) { SetLicensePlate(value); return *this;} + inline RouteScooterOptions& WithLicensePlate(RouteVehicleLicensePlate&& value) { SetLicensePlate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Maximum speed

                Unit: KilometersPerHour

                + */ + inline double GetMaxSpeed() const{ return m_maxSpeed; } + inline bool MaxSpeedHasBeenSet() const { return m_maxSpeedHasBeenSet; } + inline void SetMaxSpeed(double value) { m_maxSpeedHasBeenSet = true; m_maxSpeed = value; } + inline RouteScooterOptions& WithMaxSpeed(double value) { SetMaxSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                The number of occupants in the vehicle.

                Default Value: 1 + *

                + */ + inline int GetOccupancy() const{ return m_occupancy; } + inline bool OccupancyHasBeenSet() const { return m_occupancyHasBeenSet; } + inline void SetOccupancy(int value) { m_occupancyHasBeenSet = true; m_occupancy = value; } + inline RouteScooterOptions& WithOccupancy(int value) { SetOccupancy(value); return *this;} + ///@} + private: + + RouteEngineType m_engineType; + bool m_engineTypeHasBeenSet = false; + + RouteVehicleLicensePlate m_licensePlate; + bool m_licensePlateHasBeenSet = false; + + double m_maxSpeed; + bool m_maxSpeedHasBeenSet = false; + + int m_occupancy; + bool m_occupancyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSideOfStreet.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSideOfStreet.h new file mode 100644 index 00000000000..50eeb901e1a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSideOfStreet.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteSideOfStreet + { + NOT_SET, + Left, + Right + }; + +namespace RouteSideOfStreetMapper +{ +AWS_GEOROUTES_API RouteSideOfStreet GetRouteSideOfStreetForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteSideOfStreet(RouteSideOfStreet value); +} // namespace RouteSideOfStreetMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSideOfStreetOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSideOfStreetOptions.h new file mode 100644 index 00000000000..0f4da07acc7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSideOfStreetOptions.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options to configure matching the provided position to a side of the + * street.

                See Also:

                AWS + * API Reference

                + */ + class RouteSideOfStreetOptions + { + public: + AWS_GEOROUTES_API RouteSideOfStreetOptions(); + AWS_GEOROUTES_API RouteSideOfStreetOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteSideOfStreetOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline RouteSideOfStreetOptions& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline RouteSideOfStreetOptions& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline RouteSideOfStreetOptions& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Strategy that defines when the side of street position should be used.

                + *

                Default Value: DividedStreetOnly

                + */ + inline const SideOfStreetMatchingStrategy& GetUseWith() const{ return m_useWith; } + inline bool UseWithHasBeenSet() const { return m_useWithHasBeenSet; } + inline void SetUseWith(const SideOfStreetMatchingStrategy& value) { m_useWithHasBeenSet = true; m_useWith = value; } + inline void SetUseWith(SideOfStreetMatchingStrategy&& value) { m_useWithHasBeenSet = true; m_useWith = std::move(value); } + inline RouteSideOfStreetOptions& WithUseWith(const SideOfStreetMatchingStrategy& value) { SetUseWith(value); return *this;} + inline RouteSideOfStreetOptions& WithUseWith(SideOfStreetMatchingStrategy&& value) { SetUseWith(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + SideOfStreetMatchingStrategy m_useWith; + bool m_useWithHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSignpost.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSignpost.h new file mode 100644 index 00000000000..70c01f8c21e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSignpost.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Sign post information of the action, applicable only for TurnByTurn steps. + * See RouteSignpost for details of sub-attributes.

                See Also:

                AWS + * API Reference

                + */ + class RouteSignpost + { + public: + AWS_GEOROUTES_API RouteSignpost(); + AWS_GEOROUTES_API RouteSignpost(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteSignpost& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Labels present on the sign post.

                + */ + inline const Aws::Vector& GetLabels() const{ return m_labels; } + inline bool LabelsHasBeenSet() const { return m_labelsHasBeenSet; } + inline void SetLabels(const Aws::Vector& value) { m_labelsHasBeenSet = true; m_labels = value; } + inline void SetLabels(Aws::Vector&& value) { m_labelsHasBeenSet = true; m_labels = std::move(value); } + inline RouteSignpost& WithLabels(const Aws::Vector& value) { SetLabels(value); return *this;} + inline RouteSignpost& WithLabels(Aws::Vector&& value) { SetLabels(std::move(value)); return *this;} + inline RouteSignpost& AddLabels(const RouteSignpostLabel& value) { m_labelsHasBeenSet = true; m_labels.push_back(value); return *this; } + inline RouteSignpost& AddLabels(RouteSignpostLabel&& value) { m_labelsHasBeenSet = true; m_labels.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::Vector m_labels; + bool m_labelsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSignpostLabel.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSignpostLabel.h new file mode 100644 index 00000000000..d6727672ad9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSignpostLabel.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Labels presented on the sign post.

                See Also:

                AWS + * API Reference

                + */ + class RouteSignpostLabel + { + public: + AWS_GEOROUTES_API RouteSignpostLabel(); + AWS_GEOROUTES_API RouteSignpostLabel(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteSignpostLabel& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Route number of the road.

                + */ + inline const RouteNumber& GetRouteNumber() const{ return m_routeNumber; } + inline bool RouteNumberHasBeenSet() const { return m_routeNumberHasBeenSet; } + inline void SetRouteNumber(const RouteNumber& value) { m_routeNumberHasBeenSet = true; m_routeNumber = value; } + inline void SetRouteNumber(RouteNumber&& value) { m_routeNumberHasBeenSet = true; m_routeNumber = std::move(value); } + inline RouteSignpostLabel& WithRouteNumber(const RouteNumber& value) { SetRouteNumber(value); return *this;} + inline RouteSignpostLabel& WithRouteNumber(RouteNumber&& value) { SetRouteNumber(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The Signpost text.

                + */ + inline const LocalizedString& GetText() const{ return m_text; } + inline bool TextHasBeenSet() const { return m_textHasBeenSet; } + inline void SetText(const LocalizedString& value) { m_textHasBeenSet = true; m_text = value; } + inline void SetText(LocalizedString&& value) { m_textHasBeenSet = true; m_text = std::move(value); } + inline RouteSignpostLabel& WithText(const LocalizedString& value) { SetText(value); return *this;} + inline RouteSignpostLabel& WithText(LocalizedString&& value) { SetText(std::move(value)); return *this;} + ///@} + private: + + RouteNumber m_routeNumber; + bool m_routeNumberHasBeenSet = false; + + LocalizedString m_text; + bool m_textHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanAdditionalFeature.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanAdditionalFeature.h new file mode 100644 index 00000000000..b573ecf9277 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanAdditionalFeature.h @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteSpanAdditionalFeature + { + NOT_SET, + BestCaseDuration, + CarAccess, + Country, + Distance, + Duration, + DynamicSpeed, + FunctionalClassification, + Gates, + Incidents, + Names, + Notices, + PedestrianAccess, + RailwayCrossings, + Region, + RoadAttributes, + RouteNumbers, + ScooterAccess, + SpeedLimit, + TollSystems, + TruckAccess, + TruckRoadTypes, + TypicalDuration, + Zones, + Consumption + }; + +namespace RouteSpanAdditionalFeatureMapper +{ +AWS_GEOROUTES_API RouteSpanAdditionalFeature GetRouteSpanAdditionalFeatureForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteSpanAdditionalFeature(RouteSpanAdditionalFeature value); +} // namespace RouteSpanAdditionalFeatureMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanCarAccessAttribute.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanCarAccessAttribute.h new file mode 100644 index 00000000000..427fd1f6eb5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanCarAccessAttribute.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteSpanCarAccessAttribute + { + NOT_SET, + Allowed, + NoThroughTraffic, + TollRoad + }; + +namespace RouteSpanCarAccessAttributeMapper +{ +AWS_GEOROUTES_API RouteSpanCarAccessAttribute GetRouteSpanCarAccessAttributeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteSpanCarAccessAttribute(RouteSpanCarAccessAttribute value); +} // namespace RouteSpanCarAccessAttributeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanDynamicSpeedDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanDynamicSpeedDetails.h new file mode 100644 index 00000000000..c713f8d73e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanDynamicSpeedDetails.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details about the dynamic speed.

                Unit: + * KilometersPerHour

                See Also:

                AWS + * API Reference

                + */ + class RouteSpanDynamicSpeedDetails + { + public: + AWS_GEOROUTES_API RouteSpanDynamicSpeedDetails(); + AWS_GEOROUTES_API RouteSpanDynamicSpeedDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteSpanDynamicSpeedDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Estimated speed while traversing the span without traffic congestion.

                + * Unit: KilometersPerHour

                + */ + inline double GetBestCaseSpeed() const{ return m_bestCaseSpeed; } + inline bool BestCaseSpeedHasBeenSet() const { return m_bestCaseSpeedHasBeenSet; } + inline void SetBestCaseSpeed(double value) { m_bestCaseSpeedHasBeenSet = true; m_bestCaseSpeed = value; } + inline RouteSpanDynamicSpeedDetails& WithBestCaseSpeed(double value) { SetBestCaseSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                Estimated time to turn from this span into the next.

                Unit: + * seconds

                + */ + inline long long GetTurnDuration() const{ return m_turnDuration; } + inline bool TurnDurationHasBeenSet() const { return m_turnDurationHasBeenSet; } + inline void SetTurnDuration(long long value) { m_turnDurationHasBeenSet = true; m_turnDuration = value; } + inline RouteSpanDynamicSpeedDetails& WithTurnDuration(long long value) { SetTurnDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Estimated speed while traversing the span under typical traffic + * congestion.

                Unit: KilometersPerHour

                + */ + inline double GetTypicalSpeed() const{ return m_typicalSpeed; } + inline bool TypicalSpeedHasBeenSet() const { return m_typicalSpeedHasBeenSet; } + inline void SetTypicalSpeed(double value) { m_typicalSpeedHasBeenSet = true; m_typicalSpeed = value; } + inline RouteSpanDynamicSpeedDetails& WithTypicalSpeed(double value) { SetTypicalSpeed(value); return *this;} + ///@} + private: + + double m_bestCaseSpeed; + bool m_bestCaseSpeedHasBeenSet = false; + + long long m_turnDuration; + bool m_turnDurationHasBeenSet = false; + + double m_typicalSpeed; + bool m_typicalSpeedHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanGateAttribute.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanGateAttribute.h new file mode 100644 index 00000000000..b75ce4963b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanGateAttribute.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteSpanGateAttribute + { + NOT_SET, + Emergency, + KeyAccess, + PermissionRequired + }; + +namespace RouteSpanGateAttributeMapper +{ +AWS_GEOROUTES_API RouteSpanGateAttribute GetRouteSpanGateAttributeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteSpanGateAttribute(RouteSpanGateAttribute value); +} // namespace RouteSpanGateAttributeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanPedestrianAccessAttribute.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanPedestrianAccessAttribute.h new file mode 100644 index 00000000000..f73999899ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanPedestrianAccessAttribute.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteSpanPedestrianAccessAttribute + { + NOT_SET, + Allowed, + Indoors, + NoThroughTraffic, + Park, + Stairs, + TollRoad + }; + +namespace RouteSpanPedestrianAccessAttributeMapper +{ +AWS_GEOROUTES_API RouteSpanPedestrianAccessAttribute GetRouteSpanPedestrianAccessAttributeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteSpanPedestrianAccessAttribute(RouteSpanPedestrianAccessAttribute value); +} // namespace RouteSpanPedestrianAccessAttributeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanRailwayCrossingAttribute.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanRailwayCrossingAttribute.h new file mode 100644 index 00000000000..6d2e98a3b2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanRailwayCrossingAttribute.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteSpanRailwayCrossingAttribute + { + NOT_SET, + Protected, + Unprotected + }; + +namespace RouteSpanRailwayCrossingAttributeMapper +{ +AWS_GEOROUTES_API RouteSpanRailwayCrossingAttribute GetRouteSpanRailwayCrossingAttributeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteSpanRailwayCrossingAttribute(RouteSpanRailwayCrossingAttribute value); +} // namespace RouteSpanRailwayCrossingAttributeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanRoadAttribute.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanRoadAttribute.h new file mode 100644 index 00000000000..3c17e9b9fa0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanRoadAttribute.h @@ -0,0 +1,41 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteSpanRoadAttribute + { + NOT_SET, + Bridge, + BuiltUpArea, + ControlledAccessHighway, + DirtRoad, + DividedRoad, + Motorway, + PrivateRoad, + Ramp, + RightHandTraffic, + Roundabout, + Tunnel, + UnderConstruction + }; + +namespace RouteSpanRoadAttributeMapper +{ +AWS_GEOROUTES_API RouteSpanRoadAttribute GetRouteSpanRoadAttributeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteSpanRoadAttribute(RouteSpanRoadAttribute value); +} // namespace RouteSpanRoadAttributeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanScooterAccessAttribute.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanScooterAccessAttribute.h new file mode 100644 index 00000000000..215e30b298a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanScooterAccessAttribute.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteSpanScooterAccessAttribute + { + NOT_SET, + Allowed, + NoThroughTraffic, + TollRoad + }; + +namespace RouteSpanScooterAccessAttributeMapper +{ +AWS_GEOROUTES_API RouteSpanScooterAccessAttribute GetRouteSpanScooterAccessAttributeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteSpanScooterAccessAttribute(RouteSpanScooterAccessAttribute value); +} // namespace RouteSpanScooterAccessAttributeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanSpeedLimitDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanSpeedLimitDetails.h new file mode 100644 index 00000000000..84fe3e7ffbc --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanSpeedLimitDetails.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details about the speed limit corresponding to the span.

                Unit: + * KilometersPerHour

                See Also:

                AWS + * API Reference

                + */ + class RouteSpanSpeedLimitDetails + { + public: + AWS_GEOROUTES_API RouteSpanSpeedLimitDetails(); + AWS_GEOROUTES_API RouteSpanSpeedLimitDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteSpanSpeedLimitDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Maximum speed.

                Unit: KilometersPerHour

                + */ + inline double GetMaxSpeed() const{ return m_maxSpeed; } + inline bool MaxSpeedHasBeenSet() const { return m_maxSpeedHasBeenSet; } + inline void SetMaxSpeed(double value) { m_maxSpeedHasBeenSet = true; m_maxSpeed = value; } + inline RouteSpanSpeedLimitDetails& WithMaxSpeed(double value) { SetMaxSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                If the span doesn't have a speed limit like the Autobahn.

                + */ + inline bool GetUnlimited() const{ return m_unlimited; } + inline bool UnlimitedHasBeenSet() const { return m_unlimitedHasBeenSet; } + inline void SetUnlimited(bool value) { m_unlimitedHasBeenSet = true; m_unlimited = value; } + inline RouteSpanSpeedLimitDetails& WithUnlimited(bool value) { SetUnlimited(value); return *this;} + ///@} + private: + + double m_maxSpeed; + bool m_maxSpeedHasBeenSet = false; + + bool m_unlimited; + bool m_unlimitedHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanTruckAccessAttribute.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanTruckAccessAttribute.h new file mode 100644 index 00000000000..a336fd99441 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSpanTruckAccessAttribute.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteSpanTruckAccessAttribute + { + NOT_SET, + Allowed, + NoThroughTraffic, + TollRoad + }; + +namespace RouteSpanTruckAccessAttributeMapper +{ +AWS_GEOROUTES_API RouteSpanTruckAccessAttribute GetRouteSpanTruckAccessAttributeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteSpanTruckAccessAttribute(RouteSpanTruckAccessAttribute value); +} // namespace RouteSpanTruckAccessAttributeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSteeringDirection.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSteeringDirection.h new file mode 100644 index 00000000000..81898e4a3a5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSteeringDirection.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteSteeringDirection + { + NOT_SET, + Left, + Right, + Straight + }; + +namespace RouteSteeringDirectionMapper +{ +AWS_GEOROUTES_API RouteSteeringDirection GetRouteSteeringDirectionForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteSteeringDirection(RouteSteeringDirection value); +} // namespace RouteSteeringDirectionMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSummary.h new file mode 100644 index 00000000000..9a4e7c4a292 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteSummary.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Summarized details for the leg including travel steps only. The Distance for + * the travel only portion of the journey is the same as the Distance within the + * Overview summary.

                See Also:

                AWS + * API Reference

                + */ + class RouteSummary + { + public: + AWS_GEOROUTES_API RouteSummary(); + AWS_GEOROUTES_API RouteSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Distance of the route.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline RouteSummary& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the route.

                Unit: seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteSummary& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Toll summary for the complete route.

                + */ + inline const RouteTollSummary& GetTolls() const{ return m_tolls; } + inline bool TollsHasBeenSet() const { return m_tollsHasBeenSet; } + inline void SetTolls(const RouteTollSummary& value) { m_tollsHasBeenSet = true; m_tolls = value; } + inline void SetTolls(RouteTollSummary&& value) { m_tollsHasBeenSet = true; m_tolls = std::move(value); } + inline RouteSummary& WithTolls(const RouteTollSummary& value) { SetTolls(value); return *this;} + inline RouteSummary& WithTolls(RouteTollSummary&& value) { SetTolls(std::move(value)); return *this;} + ///@} + private: + + long long m_distance; + bool m_distanceHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + + RouteTollSummary m_tolls; + bool m_tollsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteToll.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteToll.h new file mode 100644 index 00000000000..67405a30cb7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteToll.h @@ -0,0 +1,116 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Provides details about toll information along a route, including the payment + * sites, applicable toll rates, toll systems, and the country associated with the + * toll collection.

                See Also:

                AWS + * API Reference

                + */ + class RouteToll + { + public: + AWS_GEOROUTES_API RouteToll(); + AWS_GEOROUTES_API RouteToll(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteToll& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The alpha-2 or alpha-3 character code for the country.

                + */ + inline const Aws::String& GetCountry() const{ return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + inline void SetCountry(const Aws::String& value) { m_countryHasBeenSet = true; m_country = value; } + inline void SetCountry(Aws::String&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } + inline void SetCountry(const char* value) { m_countryHasBeenSet = true; m_country.assign(value); } + inline RouteToll& WithCountry(const Aws::String& value) { SetCountry(value); return *this;} + inline RouteToll& WithCountry(Aws::String&& value) { SetCountry(std::move(value)); return *this;} + inline RouteToll& WithCountry(const char* value) { SetCountry(value); return *this;} + ///@} + + ///@{ + /** + *

                Locations or sites where the toll fare is collected.

                + */ + inline const Aws::Vector& GetPaymentSites() const{ return m_paymentSites; } + inline bool PaymentSitesHasBeenSet() const { return m_paymentSitesHasBeenSet; } + inline void SetPaymentSites(const Aws::Vector& value) { m_paymentSitesHasBeenSet = true; m_paymentSites = value; } + inline void SetPaymentSites(Aws::Vector&& value) { m_paymentSitesHasBeenSet = true; m_paymentSites = std::move(value); } + inline RouteToll& WithPaymentSites(const Aws::Vector& value) { SetPaymentSites(value); return *this;} + inline RouteToll& WithPaymentSites(Aws::Vector&& value) { SetPaymentSites(std::move(value)); return *this;} + inline RouteToll& AddPaymentSites(const RouteTollPaymentSite& value) { m_paymentSitesHasBeenSet = true; m_paymentSites.push_back(value); return *this; } + inline RouteToll& AddPaymentSites(RouteTollPaymentSite&& value) { m_paymentSitesHasBeenSet = true; m_paymentSites.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Toll rates that need to be paid to travel this leg of the route.

                + */ + inline const Aws::Vector& GetRates() const{ return m_rates; } + inline bool RatesHasBeenSet() const { return m_ratesHasBeenSet; } + inline void SetRates(const Aws::Vector& value) { m_ratesHasBeenSet = true; m_rates = value; } + inline void SetRates(Aws::Vector&& value) { m_ratesHasBeenSet = true; m_rates = std::move(value); } + inline RouteToll& WithRates(const Aws::Vector& value) { SetRates(value); return *this;} + inline RouteToll& WithRates(Aws::Vector&& value) { SetRates(std::move(value)); return *this;} + inline RouteToll& AddRates(const RouteTollRate& value) { m_ratesHasBeenSet = true; m_rates.push_back(value); return *this; } + inline RouteToll& AddRates(RouteTollRate&& value) { m_ratesHasBeenSet = true; m_rates.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Toll systems are authorities that collect payments for the toll.

                + */ + inline const Aws::Vector& GetSystems() const{ return m_systems; } + inline bool SystemsHasBeenSet() const { return m_systemsHasBeenSet; } + inline void SetSystems(const Aws::Vector& value) { m_systemsHasBeenSet = true; m_systems = value; } + inline void SetSystems(Aws::Vector&& value) { m_systemsHasBeenSet = true; m_systems = std::move(value); } + inline RouteToll& WithSystems(const Aws::Vector& value) { SetSystems(value); return *this;} + inline RouteToll& WithSystems(Aws::Vector&& value) { SetSystems(std::move(value)); return *this;} + inline RouteToll& AddSystems(int value) { m_systemsHasBeenSet = true; m_systems.push_back(value); return *this; } + ///@} + private: + + Aws::String m_country; + bool m_countryHasBeenSet = false; + + Aws::Vector m_paymentSites; + bool m_paymentSitesHasBeenSet = false; + + Aws::Vector m_rates; + bool m_ratesHasBeenSet = false; + + Aws::Vector m_systems; + bool m_systemsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollOptions.h new file mode 100644 index 00000000000..bf01c2accc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollOptions.h @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to Tolls on a route.

                See Also:

                AWS + * API Reference

                + */ + class RouteTollOptions + { + public: + AWS_GEOROUTES_API RouteTollOptions(); + AWS_GEOROUTES_API RouteTollOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTollOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Specifies if the user has valid transponder with access to all toll systems. + * This impacts toll calculation, and if true the price with transponders is + * used.

                + */ + inline bool GetAllTransponders() const{ return m_allTransponders; } + inline bool AllTranspondersHasBeenSet() const { return m_allTranspondersHasBeenSet; } + inline void SetAllTransponders(bool value) { m_allTranspondersHasBeenSet = true; m_allTransponders = value; } + inline RouteTollOptions& WithAllTransponders(bool value) { SetAllTransponders(value); return *this;} + ///@} + + ///@{ + /** + *

                Specifies if the user has valid vignettes with access for all toll roads. If + * a user has a vignette for a toll road, then toll cost for that road is omitted + * since no further payment is necessary.

                + */ + inline bool GetAllVignettes() const{ return m_allVignettes; } + inline bool AllVignettesHasBeenSet() const { return m_allVignettesHasBeenSet; } + inline void SetAllVignettes(bool value) { m_allVignettesHasBeenSet = true; m_allVignettes = value; } + inline RouteTollOptions& WithAllVignettes(bool value) { SetAllVignettes(value); return *this;} + ///@} + + ///@{ + /** + *

                Currency code corresponding to the price. This is the same as Currency + * specified in the request.

                + */ + inline const Aws::String& GetCurrency() const{ return m_currency; } + inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } + inline void SetCurrency(const Aws::String& value) { m_currencyHasBeenSet = true; m_currency = value; } + inline void SetCurrency(Aws::String&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } + inline void SetCurrency(const char* value) { m_currencyHasBeenSet = true; m_currency.assign(value); } + inline RouteTollOptions& WithCurrency(const Aws::String& value) { SetCurrency(value); return *this;} + inline RouteTollOptions& WithCurrency(Aws::String&& value) { SetCurrency(std::move(value)); return *this;} + inline RouteTollOptions& WithCurrency(const char* value) { SetCurrency(value); return *this;} + ///@} + + ///@{ + /** + *

                Emission type of the vehicle for toll cost calculation.

                Valid + * values: Euro1, Euro2, Euro3, Euro4, Euro5, Euro6, EuroEev

                + */ + inline const RouteEmissionType& GetEmissionType() const{ return m_emissionType; } + inline bool EmissionTypeHasBeenSet() const { return m_emissionTypeHasBeenSet; } + inline void SetEmissionType(const RouteEmissionType& value) { m_emissionTypeHasBeenSet = true; m_emissionType = value; } + inline void SetEmissionType(RouteEmissionType&& value) { m_emissionTypeHasBeenSet = true; m_emissionType = std::move(value); } + inline RouteTollOptions& WithEmissionType(const RouteEmissionType& value) { SetEmissionType(value); return *this;} + inline RouteTollOptions& WithEmissionType(RouteEmissionType&& value) { SetEmissionType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Vehicle category for toll cost calculation.

                + */ + inline const RouteTollVehicleCategory& GetVehicleCategory() const{ return m_vehicleCategory; } + inline bool VehicleCategoryHasBeenSet() const { return m_vehicleCategoryHasBeenSet; } + inline void SetVehicleCategory(const RouteTollVehicleCategory& value) { m_vehicleCategoryHasBeenSet = true; m_vehicleCategory = value; } + inline void SetVehicleCategory(RouteTollVehicleCategory&& value) { m_vehicleCategoryHasBeenSet = true; m_vehicleCategory = std::move(value); } + inline RouteTollOptions& WithVehicleCategory(const RouteTollVehicleCategory& value) { SetVehicleCategory(value); return *this;} + inline RouteTollOptions& WithVehicleCategory(RouteTollVehicleCategory&& value) { SetVehicleCategory(std::move(value)); return *this;} + ///@} + private: + + bool m_allTransponders; + bool m_allTranspondersHasBeenSet = false; + + bool m_allVignettes; + bool m_allVignettesHasBeenSet = false; + + Aws::String m_currency; + bool m_currencyHasBeenSet = false; + + RouteEmissionType m_emissionType; + bool m_emissionTypeHasBeenSet = false; + + RouteTollVehicleCategory m_vehicleCategory; + bool m_vehicleCategoryHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPass.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPass.h new file mode 100644 index 00000000000..532c3171053 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPass.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details if the toll rate can be a pass that supports multiple + * trips.

                See Also:

                AWS + * API Reference

                + */ + class RouteTollPass + { + public: + AWS_GEOROUTES_API RouteTollPass(); + AWS_GEOROUTES_API RouteTollPass(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTollPass& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                If the pass includes the rate for the return leg of the trip.

                + */ + inline bool GetIncludesReturnTrip() const{ return m_includesReturnTrip; } + inline bool IncludesReturnTripHasBeenSet() const { return m_includesReturnTripHasBeenSet; } + inline void SetIncludesReturnTrip(bool value) { m_includesReturnTripHasBeenSet = true; m_includesReturnTrip = value; } + inline RouteTollPass& WithIncludesReturnTrip(bool value) { SetIncludesReturnTrip(value); return *this;} + ///@} + + ///@{ + /** + *

                If the pass is only valid for senior persons.

                + */ + inline bool GetSeniorPass() const{ return m_seniorPass; } + inline bool SeniorPassHasBeenSet() const { return m_seniorPassHasBeenSet; } + inline void SetSeniorPass(bool value) { m_seniorPassHasBeenSet = true; m_seniorPass = value; } + inline RouteTollPass& WithSeniorPass(bool value) { SetSeniorPass(value); return *this;} + ///@} + + ///@{ + /** + *

                If the toll pass can be transferred, and how many times.

                + */ + inline int GetTransferCount() const{ return m_transferCount; } + inline bool TransferCountHasBeenSet() const { return m_transferCountHasBeenSet; } + inline void SetTransferCount(int value) { m_transferCountHasBeenSet = true; m_transferCount = value; } + inline RouteTollPass& WithTransferCount(int value) { SetTransferCount(value); return *this;} + ///@} + + ///@{ + /** + *

                Number of trips the pass is valid for.

                + */ + inline int GetTripCount() const{ return m_tripCount; } + inline bool TripCountHasBeenSet() const { return m_tripCountHasBeenSet; } + inline void SetTripCount(int value) { m_tripCountHasBeenSet = true; m_tripCount = value; } + inline RouteTollPass& WithTripCount(int value) { SetTripCount(value); return *this;} + ///@} + + ///@{ + /** + *

                Period for which the pass is valid.

                + */ + inline const RouteTollPassValidityPeriod& GetValidityPeriod() const{ return m_validityPeriod; } + inline bool ValidityPeriodHasBeenSet() const { return m_validityPeriodHasBeenSet; } + inline void SetValidityPeriod(const RouteTollPassValidityPeriod& value) { m_validityPeriodHasBeenSet = true; m_validityPeriod = value; } + inline void SetValidityPeriod(RouteTollPassValidityPeriod&& value) { m_validityPeriodHasBeenSet = true; m_validityPeriod = std::move(value); } + inline RouteTollPass& WithValidityPeriod(const RouteTollPassValidityPeriod& value) { SetValidityPeriod(value); return *this;} + inline RouteTollPass& WithValidityPeriod(RouteTollPassValidityPeriod&& value) { SetValidityPeriod(std::move(value)); return *this;} + ///@} + private: + + bool m_includesReturnTrip; + bool m_includesReturnTripHasBeenSet = false; + + bool m_seniorPass; + bool m_seniorPassHasBeenSet = false; + + int m_transferCount; + bool m_transferCountHasBeenSet = false; + + int m_tripCount; + bool m_tripCountHasBeenSet = false; + + RouteTollPassValidityPeriod m_validityPeriod; + bool m_validityPeriodHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPassValidityPeriod.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPassValidityPeriod.h new file mode 100644 index 00000000000..0c16f413dfe --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPassValidityPeriod.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Period for which the pass is valid.

                See Also:

                AWS + * API Reference

                + */ + class RouteTollPassValidityPeriod + { + public: + AWS_GEOROUTES_API RouteTollPassValidityPeriod(); + AWS_GEOROUTES_API RouteTollPassValidityPeriod(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTollPassValidityPeriod& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Validity period.

                + */ + inline const RouteTollPassValidityPeriodType& GetPeriod() const{ return m_period; } + inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; } + inline void SetPeriod(const RouteTollPassValidityPeriodType& value) { m_periodHasBeenSet = true; m_period = value; } + inline void SetPeriod(RouteTollPassValidityPeriodType&& value) { m_periodHasBeenSet = true; m_period = std::move(value); } + inline RouteTollPassValidityPeriod& WithPeriod(const RouteTollPassValidityPeriodType& value) { SetPeriod(value); return *this;} + inline RouteTollPassValidityPeriod& WithPeriod(RouteTollPassValidityPeriodType&& value) { SetPeriod(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Counts for the validity period.

                + */ + inline int GetPeriodCount() const{ return m_periodCount; } + inline bool PeriodCountHasBeenSet() const { return m_periodCountHasBeenSet; } + inline void SetPeriodCount(int value) { m_periodCountHasBeenSet = true; m_periodCount = value; } + inline RouteTollPassValidityPeriod& WithPeriodCount(int value) { SetPeriodCount(value); return *this;} + ///@} + private: + + RouteTollPassValidityPeriodType m_period; + bool m_periodHasBeenSet = false; + + int m_periodCount; + bool m_periodCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPassValidityPeriodType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPassValidityPeriodType.h new file mode 100644 index 00000000000..a92b3393af6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPassValidityPeriodType.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteTollPassValidityPeriodType + { + NOT_SET, + Annual, + Days, + ExtendedAnnual, + Minutes, + Months + }; + +namespace RouteTollPassValidityPeriodTypeMapper +{ +AWS_GEOROUTES_API RouteTollPassValidityPeriodType GetRouteTollPassValidityPeriodTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteTollPassValidityPeriodType(RouteTollPassValidityPeriodType value); +} // namespace RouteTollPassValidityPeriodTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPaymentMethod.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPaymentMethod.h new file mode 100644 index 00000000000..6285becd44b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPaymentMethod.h @@ -0,0 +1,37 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteTollPaymentMethod + { + NOT_SET, + BankCard, + Cash, + CashExact, + CreditCard, + PassSubscription, + TravelCard, + Transponder, + VideoToll + }; + +namespace RouteTollPaymentMethodMapper +{ +AWS_GEOROUTES_API RouteTollPaymentMethod GetRouteTollPaymentMethodForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteTollPaymentMethod(RouteTollPaymentMethod value); +} // namespace RouteTollPaymentMethodMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPaymentSite.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPaymentSite.h new file mode 100644 index 00000000000..155bbd19ab6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPaymentSite.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Locations or sites where the toll fare is collected.

                See Also:

                + * AWS + * API Reference

                + */ + class RouteTollPaymentSite + { + public: + AWS_GEOROUTES_API RouteTollPaymentSite(); + AWS_GEOROUTES_API RouteTollPaymentSite(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTollPaymentSite& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the payment site.

                + */ + 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 RouteTollPaymentSite& WithName(const Aws::String& value) { SetName(value); return *this;} + inline RouteTollPaymentSite& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline RouteTollPaymentSite& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline RouteTollPaymentSite& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline RouteTollPaymentSite& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline RouteTollPaymentSite& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPrice.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPrice.h new file mode 100644 index 00000000000..b522aa54197 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPrice.h @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The toll price.

                See Also:

                AWS + * API Reference

                + */ + class RouteTollPrice + { + public: + AWS_GEOROUTES_API RouteTollPrice(); + AWS_GEOROUTES_API RouteTollPrice(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTollPrice& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Currency code corresponding to the price. This is the same as Currency + * specified in the request.

                + */ + inline const Aws::String& GetCurrency() const{ return m_currency; } + inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } + inline void SetCurrency(const Aws::String& value) { m_currencyHasBeenSet = true; m_currency = value; } + inline void SetCurrency(Aws::String&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } + inline void SetCurrency(const char* value) { m_currencyHasBeenSet = true; m_currency.assign(value); } + inline RouteTollPrice& WithCurrency(const Aws::String& value) { SetCurrency(value); return *this;} + inline RouteTollPrice& WithCurrency(Aws::String&& value) { SetCurrency(std::move(value)); return *this;} + inline RouteTollPrice& WithCurrency(const char* value) { SetCurrency(value); return *this;} + ///@} + + ///@{ + /** + *

                If the price is an estimate or an exact value.

                + */ + inline bool GetEstimate() const{ return m_estimate; } + inline bool EstimateHasBeenSet() const { return m_estimateHasBeenSet; } + inline void SetEstimate(bool value) { m_estimateHasBeenSet = true; m_estimate = value; } + inline RouteTollPrice& WithEstimate(bool value) { SetEstimate(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration for which the price corresponds to.

                Unit: + * seconds

                + */ + inline long long GetPerDuration() const{ return m_perDuration; } + inline bool PerDurationHasBeenSet() const { return m_perDurationHasBeenSet; } + inline void SetPerDuration(long long value) { m_perDurationHasBeenSet = true; m_perDuration = value; } + inline RouteTollPrice& WithPerDuration(long long value) { SetPerDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                If the price is a range or an exact value. If any of the toll fares making up + * the route is a range, the overall price is also a range.

                + */ + inline bool GetRange() const{ return m_range; } + inline bool RangeHasBeenSet() const { return m_rangeHasBeenSet; } + inline void SetRange(bool value) { m_rangeHasBeenSet = true; m_range = value; } + inline RouteTollPrice& WithRange(bool value) { SetRange(value); return *this;} + ///@} + + ///@{ + /** + *

                Price range with a minimum and maximum value, if a range.

                + */ + inline const RouteTollPriceValueRange& GetRangeValue() const{ return m_rangeValue; } + inline bool RangeValueHasBeenSet() const { return m_rangeValueHasBeenSet; } + inline void SetRangeValue(const RouteTollPriceValueRange& value) { m_rangeValueHasBeenSet = true; m_rangeValue = value; } + inline void SetRangeValue(RouteTollPriceValueRange&& value) { m_rangeValueHasBeenSet = true; m_rangeValue = std::move(value); } + inline RouteTollPrice& WithRangeValue(const RouteTollPriceValueRange& value) { SetRangeValue(value); return *this;} + inline RouteTollPrice& WithRangeValue(RouteTollPriceValueRange&& value) { SetRangeValue(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Exact price, if not a range.

                + */ + inline double GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; } + inline RouteTollPrice& WithValue(double value) { SetValue(value); return *this;} + ///@} + private: + + Aws::String m_currency; + bool m_currencyHasBeenSet = false; + + bool m_estimate; + bool m_estimateHasBeenSet = false; + + long long m_perDuration; + bool m_perDurationHasBeenSet = false; + + bool m_range; + bool m_rangeHasBeenSet = false; + + RouteTollPriceValueRange m_rangeValue; + bool m_rangeValueHasBeenSet = false; + + double m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPriceSummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPriceSummary.h new file mode 100644 index 00000000000..168f1f92515 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPriceSummary.h @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Summary of the route and toll price.

                See Also:

                AWS + * API Reference

                + */ + class RouteTollPriceSummary + { + public: + AWS_GEOROUTES_API RouteTollPriceSummary(); + AWS_GEOROUTES_API RouteTollPriceSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTollPriceSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Currency code corresponding to the price. This is the same as Currency + * specified in the request.

                + */ + inline const Aws::String& GetCurrency() const{ return m_currency; } + inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; } + inline void SetCurrency(const Aws::String& value) { m_currencyHasBeenSet = true; m_currency = value; } + inline void SetCurrency(Aws::String&& value) { m_currencyHasBeenSet = true; m_currency = std::move(value); } + inline void SetCurrency(const char* value) { m_currencyHasBeenSet = true; m_currency.assign(value); } + inline RouteTollPriceSummary& WithCurrency(const Aws::String& value) { SetCurrency(value); return *this;} + inline RouteTollPriceSummary& WithCurrency(Aws::String&& value) { SetCurrency(std::move(value)); return *this;} + inline RouteTollPriceSummary& WithCurrency(const char* value) { SetCurrency(value); return *this;} + ///@} + + ///@{ + /** + *

                If the price is an estimate or an exact value.

                + */ + inline bool GetEstimate() const{ return m_estimate; } + inline bool EstimateHasBeenSet() const { return m_estimateHasBeenSet; } + inline void SetEstimate(bool value) { m_estimateHasBeenSet = true; m_estimate = value; } + inline RouteTollPriceSummary& WithEstimate(bool value) { SetEstimate(value); return *this;} + ///@} + + ///@{ + /** + *

                If the price is a range or an exact value. If any of the toll fares making up + * the route is a range, the overall price is also a range.

                + */ + inline bool GetRange() const{ return m_range; } + inline bool RangeHasBeenSet() const { return m_rangeHasBeenSet; } + inline void SetRange(bool value) { m_rangeHasBeenSet = true; m_range = value; } + inline RouteTollPriceSummary& WithRange(bool value) { SetRange(value); return *this;} + ///@} + + ///@{ + /** + *

                Price range with a minimum and maximum value, if a range.

                + */ + inline const RouteTollPriceValueRange& GetRangeValue() const{ return m_rangeValue; } + inline bool RangeValueHasBeenSet() const { return m_rangeValueHasBeenSet; } + inline void SetRangeValue(const RouteTollPriceValueRange& value) { m_rangeValueHasBeenSet = true; m_rangeValue = value; } + inline void SetRangeValue(RouteTollPriceValueRange&& value) { m_rangeValueHasBeenSet = true; m_rangeValue = std::move(value); } + inline RouteTollPriceSummary& WithRangeValue(const RouteTollPriceValueRange& value) { SetRangeValue(value); return *this;} + inline RouteTollPriceSummary& WithRangeValue(RouteTollPriceValueRange&& value) { SetRangeValue(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Exact price, if not a range.

                + */ + inline double GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; } + inline RouteTollPriceSummary& WithValue(double value) { SetValue(value); return *this;} + ///@} + private: + + Aws::String m_currency; + bool m_currencyHasBeenSet = false; + + bool m_estimate; + bool m_estimateHasBeenSet = false; + + bool m_range; + bool m_rangeHasBeenSet = false; + + RouteTollPriceValueRange m_rangeValue; + bool m_rangeValueHasBeenSet = false; + + double m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPriceValueRange.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPriceValueRange.h new file mode 100644 index 00000000000..6e24bef2ca1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollPriceValueRange.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Price range with a minimum and maximum value, if a range.

                See + * Also:

                AWS + * API Reference

                + */ + class RouteTollPriceValueRange + { + public: + AWS_GEOROUTES_API RouteTollPriceValueRange(); + AWS_GEOROUTES_API RouteTollPriceValueRange(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTollPriceValueRange& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Minimum price.

                + */ + inline double GetMin() const{ return m_min; } + inline bool MinHasBeenSet() const { return m_minHasBeenSet; } + inline void SetMin(double value) { m_minHasBeenSet = true; m_min = value; } + inline RouteTollPriceValueRange& WithMin(double value) { SetMin(value); return *this;} + ///@} + + ///@{ + /** + *

                Maximum price.

                + */ + inline double GetMax() const{ return m_max; } + inline bool MaxHasBeenSet() const { return m_maxHasBeenSet; } + inline void SetMax(double value) { m_maxHasBeenSet = true; m_max = value; } + inline RouteTollPriceValueRange& WithMax(double value) { SetMax(value); return *this;} + ///@} + private: + + double m_min; + bool m_minHasBeenSet = false; + + double m_max; + bool m_maxHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollRate.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollRate.h new file mode 100644 index 00000000000..a3e3a2111ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollRate.h @@ -0,0 +1,179 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The toll rate.

                See Also:

                AWS + * API Reference

                + */ + class RouteTollRate + { + public: + AWS_GEOROUTES_API RouteTollRate(); + AWS_GEOROUTES_API RouteTollRate(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTollRate& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Time when the rate is valid.

                + */ + inline const Aws::String& GetApplicableTimes() const{ return m_applicableTimes; } + inline bool ApplicableTimesHasBeenSet() const { return m_applicableTimesHasBeenSet; } + inline void SetApplicableTimes(const Aws::String& value) { m_applicableTimesHasBeenSet = true; m_applicableTimes = value; } + inline void SetApplicableTimes(Aws::String&& value) { m_applicableTimesHasBeenSet = true; m_applicableTimes = std::move(value); } + inline void SetApplicableTimes(const char* value) { m_applicableTimesHasBeenSet = true; m_applicableTimes.assign(value); } + inline RouteTollRate& WithApplicableTimes(const Aws::String& value) { SetApplicableTimes(value); return *this;} + inline RouteTollRate& WithApplicableTimes(Aws::String&& value) { SetApplicableTimes(std::move(value)); return *this;} + inline RouteTollRate& WithApplicableTimes(const char* value) { SetApplicableTimes(value); return *this;} + ///@} + + ///@{ + /** + *

                Price in the converted currency as specified in the request.

                + */ + inline const RouteTollPrice& GetConvertedPrice() const{ return m_convertedPrice; } + inline bool ConvertedPriceHasBeenSet() const { return m_convertedPriceHasBeenSet; } + inline void SetConvertedPrice(const RouteTollPrice& value) { m_convertedPriceHasBeenSet = true; m_convertedPrice = value; } + inline void SetConvertedPrice(RouteTollPrice&& value) { m_convertedPriceHasBeenSet = true; m_convertedPrice = std::move(value); } + inline RouteTollRate& WithConvertedPrice(const RouteTollPrice& value) { SetConvertedPrice(value); return *this;} + inline RouteTollRate& WithConvertedPrice(RouteTollPrice&& value) { SetConvertedPrice(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The Toll rate Id.

                + */ + 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 RouteTollRate& WithId(const Aws::String& value) { SetId(value); return *this;} + inline RouteTollRate& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline RouteTollRate& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

                Price in the local regional currency.

                + */ + inline const RouteTollPrice& GetLocalPrice() const{ return m_localPrice; } + inline bool LocalPriceHasBeenSet() const { return m_localPriceHasBeenSet; } + inline void SetLocalPrice(const RouteTollPrice& value) { m_localPriceHasBeenSet = true; m_localPrice = value; } + inline void SetLocalPrice(RouteTollPrice&& value) { m_localPriceHasBeenSet = true; m_localPrice = std::move(value); } + inline RouteTollRate& WithLocalPrice(const RouteTollPrice& value) { SetLocalPrice(value); return *this;} + inline RouteTollRate& WithLocalPrice(RouteTollPrice&& value) { SetLocalPrice(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The name of the toll.

                + */ + 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 RouteTollRate& WithName(const Aws::String& value) { SetName(value); return *this;} + inline RouteTollRate& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline RouteTollRate& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                Details if the toll rate can be a pass that supports multiple trips.

                + */ + inline const RouteTollPass& GetPass() const{ return m_pass; } + inline bool PassHasBeenSet() const { return m_passHasBeenSet; } + inline void SetPass(const RouteTollPass& value) { m_passHasBeenSet = true; m_pass = value; } + inline void SetPass(RouteTollPass&& value) { m_passHasBeenSet = true; m_pass = std::move(value); } + inline RouteTollRate& WithPass(const RouteTollPass& value) { SetPass(value); return *this;} + inline RouteTollRate& WithPass(RouteTollPass&& value) { SetPass(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Accepted payment methods at the toll.

                + */ + inline const Aws::Vector& GetPaymentMethods() const{ return m_paymentMethods; } + inline bool PaymentMethodsHasBeenSet() const { return m_paymentMethodsHasBeenSet; } + inline void SetPaymentMethods(const Aws::Vector& value) { m_paymentMethodsHasBeenSet = true; m_paymentMethods = value; } + inline void SetPaymentMethods(Aws::Vector&& value) { m_paymentMethodsHasBeenSet = true; m_paymentMethods = std::move(value); } + inline RouteTollRate& WithPaymentMethods(const Aws::Vector& value) { SetPaymentMethods(value); return *this;} + inline RouteTollRate& WithPaymentMethods(Aws::Vector&& value) { SetPaymentMethods(std::move(value)); return *this;} + inline RouteTollRate& AddPaymentMethods(const RouteTollPaymentMethod& value) { m_paymentMethodsHasBeenSet = true; m_paymentMethods.push_back(value); return *this; } + inline RouteTollRate& AddPaymentMethods(RouteTollPaymentMethod&& value) { m_paymentMethodsHasBeenSet = true; m_paymentMethods.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Transponders for which this toll can be applied.

                + */ + inline const Aws::Vector& GetTransponders() const{ return m_transponders; } + inline bool TranspondersHasBeenSet() const { return m_transpondersHasBeenSet; } + inline void SetTransponders(const Aws::Vector& value) { m_transpondersHasBeenSet = true; m_transponders = value; } + inline void SetTransponders(Aws::Vector&& value) { m_transpondersHasBeenSet = true; m_transponders = std::move(value); } + inline RouteTollRate& WithTransponders(const Aws::Vector& value) { SetTransponders(value); return *this;} + inline RouteTollRate& WithTransponders(Aws::Vector&& value) { SetTransponders(std::move(value)); return *this;} + inline RouteTollRate& AddTransponders(const RouteTransponder& value) { m_transpondersHasBeenSet = true; m_transponders.push_back(value); return *this; } + inline RouteTollRate& AddTransponders(RouteTransponder&& value) { m_transpondersHasBeenSet = true; m_transponders.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_applicableTimes; + bool m_applicableTimesHasBeenSet = false; + + RouteTollPrice m_convertedPrice; + bool m_convertedPriceHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + RouteTollPrice m_localPrice; + bool m_localPriceHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + RouteTollPass m_pass; + bool m_passHasBeenSet = false; + + Aws::Vector m_paymentMethods; + bool m_paymentMethodsHasBeenSet = false; + + Aws::Vector m_transponders; + bool m_transpondersHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollSummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollSummary.h new file mode 100644 index 00000000000..20a0543bb5f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollSummary.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The toll summary for the complete route.

                See Also:

                AWS + * API Reference

                + */ + class RouteTollSummary + { + public: + AWS_GEOROUTES_API RouteTollSummary(); + AWS_GEOROUTES_API RouteTollSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTollSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Total toll summary for the complete route. Total is the only summary + * available today.

                + */ + inline const RouteTollPriceSummary& GetTotal() const{ return m_total; } + inline bool TotalHasBeenSet() const { return m_totalHasBeenSet; } + inline void SetTotal(const RouteTollPriceSummary& value) { m_totalHasBeenSet = true; m_total = value; } + inline void SetTotal(RouteTollPriceSummary&& value) { m_totalHasBeenSet = true; m_total = std::move(value); } + inline RouteTollSummary& WithTotal(const RouteTollPriceSummary& value) { SetTotal(value); return *this;} + inline RouteTollSummary& WithTotal(RouteTollPriceSummary&& value) { SetTotal(std::move(value)); return *this;} + ///@} + private: + + RouteTollPriceSummary m_total; + bool m_totalHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollSystem.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollSystem.h new file mode 100644 index 00000000000..c137d004f48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollSystem.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Toll systems are authorities that collect payments for the + * toll.

                See Also:

                AWS + * API Reference

                + */ + class RouteTollSystem + { + public: + AWS_GEOROUTES_API RouteTollSystem(); + AWS_GEOROUTES_API RouteTollSystem(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTollSystem& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The toll system name.

                + */ + 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 RouteTollSystem& WithName(const Aws::String& value) { SetName(value); return *this;} + inline RouteTollSystem& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline RouteTollSystem& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollVehicleCategory.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollVehicleCategory.h new file mode 100644 index 00000000000..f2dc342c9c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTollVehicleCategory.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteTollVehicleCategory + { + NOT_SET, + Minibus + }; + +namespace RouteTollVehicleCategoryMapper +{ +AWS_GEOROUTES_API RouteTollVehicleCategory GetRouteTollVehicleCategoryForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteTollVehicleCategory(RouteTollVehicleCategory value); +} // namespace RouteTollVehicleCategoryMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTrafficOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTrafficOptions.h new file mode 100644 index 00000000000..f88972b1485 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTrafficOptions.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Traffic options for the route.

                See Also:

                AWS + * API Reference

                + */ + class RouteTrafficOptions + { + public: + AWS_GEOROUTES_API RouteTrafficOptions(); + AWS_GEOROUTES_API RouteTrafficOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTrafficOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Duration for which flow traffic is considered valid. For this period, the + * flow traffic is used over historical traffic data. Flow traffic refers to + * congestion, which changes very quickly. Duration in seconds for which flow + * traffic event would be considered valid. While flow traffic event is valid it + * will be used over the historical traffic data.

                + */ + inline long long GetFlowEventThresholdOverride() const{ return m_flowEventThresholdOverride; } + inline bool FlowEventThresholdOverrideHasBeenSet() const { return m_flowEventThresholdOverrideHasBeenSet; } + inline void SetFlowEventThresholdOverride(long long value) { m_flowEventThresholdOverrideHasBeenSet = true; m_flowEventThresholdOverride = value; } + inline RouteTrafficOptions& WithFlowEventThresholdOverride(long long value) { SetFlowEventThresholdOverride(value); return *this;} + ///@} + + ///@{ + /** + *

                Determines if traffic should be used or ignored while calculating the + * route.

                Default Value: UseTrafficData

                + */ + inline const TrafficUsage& GetUsage() const{ return m_usage; } + inline bool UsageHasBeenSet() const { return m_usageHasBeenSet; } + inline void SetUsage(const TrafficUsage& value) { m_usageHasBeenSet = true; m_usage = value; } + inline void SetUsage(TrafficUsage&& value) { m_usageHasBeenSet = true; m_usage = std::move(value); } + inline RouteTrafficOptions& WithUsage(const TrafficUsage& value) { SetUsage(value); return *this;} + inline RouteTrafficOptions& WithUsage(TrafficUsage&& value) { SetUsage(std::move(value)); return *this;} + ///@} + private: + + long long m_flowEventThresholdOverride; + bool m_flowEventThresholdOverrideHasBeenSet = false; + + TrafficUsage m_usage; + bool m_usageHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTrailerOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTrailerOptions.h new file mode 100644 index 00000000000..be6bd1450bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTrailerOptions.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Trailer options corresponding to the vehicle.

                See Also:

                AWS + * API Reference

                + */ + class RouteTrailerOptions + { + public: + AWS_GEOROUTES_API RouteTrailerOptions(); + AWS_GEOROUTES_API RouteTrailerOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTrailerOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Total number of axles of the vehicle.

                + */ + inline int GetAxleCount() const{ return m_axleCount; } + inline bool AxleCountHasBeenSet() const { return m_axleCountHasBeenSet; } + inline void SetAxleCount(int value) { m_axleCountHasBeenSet = true; m_axleCount = value; } + inline RouteTrailerOptions& WithAxleCount(int value) { SetAxleCount(value); return *this;} + ///@} + + ///@{ + /** + *

                Number of trailers attached to the vehicle.

                Default Value: + * 0

                + */ + inline int GetTrailerCount() const{ return m_trailerCount; } + inline bool TrailerCountHasBeenSet() const { return m_trailerCountHasBeenSet; } + inline void SetTrailerCount(int value) { m_trailerCountHasBeenSet = true; m_trailerCount = value; } + inline RouteTrailerOptions& WithTrailerCount(int value) { SetTrailerCount(value); return *this;} + ///@} + private: + + int m_axleCount; + bool m_axleCountHasBeenSet = false; + + int m_trailerCount; + bool m_trailerCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTransponder.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTransponder.h new file mode 100644 index 00000000000..519ea504f65 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTransponder.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Transponders for which this toll can be applied.

                See Also:

                + * AWS + * API Reference

                + */ + class RouteTransponder + { + public: + AWS_GEOROUTES_API RouteTransponder(); + AWS_GEOROUTES_API RouteTransponder(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTransponder& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Names of the toll system collecting the toll.

                + */ + inline const Aws::String& GetSystemName() const{ return m_systemName; } + inline bool SystemNameHasBeenSet() const { return m_systemNameHasBeenSet; } + inline void SetSystemName(const Aws::String& value) { m_systemNameHasBeenSet = true; m_systemName = value; } + inline void SetSystemName(Aws::String&& value) { m_systemNameHasBeenSet = true; m_systemName = std::move(value); } + inline void SetSystemName(const char* value) { m_systemNameHasBeenSet = true; m_systemName.assign(value); } + inline RouteTransponder& WithSystemName(const Aws::String& value) { SetSystemName(value); return *this;} + inline RouteTransponder& WithSystemName(Aws::String&& value) { SetSystemName(std::move(value)); return *this;} + inline RouteTransponder& WithSystemName(const char* value) { SetSystemName(value); return *this;} + ///@} + private: + + Aws::String m_systemName; + bool m_systemNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTravelMode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTravelMode.h new file mode 100644 index 00000000000..e929c8c9e29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTravelMode.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteTravelMode + { + NOT_SET, + Car, + Pedestrian, + Scooter, + Truck + }; + +namespace RouteTravelModeMapper +{ +AWS_GEOROUTES_API RouteTravelMode GetRouteTravelModeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteTravelMode(RouteTravelMode value); +} // namespace RouteTravelModeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTravelModeOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTravelModeOptions.h new file mode 100644 index 00000000000..7edd9ece2f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTravelModeOptions.h @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode related options for the provided travel mode.

                See + * Also:

                AWS + * API Reference

                + */ + class RouteTravelModeOptions + { + public: + AWS_GEOROUTES_API RouteTravelModeOptions(); + AWS_GEOROUTES_API RouteTravelModeOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTravelModeOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Car"

                + */ + inline const RouteCarOptions& GetCar() const{ return m_car; } + inline bool CarHasBeenSet() const { return m_carHasBeenSet; } + inline void SetCar(const RouteCarOptions& value) { m_carHasBeenSet = true; m_car = value; } + inline void SetCar(RouteCarOptions&& value) { m_carHasBeenSet = true; m_car = std::move(value); } + inline RouteTravelModeOptions& WithCar(const RouteCarOptions& value) { SetCar(value); return *this;} + inline RouteTravelModeOptions& WithCar(RouteCarOptions&& value) { SetCar(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Pedestrian"

                + */ + inline const RoutePedestrianOptions& GetPedestrian() const{ return m_pedestrian; } + inline bool PedestrianHasBeenSet() const { return m_pedestrianHasBeenSet; } + inline void SetPedestrian(const RoutePedestrianOptions& value) { m_pedestrianHasBeenSet = true; m_pedestrian = value; } + inline void SetPedestrian(RoutePedestrianOptions&& value) { m_pedestrianHasBeenSet = true; m_pedestrian = std::move(value); } + inline RouteTravelModeOptions& WithPedestrian(const RoutePedestrianOptions& value) { SetPedestrian(value); return *this;} + inline RouteTravelModeOptions& WithPedestrian(RoutePedestrianOptions&& value) { SetPedestrian(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Scooter"

                + */ + inline const RouteScooterOptions& GetScooter() const{ return m_scooter; } + inline bool ScooterHasBeenSet() const { return m_scooterHasBeenSet; } + inline void SetScooter(const RouteScooterOptions& value) { m_scooterHasBeenSet = true; m_scooter = value; } + inline void SetScooter(RouteScooterOptions&& value) { m_scooterHasBeenSet = true; m_scooter = std::move(value); } + inline RouteTravelModeOptions& WithScooter(const RouteScooterOptions& value) { SetScooter(value); return *this;} + inline RouteTravelModeOptions& WithScooter(RouteScooterOptions&& value) { SetScooter(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Truck"

                + */ + inline const RouteTruckOptions& GetTruck() const{ return m_truck; } + inline bool TruckHasBeenSet() const { return m_truckHasBeenSet; } + inline void SetTruck(const RouteTruckOptions& value) { m_truckHasBeenSet = true; m_truck = value; } + inline void SetTruck(RouteTruckOptions&& value) { m_truckHasBeenSet = true; m_truck = std::move(value); } + inline RouteTravelModeOptions& WithTruck(const RouteTruckOptions& value) { SetTruck(value); return *this;} + inline RouteTravelModeOptions& WithTruck(RouteTruckOptions&& value) { SetTruck(std::move(value)); return *this;} + ///@} + private: + + RouteCarOptions m_car; + bool m_carHasBeenSet = false; + + RoutePedestrianOptions m_pedestrian; + bool m_pedestrianHasBeenSet = false; + + RouteScooterOptions m_scooter; + bool m_scooterHasBeenSet = false; + + RouteTruckOptions m_truck; + bool m_truckHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTravelStepType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTravelStepType.h new file mode 100644 index 00000000000..45dd6f4e820 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTravelStepType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteTravelStepType + { + NOT_SET, + Default, + TurnByTurn + }; + +namespace RouteTravelStepTypeMapper +{ +AWS_GEOROUTES_API RouteTravelStepType GetRouteTravelStepTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteTravelStepType(RouteTravelStepType value); +} // namespace RouteTravelStepTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTruckOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTruckOptions.h new file mode 100644 index 00000000000..b7b9fc1bc99 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTruckOptions.h @@ -0,0 +1,337 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode options when the provided travel mode is "Truck"

                See + * Also:

                AWS + * API Reference

                + */ + class RouteTruckOptions + { + public: + AWS_GEOROUTES_API RouteTruckOptions(); + AWS_GEOROUTES_API RouteTruckOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTruckOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Total number of axles of the vehicle.

                + */ + inline int GetAxleCount() const{ return m_axleCount; } + inline bool AxleCountHasBeenSet() const { return m_axleCountHasBeenSet; } + inline void SetAxleCount(int value) { m_axleCountHasBeenSet = true; m_axleCount = value; } + inline RouteTruckOptions& WithAxleCount(int value) { SetAxleCount(value); return *this;} + ///@} + + ///@{ + /** + *

                Engine type of the vehicle.

                + */ + inline const RouteEngineType& GetEngineType() const{ return m_engineType; } + inline bool EngineTypeHasBeenSet() const { return m_engineTypeHasBeenSet; } + inline void SetEngineType(const RouteEngineType& value) { m_engineTypeHasBeenSet = true; m_engineType = value; } + inline void SetEngineType(RouteEngineType&& value) { m_engineTypeHasBeenSet = true; m_engineType = std::move(value); } + inline RouteTruckOptions& WithEngineType(const RouteEngineType& value) { SetEngineType(value); return *this;} + inline RouteTruckOptions& WithEngineType(RouteEngineType&& value) { SetEngineType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Gross weight of the vehicle including trailers, and goods at capacity.

                + *

                Unit: Kilograms

                + */ + inline long long GetGrossWeight() const{ return m_grossWeight; } + inline bool GrossWeightHasBeenSet() const { return m_grossWeightHasBeenSet; } + inline void SetGrossWeight(long long value) { m_grossWeightHasBeenSet = true; m_grossWeight = value; } + inline RouteTruckOptions& WithGrossWeight(long long value) { SetGrossWeight(value); return *this;} + ///@} + + ///@{ + /** + *

                List of Hazardous cargo contained in the vehicle.

                + */ + inline const Aws::Vector& GetHazardousCargos() const{ return m_hazardousCargos; } + inline bool HazardousCargosHasBeenSet() const { return m_hazardousCargosHasBeenSet; } + inline void SetHazardousCargos(const Aws::Vector& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = value; } + inline void SetHazardousCargos(Aws::Vector&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = std::move(value); } + inline RouteTruckOptions& WithHazardousCargos(const Aws::Vector& value) { SetHazardousCargos(value); return *this;} + inline RouteTruckOptions& WithHazardousCargos(Aws::Vector&& value) { SetHazardousCargos(std::move(value)); return *this;} + inline RouteTruckOptions& AddHazardousCargos(const RouteHazardousCargoType& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(value); return *this; } + inline RouteTruckOptions& AddHazardousCargos(RouteHazardousCargoType&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Height of the vehicle.

                Unit: centimeters

                + */ + inline long long GetHeight() const{ return m_height; } + inline bool HeightHasBeenSet() const { return m_heightHasBeenSet; } + inline void SetHeight(long long value) { m_heightHasBeenSet = true; m_height = value; } + inline RouteTruckOptions& WithHeight(long long value) { SetHeight(value); return *this;} + ///@} + + ///@{ + /** + *

                Height of the vehicle above its first axle.

                Unit: + * centimeters

                + */ + inline long long GetHeightAboveFirstAxle() const{ return m_heightAboveFirstAxle; } + inline bool HeightAboveFirstAxleHasBeenSet() const { return m_heightAboveFirstAxleHasBeenSet; } + inline void SetHeightAboveFirstAxle(long long value) { m_heightAboveFirstAxleHasBeenSet = true; m_heightAboveFirstAxle = value; } + inline RouteTruckOptions& WithHeightAboveFirstAxle(long long value) { SetHeightAboveFirstAxle(value); return *this;} + ///@} + + ///@{ + /** + *

                Kingpin to rear axle length of the vehicle.

                Unit: + * centimeters

                + */ + inline long long GetKpraLength() const{ return m_kpraLength; } + inline bool KpraLengthHasBeenSet() const { return m_kpraLengthHasBeenSet; } + inline void SetKpraLength(long long value) { m_kpraLengthHasBeenSet = true; m_kpraLength = value; } + inline RouteTruckOptions& WithKpraLength(long long value) { SetKpraLength(value); return *this;} + ///@} + + ///@{ + /** + *

                Length of the vehicle.

                Unit: c

                + */ + inline long long GetLength() const{ return m_length; } + inline bool LengthHasBeenSet() const { return m_lengthHasBeenSet; } + inline void SetLength(long long value) { m_lengthHasBeenSet = true; m_length = value; } + inline RouteTruckOptions& WithLength(long long value) { SetLength(value); return *this;} + ///@} + + ///@{ + /** + *

                The vehicle License Plate.

                + */ + inline const RouteVehicleLicensePlate& GetLicensePlate() const{ return m_licensePlate; } + inline bool LicensePlateHasBeenSet() const { return m_licensePlateHasBeenSet; } + inline void SetLicensePlate(const RouteVehicleLicensePlate& value) { m_licensePlateHasBeenSet = true; m_licensePlate = value; } + inline void SetLicensePlate(RouteVehicleLicensePlate&& value) { m_licensePlateHasBeenSet = true; m_licensePlate = std::move(value); } + inline RouteTruckOptions& WithLicensePlate(const RouteVehicleLicensePlate& value) { SetLicensePlate(value); return *this;} + inline RouteTruckOptions& WithLicensePlate(RouteVehicleLicensePlate&& value) { SetLicensePlate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Maximum speed

                Unit: KilometersPerHour

                + */ + inline double GetMaxSpeed() const{ return m_maxSpeed; } + inline bool MaxSpeedHasBeenSet() const { return m_maxSpeedHasBeenSet; } + inline void SetMaxSpeed(double value) { m_maxSpeedHasBeenSet = true; m_maxSpeed = value; } + inline RouteTruckOptions& WithMaxSpeed(double value) { SetMaxSpeed(value); return *this;} + ///@} + + ///@{ + /** + *

                The number of occupants in the vehicle.

                Default Value: 1 + *

                + */ + inline int GetOccupancy() const{ return m_occupancy; } + inline bool OccupancyHasBeenSet() const { return m_occupancyHasBeenSet; } + inline void SetOccupancy(int value) { m_occupancyHasBeenSet = true; m_occupancy = value; } + inline RouteTruckOptions& WithOccupancy(int value) { SetOccupancy(value); return *this;} + ///@} + + ///@{ + /** + *

                Payload capacity of the vehicle and trailers attached.

                Unit: + * kilograms

                + */ + inline long long GetPayloadCapacity() const{ return m_payloadCapacity; } + inline bool PayloadCapacityHasBeenSet() const { return m_payloadCapacityHasBeenSet; } + inline void SetPayloadCapacity(long long value) { m_payloadCapacityHasBeenSet = true; m_payloadCapacity = value; } + inline RouteTruckOptions& WithPayloadCapacity(long long value) { SetPayloadCapacity(value); return *this;} + ///@} + + ///@{ + /** + *

                Number of tires on the vehicle.

                + */ + inline int GetTireCount() const{ return m_tireCount; } + inline bool TireCountHasBeenSet() const { return m_tireCountHasBeenSet; } + inline void SetTireCount(int value) { m_tireCountHasBeenSet = true; m_tireCount = value; } + inline RouteTruckOptions& WithTireCount(int value) { SetTireCount(value); return *this;} + ///@} + + ///@{ + /** + *

                Trailer options corresponding to the vehicle.

                + */ + inline const RouteTrailerOptions& GetTrailer() const{ return m_trailer; } + inline bool TrailerHasBeenSet() const { return m_trailerHasBeenSet; } + inline void SetTrailer(const RouteTrailerOptions& value) { m_trailerHasBeenSet = true; m_trailer = value; } + inline void SetTrailer(RouteTrailerOptions&& value) { m_trailerHasBeenSet = true; m_trailer = std::move(value); } + inline RouteTruckOptions& WithTrailer(const RouteTrailerOptions& value) { SetTrailer(value); return *this;} + inline RouteTruckOptions& WithTrailer(RouteTrailerOptions&& value) { SetTrailer(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Type of the truck.

                + */ + inline const RouteTruckType& GetTruckType() const{ return m_truckType; } + inline bool TruckTypeHasBeenSet() const { return m_truckTypeHasBeenSet; } + inline void SetTruckType(const RouteTruckType& value) { m_truckTypeHasBeenSet = true; m_truckType = value; } + inline void SetTruckType(RouteTruckType&& value) { m_truckTypeHasBeenSet = true; m_truckType = std::move(value); } + inline RouteTruckOptions& WithTruckType(const RouteTruckType& value) { SetTruckType(value); return *this;} + inline RouteTruckOptions& WithTruckType(RouteTruckType&& value) { SetTruckType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The tunnel restriction code.

                Tunnel categories in this list indicate + * the restrictions which apply to certain tunnels in Great Britain. They relate to + * the types of dangerous goods that can be transported through them.

                • + *

                  Tunnel Category B

                  • Risk Level: Limited + * risk

                  • Restrictions: Few restrictions

                  + *
                • Tunnel Category C

                  • Risk Level: + * Medium risk

                  • Restrictions: Some restrictions

                  • + *
                • Tunnel Category D

                  • Risk + * Level: High risk

                  • Restrictions: Many restrictions + * occur

                • Tunnel Category E

                  • + * Risk Level: Very high risk

                  • Restrictions: + * Restricted tunnel

                + */ + inline const Aws::String& GetTunnelRestrictionCode() const{ return m_tunnelRestrictionCode; } + inline bool TunnelRestrictionCodeHasBeenSet() const { return m_tunnelRestrictionCodeHasBeenSet; } + inline void SetTunnelRestrictionCode(const Aws::String& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = value; } + inline void SetTunnelRestrictionCode(Aws::String&& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = std::move(value); } + inline void SetTunnelRestrictionCode(const char* value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode.assign(value); } + inline RouteTruckOptions& WithTunnelRestrictionCode(const Aws::String& value) { SetTunnelRestrictionCode(value); return *this;} + inline RouteTruckOptions& WithTunnelRestrictionCode(Aws::String&& value) { SetTunnelRestrictionCode(std::move(value)); return *this;} + inline RouteTruckOptions& WithTunnelRestrictionCode(const char* value) { SetTunnelRestrictionCode(value); return *this;} + ///@} + + ///@{ + /** + *

                Heaviest weight per axle irrespective of the axle type or the axle group. + * Meant for usage in countries where the differences in axle types or axle groups + * are not distinguished.

                Unit: Kilograms

                + */ + inline long long GetWeightPerAxle() const{ return m_weightPerAxle; } + inline bool WeightPerAxleHasBeenSet() const { return m_weightPerAxleHasBeenSet; } + inline void SetWeightPerAxle(long long value) { m_weightPerAxleHasBeenSet = true; m_weightPerAxle = value; } + inline RouteTruckOptions& WithWeightPerAxle(long long value) { SetWeightPerAxle(value); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the total weight for the specified axle group. Meant for usage in + * countries that have different regulations based on the axle group type.

                + * Unit: Kilograms

                + */ + inline const WeightPerAxleGroup& GetWeightPerAxleGroup() const{ return m_weightPerAxleGroup; } + inline bool WeightPerAxleGroupHasBeenSet() const { return m_weightPerAxleGroupHasBeenSet; } + inline void SetWeightPerAxleGroup(const WeightPerAxleGroup& value) { m_weightPerAxleGroupHasBeenSet = true; m_weightPerAxleGroup = value; } + inline void SetWeightPerAxleGroup(WeightPerAxleGroup&& value) { m_weightPerAxleGroupHasBeenSet = true; m_weightPerAxleGroup = std::move(value); } + inline RouteTruckOptions& WithWeightPerAxleGroup(const WeightPerAxleGroup& value) { SetWeightPerAxleGroup(value); return *this;} + inline RouteTruckOptions& WithWeightPerAxleGroup(WeightPerAxleGroup&& value) { SetWeightPerAxleGroup(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Width of the vehicle.

                Unit: centimeters

                + */ + inline long long GetWidth() const{ return m_width; } + inline bool WidthHasBeenSet() const { return m_widthHasBeenSet; } + inline void SetWidth(long long value) { m_widthHasBeenSet = true; m_width = value; } + inline RouteTruckOptions& WithWidth(long long value) { SetWidth(value); return *this;} + ///@} + private: + + int m_axleCount; + bool m_axleCountHasBeenSet = false; + + RouteEngineType m_engineType; + bool m_engineTypeHasBeenSet = false; + + long long m_grossWeight; + bool m_grossWeightHasBeenSet = false; + + Aws::Vector m_hazardousCargos; + bool m_hazardousCargosHasBeenSet = false; + + long long m_height; + bool m_heightHasBeenSet = false; + + long long m_heightAboveFirstAxle; + bool m_heightAboveFirstAxleHasBeenSet = false; + + long long m_kpraLength; + bool m_kpraLengthHasBeenSet = false; + + long long m_length; + bool m_lengthHasBeenSet = false; + + RouteVehicleLicensePlate m_licensePlate; + bool m_licensePlateHasBeenSet = false; + + double m_maxSpeed; + bool m_maxSpeedHasBeenSet = false; + + int m_occupancy; + bool m_occupancyHasBeenSet = false; + + long long m_payloadCapacity; + bool m_payloadCapacityHasBeenSet = false; + + int m_tireCount; + bool m_tireCountHasBeenSet = false; + + RouteTrailerOptions m_trailer; + bool m_trailerHasBeenSet = false; + + RouteTruckType m_truckType; + bool m_truckTypeHasBeenSet = false; + + Aws::String m_tunnelRestrictionCode; + bool m_tunnelRestrictionCodeHasBeenSet = false; + + long long m_weightPerAxle; + bool m_weightPerAxleHasBeenSet = false; + + WeightPerAxleGroup m_weightPerAxleGroup; + bool m_weightPerAxleGroupHasBeenSet = false; + + long long m_width; + bool m_widthHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTruckType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTruckType.h new file mode 100644 index 00000000000..373faf01f62 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTruckType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteTruckType + { + NOT_SET, + LightTruck, + StraightTruck, + Tractor + }; + +namespace RouteTruckTypeMapper +{ +AWS_GEOROUTES_API RouteTruckType GetRouteTruckTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteTruckType(RouteTruckType value); +} // namespace RouteTruckTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTurnIntensity.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTurnIntensity.h new file mode 100644 index 00000000000..07675b09223 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTurnIntensity.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteTurnIntensity + { + NOT_SET, + Sharp, + Slight, + Typical + }; + +namespace RouteTurnIntensityMapper +{ +AWS_GEOROUTES_API RouteTurnIntensity GetRouteTurnIntensityForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteTurnIntensity(RouteTurnIntensity value); +} // namespace RouteTurnIntensityMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTurnStepDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTurnStepDetails.h new file mode 100644 index 00000000000..310065465e1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteTurnStepDetails.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details related to the turn step.

                See Also:

                AWS + * API Reference

                + */ + class RouteTurnStepDetails + { + public: + AWS_GEOROUTES_API RouteTurnStepDetails(); + AWS_GEOROUTES_API RouteTurnStepDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteTurnStepDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the intersection, if applicable to the step.

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline RouteTurnStepDetails& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline RouteTurnStepDetails& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline RouteTurnStepDetails& AddIntersection(const LocalizedString& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline RouteTurnStepDetails& AddIntersection(LocalizedString&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Steering direction for the step.

                + */ + inline const RouteSteeringDirection& GetSteeringDirection() const{ return m_steeringDirection; } + inline bool SteeringDirectionHasBeenSet() const { return m_steeringDirectionHasBeenSet; } + inline void SetSteeringDirection(const RouteSteeringDirection& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = value; } + inline void SetSteeringDirection(RouteSteeringDirection&& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = std::move(value); } + inline RouteTurnStepDetails& WithSteeringDirection(const RouteSteeringDirection& value) { SetSteeringDirection(value); return *this;} + inline RouteTurnStepDetails& WithSteeringDirection(RouteSteeringDirection&& value) { SetSteeringDirection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Angle of the turn.

                + */ + inline double GetTurnAngle() const{ return m_turnAngle; } + inline bool TurnAngleHasBeenSet() const { return m_turnAngleHasBeenSet; } + inline void SetTurnAngle(double value) { m_turnAngleHasBeenSet = true; m_turnAngle = value; } + inline RouteTurnStepDetails& WithTurnAngle(double value) { SetTurnAngle(value); return *this;} + ///@} + + ///@{ + /** + *

                Intensity of the turn.

                + */ + inline const RouteTurnIntensity& GetTurnIntensity() const{ return m_turnIntensity; } + inline bool TurnIntensityHasBeenSet() const { return m_turnIntensityHasBeenSet; } + inline void SetTurnIntensity(const RouteTurnIntensity& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = value; } + inline void SetTurnIntensity(RouteTurnIntensity&& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = std::move(value); } + inline RouteTurnStepDetails& WithTurnIntensity(const RouteTurnIntensity& value) { SetTurnIntensity(value); return *this;} + inline RouteTurnStepDetails& WithTurnIntensity(RouteTurnIntensity&& value) { SetTurnIntensity(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + RouteSteeringDirection m_steeringDirection; + bool m_steeringDirectionHasBeenSet = false; + + double m_turnAngle; + bool m_turnAngleHasBeenSet = false; + + RouteTurnIntensity m_turnIntensity; + bool m_turnIntensityHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteUTurnStepDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteUTurnStepDetails.h new file mode 100644 index 00000000000..a1e26b2f6d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteUTurnStepDetails.h @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details related to the U-turn step.

                See Also:

                AWS + * API Reference

                + */ + class RouteUTurnStepDetails + { + public: + AWS_GEOROUTES_API RouteUTurnStepDetails(); + AWS_GEOROUTES_API RouteUTurnStepDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteUTurnStepDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Name of the intersection, if applicable to the step.

                + */ + inline const Aws::Vector& GetIntersection() const{ return m_intersection; } + inline bool IntersectionHasBeenSet() const { return m_intersectionHasBeenSet; } + inline void SetIntersection(const Aws::Vector& value) { m_intersectionHasBeenSet = true; m_intersection = value; } + inline void SetIntersection(Aws::Vector&& value) { m_intersectionHasBeenSet = true; m_intersection = std::move(value); } + inline RouteUTurnStepDetails& WithIntersection(const Aws::Vector& value) { SetIntersection(value); return *this;} + inline RouteUTurnStepDetails& WithIntersection(Aws::Vector&& value) { SetIntersection(std::move(value)); return *this;} + inline RouteUTurnStepDetails& AddIntersection(const LocalizedString& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(value); return *this; } + inline RouteUTurnStepDetails& AddIntersection(LocalizedString&& value) { m_intersectionHasBeenSet = true; m_intersection.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Steering direction for the step.

                + */ + inline const RouteSteeringDirection& GetSteeringDirection() const{ return m_steeringDirection; } + inline bool SteeringDirectionHasBeenSet() const { return m_steeringDirectionHasBeenSet; } + inline void SetSteeringDirection(const RouteSteeringDirection& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = value; } + inline void SetSteeringDirection(RouteSteeringDirection&& value) { m_steeringDirectionHasBeenSet = true; m_steeringDirection = std::move(value); } + inline RouteUTurnStepDetails& WithSteeringDirection(const RouteSteeringDirection& value) { SetSteeringDirection(value); return *this;} + inline RouteUTurnStepDetails& WithSteeringDirection(RouteSteeringDirection&& value) { SetSteeringDirection(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Angle of the turn.

                + */ + inline double GetTurnAngle() const{ return m_turnAngle; } + inline bool TurnAngleHasBeenSet() const { return m_turnAngleHasBeenSet; } + inline void SetTurnAngle(double value) { m_turnAngleHasBeenSet = true; m_turnAngle = value; } + inline RouteUTurnStepDetails& WithTurnAngle(double value) { SetTurnAngle(value); return *this;} + ///@} + + ///@{ + /** + *

                Intensity of the turn.

                + */ + inline const RouteTurnIntensity& GetTurnIntensity() const{ return m_turnIntensity; } + inline bool TurnIntensityHasBeenSet() const { return m_turnIntensityHasBeenSet; } + inline void SetTurnIntensity(const RouteTurnIntensity& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = value; } + inline void SetTurnIntensity(RouteTurnIntensity&& value) { m_turnIntensityHasBeenSet = true; m_turnIntensity = std::move(value); } + inline RouteUTurnStepDetails& WithTurnIntensity(const RouteTurnIntensity& value) { SetTurnIntensity(value); return *this;} + inline RouteUTurnStepDetails& WithTurnIntensity(RouteTurnIntensity&& value) { SetTurnIntensity(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_intersection; + bool m_intersectionHasBeenSet = false; + + RouteSteeringDirection m_steeringDirection; + bool m_steeringDirectionHasBeenSet = false; + + double m_turnAngle; + bool m_turnAngleHasBeenSet = false; + + RouteTurnIntensity m_turnIntensity; + bool m_turnIntensityHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleArrival.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleArrival.h new file mode 100644 index 00000000000..2766e88a69a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleArrival.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details corresponding to the arrival for a leg.

                See Also:

                AWS + * API Reference

                + */ + class RouteVehicleArrival + { + public: + AWS_GEOROUTES_API RouteVehicleArrival(); + AWS_GEOROUTES_API RouteVehicleArrival(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleArrival& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The place details.

                + */ + inline const RouteVehiclePlace& GetPlace() const{ return m_place; } + inline bool PlaceHasBeenSet() const { return m_placeHasBeenSet; } + inline void SetPlace(const RouteVehiclePlace& value) { m_placeHasBeenSet = true; m_place = value; } + inline void SetPlace(RouteVehiclePlace&& value) { m_placeHasBeenSet = true; m_place = std::move(value); } + inline RouteVehicleArrival& WithPlace(const RouteVehiclePlace& value) { SetPlace(value); return *this;} + inline RouteVehicleArrival& WithPlace(RouteVehiclePlace&& value) { SetPlace(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The time.

                + */ + inline const Aws::String& GetTime() const{ return m_time; } + inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } + inline void SetTime(const Aws::String& value) { m_timeHasBeenSet = true; m_time = value; } + inline void SetTime(Aws::String&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } + inline void SetTime(const char* value) { m_timeHasBeenSet = true; m_time.assign(value); } + inline RouteVehicleArrival& WithTime(const Aws::String& value) { SetTime(value); return *this;} + inline RouteVehicleArrival& WithTime(Aws::String&& value) { SetTime(std::move(value)); return *this;} + inline RouteVehicleArrival& WithTime(const char* value) { SetTime(value); return *this;} + ///@} + private: + + RouteVehiclePlace m_place; + bool m_placeHasBeenSet = false; + + Aws::String m_time; + bool m_timeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleDeparture.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleDeparture.h new file mode 100644 index 00000000000..8e256cbfd9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleDeparture.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Details corresponding to the departure for the leg.

                See Also:

                + * AWS + * API Reference

                + */ + class RouteVehicleDeparture + { + public: + AWS_GEOROUTES_API RouteVehicleDeparture(); + AWS_GEOROUTES_API RouteVehicleDeparture(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleDeparture& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The place details.

                + */ + inline const RouteVehiclePlace& GetPlace() const{ return m_place; } + inline bool PlaceHasBeenSet() const { return m_placeHasBeenSet; } + inline void SetPlace(const RouteVehiclePlace& value) { m_placeHasBeenSet = true; m_place = value; } + inline void SetPlace(RouteVehiclePlace&& value) { m_placeHasBeenSet = true; m_place = std::move(value); } + inline RouteVehicleDeparture& WithPlace(const RouteVehiclePlace& value) { SetPlace(value); return *this;} + inline RouteVehicleDeparture& WithPlace(RouteVehiclePlace&& value) { SetPlace(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The departure time.

                + */ + inline const Aws::String& GetTime() const{ return m_time; } + inline bool TimeHasBeenSet() const { return m_timeHasBeenSet; } + inline void SetTime(const Aws::String& value) { m_timeHasBeenSet = true; m_time = value; } + inline void SetTime(Aws::String&& value) { m_timeHasBeenSet = true; m_time = std::move(value); } + inline void SetTime(const char* value) { m_timeHasBeenSet = true; m_time.assign(value); } + inline RouteVehicleDeparture& WithTime(const Aws::String& value) { SetTime(value); return *this;} + inline RouteVehicleDeparture& WithTime(Aws::String&& value) { SetTime(std::move(value)); return *this;} + inline RouteVehicleDeparture& WithTime(const char* value) { SetTime(value); return *this;} + ///@} + private: + + RouteVehiclePlace m_place; + bool m_placeHasBeenSet = false; + + Aws::String m_time; + bool m_timeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleIncident.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleIncident.h new file mode 100644 index 00000000000..b0895eea4de --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleIncident.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Incidents corresponding to this leg of the route.

                See Also:

                + * AWS + * API Reference

                + */ + class RouteVehicleIncident + { + public: + AWS_GEOROUTES_API RouteVehicleIncident(); + AWS_GEOROUTES_API RouteVehicleIncident(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleIncident& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Brief readable description of the incident.

                + */ + 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 RouteVehicleIncident& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} + inline RouteVehicleIncident& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} + inline RouteVehicleIncident& WithDescription(const char* value) { SetDescription(value); return *this;} + ///@} + + ///@{ + /** + *

                End timestamp of the incident.

                + */ + inline const Aws::String& GetEndTime() const{ return m_endTime; } + inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } + inline void SetEndTime(const Aws::String& value) { m_endTimeHasBeenSet = true; m_endTime = value; } + inline void SetEndTime(Aws::String&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } + inline void SetEndTime(const char* value) { m_endTimeHasBeenSet = true; m_endTime.assign(value); } + inline RouteVehicleIncident& WithEndTime(const Aws::String& value) { SetEndTime(value); return *this;} + inline RouteVehicleIncident& WithEndTime(Aws::String&& value) { SetEndTime(std::move(value)); return *this;} + inline RouteVehicleIncident& WithEndTime(const char* value) { SetEndTime(value); return *this;} + ///@} + + ///@{ + /** + *

                Severity of the incident Critical - The part of the route the incident + * affects is unusable. Major- Major impact on the leg duration, for example stop + * and go Minor- Minor impact on the leg duration, for example traffic jam Low - + * Low on duration, for example slightly increased traffic

                + */ + inline const RouteVehicleIncidentSeverity& GetSeverity() const{ return m_severity; } + inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; } + inline void SetSeverity(const RouteVehicleIncidentSeverity& value) { m_severityHasBeenSet = true; m_severity = value; } + inline void SetSeverity(RouteVehicleIncidentSeverity&& value) { m_severityHasBeenSet = true; m_severity = std::move(value); } + inline RouteVehicleIncident& WithSeverity(const RouteVehicleIncidentSeverity& value) { SetSeverity(value); return *this;} + inline RouteVehicleIncident& WithSeverity(RouteVehicleIncidentSeverity&& value) { SetSeverity(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Start time of the incident.

                + */ + inline const Aws::String& GetStartTime() const{ return m_startTime; } + inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } + inline void SetStartTime(const Aws::String& value) { m_startTimeHasBeenSet = true; m_startTime = value; } + inline void SetStartTime(Aws::String&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } + inline void SetStartTime(const char* value) { m_startTimeHasBeenSet = true; m_startTime.assign(value); } + inline RouteVehicleIncident& WithStartTime(const Aws::String& value) { SetStartTime(value); return *this;} + inline RouteVehicleIncident& WithStartTime(Aws::String&& value) { SetStartTime(std::move(value)); return *this;} + inline RouteVehicleIncident& WithStartTime(const char* value) { SetStartTime(value); return *this;} + ///@} + + ///@{ + /** + *

                Type of the incident.

                + */ + inline const RouteVehicleIncidentType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RouteVehicleIncidentType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RouteVehicleIncidentType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RouteVehicleIncident& WithType(const RouteVehicleIncidentType& value) { SetType(value); return *this;} + inline RouteVehicleIncident& WithType(RouteVehicleIncidentType&& value) { SetType(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_description; + bool m_descriptionHasBeenSet = false; + + Aws::String m_endTime; + bool m_endTimeHasBeenSet = false; + + RouteVehicleIncidentSeverity m_severity; + bool m_severityHasBeenSet = false; + + Aws::String m_startTime; + bool m_startTimeHasBeenSet = false; + + RouteVehicleIncidentType m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleIncidentSeverity.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleIncidentSeverity.h new file mode 100644 index 00000000000..7a3704694c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleIncidentSeverity.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteVehicleIncidentSeverity + { + NOT_SET, + Critical, + High, + Medium, + Low + }; + +namespace RouteVehicleIncidentSeverityMapper +{ +AWS_GEOROUTES_API RouteVehicleIncidentSeverity GetRouteVehicleIncidentSeverityForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteVehicleIncidentSeverity(RouteVehicleIncidentSeverity value); +} // namespace RouteVehicleIncidentSeverityMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleIncidentType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleIncidentType.h new file mode 100644 index 00000000000..71958dc0be8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleIncidentType.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteVehicleIncidentType + { + NOT_SET, + Accident, + Congestion, + Construction, + DisabledVehicle, + LaneRestriction, + MassTransit, + Other, + PlannedEvent, + RoadClosure, + RoadHazard, + Weather + }; + +namespace RouteVehicleIncidentTypeMapper +{ +AWS_GEOROUTES_API RouteVehicleIncidentType GetRouteVehicleIncidentTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteVehicleIncidentType(RouteVehicleIncidentType value); +} // namespace RouteVehicleIncidentTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleLegDetails.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleLegDetails.h new file mode 100644 index 00000000000..6fc1b10d60e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleLegDetails.h @@ -0,0 +1,262 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Steps of a leg that correspond to the travel portion of the + * leg.

                See Also:

                AWS + * API Reference

                + */ + class RouteVehicleLegDetails + { + public: + AWS_GEOROUTES_API RouteVehicleLegDetails(); + AWS_GEOROUTES_API RouteVehicleLegDetails(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleLegDetails& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Details corresponding to the arrival for the leg.

                + */ + inline const RouteVehicleArrival& GetArrival() const{ return m_arrival; } + inline bool ArrivalHasBeenSet() const { return m_arrivalHasBeenSet; } + inline void SetArrival(const RouteVehicleArrival& value) { m_arrivalHasBeenSet = true; m_arrival = value; } + inline void SetArrival(RouteVehicleArrival&& value) { m_arrivalHasBeenSet = true; m_arrival = std::move(value); } + inline RouteVehicleLegDetails& WithArrival(const RouteVehicleArrival& value) { SetArrival(value); return *this;} + inline RouteVehicleLegDetails& WithArrival(RouteVehicleArrival&& value) { SetArrival(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details corresponding to the departure for the leg.

                + */ + inline const RouteVehicleDeparture& GetDeparture() const{ return m_departure; } + inline bool DepartureHasBeenSet() const { return m_departureHasBeenSet; } + inline void SetDeparture(const RouteVehicleDeparture& value) { m_departureHasBeenSet = true; m_departure = value; } + inline void SetDeparture(RouteVehicleDeparture&& value) { m_departureHasBeenSet = true; m_departure = std::move(value); } + inline RouteVehicleLegDetails& WithDeparture(const RouteVehicleDeparture& value) { SetDeparture(value); return *this;} + inline RouteVehicleLegDetails& WithDeparture(RouteVehicleDeparture&& value) { SetDeparture(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Incidents corresponding to this leg of the route.

                + */ + inline const Aws::Vector& GetIncidents() const{ return m_incidents; } + inline bool IncidentsHasBeenSet() const { return m_incidentsHasBeenSet; } + inline void SetIncidents(const Aws::Vector& value) { m_incidentsHasBeenSet = true; m_incidents = value; } + inline void SetIncidents(Aws::Vector&& value) { m_incidentsHasBeenSet = true; m_incidents = std::move(value); } + inline RouteVehicleLegDetails& WithIncidents(const Aws::Vector& value) { SetIncidents(value); return *this;} + inline RouteVehicleLegDetails& WithIncidents(Aws::Vector&& value) { SetIncidents(std::move(value)); return *this;} + inline RouteVehicleLegDetails& AddIncidents(const RouteVehicleIncident& value) { m_incidentsHasBeenSet = true; m_incidents.push_back(value); return *this; } + inline RouteVehicleLegDetails& AddIncidents(RouteVehicleIncident&& value) { m_incidentsHasBeenSet = true; m_incidents.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Notices are additional information returned that indicate issues that + * occurred during route calculation.

                + */ + inline const Aws::Vector& GetNotices() const{ return m_notices; } + inline bool NoticesHasBeenSet() const { return m_noticesHasBeenSet; } + inline void SetNotices(const Aws::Vector& value) { m_noticesHasBeenSet = true; m_notices = value; } + inline void SetNotices(Aws::Vector&& value) { m_noticesHasBeenSet = true; m_notices = std::move(value); } + inline RouteVehicleLegDetails& WithNotices(const Aws::Vector& value) { SetNotices(value); return *this;} + inline RouteVehicleLegDetails& WithNotices(Aws::Vector&& value) { SetNotices(std::move(value)); return *this;} + inline RouteVehicleLegDetails& AddNotices(const RouteVehicleNotice& value) { m_noticesHasBeenSet = true; m_notices.push_back(value); return *this; } + inline RouteVehicleLegDetails& AddNotices(RouteVehicleNotice&& value) { m_noticesHasBeenSet = true; m_notices.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Waypoints that were passed through during the leg. This includes the + * waypoints that were configured with the PassThrough option.

                + */ + inline const Aws::Vector& GetPassThroughWaypoints() const{ return m_passThroughWaypoints; } + inline bool PassThroughWaypointsHasBeenSet() const { return m_passThroughWaypointsHasBeenSet; } + inline void SetPassThroughWaypoints(const Aws::Vector& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints = value; } + inline void SetPassThroughWaypoints(Aws::Vector&& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints = std::move(value); } + inline RouteVehicleLegDetails& WithPassThroughWaypoints(const Aws::Vector& value) { SetPassThroughWaypoints(value); return *this;} + inline RouteVehicleLegDetails& WithPassThroughWaypoints(Aws::Vector&& value) { SetPassThroughWaypoints(std::move(value)); return *this;} + inline RouteVehicleLegDetails& AddPassThroughWaypoints(const RoutePassThroughWaypoint& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints.push_back(value); return *this; } + inline RouteVehicleLegDetails& AddPassThroughWaypoints(RoutePassThroughWaypoint&& value) { m_passThroughWaypointsHasBeenSet = true; m_passThroughWaypoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Spans that were computed for the requested SpanAdditionalFeatures.

                + */ + inline const Aws::Vector& GetSpans() const{ return m_spans; } + inline bool SpansHasBeenSet() const { return m_spansHasBeenSet; } + inline void SetSpans(const Aws::Vector& value) { m_spansHasBeenSet = true; m_spans = value; } + inline void SetSpans(Aws::Vector&& value) { m_spansHasBeenSet = true; m_spans = std::move(value); } + inline RouteVehicleLegDetails& WithSpans(const Aws::Vector& value) { SetSpans(value); return *this;} + inline RouteVehicleLegDetails& WithSpans(Aws::Vector&& value) { SetSpans(std::move(value)); return *this;} + inline RouteVehicleLegDetails& AddSpans(const RouteVehicleSpan& value) { m_spansHasBeenSet = true; m_spans.push_back(value); return *this; } + inline RouteVehicleLegDetails& AddSpans(RouteVehicleSpan&& value) { m_spansHasBeenSet = true; m_spans.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Summarized details of the leg.

                + */ + inline const RouteVehicleSummary& GetSummary() const{ return m_summary; } + inline bool SummaryHasBeenSet() const { return m_summaryHasBeenSet; } + inline void SetSummary(const RouteVehicleSummary& value) { m_summaryHasBeenSet = true; m_summary = value; } + inline void SetSummary(RouteVehicleSummary&& value) { m_summaryHasBeenSet = true; m_summary = std::move(value); } + inline RouteVehicleLegDetails& WithSummary(const RouteVehicleSummary& value) { SetSummary(value); return *this;} + inline RouteVehicleLegDetails& WithSummary(RouteVehicleSummary&& value) { SetSummary(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Toll related options.

                + */ + inline const Aws::Vector& GetTolls() const{ return m_tolls; } + inline bool TollsHasBeenSet() const { return m_tollsHasBeenSet; } + inline void SetTolls(const Aws::Vector& value) { m_tollsHasBeenSet = true; m_tolls = value; } + inline void SetTolls(Aws::Vector&& value) { m_tollsHasBeenSet = true; m_tolls = std::move(value); } + inline RouteVehicleLegDetails& WithTolls(const Aws::Vector& value) { SetTolls(value); return *this;} + inline RouteVehicleLegDetails& WithTolls(Aws::Vector&& value) { SetTolls(std::move(value)); return *this;} + inline RouteVehicleLegDetails& AddTolls(const RouteToll& value) { m_tollsHasBeenSet = true; m_tolls.push_back(value); return *this; } + inline RouteVehicleLegDetails& AddTolls(RouteToll&& value) { m_tollsHasBeenSet = true; m_tolls.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Toll systems are authorities that collect payments for the toll.

                + */ + inline const Aws::Vector& GetTollSystems() const{ return m_tollSystems; } + inline bool TollSystemsHasBeenSet() const { return m_tollSystemsHasBeenSet; } + inline void SetTollSystems(const Aws::Vector& value) { m_tollSystemsHasBeenSet = true; m_tollSystems = value; } + inline void SetTollSystems(Aws::Vector&& value) { m_tollSystemsHasBeenSet = true; m_tollSystems = std::move(value); } + inline RouteVehicleLegDetails& WithTollSystems(const Aws::Vector& value) { SetTollSystems(value); return *this;} + inline RouteVehicleLegDetails& WithTollSystems(Aws::Vector&& value) { SetTollSystems(std::move(value)); return *this;} + inline RouteVehicleLegDetails& AddTollSystems(const RouteTollSystem& value) { m_tollSystemsHasBeenSet = true; m_tollSystems.push_back(value); return *this; } + inline RouteVehicleLegDetails& AddTollSystems(RouteTollSystem&& value) { m_tollSystemsHasBeenSet = true; m_tollSystems.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Steps of a leg that must be performed before the travel portion of the + * leg.

                + */ + inline const Aws::Vector& GetTravelSteps() const{ return m_travelSteps; } + inline bool TravelStepsHasBeenSet() const { return m_travelStepsHasBeenSet; } + inline void SetTravelSteps(const Aws::Vector& value) { m_travelStepsHasBeenSet = true; m_travelSteps = value; } + inline void SetTravelSteps(Aws::Vector&& value) { m_travelStepsHasBeenSet = true; m_travelSteps = std::move(value); } + inline RouteVehicleLegDetails& WithTravelSteps(const Aws::Vector& value) { SetTravelSteps(value); return *this;} + inline RouteVehicleLegDetails& WithTravelSteps(Aws::Vector&& value) { SetTravelSteps(std::move(value)); return *this;} + inline RouteVehicleLegDetails& AddTravelSteps(const RouteVehicleTravelStep& value) { m_travelStepsHasBeenSet = true; m_travelSteps.push_back(value); return *this; } + inline RouteVehicleLegDetails& AddTravelSteps(RouteVehicleTravelStep&& value) { m_travelStepsHasBeenSet = true; m_travelSteps.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Truck road type identifiers. BK1 through BK4 apply + * only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

                + *

                There are currently no other supported values as of 26th April + * 2024.

                + */ + inline const Aws::Vector& GetTruckRoadTypes() const{ return m_truckRoadTypes; } + inline bool TruckRoadTypesHasBeenSet() const { return m_truckRoadTypesHasBeenSet; } + inline void SetTruckRoadTypes(const Aws::Vector& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes = value; } + inline void SetTruckRoadTypes(Aws::Vector&& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes = std::move(value); } + inline RouteVehicleLegDetails& WithTruckRoadTypes(const Aws::Vector& value) { SetTruckRoadTypes(value); return *this;} + inline RouteVehicleLegDetails& WithTruckRoadTypes(Aws::Vector&& value) { SetTruckRoadTypes(std::move(value)); return *this;} + inline RouteVehicleLegDetails& AddTruckRoadTypes(const Aws::String& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(value); return *this; } + inline RouteVehicleLegDetails& AddTruckRoadTypes(Aws::String&& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(std::move(value)); return *this; } + inline RouteVehicleLegDetails& AddTruckRoadTypes(const char* value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Zones corresponding to this leg of the route.

                + */ + inline const Aws::Vector& GetZones() const{ return m_zones; } + inline bool ZonesHasBeenSet() const { return m_zonesHasBeenSet; } + inline void SetZones(const Aws::Vector& value) { m_zonesHasBeenSet = true; m_zones = value; } + inline void SetZones(Aws::Vector&& value) { m_zonesHasBeenSet = true; m_zones = std::move(value); } + inline RouteVehicleLegDetails& WithZones(const Aws::Vector& value) { SetZones(value); return *this;} + inline RouteVehicleLegDetails& WithZones(Aws::Vector&& value) { SetZones(std::move(value)); return *this;} + inline RouteVehicleLegDetails& AddZones(const RouteZone& value) { m_zonesHasBeenSet = true; m_zones.push_back(value); return *this; } + inline RouteVehicleLegDetails& AddZones(RouteZone&& value) { m_zonesHasBeenSet = true; m_zones.push_back(std::move(value)); return *this; } + ///@} + private: + + RouteVehicleArrival m_arrival; + bool m_arrivalHasBeenSet = false; + + RouteVehicleDeparture m_departure; + bool m_departureHasBeenSet = false; + + Aws::Vector m_incidents; + bool m_incidentsHasBeenSet = false; + + Aws::Vector m_notices; + bool m_noticesHasBeenSet = false; + + Aws::Vector m_passThroughWaypoints; + bool m_passThroughWaypointsHasBeenSet = false; + + Aws::Vector m_spans; + bool m_spansHasBeenSet = false; + + RouteVehicleSummary m_summary; + bool m_summaryHasBeenSet = false; + + Aws::Vector m_tolls; + bool m_tollsHasBeenSet = false; + + Aws::Vector m_tollSystems; + bool m_tollSystemsHasBeenSet = false; + + Aws::Vector m_travelSteps; + bool m_travelStepsHasBeenSet = false; + + Aws::Vector m_truckRoadTypes; + bool m_truckRoadTypesHasBeenSet = false; + + Aws::Vector m_zones; + bool m_zonesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleLicensePlate.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleLicensePlate.h new file mode 100644 index 00000000000..627c892187b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleLicensePlate.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                License plate information of the vehicle. Currently, only the last character + * is used where license plate based controlled access is enforced.

                See + * Also:

                AWS + * API Reference

                + */ + class RouteVehicleLicensePlate + { + public: + AWS_GEOROUTES_API RouteVehicleLicensePlate(); + AWS_GEOROUTES_API RouteVehicleLicensePlate(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleLicensePlate& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The last character of the License Plate.

                + */ + inline const Aws::String& GetLastCharacter() const{ return m_lastCharacter; } + inline bool LastCharacterHasBeenSet() const { return m_lastCharacterHasBeenSet; } + inline void SetLastCharacter(const Aws::String& value) { m_lastCharacterHasBeenSet = true; m_lastCharacter = value; } + inline void SetLastCharacter(Aws::String&& value) { m_lastCharacterHasBeenSet = true; m_lastCharacter = std::move(value); } + inline void SetLastCharacter(const char* value) { m_lastCharacterHasBeenSet = true; m_lastCharacter.assign(value); } + inline RouteVehicleLicensePlate& WithLastCharacter(const Aws::String& value) { SetLastCharacter(value); return *this;} + inline RouteVehicleLicensePlate& WithLastCharacter(Aws::String&& value) { SetLastCharacter(std::move(value)); return *this;} + inline RouteVehicleLicensePlate& WithLastCharacter(const char* value) { SetLastCharacter(value); return *this;} + ///@} + private: + + Aws::String m_lastCharacter; + bool m_lastCharacterHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleNotice.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleNotice.h new file mode 100644 index 00000000000..44145c5189a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleNotice.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Notices are additional information returned that indicate issues that + * occurred during route calculation.

                See Also:

                AWS + * API Reference

                + */ + class RouteVehicleNotice + { + public: + AWS_GEOROUTES_API RouteVehicleNotice(); + AWS_GEOROUTES_API RouteVehicleNotice(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleNotice& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Code corresponding to the issue.

                + */ + inline const RouteVehicleNoticeCode& GetCode() const{ return m_code; } + inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } + inline void SetCode(const RouteVehicleNoticeCode& value) { m_codeHasBeenSet = true; m_code = value; } + inline void SetCode(RouteVehicleNoticeCode&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } + inline RouteVehicleNotice& WithCode(const RouteVehicleNoticeCode& value) { SetCode(value); return *this;} + inline RouteVehicleNotice& WithCode(RouteVehicleNoticeCode&& value) { SetCode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Additional details of the notice.

                + */ + inline const Aws::Vector& GetDetails() const{ return m_details; } + inline bool DetailsHasBeenSet() const { return m_detailsHasBeenSet; } + inline void SetDetails(const Aws::Vector& value) { m_detailsHasBeenSet = true; m_details = value; } + inline void SetDetails(Aws::Vector&& value) { m_detailsHasBeenSet = true; m_details = std::move(value); } + inline RouteVehicleNotice& WithDetails(const Aws::Vector& value) { SetDetails(value); return *this;} + inline RouteVehicleNotice& WithDetails(Aws::Vector&& value) { SetDetails(std::move(value)); return *this;} + inline RouteVehicleNotice& AddDetails(const RouteVehicleNoticeDetail& value) { m_detailsHasBeenSet = true; m_details.push_back(value); return *this; } + inline RouteVehicleNotice& AddDetails(RouteVehicleNoticeDetail&& value) { m_detailsHasBeenSet = true; m_details.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Impact corresponding to the issue. While Low impact notices can be safely + * ignored, High impact notices must be evaluated further to determine the + * impact.

                + */ + inline const RouteNoticeImpact& GetImpact() const{ return m_impact; } + inline bool ImpactHasBeenSet() const { return m_impactHasBeenSet; } + inline void SetImpact(const RouteNoticeImpact& value) { m_impactHasBeenSet = true; m_impact = value; } + inline void SetImpact(RouteNoticeImpact&& value) { m_impactHasBeenSet = true; m_impact = std::move(value); } + inline RouteVehicleNotice& WithImpact(const RouteNoticeImpact& value) { SetImpact(value); return *this;} + inline RouteVehicleNotice& WithImpact(RouteNoticeImpact&& value) { SetImpact(std::move(value)); return *this;} + ///@} + private: + + RouteVehicleNoticeCode m_code; + bool m_codeHasBeenSet = false; + + Aws::Vector m_details; + bool m_detailsHasBeenSet = false; + + RouteNoticeImpact m_impact; + bool m_impactHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleNoticeCode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleNoticeCode.h new file mode 100644 index 00000000000..209567d7a40 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleNoticeCode.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteVehicleNoticeCode + { + NOT_SET, + AccuratePolylineUnavailable, + Other, + PotentialViolatedAvoidTollRoadUsage, + PotentialViolatedCarpoolUsage, + PotentialViolatedTurnRestrictionUsage, + PotentialViolatedVehicleRestrictionUsage, + PotentialViolatedZoneRestrictionUsage, + SeasonalClosure, + TollsDataTemporarilyUnavailable, + TollsDataUnavailable, + TollTransponder, + ViolatedAvoidControlledAccessHighway, + ViolatedAvoidDifficultTurns, + ViolatedAvoidDirtRoad, + ViolatedAvoidSeasonalClosure, + ViolatedAvoidTollRoad, + ViolatedAvoidTollTransponder, + ViolatedAvoidTruckRoadType, + ViolatedAvoidTunnel, + ViolatedAvoidUTurns, + ViolatedBlockedRoad, + ViolatedCarpool, + ViolatedEmergencyGate, + ViolatedStartDirection, + ViolatedTurnRestriction, + ViolatedVehicleRestriction, + ViolatedZoneRestriction + }; + +namespace RouteVehicleNoticeCodeMapper +{ +AWS_GEOROUTES_API RouteVehicleNoticeCode GetRouteVehicleNoticeCodeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteVehicleNoticeCode(RouteVehicleNoticeCode value); +} // namespace RouteVehicleNoticeCodeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleNoticeDetail.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleNoticeDetail.h new file mode 100644 index 00000000000..df4f7e10842 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleNoticeDetail.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Additional details of the notice.

                See Also:

                AWS + * API Reference

                + */ + class RouteVehicleNoticeDetail + { + public: + AWS_GEOROUTES_API RouteVehicleNoticeDetail(); + AWS_GEOROUTES_API RouteVehicleNoticeDetail(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleNoticeDetail& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The notice title.

                + */ + inline const Aws::String& GetTitle() const{ return m_title; } + inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; } + inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; } + inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); } + inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); } + inline RouteVehicleNoticeDetail& WithTitle(const Aws::String& value) { SetTitle(value); return *this;} + inline RouteVehicleNoticeDetail& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;} + inline RouteVehicleNoticeDetail& WithTitle(const char* value) { SetTitle(value); return *this;} + ///@} + + ///@{ + /** + *

                Any violated constraints.

                + */ + inline const RouteViolatedConstraints& GetViolatedConstraints() const{ return m_violatedConstraints; } + inline bool ViolatedConstraintsHasBeenSet() const { return m_violatedConstraintsHasBeenSet; } + inline void SetViolatedConstraints(const RouteViolatedConstraints& value) { m_violatedConstraintsHasBeenSet = true; m_violatedConstraints = value; } + inline void SetViolatedConstraints(RouteViolatedConstraints&& value) { m_violatedConstraintsHasBeenSet = true; m_violatedConstraints = std::move(value); } + inline RouteVehicleNoticeDetail& WithViolatedConstraints(const RouteViolatedConstraints& value) { SetViolatedConstraints(value); return *this;} + inline RouteVehicleNoticeDetail& WithViolatedConstraints(RouteViolatedConstraints&& value) { SetViolatedConstraints(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_title; + bool m_titleHasBeenSet = false; + + RouteViolatedConstraints m_violatedConstraints; + bool m_violatedConstraintsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleOverviewSummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleOverviewSummary.h new file mode 100644 index 00000000000..c4ece182b4b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleOverviewSummary.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Summarized details of the leg.

                See Also:

                AWS + * API Reference

                + */ + class RouteVehicleOverviewSummary + { + public: + AWS_GEOROUTES_API RouteVehicleOverviewSummary(); + AWS_GEOROUTES_API RouteVehicleOverviewSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleOverviewSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Total duration in free flowing traffic, which is the best case or shortest + * duration possible to cover the leg.

                Unit: seconds + *

                + */ + inline long long GetBestCaseDuration() const{ return m_bestCaseDuration; } + inline bool BestCaseDurationHasBeenSet() const { return m_bestCaseDurationHasBeenSet; } + inline void SetBestCaseDuration(long long value) { m_bestCaseDurationHasBeenSet = true; m_bestCaseDuration = value; } + inline RouteVehicleOverviewSummary& WithBestCaseDuration(long long value) { SetBestCaseDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Distance of the step.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline RouteVehicleOverviewSummary& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the step.

                Unit: seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteVehicleOverviewSummary& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the computed span under typical traffic congestion.

                + * Unit: seconds

                + */ + inline long long GetTypicalDuration() const{ return m_typicalDuration; } + inline bool TypicalDurationHasBeenSet() const { return m_typicalDurationHasBeenSet; } + inline void SetTypicalDuration(long long value) { m_typicalDurationHasBeenSet = true; m_typicalDuration = value; } + inline RouteVehicleOverviewSummary& WithTypicalDuration(long long value) { SetTypicalDuration(value); return *this;} + ///@} + private: + + long long m_bestCaseDuration; + bool m_bestCaseDurationHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + + long long m_typicalDuration; + bool m_typicalDurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehiclePlace.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehiclePlace.h new file mode 100644 index 00000000000..3e142765763 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehiclePlace.h @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Place details corresponding to the arrival or departure.

                See + * Also:

                AWS + * API Reference

                + */ + class RouteVehiclePlace + { + public: + AWS_GEOROUTES_API RouteVehiclePlace(); + AWS_GEOROUTES_API RouteVehiclePlace(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehiclePlace& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The name of the place.

                + */ + 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 RouteVehiclePlace& WithName(const Aws::String& value) { SetName(value); return *this;} + inline RouteVehiclePlace& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline RouteVehiclePlace& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                Position provided in the request.

                + */ + inline const Aws::Vector& GetOriginalPosition() const{ return m_originalPosition; } + inline bool OriginalPositionHasBeenSet() const { return m_originalPositionHasBeenSet; } + inline void SetOriginalPosition(const Aws::Vector& value) { m_originalPositionHasBeenSet = true; m_originalPosition = value; } + inline void SetOriginalPosition(Aws::Vector&& value) { m_originalPositionHasBeenSet = true; m_originalPosition = std::move(value); } + inline RouteVehiclePlace& WithOriginalPosition(const Aws::Vector& value) { SetOriginalPosition(value); return *this;} + inline RouteVehiclePlace& WithOriginalPosition(Aws::Vector&& value) { SetOriginalPosition(std::move(value)); return *this;} + inline RouteVehiclePlace& AddOriginalPosition(double value) { m_originalPositionHasBeenSet = true; m_originalPosition.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline RouteVehiclePlace& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline RouteVehiclePlace& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline RouteVehiclePlace& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to a side of the + * street.

                + */ + inline const RouteSideOfStreet& GetSideOfStreet() const{ return m_sideOfStreet; } + inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; } + inline void SetSideOfStreet(const RouteSideOfStreet& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = value; } + inline void SetSideOfStreet(RouteSideOfStreet&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::move(value); } + inline RouteVehiclePlace& WithSideOfStreet(const RouteSideOfStreet& value) { SetSideOfStreet(value); return *this;} + inline RouteVehiclePlace& WithSideOfStreet(RouteSideOfStreet&& value) { SetSideOfStreet(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Index of the waypoint in the request.

                + */ + inline int GetWaypointIndex() const{ return m_waypointIndex; } + inline bool WaypointIndexHasBeenSet() const { return m_waypointIndexHasBeenSet; } + inline void SetWaypointIndex(int value) { m_waypointIndexHasBeenSet = true; m_waypointIndex = value; } + inline RouteVehiclePlace& WithWaypointIndex(int value) { SetWaypointIndex(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_originalPosition; + bool m_originalPositionHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + RouteSideOfStreet m_sideOfStreet; + bool m_sideOfStreetHasBeenSet = false; + + int m_waypointIndex; + bool m_waypointIndexHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleSpan.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleSpan.h new file mode 100644 index 00000000000..3bb8ca2be13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleSpan.h @@ -0,0 +1,425 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Span computed for the requested SpanAdditionalFeatures.

                See + * Also:

                AWS + * API Reference

                + */ + class RouteVehicleSpan + { + public: + AWS_GEOROUTES_API RouteVehicleSpan(); + AWS_GEOROUTES_API RouteVehicleSpan(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleSpan& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Duration of the computed span without traffic congestion.

                + * Unit: seconds

                + */ + inline long long GetBestCaseDuration() const{ return m_bestCaseDuration; } + inline bool BestCaseDurationHasBeenSet() const { return m_bestCaseDurationHasBeenSet; } + inline void SetBestCaseDuration(long long value) { m_bestCaseDurationHasBeenSet = true; m_bestCaseDuration = value; } + inline RouteVehicleSpan& WithBestCaseDuration(long long value) { SetBestCaseDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Access attributes for a car corresponding to the span.

                + */ + inline const Aws::Vector& GetCarAccess() const{ return m_carAccess; } + inline bool CarAccessHasBeenSet() const { return m_carAccessHasBeenSet; } + inline void SetCarAccess(const Aws::Vector& value) { m_carAccessHasBeenSet = true; m_carAccess = value; } + inline void SetCarAccess(Aws::Vector&& value) { m_carAccessHasBeenSet = true; m_carAccess = std::move(value); } + inline RouteVehicleSpan& WithCarAccess(const Aws::Vector& value) { SetCarAccess(value); return *this;} + inline RouteVehicleSpan& WithCarAccess(Aws::Vector&& value) { SetCarAccess(std::move(value)); return *this;} + inline RouteVehicleSpan& AddCarAccess(const RouteSpanCarAccessAttribute& value) { m_carAccessHasBeenSet = true; m_carAccess.push_back(value); return *this; } + inline RouteVehicleSpan& AddCarAccess(RouteSpanCarAccessAttribute&& value) { m_carAccessHasBeenSet = true; m_carAccess.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                3 letter Country code corresponding to the Span.

                + */ + inline const Aws::String& GetCountry() const{ return m_country; } + inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } + inline void SetCountry(const Aws::String& value) { m_countryHasBeenSet = true; m_country = value; } + inline void SetCountry(Aws::String&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } + inline void SetCountry(const char* value) { m_countryHasBeenSet = true; m_country.assign(value); } + inline RouteVehicleSpan& WithCountry(const Aws::String& value) { SetCountry(value); return *this;} + inline RouteVehicleSpan& WithCountry(Aws::String&& value) { SetCountry(std::move(value)); return *this;} + inline RouteVehicleSpan& WithCountry(const char* value) { SetCountry(value); return *this;} + ///@} + + ///@{ + /** + *

                Distance of the computed span. This feature doesn't split a span, but is + * always computed on a span split by other properties.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline RouteVehicleSpan& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the computed span. This feature doesn't split a span, but is + * always computed on a span split by other properties.

                Unit: + * seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteVehicleSpan& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Dynamic speed details corresponding to the span.

                Unit: + * KilometersPerHour

                + */ + inline const RouteSpanDynamicSpeedDetails& GetDynamicSpeed() const{ return m_dynamicSpeed; } + inline bool DynamicSpeedHasBeenSet() const { return m_dynamicSpeedHasBeenSet; } + inline void SetDynamicSpeed(const RouteSpanDynamicSpeedDetails& value) { m_dynamicSpeedHasBeenSet = true; m_dynamicSpeed = value; } + inline void SetDynamicSpeed(RouteSpanDynamicSpeedDetails&& value) { m_dynamicSpeedHasBeenSet = true; m_dynamicSpeed = std::move(value); } + inline RouteVehicleSpan& WithDynamicSpeed(const RouteSpanDynamicSpeedDetails& value) { SetDynamicSpeed(value); return *this;} + inline RouteVehicleSpan& WithDynamicSpeed(RouteSpanDynamicSpeedDetails&& value) { SetDynamicSpeed(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Functional classification of the road segment corresponding to the span.

                + */ + inline int GetFunctionalClassification() const{ return m_functionalClassification; } + inline bool FunctionalClassificationHasBeenSet() const { return m_functionalClassificationHasBeenSet; } + inline void SetFunctionalClassification(int value) { m_functionalClassificationHasBeenSet = true; m_functionalClassification = value; } + inline RouteVehicleSpan& WithFunctionalClassification(int value) { SetFunctionalClassification(value); return *this;} + ///@} + + ///@{ + /** + *

                Attributes corresponding to a gate. The gate is present at the end of the + * returned span.

                + */ + inline const RouteSpanGateAttribute& GetGate() const{ return m_gate; } + inline bool GateHasBeenSet() const { return m_gateHasBeenSet; } + inline void SetGate(const RouteSpanGateAttribute& value) { m_gateHasBeenSet = true; m_gate = value; } + inline void SetGate(RouteSpanGateAttribute&& value) { m_gateHasBeenSet = true; m_gate = std::move(value); } + inline RouteVehicleSpan& WithGate(const RouteSpanGateAttribute& value) { SetGate(value); return *this;} + inline RouteVehicleSpan& WithGate(RouteSpanGateAttribute&& value) { SetGate(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Offset in the leg geometry corresponding to the start of this span.

                + */ + inline int GetGeometryOffset() const{ return m_geometryOffset; } + inline bool GeometryOffsetHasBeenSet() const { return m_geometryOffsetHasBeenSet; } + inline void SetGeometryOffset(int value) { m_geometryOffsetHasBeenSet = true; m_geometryOffset = value; } + inline RouteVehicleSpan& WithGeometryOffset(int value) { SetGeometryOffset(value); return *this;} + ///@} + + ///@{ + /** + *

                Incidents corresponding to the span. These index into the Incidents in the + * parent Leg.

                + */ + inline const Aws::Vector& GetIncidents() const{ return m_incidents; } + inline bool IncidentsHasBeenSet() const { return m_incidentsHasBeenSet; } + inline void SetIncidents(const Aws::Vector& value) { m_incidentsHasBeenSet = true; m_incidents = value; } + inline void SetIncidents(Aws::Vector&& value) { m_incidentsHasBeenSet = true; m_incidents = std::move(value); } + inline RouteVehicleSpan& WithIncidents(const Aws::Vector& value) { SetIncidents(value); return *this;} + inline RouteVehicleSpan& WithIncidents(Aws::Vector&& value) { SetIncidents(std::move(value)); return *this;} + inline RouteVehicleSpan& AddIncidents(int value) { m_incidentsHasBeenSet = true; m_incidents.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Provides an array of names of the vehicle span in available languages.

                + */ + inline const Aws::Vector& GetNames() const{ return m_names; } + inline bool NamesHasBeenSet() const { return m_namesHasBeenSet; } + inline void SetNames(const Aws::Vector& value) { m_namesHasBeenSet = true; m_names = value; } + inline void SetNames(Aws::Vector&& value) { m_namesHasBeenSet = true; m_names = std::move(value); } + inline RouteVehicleSpan& WithNames(const Aws::Vector& value) { SetNames(value); return *this;} + inline RouteVehicleSpan& WithNames(Aws::Vector&& value) { SetNames(std::move(value)); return *this;} + inline RouteVehicleSpan& AddNames(const LocalizedString& value) { m_namesHasBeenSet = true; m_names.push_back(value); return *this; } + inline RouteVehicleSpan& AddNames(LocalizedString&& value) { m_namesHasBeenSet = true; m_names.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Notices are additional information returned that indicate issues that + * occurred during route calculation.

                + */ + inline const Aws::Vector& GetNotices() const{ return m_notices; } + inline bool NoticesHasBeenSet() const { return m_noticesHasBeenSet; } + inline void SetNotices(const Aws::Vector& value) { m_noticesHasBeenSet = true; m_notices = value; } + inline void SetNotices(Aws::Vector&& value) { m_noticesHasBeenSet = true; m_notices = std::move(value); } + inline RouteVehicleSpan& WithNotices(const Aws::Vector& value) { SetNotices(value); return *this;} + inline RouteVehicleSpan& WithNotices(Aws::Vector&& value) { SetNotices(std::move(value)); return *this;} + inline RouteVehicleSpan& AddNotices(int value) { m_noticesHasBeenSet = true; m_notices.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Attributes corresponding to a railway crossing. The gate is present at the + * end of the returned span.

                + */ + inline const RouteSpanRailwayCrossingAttribute& GetRailwayCrossing() const{ return m_railwayCrossing; } + inline bool RailwayCrossingHasBeenSet() const { return m_railwayCrossingHasBeenSet; } + inline void SetRailwayCrossing(const RouteSpanRailwayCrossingAttribute& value) { m_railwayCrossingHasBeenSet = true; m_railwayCrossing = value; } + inline void SetRailwayCrossing(RouteSpanRailwayCrossingAttribute&& value) { m_railwayCrossingHasBeenSet = true; m_railwayCrossing = std::move(value); } + inline RouteVehicleSpan& WithRailwayCrossing(const RouteSpanRailwayCrossingAttribute& value) { SetRailwayCrossing(value); return *this;} + inline RouteVehicleSpan& WithRailwayCrossing(RouteSpanRailwayCrossingAttribute&& value) { SetRailwayCrossing(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                2-3 letter Region code corresponding to the Span. This is either a province + * or a state.

                + */ + inline const Aws::String& GetRegion() const{ return m_region; } + inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } + inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } + inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } + inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } + inline RouteVehicleSpan& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} + inline RouteVehicleSpan& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} + inline RouteVehicleSpan& WithRegion(const char* value) { SetRegion(value); return *this;} + ///@} + + ///@{ + /** + *

                Attributes for the road segment corresponding to the span.

                + */ + inline const Aws::Vector& GetRoadAttributes() const{ return m_roadAttributes; } + inline bool RoadAttributesHasBeenSet() const { return m_roadAttributesHasBeenSet; } + inline void SetRoadAttributes(const Aws::Vector& value) { m_roadAttributesHasBeenSet = true; m_roadAttributes = value; } + inline void SetRoadAttributes(Aws::Vector&& value) { m_roadAttributesHasBeenSet = true; m_roadAttributes = std::move(value); } + inline RouteVehicleSpan& WithRoadAttributes(const Aws::Vector& value) { SetRoadAttributes(value); return *this;} + inline RouteVehicleSpan& WithRoadAttributes(Aws::Vector&& value) { SetRoadAttributes(std::move(value)); return *this;} + inline RouteVehicleSpan& AddRoadAttributes(const RouteSpanRoadAttribute& value) { m_roadAttributesHasBeenSet = true; m_roadAttributes.push_back(value); return *this; } + inline RouteVehicleSpan& AddRoadAttributes(RouteSpanRoadAttribute&& value) { m_roadAttributesHasBeenSet = true; m_roadAttributes.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Designated route name or number corresponding to the span.

                + */ + inline const Aws::Vector& GetRouteNumbers() const{ return m_routeNumbers; } + inline bool RouteNumbersHasBeenSet() const { return m_routeNumbersHasBeenSet; } + inline void SetRouteNumbers(const Aws::Vector& value) { m_routeNumbersHasBeenSet = true; m_routeNumbers = value; } + inline void SetRouteNumbers(Aws::Vector&& value) { m_routeNumbersHasBeenSet = true; m_routeNumbers = std::move(value); } + inline RouteVehicleSpan& WithRouteNumbers(const Aws::Vector& value) { SetRouteNumbers(value); return *this;} + inline RouteVehicleSpan& WithRouteNumbers(Aws::Vector&& value) { SetRouteNumbers(std::move(value)); return *this;} + inline RouteVehicleSpan& AddRouteNumbers(const RouteNumber& value) { m_routeNumbersHasBeenSet = true; m_routeNumbers.push_back(value); return *this; } + inline RouteVehicleSpan& AddRouteNumbers(RouteNumber&& value) { m_routeNumbersHasBeenSet = true; m_routeNumbers.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Access attributes for a scooter corresponding to the span.

                + */ + inline const Aws::Vector& GetScooterAccess() const{ return m_scooterAccess; } + inline bool ScooterAccessHasBeenSet() const { return m_scooterAccessHasBeenSet; } + inline void SetScooterAccess(const Aws::Vector& value) { m_scooterAccessHasBeenSet = true; m_scooterAccess = value; } + inline void SetScooterAccess(Aws::Vector&& value) { m_scooterAccessHasBeenSet = true; m_scooterAccess = std::move(value); } + inline RouteVehicleSpan& WithScooterAccess(const Aws::Vector& value) { SetScooterAccess(value); return *this;} + inline RouteVehicleSpan& WithScooterAccess(Aws::Vector&& value) { SetScooterAccess(std::move(value)); return *this;} + inline RouteVehicleSpan& AddScooterAccess(const RouteSpanScooterAccessAttribute& value) { m_scooterAccessHasBeenSet = true; m_scooterAccess.push_back(value); return *this; } + inline RouteVehicleSpan& AddScooterAccess(RouteSpanScooterAccessAttribute&& value) { m_scooterAccessHasBeenSet = true; m_scooterAccess.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Speed limit details corresponding to the span.

                Unit: + * KilometersPerHour

                + */ + inline const RouteSpanSpeedLimitDetails& GetSpeedLimit() const{ return m_speedLimit; } + inline bool SpeedLimitHasBeenSet() const { return m_speedLimitHasBeenSet; } + inline void SetSpeedLimit(const RouteSpanSpeedLimitDetails& value) { m_speedLimitHasBeenSet = true; m_speedLimit = value; } + inline void SetSpeedLimit(RouteSpanSpeedLimitDetails&& value) { m_speedLimitHasBeenSet = true; m_speedLimit = std::move(value); } + inline RouteVehicleSpan& WithSpeedLimit(const RouteSpanSpeedLimitDetails& value) { SetSpeedLimit(value); return *this;} + inline RouteVehicleSpan& WithSpeedLimit(RouteSpanSpeedLimitDetails&& value) { SetSpeedLimit(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Toll systems are authorities that collect payments for the toll.

                + */ + inline const Aws::Vector& GetTollSystems() const{ return m_tollSystems; } + inline bool TollSystemsHasBeenSet() const { return m_tollSystemsHasBeenSet; } + inline void SetTollSystems(const Aws::Vector& value) { m_tollSystemsHasBeenSet = true; m_tollSystems = value; } + inline void SetTollSystems(Aws::Vector&& value) { m_tollSystemsHasBeenSet = true; m_tollSystems = std::move(value); } + inline RouteVehicleSpan& WithTollSystems(const Aws::Vector& value) { SetTollSystems(value); return *this;} + inline RouteVehicleSpan& WithTollSystems(Aws::Vector&& value) { SetTollSystems(std::move(value)); return *this;} + inline RouteVehicleSpan& AddTollSystems(int value) { m_tollSystemsHasBeenSet = true; m_tollSystems.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Access attributes for a truck corresponding to the span.

                + */ + inline const Aws::Vector& GetTruckAccess() const{ return m_truckAccess; } + inline bool TruckAccessHasBeenSet() const { return m_truckAccessHasBeenSet; } + inline void SetTruckAccess(const Aws::Vector& value) { m_truckAccessHasBeenSet = true; m_truckAccess = value; } + inline void SetTruckAccess(Aws::Vector&& value) { m_truckAccessHasBeenSet = true; m_truckAccess = std::move(value); } + inline RouteVehicleSpan& WithTruckAccess(const Aws::Vector& value) { SetTruckAccess(value); return *this;} + inline RouteVehicleSpan& WithTruckAccess(Aws::Vector&& value) { SetTruckAccess(std::move(value)); return *this;} + inline RouteVehicleSpan& AddTruckAccess(const RouteSpanTruckAccessAttribute& value) { m_truckAccessHasBeenSet = true; m_truckAccess.push_back(value); return *this; } + inline RouteVehicleSpan& AddTruckAccess(RouteSpanTruckAccessAttribute&& value) { m_truckAccessHasBeenSet = true; m_truckAccess.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Truck road type identifiers. BK1 through BK4 apply + * only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

                + *

                There are currently no other supported values as of 26th April + * 2024.

                + */ + inline const Aws::Vector& GetTruckRoadTypes() const{ return m_truckRoadTypes; } + inline bool TruckRoadTypesHasBeenSet() const { return m_truckRoadTypesHasBeenSet; } + inline void SetTruckRoadTypes(const Aws::Vector& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes = value; } + inline void SetTruckRoadTypes(Aws::Vector&& value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes = std::move(value); } + inline RouteVehicleSpan& WithTruckRoadTypes(const Aws::Vector& value) { SetTruckRoadTypes(value); return *this;} + inline RouteVehicleSpan& WithTruckRoadTypes(Aws::Vector&& value) { SetTruckRoadTypes(std::move(value)); return *this;} + inline RouteVehicleSpan& AddTruckRoadTypes(int value) { m_truckRoadTypesHasBeenSet = true; m_truckRoadTypes.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Duration of the computed span under typical traffic congestion.

                + * Unit: seconds

                + */ + inline long long GetTypicalDuration() const{ return m_typicalDuration; } + inline bool TypicalDurationHasBeenSet() const { return m_typicalDurationHasBeenSet; } + inline void SetTypicalDuration(long long value) { m_typicalDurationHasBeenSet = true; m_typicalDuration = value; } + inline RouteVehicleSpan& WithTypicalDuration(long long value) { SetTypicalDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Zones corresponding to this leg of the route.

                + */ + inline const Aws::Vector& GetZones() const{ return m_zones; } + inline bool ZonesHasBeenSet() const { return m_zonesHasBeenSet; } + inline void SetZones(const Aws::Vector& value) { m_zonesHasBeenSet = true; m_zones = value; } + inline void SetZones(Aws::Vector&& value) { m_zonesHasBeenSet = true; m_zones = std::move(value); } + inline RouteVehicleSpan& WithZones(const Aws::Vector& value) { SetZones(value); return *this;} + inline RouteVehicleSpan& WithZones(Aws::Vector&& value) { SetZones(std::move(value)); return *this;} + inline RouteVehicleSpan& AddZones(int value) { m_zonesHasBeenSet = true; m_zones.push_back(value); return *this; } + ///@} + private: + + long long m_bestCaseDuration; + bool m_bestCaseDurationHasBeenSet = false; + + Aws::Vector m_carAccess; + bool m_carAccessHasBeenSet = false; + + Aws::String m_country; + bool m_countryHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + + RouteSpanDynamicSpeedDetails m_dynamicSpeed; + bool m_dynamicSpeedHasBeenSet = false; + + int m_functionalClassification; + bool m_functionalClassificationHasBeenSet = false; + + RouteSpanGateAttribute m_gate; + bool m_gateHasBeenSet = false; + + int m_geometryOffset; + bool m_geometryOffsetHasBeenSet = false; + + Aws::Vector m_incidents; + bool m_incidentsHasBeenSet = false; + + Aws::Vector m_names; + bool m_namesHasBeenSet = false; + + Aws::Vector m_notices; + bool m_noticesHasBeenSet = false; + + RouteSpanRailwayCrossingAttribute m_railwayCrossing; + bool m_railwayCrossingHasBeenSet = false; + + Aws::String m_region; + bool m_regionHasBeenSet = false; + + Aws::Vector m_roadAttributes; + bool m_roadAttributesHasBeenSet = false; + + Aws::Vector m_routeNumbers; + bool m_routeNumbersHasBeenSet = false; + + Aws::Vector m_scooterAccess; + bool m_scooterAccessHasBeenSet = false; + + RouteSpanSpeedLimitDetails m_speedLimit; + bool m_speedLimitHasBeenSet = false; + + Aws::Vector m_tollSystems; + bool m_tollSystemsHasBeenSet = false; + + Aws::Vector m_truckAccess; + bool m_truckAccessHasBeenSet = false; + + Aws::Vector m_truckRoadTypes; + bool m_truckRoadTypesHasBeenSet = false; + + long long m_typicalDuration; + bool m_typicalDurationHasBeenSet = false; + + Aws::Vector m_zones; + bool m_zonesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleSummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleSummary.h new file mode 100644 index 00000000000..dacc2bd0a1b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleSummary.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Summarized details of the route.

                See Also:

                AWS + * API Reference

                + */ + class RouteVehicleSummary + { + public: + AWS_GEOROUTES_API RouteVehicleSummary(); + AWS_GEOROUTES_API RouteVehicleSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Summarized details for the leg including before travel, travel and after + * travel steps.

                + */ + inline const RouteVehicleOverviewSummary& GetOverview() const{ return m_overview; } + inline bool OverviewHasBeenSet() const { return m_overviewHasBeenSet; } + inline void SetOverview(const RouteVehicleOverviewSummary& value) { m_overviewHasBeenSet = true; m_overview = value; } + inline void SetOverview(RouteVehicleOverviewSummary&& value) { m_overviewHasBeenSet = true; m_overview = std::move(value); } + inline RouteVehicleSummary& WithOverview(const RouteVehicleOverviewSummary& value) { SetOverview(value); return *this;} + inline RouteVehicleSummary& WithOverview(RouteVehicleOverviewSummary&& value) { SetOverview(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Summarized details for the leg including travel steps only. The Distance for + * the travel only portion of the journey is in meters

                + */ + inline const RouteVehicleTravelOnlySummary& GetTravelOnly() const{ return m_travelOnly; } + inline bool TravelOnlyHasBeenSet() const { return m_travelOnlyHasBeenSet; } + inline void SetTravelOnly(const RouteVehicleTravelOnlySummary& value) { m_travelOnlyHasBeenSet = true; m_travelOnly = value; } + inline void SetTravelOnly(RouteVehicleTravelOnlySummary&& value) { m_travelOnlyHasBeenSet = true; m_travelOnly = std::move(value); } + inline RouteVehicleSummary& WithTravelOnly(const RouteVehicleTravelOnlySummary& value) { SetTravelOnly(value); return *this;} + inline RouteVehicleSummary& WithTravelOnly(RouteVehicleTravelOnlySummary&& value) { SetTravelOnly(std::move(value)); return *this;} + ///@} + private: + + RouteVehicleOverviewSummary m_overview; + bool m_overviewHasBeenSet = false; + + RouteVehicleTravelOnlySummary m_travelOnly; + bool m_travelOnlyHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleTravelOnlySummary.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleTravelOnlySummary.h new file mode 100644 index 00000000000..2561cac81b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleTravelOnlySummary.h @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Summarized details of the route.

                See Also:

                AWS + * API Reference

                + */ + class RouteVehicleTravelOnlySummary + { + public: + AWS_GEOROUTES_API RouteVehicleTravelOnlySummary(); + AWS_GEOROUTES_API RouteVehicleTravelOnlySummary(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleTravelOnlySummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Total duration in free flowing traffic, which is the best case or shortest + * duration possible to cover the leg.

                Unit: seconds + *

                + */ + inline long long GetBestCaseDuration() const{ return m_bestCaseDuration; } + inline bool BestCaseDurationHasBeenSet() const { return m_bestCaseDurationHasBeenSet; } + inline void SetBestCaseDuration(long long value) { m_bestCaseDurationHasBeenSet = true; m_bestCaseDuration = value; } + inline RouteVehicleTravelOnlySummary& WithBestCaseDuration(long long value) { SetBestCaseDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the step.

                Unit: seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteVehicleTravelOnlySummary& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the computed span under typical traffic congestion.

                + * Unit: seconds

                + */ + inline long long GetTypicalDuration() const{ return m_typicalDuration; } + inline bool TypicalDurationHasBeenSet() const { return m_typicalDurationHasBeenSet; } + inline void SetTypicalDuration(long long value) { m_typicalDurationHasBeenSet = true; m_typicalDuration = value; } + inline RouteVehicleTravelOnlySummary& WithTypicalDuration(long long value) { SetTypicalDuration(value); return *this;} + ///@} + private: + + long long m_bestCaseDuration; + bool m_bestCaseDurationHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + + long long m_typicalDuration; + bool m_typicalDurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleTravelStep.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleTravelStep.h new file mode 100644 index 00000000000..3c66a2bd980 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleTravelStep.h @@ -0,0 +1,361 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Steps of a leg that correspond to the travel portion of the + * leg.

                See Also:

                AWS + * API Reference

                + */ + class RouteVehicleTravelStep + { + public: + AWS_GEOROUTES_API RouteVehicleTravelStep(); + AWS_GEOROUTES_API RouteVehicleTravelStep(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteVehicleTravelStep& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Details that are specific to a Continue Highway step.

                + */ + inline const RouteContinueHighwayStepDetails& GetContinueHighwayStepDetails() const{ return m_continueHighwayStepDetails; } + inline bool ContinueHighwayStepDetailsHasBeenSet() const { return m_continueHighwayStepDetailsHasBeenSet; } + inline void SetContinueHighwayStepDetails(const RouteContinueHighwayStepDetails& value) { m_continueHighwayStepDetailsHasBeenSet = true; m_continueHighwayStepDetails = value; } + inline void SetContinueHighwayStepDetails(RouteContinueHighwayStepDetails&& value) { m_continueHighwayStepDetailsHasBeenSet = true; m_continueHighwayStepDetails = std::move(value); } + inline RouteVehicleTravelStep& WithContinueHighwayStepDetails(const RouteContinueHighwayStepDetails& value) { SetContinueHighwayStepDetails(value); return *this;} + inline RouteVehicleTravelStep& WithContinueHighwayStepDetails(RouteContinueHighwayStepDetails&& value) { SetContinueHighwayStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Continue step.

                + */ + inline const RouteContinueStepDetails& GetContinueStepDetails() const{ return m_continueStepDetails; } + inline bool ContinueStepDetailsHasBeenSet() const { return m_continueStepDetailsHasBeenSet; } + inline void SetContinueStepDetails(const RouteContinueStepDetails& value) { m_continueStepDetailsHasBeenSet = true; m_continueStepDetails = value; } + inline void SetContinueStepDetails(RouteContinueStepDetails&& value) { m_continueStepDetailsHasBeenSet = true; m_continueStepDetails = std::move(value); } + inline RouteVehicleTravelStep& WithContinueStepDetails(const RouteContinueStepDetails& value) { SetContinueStepDetails(value); return *this;} + inline RouteVehicleTravelStep& WithContinueStepDetails(RouteContinueStepDetails&& value) { SetContinueStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details of the current road.

                + */ + inline const RouteRoad& GetCurrentRoad() const{ return m_currentRoad; } + inline bool CurrentRoadHasBeenSet() const { return m_currentRoadHasBeenSet; } + inline void SetCurrentRoad(const RouteRoad& value) { m_currentRoadHasBeenSet = true; m_currentRoad = value; } + inline void SetCurrentRoad(RouteRoad&& value) { m_currentRoadHasBeenSet = true; m_currentRoad = std::move(value); } + inline RouteVehicleTravelStep& WithCurrentRoad(const RouteRoad& value) { SetCurrentRoad(value); return *this;} + inline RouteVehicleTravelStep& WithCurrentRoad(RouteRoad&& value) { SetCurrentRoad(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Distance of the step.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline RouteVehicleTravelStep& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the step.

                Unit: seconds

                + */ + inline long long GetDuration() const{ return m_duration; } + inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; } + inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; } + inline RouteVehicleTravelStep& WithDuration(long long value) { SetDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Enter Highway step.

                + */ + inline const RouteEnterHighwayStepDetails& GetEnterHighwayStepDetails() const{ return m_enterHighwayStepDetails; } + inline bool EnterHighwayStepDetailsHasBeenSet() const { return m_enterHighwayStepDetailsHasBeenSet; } + inline void SetEnterHighwayStepDetails(const RouteEnterHighwayStepDetails& value) { m_enterHighwayStepDetailsHasBeenSet = true; m_enterHighwayStepDetails = value; } + inline void SetEnterHighwayStepDetails(RouteEnterHighwayStepDetails&& value) { m_enterHighwayStepDetailsHasBeenSet = true; m_enterHighwayStepDetails = std::move(value); } + inline RouteVehicleTravelStep& WithEnterHighwayStepDetails(const RouteEnterHighwayStepDetails& value) { SetEnterHighwayStepDetails(value); return *this;} + inline RouteVehicleTravelStep& WithEnterHighwayStepDetails(RouteEnterHighwayStepDetails&& value) { SetEnterHighwayStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Exit number of the road exit, if applicable.

                + */ + inline const Aws::Vector& GetExitNumber() const{ return m_exitNumber; } + inline bool ExitNumberHasBeenSet() const { return m_exitNumberHasBeenSet; } + inline void SetExitNumber(const Aws::Vector& value) { m_exitNumberHasBeenSet = true; m_exitNumber = value; } + inline void SetExitNumber(Aws::Vector&& value) { m_exitNumberHasBeenSet = true; m_exitNumber = std::move(value); } + inline RouteVehicleTravelStep& WithExitNumber(const Aws::Vector& value) { SetExitNumber(value); return *this;} + inline RouteVehicleTravelStep& WithExitNumber(Aws::Vector&& value) { SetExitNumber(std::move(value)); return *this;} + inline RouteVehicleTravelStep& AddExitNumber(const LocalizedString& value) { m_exitNumberHasBeenSet = true; m_exitNumber.push_back(value); return *this; } + inline RouteVehicleTravelStep& AddExitNumber(LocalizedString&& value) { m_exitNumberHasBeenSet = true; m_exitNumber.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Details that are specific to a Roundabout Exit step.

                + */ + inline const RouteExitStepDetails& GetExitStepDetails() const{ return m_exitStepDetails; } + inline bool ExitStepDetailsHasBeenSet() const { return m_exitStepDetailsHasBeenSet; } + inline void SetExitStepDetails(const RouteExitStepDetails& value) { m_exitStepDetailsHasBeenSet = true; m_exitStepDetails = value; } + inline void SetExitStepDetails(RouteExitStepDetails&& value) { m_exitStepDetailsHasBeenSet = true; m_exitStepDetails = std::move(value); } + inline RouteVehicleTravelStep& WithExitStepDetails(const RouteExitStepDetails& value) { SetExitStepDetails(value); return *this;} + inline RouteVehicleTravelStep& WithExitStepDetails(RouteExitStepDetails&& value) { SetExitStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Offset in the leg geometry corresponding to the start of this step.

                + */ + inline int GetGeometryOffset() const{ return m_geometryOffset; } + inline bool GeometryOffsetHasBeenSet() const { return m_geometryOffsetHasBeenSet; } + inline void SetGeometryOffset(int value) { m_geometryOffsetHasBeenSet = true; m_geometryOffset = value; } + inline RouteVehicleTravelStep& WithGeometryOffset(int value) { SetGeometryOffset(value); return *this;} + ///@} + + ///@{ + /** + *

                Brief description of the step in the requested language.

                Only + * available when the TravelStepType is Default.

                + */ + inline const Aws::String& GetInstruction() const{ return m_instruction; } + inline bool InstructionHasBeenSet() const { return m_instructionHasBeenSet; } + inline void SetInstruction(const Aws::String& value) { m_instructionHasBeenSet = true; m_instruction = value; } + inline void SetInstruction(Aws::String&& value) { m_instructionHasBeenSet = true; m_instruction = std::move(value); } + inline void SetInstruction(const char* value) { m_instructionHasBeenSet = true; m_instruction.assign(value); } + inline RouteVehicleTravelStep& WithInstruction(const Aws::String& value) { SetInstruction(value); return *this;} + inline RouteVehicleTravelStep& WithInstruction(Aws::String&& value) { SetInstruction(std::move(value)); return *this;} + inline RouteVehicleTravelStep& WithInstruction(const char* value) { SetInstruction(value); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Keep step.

                + */ + inline const RouteKeepStepDetails& GetKeepStepDetails() const{ return m_keepStepDetails; } + inline bool KeepStepDetailsHasBeenSet() const { return m_keepStepDetailsHasBeenSet; } + inline void SetKeepStepDetails(const RouteKeepStepDetails& value) { m_keepStepDetailsHasBeenSet = true; m_keepStepDetails = value; } + inline void SetKeepStepDetails(RouteKeepStepDetails&& value) { m_keepStepDetailsHasBeenSet = true; m_keepStepDetails = std::move(value); } + inline RouteVehicleTravelStep& WithKeepStepDetails(const RouteKeepStepDetails& value) { SetKeepStepDetails(value); return *this;} + inline RouteVehicleTravelStep& WithKeepStepDetails(RouteKeepStepDetails&& value) { SetKeepStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details of the next road. See RouteRoad for details of sub-attributes.

                + */ + inline const RouteRoad& GetNextRoad() const{ return m_nextRoad; } + inline bool NextRoadHasBeenSet() const { return m_nextRoadHasBeenSet; } + inline void SetNextRoad(const RouteRoad& value) { m_nextRoadHasBeenSet = true; m_nextRoad = value; } + inline void SetNextRoad(RouteRoad&& value) { m_nextRoadHasBeenSet = true; m_nextRoad = std::move(value); } + inline RouteVehicleTravelStep& WithNextRoad(const RouteRoad& value) { SetNextRoad(value); return *this;} + inline RouteVehicleTravelStep& WithNextRoad(RouteRoad&& value) { SetNextRoad(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Ramp step.

                + */ + inline const RouteRampStepDetails& GetRampStepDetails() const{ return m_rampStepDetails; } + inline bool RampStepDetailsHasBeenSet() const { return m_rampStepDetailsHasBeenSet; } + inline void SetRampStepDetails(const RouteRampStepDetails& value) { m_rampStepDetailsHasBeenSet = true; m_rampStepDetails = value; } + inline void SetRampStepDetails(RouteRampStepDetails&& value) { m_rampStepDetailsHasBeenSet = true; m_rampStepDetails = std::move(value); } + inline RouteVehicleTravelStep& WithRampStepDetails(const RouteRampStepDetails& value) { SetRampStepDetails(value); return *this;} + inline RouteVehicleTravelStep& WithRampStepDetails(RouteRampStepDetails&& value) { SetRampStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Roundabout Enter step.

                + */ + inline const RouteRoundaboutEnterStepDetails& GetRoundaboutEnterStepDetails() const{ return m_roundaboutEnterStepDetails; } + inline bool RoundaboutEnterStepDetailsHasBeenSet() const { return m_roundaboutEnterStepDetailsHasBeenSet; } + inline void SetRoundaboutEnterStepDetails(const RouteRoundaboutEnterStepDetails& value) { m_roundaboutEnterStepDetailsHasBeenSet = true; m_roundaboutEnterStepDetails = value; } + inline void SetRoundaboutEnterStepDetails(RouteRoundaboutEnterStepDetails&& value) { m_roundaboutEnterStepDetailsHasBeenSet = true; m_roundaboutEnterStepDetails = std::move(value); } + inline RouteVehicleTravelStep& WithRoundaboutEnterStepDetails(const RouteRoundaboutEnterStepDetails& value) { SetRoundaboutEnterStepDetails(value); return *this;} + inline RouteVehicleTravelStep& WithRoundaboutEnterStepDetails(RouteRoundaboutEnterStepDetails&& value) { SetRoundaboutEnterStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Roundabout Exit step.

                + */ + inline const RouteRoundaboutExitStepDetails& GetRoundaboutExitStepDetails() const{ return m_roundaboutExitStepDetails; } + inline bool RoundaboutExitStepDetailsHasBeenSet() const { return m_roundaboutExitStepDetailsHasBeenSet; } + inline void SetRoundaboutExitStepDetails(const RouteRoundaboutExitStepDetails& value) { m_roundaboutExitStepDetailsHasBeenSet = true; m_roundaboutExitStepDetails = value; } + inline void SetRoundaboutExitStepDetails(RouteRoundaboutExitStepDetails&& value) { m_roundaboutExitStepDetailsHasBeenSet = true; m_roundaboutExitStepDetails = std::move(value); } + inline RouteVehicleTravelStep& WithRoundaboutExitStepDetails(const RouteRoundaboutExitStepDetails& value) { SetRoundaboutExitStepDetails(value); return *this;} + inline RouteVehicleTravelStep& WithRoundaboutExitStepDetails(RouteRoundaboutExitStepDetails&& value) { SetRoundaboutExitStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Roundabout Pass step.

                + */ + inline const RouteRoundaboutPassStepDetails& GetRoundaboutPassStepDetails() const{ return m_roundaboutPassStepDetails; } + inline bool RoundaboutPassStepDetailsHasBeenSet() const { return m_roundaboutPassStepDetailsHasBeenSet; } + inline void SetRoundaboutPassStepDetails(const RouteRoundaboutPassStepDetails& value) { m_roundaboutPassStepDetailsHasBeenSet = true; m_roundaboutPassStepDetails = value; } + inline void SetRoundaboutPassStepDetails(RouteRoundaboutPassStepDetails&& value) { m_roundaboutPassStepDetailsHasBeenSet = true; m_roundaboutPassStepDetails = std::move(value); } + inline RouteVehicleTravelStep& WithRoundaboutPassStepDetails(const RouteRoundaboutPassStepDetails& value) { SetRoundaboutPassStepDetails(value); return *this;} + inline RouteVehicleTravelStep& WithRoundaboutPassStepDetails(RouteRoundaboutPassStepDetails&& value) { SetRoundaboutPassStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Sign post information of the action, applicable only for TurnByTurn steps. + * See RouteSignpost for details of sub-attributes.

                + */ + inline const RouteSignpost& GetSignpost() const{ return m_signpost; } + inline bool SignpostHasBeenSet() const { return m_signpostHasBeenSet; } + inline void SetSignpost(const RouteSignpost& value) { m_signpostHasBeenSet = true; m_signpost = value; } + inline void SetSignpost(RouteSignpost&& value) { m_signpostHasBeenSet = true; m_signpost = std::move(value); } + inline RouteVehicleTravelStep& WithSignpost(const RouteSignpost& value) { SetSignpost(value); return *this;} + inline RouteVehicleTravelStep& WithSignpost(RouteSignpost&& value) { SetSignpost(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Turn step.

                + */ + inline const RouteTurnStepDetails& GetTurnStepDetails() const{ return m_turnStepDetails; } + inline bool TurnStepDetailsHasBeenSet() const { return m_turnStepDetailsHasBeenSet; } + inline void SetTurnStepDetails(const RouteTurnStepDetails& value) { m_turnStepDetailsHasBeenSet = true; m_turnStepDetails = value; } + inline void SetTurnStepDetails(RouteTurnStepDetails&& value) { m_turnStepDetailsHasBeenSet = true; m_turnStepDetails = std::move(value); } + inline RouteVehicleTravelStep& WithTurnStepDetails(const RouteTurnStepDetails& value) { SetTurnStepDetails(value); return *this;} + inline RouteVehicleTravelStep& WithTurnStepDetails(RouteTurnStepDetails&& value) { SetTurnStepDetails(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Type of the step.

                + */ + inline const RouteVehicleTravelStepType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RouteVehicleTravelStepType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RouteVehicleTravelStepType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RouteVehicleTravelStep& WithType(const RouteVehicleTravelStepType& value) { SetType(value); return *this;} + inline RouteVehicleTravelStep& WithType(RouteVehicleTravelStepType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Details that are specific to a Turn step.

                + */ + inline const RouteUTurnStepDetails& GetUTurnStepDetails() const{ return m_uTurnStepDetails; } + inline bool UTurnStepDetailsHasBeenSet() const { return m_uTurnStepDetailsHasBeenSet; } + inline void SetUTurnStepDetails(const RouteUTurnStepDetails& value) { m_uTurnStepDetailsHasBeenSet = true; m_uTurnStepDetails = value; } + inline void SetUTurnStepDetails(RouteUTurnStepDetails&& value) { m_uTurnStepDetailsHasBeenSet = true; m_uTurnStepDetails = std::move(value); } + inline RouteVehicleTravelStep& WithUTurnStepDetails(const RouteUTurnStepDetails& value) { SetUTurnStepDetails(value); return *this;} + inline RouteVehicleTravelStep& WithUTurnStepDetails(RouteUTurnStepDetails&& value) { SetUTurnStepDetails(std::move(value)); return *this;} + ///@} + private: + + RouteContinueHighwayStepDetails m_continueHighwayStepDetails; + bool m_continueHighwayStepDetailsHasBeenSet = false; + + RouteContinueStepDetails m_continueStepDetails; + bool m_continueStepDetailsHasBeenSet = false; + + RouteRoad m_currentRoad; + bool m_currentRoadHasBeenSet = false; + + long long m_distance; + bool m_distanceHasBeenSet = false; + + long long m_duration; + bool m_durationHasBeenSet = false; + + RouteEnterHighwayStepDetails m_enterHighwayStepDetails; + bool m_enterHighwayStepDetailsHasBeenSet = false; + + Aws::Vector m_exitNumber; + bool m_exitNumberHasBeenSet = false; + + RouteExitStepDetails m_exitStepDetails; + bool m_exitStepDetailsHasBeenSet = false; + + int m_geometryOffset; + bool m_geometryOffsetHasBeenSet = false; + + Aws::String m_instruction; + bool m_instructionHasBeenSet = false; + + RouteKeepStepDetails m_keepStepDetails; + bool m_keepStepDetailsHasBeenSet = false; + + RouteRoad m_nextRoad; + bool m_nextRoadHasBeenSet = false; + + RouteRampStepDetails m_rampStepDetails; + bool m_rampStepDetailsHasBeenSet = false; + + RouteRoundaboutEnterStepDetails m_roundaboutEnterStepDetails; + bool m_roundaboutEnterStepDetailsHasBeenSet = false; + + RouteRoundaboutExitStepDetails m_roundaboutExitStepDetails; + bool m_roundaboutExitStepDetailsHasBeenSet = false; + + RouteRoundaboutPassStepDetails m_roundaboutPassStepDetails; + bool m_roundaboutPassStepDetailsHasBeenSet = false; + + RouteSignpost m_signpost; + bool m_signpostHasBeenSet = false; + + RouteTurnStepDetails m_turnStepDetails; + bool m_turnStepDetailsHasBeenSet = false; + + RouteVehicleTravelStepType m_type; + bool m_typeHasBeenSet = false; + + RouteUTurnStepDetails m_uTurnStepDetails; + bool m_uTurnStepDetailsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleTravelStepType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleTravelStepType.h new file mode 100644 index 00000000000..53a2394f517 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteVehicleTravelStepType.h @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteVehicleTravelStepType + { + NOT_SET, + Arrive, + Continue, + ContinueHighway, + Depart, + EnterHighway, + Exit, + Keep, + Ramp, + RoundaboutEnter, + RoundaboutExit, + RoundaboutPass, + Turn, + UTurn + }; + +namespace RouteVehicleTravelStepTypeMapper +{ +AWS_GEOROUTES_API RouteVehicleTravelStepType GetRouteVehicleTravelStepTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteVehicleTravelStepType(RouteVehicleTravelStepType value); +} // namespace RouteVehicleTravelStepTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteViolatedConstraints.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteViolatedConstraints.h new file mode 100644 index 00000000000..345a751405f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteViolatedConstraints.h @@ -0,0 +1,348 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                This property contains a summary of violated constraints.

                See + * Also:

                AWS + * API Reference

                + */ + class RouteViolatedConstraints + { + public: + AWS_GEOROUTES_API RouteViolatedConstraints(); + AWS_GEOROUTES_API RouteViolatedConstraints(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteViolatedConstraints& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                This restriction applies to truck cargo, where the resulting route excludes + * roads on which hazardous materials are prohibited from being transported.

                + */ + inline bool GetAllHazardsRestricted() const{ return m_allHazardsRestricted; } + inline bool AllHazardsRestrictedHasBeenSet() const { return m_allHazardsRestrictedHasBeenSet; } + inline void SetAllHazardsRestricted(bool value) { m_allHazardsRestrictedHasBeenSet = true; m_allHazardsRestricted = value; } + inline RouteViolatedConstraints& WithAllHazardsRestricted(bool value) { SetAllHazardsRestricted(value); return *this;} + ///@} + + ///@{ + /** + *

                Total number of axles of the vehicle.

                + */ + inline const RouteNoticeDetailRange& GetAxleCount() const{ return m_axleCount; } + inline bool AxleCountHasBeenSet() const { return m_axleCountHasBeenSet; } + inline void SetAxleCount(const RouteNoticeDetailRange& value) { m_axleCountHasBeenSet = true; m_axleCount = value; } + inline void SetAxleCount(RouteNoticeDetailRange&& value) { m_axleCountHasBeenSet = true; m_axleCount = std::move(value); } + inline RouteViolatedConstraints& WithAxleCount(const RouteNoticeDetailRange& value) { SetAxleCount(value); return *this;} + inline RouteViolatedConstraints& WithAxleCount(RouteNoticeDetailRange&& value) { SetAxleCount(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                List of Hazardous cargo contained in the vehicle.

                + */ + inline const Aws::Vector& GetHazardousCargos() const{ return m_hazardousCargos; } + inline bool HazardousCargosHasBeenSet() const { return m_hazardousCargosHasBeenSet; } + inline void SetHazardousCargos(const Aws::Vector& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = value; } + inline void SetHazardousCargos(Aws::Vector&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = std::move(value); } + inline RouteViolatedConstraints& WithHazardousCargos(const Aws::Vector& value) { SetHazardousCargos(value); return *this;} + inline RouteViolatedConstraints& WithHazardousCargos(Aws::Vector&& value) { SetHazardousCargos(std::move(value)); return *this;} + inline RouteViolatedConstraints& AddHazardousCargos(const RouteHazardousCargoType& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(value); return *this; } + inline RouteViolatedConstraints& AddHazardousCargos(RouteHazardousCargoType&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The maximum height of the vehicle.

                + */ + inline long long GetMaxHeight() const{ return m_maxHeight; } + inline bool MaxHeightHasBeenSet() const { return m_maxHeightHasBeenSet; } + inline void SetMaxHeight(long long value) { m_maxHeightHasBeenSet = true; m_maxHeight = value; } + inline RouteViolatedConstraints& WithMaxHeight(long long value) { SetMaxHeight(value); return *this;} + ///@} + + ///@{ + /** + *

                The maximum Kpra length of the vehicle.

                Unit: + * centimeters

                + */ + inline long long GetMaxKpraLength() const{ return m_maxKpraLength; } + inline bool MaxKpraLengthHasBeenSet() const { return m_maxKpraLengthHasBeenSet; } + inline void SetMaxKpraLength(long long value) { m_maxKpraLengthHasBeenSet = true; m_maxKpraLength = value; } + inline RouteViolatedConstraints& WithMaxKpraLength(long long value) { SetMaxKpraLength(value); return *this;} + ///@} + + ///@{ + /** + *

                The maximum length of the vehicle.

                + */ + inline long long GetMaxLength() const{ return m_maxLength; } + inline bool MaxLengthHasBeenSet() const { return m_maxLengthHasBeenSet; } + inline void SetMaxLength(long long value) { m_maxLengthHasBeenSet = true; m_maxLength = value; } + inline RouteViolatedConstraints& WithMaxLength(long long value) { SetMaxLength(value); return *this;} + ///@} + + ///@{ + /** + *

                The maximum load capacity of the vehicle.

                Unit: + * kilograms

                + */ + inline long long GetMaxPayloadCapacity() const{ return m_maxPayloadCapacity; } + inline bool MaxPayloadCapacityHasBeenSet() const { return m_maxPayloadCapacityHasBeenSet; } + inline void SetMaxPayloadCapacity(long long value) { m_maxPayloadCapacityHasBeenSet = true; m_maxPayloadCapacity = value; } + inline RouteViolatedConstraints& WithMaxPayloadCapacity(long long value) { SetMaxPayloadCapacity(value); return *this;} + ///@} + + ///@{ + /** + *

                The maximum weight of the route.

                Unit: Kilograms + *

                + */ + inline const RouteWeightConstraint& GetMaxWeight() const{ return m_maxWeight; } + inline bool MaxWeightHasBeenSet() const { return m_maxWeightHasBeenSet; } + inline void SetMaxWeight(const RouteWeightConstraint& value) { m_maxWeightHasBeenSet = true; m_maxWeight = value; } + inline void SetMaxWeight(RouteWeightConstraint&& value) { m_maxWeightHasBeenSet = true; m_maxWeight = std::move(value); } + inline RouteViolatedConstraints& WithMaxWeight(const RouteWeightConstraint& value) { SetMaxWeight(value); return *this;} + inline RouteViolatedConstraints& WithMaxWeight(RouteWeightConstraint&& value) { SetMaxWeight(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The maximum weight per axle of the vehicle.

                Unit: + * Kilograms

                + */ + inline long long GetMaxWeightPerAxle() const{ return m_maxWeightPerAxle; } + inline bool MaxWeightPerAxleHasBeenSet() const { return m_maxWeightPerAxleHasBeenSet; } + inline void SetMaxWeightPerAxle(long long value) { m_maxWeightPerAxleHasBeenSet = true; m_maxWeightPerAxle = value; } + inline RouteViolatedConstraints& WithMaxWeightPerAxle(long long value) { SetMaxWeightPerAxle(value); return *this;} + ///@} + + ///@{ + /** + *

                The maximum weight per axle group of the vehicle.

                Unit: + * Kilograms

                + */ + inline const WeightPerAxleGroup& GetMaxWeightPerAxleGroup() const{ return m_maxWeightPerAxleGroup; } + inline bool MaxWeightPerAxleGroupHasBeenSet() const { return m_maxWeightPerAxleGroupHasBeenSet; } + inline void SetMaxWeightPerAxleGroup(const WeightPerAxleGroup& value) { m_maxWeightPerAxleGroupHasBeenSet = true; m_maxWeightPerAxleGroup = value; } + inline void SetMaxWeightPerAxleGroup(WeightPerAxleGroup&& value) { m_maxWeightPerAxleGroupHasBeenSet = true; m_maxWeightPerAxleGroup = std::move(value); } + inline RouteViolatedConstraints& WithMaxWeightPerAxleGroup(const WeightPerAxleGroup& value) { SetMaxWeightPerAxleGroup(value); return *this;} + inline RouteViolatedConstraints& WithMaxWeightPerAxleGroup(WeightPerAxleGroup&& value) { SetMaxWeightPerAxleGroup(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The maximum width of the vehicle.

                + */ + inline long long GetMaxWidth() const{ return m_maxWidth; } + inline bool MaxWidthHasBeenSet() const { return m_maxWidthHasBeenSet; } + inline void SetMaxWidth(long long value) { m_maxWidthHasBeenSet = true; m_maxWidth = value; } + inline RouteViolatedConstraints& WithMaxWidth(long long value) { SetMaxWidth(value); return *this;} + ///@} + + ///@{ + /** + *

                The number of occupants in the vehicle.

                Default Value: 1 + *

                + */ + inline const RouteNoticeDetailRange& GetOccupancy() const{ return m_occupancy; } + inline bool OccupancyHasBeenSet() const { return m_occupancyHasBeenSet; } + inline void SetOccupancy(const RouteNoticeDetailRange& value) { m_occupancyHasBeenSet = true; m_occupancy = value; } + inline void SetOccupancy(RouteNoticeDetailRange&& value) { m_occupancyHasBeenSet = true; m_occupancy = std::move(value); } + inline RouteViolatedConstraints& WithOccupancy(const RouteNoticeDetailRange& value) { SetOccupancy(value); return *this;} + inline RouteViolatedConstraints& WithOccupancy(RouteNoticeDetailRange&& value) { SetOccupancy(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Access radius restrictions based on time.

                + */ + inline const Aws::String& GetRestrictedTimes() const{ return m_restrictedTimes; } + inline bool RestrictedTimesHasBeenSet() const { return m_restrictedTimesHasBeenSet; } + inline void SetRestrictedTimes(const Aws::String& value) { m_restrictedTimesHasBeenSet = true; m_restrictedTimes = value; } + inline void SetRestrictedTimes(Aws::String&& value) { m_restrictedTimesHasBeenSet = true; m_restrictedTimes = std::move(value); } + inline void SetRestrictedTimes(const char* value) { m_restrictedTimesHasBeenSet = true; m_restrictedTimes.assign(value); } + inline RouteViolatedConstraints& WithRestrictedTimes(const Aws::String& value) { SetRestrictedTimes(value); return *this;} + inline RouteViolatedConstraints& WithRestrictedTimes(Aws::String&& value) { SetRestrictedTimes(std::move(value)); return *this;} + inline RouteViolatedConstraints& WithRestrictedTimes(const char* value) { SetRestrictedTimes(value); return *this;} + ///@} + + ///@{ + /** + *

                The time dependent constraint.

                + */ + inline bool GetTimeDependent() const{ return m_timeDependent; } + inline bool TimeDependentHasBeenSet() const { return m_timeDependentHasBeenSet; } + inline void SetTimeDependent(bool value) { m_timeDependentHasBeenSet = true; m_timeDependent = value; } + inline RouteViolatedConstraints& WithTimeDependent(bool value) { SetTimeDependent(value); return *this;} + ///@} + + ///@{ + /** + *

                Number of trailers attached to the vehicle.

                Default Value: + * 0

                + */ + inline const RouteNoticeDetailRange& GetTrailerCount() const{ return m_trailerCount; } + inline bool TrailerCountHasBeenSet() const { return m_trailerCountHasBeenSet; } + inline void SetTrailerCount(const RouteNoticeDetailRange& value) { m_trailerCountHasBeenSet = true; m_trailerCount = value; } + inline void SetTrailerCount(RouteNoticeDetailRange&& value) { m_trailerCountHasBeenSet = true; m_trailerCount = std::move(value); } + inline RouteViolatedConstraints& WithTrailerCount(const RouteNoticeDetailRange& value) { SetTrailerCount(value); return *this;} + inline RouteViolatedConstraints& WithTrailerCount(RouteNoticeDetailRange&& value) { SetTrailerCount(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode corresponding to the leg.

                + */ + inline bool GetTravelMode() const{ return m_travelMode; } + inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; } + inline void SetTravelMode(bool value) { m_travelModeHasBeenSet = true; m_travelMode = value; } + inline RouteViolatedConstraints& WithTravelMode(bool value) { SetTravelMode(value); return *this;} + ///@} + + ///@{ + /** + *

                Truck road type identifiers. BK1 through BK4 apply + * only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

                + *

                There are currently no other supported values as of 26th April + * 2024.

                + */ + inline const Aws::String& GetTruckRoadType() const{ return m_truckRoadType; } + inline bool TruckRoadTypeHasBeenSet() const { return m_truckRoadTypeHasBeenSet; } + inline void SetTruckRoadType(const Aws::String& value) { m_truckRoadTypeHasBeenSet = true; m_truckRoadType = value; } + inline void SetTruckRoadType(Aws::String&& value) { m_truckRoadTypeHasBeenSet = true; m_truckRoadType = std::move(value); } + inline void SetTruckRoadType(const char* value) { m_truckRoadTypeHasBeenSet = true; m_truckRoadType.assign(value); } + inline RouteViolatedConstraints& WithTruckRoadType(const Aws::String& value) { SetTruckRoadType(value); return *this;} + inline RouteViolatedConstraints& WithTruckRoadType(Aws::String&& value) { SetTruckRoadType(std::move(value)); return *this;} + inline RouteViolatedConstraints& WithTruckRoadType(const char* value) { SetTruckRoadType(value); return *this;} + ///@} + + ///@{ + /** + *

                Type of the truck.

                + */ + inline const RouteTruckType& GetTruckType() const{ return m_truckType; } + inline bool TruckTypeHasBeenSet() const { return m_truckTypeHasBeenSet; } + inline void SetTruckType(const RouteTruckType& value) { m_truckTypeHasBeenSet = true; m_truckType = value; } + inline void SetTruckType(RouteTruckType&& value) { m_truckTypeHasBeenSet = true; m_truckType = std::move(value); } + inline RouteViolatedConstraints& WithTruckType(const RouteTruckType& value) { SetTruckType(value); return *this;} + inline RouteViolatedConstraints& WithTruckType(RouteTruckType&& value) { SetTruckType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The tunnel restriction code.

                Tunnel categories in this list indicate + * the restrictions which apply to certain tunnels in Great Britain. They relate to + * the types of dangerous goods that can be transported through them.

                • + *

                  Tunnel Category B

                  • Risk Level: Limited + * risk

                  • Restrictions: Few restrictions

                  + *
                • Tunnel Category C

                  • Risk Level: + * Medium risk

                  • Restrictions: Some restrictions

                  • + *
                • Tunnel Category D

                  • Risk + * Level: High risk

                  • Restrictions: Many restrictions + * occur

                • Tunnel Category E

                  • + * Risk Level: Very high risk

                  • Restrictions: + * Restricted tunnel

                + */ + inline const Aws::String& GetTunnelRestrictionCode() const{ return m_tunnelRestrictionCode; } + inline bool TunnelRestrictionCodeHasBeenSet() const { return m_tunnelRestrictionCodeHasBeenSet; } + inline void SetTunnelRestrictionCode(const Aws::String& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = value; } + inline void SetTunnelRestrictionCode(Aws::String&& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = std::move(value); } + inline void SetTunnelRestrictionCode(const char* value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode.assign(value); } + inline RouteViolatedConstraints& WithTunnelRestrictionCode(const Aws::String& value) { SetTunnelRestrictionCode(value); return *this;} + inline RouteViolatedConstraints& WithTunnelRestrictionCode(Aws::String&& value) { SetTunnelRestrictionCode(std::move(value)); return *this;} + inline RouteViolatedConstraints& WithTunnelRestrictionCode(const char* value) { SetTunnelRestrictionCode(value); return *this;} + ///@} + private: + + bool m_allHazardsRestricted; + bool m_allHazardsRestrictedHasBeenSet = false; + + RouteNoticeDetailRange m_axleCount; + bool m_axleCountHasBeenSet = false; + + Aws::Vector m_hazardousCargos; + bool m_hazardousCargosHasBeenSet = false; + + long long m_maxHeight; + bool m_maxHeightHasBeenSet = false; + + long long m_maxKpraLength; + bool m_maxKpraLengthHasBeenSet = false; + + long long m_maxLength; + bool m_maxLengthHasBeenSet = false; + + long long m_maxPayloadCapacity; + bool m_maxPayloadCapacityHasBeenSet = false; + + RouteWeightConstraint m_maxWeight; + bool m_maxWeightHasBeenSet = false; + + long long m_maxWeightPerAxle; + bool m_maxWeightPerAxleHasBeenSet = false; + + WeightPerAxleGroup m_maxWeightPerAxleGroup; + bool m_maxWeightPerAxleGroupHasBeenSet = false; + + long long m_maxWidth; + bool m_maxWidthHasBeenSet = false; + + RouteNoticeDetailRange m_occupancy; + bool m_occupancyHasBeenSet = false; + + Aws::String m_restrictedTimes; + bool m_restrictedTimesHasBeenSet = false; + + bool m_timeDependent; + bool m_timeDependentHasBeenSet = false; + + RouteNoticeDetailRange m_trailerCount; + bool m_trailerCountHasBeenSet = false; + + bool m_travelMode; + bool m_travelModeHasBeenSet = false; + + Aws::String m_truckRoadType; + bool m_truckRoadTypeHasBeenSet = false; + + RouteTruckType m_truckType; + bool m_truckTypeHasBeenSet = false; + + Aws::String m_tunnelRestrictionCode; + bool m_tunnelRestrictionCodeHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteWaypoint.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteWaypoint.h new file mode 100644 index 00000000000..d8448b4acb6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteWaypoint.h @@ -0,0 +1,161 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Waypoint between the Origin and Destination.

                See Also:

                AWS + * API Reference

                + */ + class RouteWaypoint + { + public: + AWS_GEOROUTES_API RouteWaypoint(); + AWS_GEOROUTES_API RouteWaypoint(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteWaypoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Avoids actions for the provided distance. This is typically to consider for + * users in moving vehicles who may not have sufficient time to make an action at + * an origin or a destination.

                + */ + inline long long GetAvoidActionsForDistance() const{ return m_avoidActionsForDistance; } + inline bool AvoidActionsForDistanceHasBeenSet() const { return m_avoidActionsForDistanceHasBeenSet; } + inline void SetAvoidActionsForDistance(long long value) { m_avoidActionsForDistanceHasBeenSet = true; m_avoidActionsForDistance = value; } + inline RouteWaypoint& WithAvoidActionsForDistance(long long value) { SetAvoidActionsForDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid U-turns for calculation on highways and motorways.

                + */ + inline bool GetAvoidUTurns() const{ return m_avoidUTurns; } + inline bool AvoidUTurnsHasBeenSet() const { return m_avoidUTurnsHasBeenSet; } + inline void SetAvoidUTurns(bool value) { m_avoidUTurnsHasBeenSet = true; m_avoidUTurns = value; } + inline RouteWaypoint& WithAvoidUTurns(bool value) { SetAvoidUTurns(value); return *this;} + ///@} + + ///@{ + /** + *

                GPS Heading at the position.

                + */ + inline double GetHeading() const{ return m_heading; } + inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; } + inline void SetHeading(double value) { m_headingHasBeenSet = true; m_heading = value; } + inline RouteWaypoint& WithHeading(double value) { SetHeading(value); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to the road network.

                + */ + inline const RouteMatchingOptions& GetMatching() const{ return m_matching; } + inline bool MatchingHasBeenSet() const { return m_matchingHasBeenSet; } + inline void SetMatching(const RouteMatchingOptions& value) { m_matchingHasBeenSet = true; m_matching = value; } + inline void SetMatching(RouteMatchingOptions&& value) { m_matchingHasBeenSet = true; m_matching = std::move(value); } + inline RouteWaypoint& WithMatching(const RouteMatchingOptions& value) { SetMatching(value); return *this;} + inline RouteWaypoint& WithMatching(RouteMatchingOptions&& value) { SetMatching(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                If the waypoint should not be treated as a stop. If yes, the waypoint is + * passed through and doesn't split the route into different legs.

                + */ + inline bool GetPassThrough() const{ return m_passThrough; } + inline bool PassThroughHasBeenSet() const { return m_passThroughHasBeenSet; } + inline void SetPassThrough(bool value) { m_passThroughHasBeenSet = true; m_passThrough = value; } + inline RouteWaypoint& WithPassThrough(bool value) { SetPassThrough(value); return *this;} + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline RouteWaypoint& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline RouteWaypoint& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline RouteWaypoint& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to a side of the + * street.

                + */ + inline const RouteSideOfStreetOptions& GetSideOfStreet() const{ return m_sideOfStreet; } + inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; } + inline void SetSideOfStreet(const RouteSideOfStreetOptions& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = value; } + inline void SetSideOfStreet(RouteSideOfStreetOptions&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::move(value); } + inline RouteWaypoint& WithSideOfStreet(const RouteSideOfStreetOptions& value) { SetSideOfStreet(value); return *this;} + inline RouteWaypoint& WithSideOfStreet(RouteSideOfStreetOptions&& value) { SetSideOfStreet(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Duration of the stop.

                Unit: seconds

                + */ + inline long long GetStopDuration() const{ return m_stopDuration; } + inline bool StopDurationHasBeenSet() const { return m_stopDurationHasBeenSet; } + inline void SetStopDuration(long long value) { m_stopDurationHasBeenSet = true; m_stopDuration = value; } + inline RouteWaypoint& WithStopDuration(long long value) { SetStopDuration(value); return *this;} + ///@} + private: + + long long m_avoidActionsForDistance; + bool m_avoidActionsForDistanceHasBeenSet = false; + + bool m_avoidUTurns; + bool m_avoidUTurnsHasBeenSet = false; + + double m_heading; + bool m_headingHasBeenSet = false; + + RouteMatchingOptions m_matching; + bool m_matchingHasBeenSet = false; + + bool m_passThrough; + bool m_passThroughHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + RouteSideOfStreetOptions m_sideOfStreet; + bool m_sideOfStreetHasBeenSet = false; + + long long m_stopDuration; + bool m_stopDurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteWeightConstraint.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteWeightConstraint.h new file mode 100644 index 00000000000..420549a66f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteWeightConstraint.h @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The weight constraint for the route.

                Unit: + * Kilograms

                See Also:

                AWS + * API Reference

                + */ + class RouteWeightConstraint + { + public: + AWS_GEOROUTES_API RouteWeightConstraint(); + AWS_GEOROUTES_API RouteWeightConstraint(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteWeightConstraint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The type of constraint.

                + */ + inline const RouteWeightConstraintType& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const RouteWeightConstraintType& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(RouteWeightConstraintType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline RouteWeightConstraint& WithType(const RouteWeightConstraintType& value) { SetType(value); return *this;} + inline RouteWeightConstraint& WithType(RouteWeightConstraintType&& value) { SetType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The constraint value.

                Unit: Kilograms

                + */ + inline long long GetValue() const{ return m_value; } + inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } + inline void SetValue(long long value) { m_valueHasBeenSet = true; m_value = value; } + inline RouteWeightConstraint& WithValue(long long value) { SetValue(value); return *this;} + ///@} + private: + + RouteWeightConstraintType m_type; + bool m_typeHasBeenSet = false; + + long long m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteWeightConstraintType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteWeightConstraintType.h new file mode 100644 index 00000000000..227922150d2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteWeightConstraintType.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteWeightConstraintType + { + NOT_SET, + Current, + Gross, + Unknown + }; + +namespace RouteWeightConstraintTypeMapper +{ +AWS_GEOROUTES_API RouteWeightConstraintType GetRouteWeightConstraintTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteWeightConstraintType(RouteWeightConstraintType value); +} // namespace RouteWeightConstraintTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteZone.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteZone.h new file mode 100644 index 00000000000..c84848de09b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteZone.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The zone.

                See Also:

                AWS + * API Reference

                + */ + class RouteZone + { + public: + AWS_GEOROUTES_API RouteZone(); + AWS_GEOROUTES_API RouteZone(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API RouteZone& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The zone category.

                + */ + inline const RouteZoneCategory& GetCategory() const{ return m_category; } + inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } + inline void SetCategory(const RouteZoneCategory& value) { m_categoryHasBeenSet = true; m_category = value; } + inline void SetCategory(RouteZoneCategory&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } + inline RouteZone& WithCategory(const RouteZoneCategory& value) { SetCategory(value); return *this;} + inline RouteZone& WithCategory(RouteZoneCategory&& value) { SetCategory(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The name of the zone.

                + */ + 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 RouteZone& WithName(const Aws::String& value) { SetName(value); return *this;} + inline RouteZone& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline RouteZone& WithName(const char* value) { SetName(value); return *this;} + ///@} + private: + + RouteZoneCategory m_category; + bool m_categoryHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteZoneCategory.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteZoneCategory.h new file mode 100644 index 00000000000..b42969ea9e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RouteZoneCategory.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RouteZoneCategory + { + NOT_SET, + CongestionPricing, + Environmental, + Vignette + }; + +namespace RouteZoneCategoryMapper +{ +AWS_GEOROUTES_API RouteZoneCategory GetRouteZoneCategoryForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRouteZoneCategory(RouteZoneCategory value); +} // namespace RouteZoneCategoryMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutingObjective.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutingObjective.h new file mode 100644 index 00000000000..75d9f49e126 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/RoutingObjective.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class RoutingObjective + { + NOT_SET, + FastestRoute, + ShortestRoute + }; + +namespace RoutingObjectiveMapper +{ +AWS_GEOROUTES_API RoutingObjective GetRoutingObjectiveForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForRoutingObjective(RoutingObjective value); +} // namespace RoutingObjectiveMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/SideOfStreetMatchingStrategy.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/SideOfStreetMatchingStrategy.h new file mode 100644 index 00000000000..6516f31abbb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/SideOfStreetMatchingStrategy.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class SideOfStreetMatchingStrategy + { + NOT_SET, + AnyStreet, + DividedStreetOnly + }; + +namespace SideOfStreetMatchingStrategyMapper +{ +AWS_GEOROUTES_API SideOfStreetMatchingStrategy GetSideOfStreetMatchingStrategyForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForSideOfStreetMatchingStrategy(SideOfStreetMatchingStrategy value); +} // namespace SideOfStreetMatchingStrategyMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/SnapToRoadsRequest.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/SnapToRoadsRequest.h new file mode 100644 index 00000000000..63c90652da9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/SnapToRoadsRequest.h @@ -0,0 +1,148 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace GeoRoutes +{ +namespace Model +{ + + /** + */ + class SnapToRoadsRequest : public GeoRoutesRequest + { + public: + AWS_GEOROUTES_API SnapToRoadsRequest(); + + // 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 "SnapToRoads"; } + + AWS_GEOROUTES_API Aws::String SerializePayload() const override; + + AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + /** + *

                Optional: The API key to be used for authorization. Either an API key or + * valid SigV4 signature must be provided when making a request.

                + */ + inline const Aws::String& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } + inline SnapToRoadsRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;} + inline SnapToRoadsRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} + inline SnapToRoadsRequest& WithKey(const char* value) { SetKey(value); return *this;} + ///@} + + ///@{ + /** + *

                Chooses what the returned SnappedGeometry format should be.

                Default + * Value: FlexiblePolyline

                + */ + inline const GeometryFormat& GetSnappedGeometryFormat() const{ return m_snappedGeometryFormat; } + inline bool SnappedGeometryFormatHasBeenSet() const { return m_snappedGeometryFormatHasBeenSet; } + inline void SetSnappedGeometryFormat(const GeometryFormat& value) { m_snappedGeometryFormatHasBeenSet = true; m_snappedGeometryFormat = value; } + inline void SetSnappedGeometryFormat(GeometryFormat&& value) { m_snappedGeometryFormatHasBeenSet = true; m_snappedGeometryFormat = std::move(value); } + inline SnapToRoadsRequest& WithSnappedGeometryFormat(const GeometryFormat& value) { SetSnappedGeometryFormat(value); return *this;} + inline SnapToRoadsRequest& WithSnappedGeometryFormat(GeometryFormat&& value) { SetSnappedGeometryFormat(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The radius around the provided tracepoint that is considered for + * snapping.

                Unit: meters

                Default value: + * 300

                + */ + inline long long GetSnapRadius() const{ return m_snapRadius; } + inline bool SnapRadiusHasBeenSet() const { return m_snapRadiusHasBeenSet; } + inline void SetSnapRadius(long long value) { m_snapRadiusHasBeenSet = true; m_snapRadius = value; } + inline SnapToRoadsRequest& WithSnapRadius(long long value) { SetSnapRadius(value); return *this;} + ///@} + + ///@{ + /** + *

                List of trace points to be snapped onto the road network.

                + */ + inline const Aws::Vector& GetTracePoints() const{ return m_tracePoints; } + inline bool TracePointsHasBeenSet() const { return m_tracePointsHasBeenSet; } + inline void SetTracePoints(const Aws::Vector& value) { m_tracePointsHasBeenSet = true; m_tracePoints = value; } + inline void SetTracePoints(Aws::Vector&& value) { m_tracePointsHasBeenSet = true; m_tracePoints = std::move(value); } + inline SnapToRoadsRequest& WithTracePoints(const Aws::Vector& value) { SetTracePoints(value); return *this;} + inline SnapToRoadsRequest& WithTracePoints(Aws::Vector&& value) { SetTracePoints(std::move(value)); return *this;} + inline SnapToRoadsRequest& AddTracePoints(const RoadSnapTracePoint& value) { m_tracePointsHasBeenSet = true; m_tracePoints.push_back(value); return *this; } + inline SnapToRoadsRequest& AddTracePoints(RoadSnapTracePoint&& value) { m_tracePointsHasBeenSet = true; m_tracePoints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Specifies the mode of transport when calculating a route. Used in estimating + * the speed of travel and road compatibility.

                Default Value: + * Car

                + */ + inline const RoadSnapTravelMode& GetTravelMode() const{ return m_travelMode; } + inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; } + inline void SetTravelMode(const RoadSnapTravelMode& value) { m_travelModeHasBeenSet = true; m_travelMode = value; } + inline void SetTravelMode(RoadSnapTravelMode&& value) { m_travelModeHasBeenSet = true; m_travelMode = std::move(value); } + inline SnapToRoadsRequest& WithTravelMode(const RoadSnapTravelMode& value) { SetTravelMode(value); return *this;} + inline SnapToRoadsRequest& WithTravelMode(RoadSnapTravelMode&& value) { SetTravelMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode related options for the provided travel mode.

                + */ + inline const RoadSnapTravelModeOptions& GetTravelModeOptions() const{ return m_travelModeOptions; } + inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; } + inline void SetTravelModeOptions(const RoadSnapTravelModeOptions& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = value; } + inline void SetTravelModeOptions(RoadSnapTravelModeOptions&& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = std::move(value); } + inline SnapToRoadsRequest& WithTravelModeOptions(const RoadSnapTravelModeOptions& value) { SetTravelModeOptions(value); return *this;} + inline SnapToRoadsRequest& WithTravelModeOptions(RoadSnapTravelModeOptions&& value) { SetTravelModeOptions(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_key; + bool m_keyHasBeenSet = false; + + GeometryFormat m_snappedGeometryFormat; + bool m_snappedGeometryFormatHasBeenSet = false; + + long long m_snapRadius; + bool m_snapRadiusHasBeenSet = false; + + Aws::Vector m_tracePoints; + bool m_tracePointsHasBeenSet = false; + + RoadSnapTravelMode m_travelMode; + bool m_travelModeHasBeenSet = false; + + RoadSnapTravelModeOptions m_travelModeOptions; + bool m_travelModeOptionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/SnapToRoadsResult.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/SnapToRoadsResult.h new file mode 100644 index 00000000000..d2a0fd7f77c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/SnapToRoadsResult.h @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + class SnapToRoadsResult + { + public: + AWS_GEOROUTES_API SnapToRoadsResult(); + AWS_GEOROUTES_API SnapToRoadsResult(const Aws::AmazonWebServiceResult& result); + AWS_GEOROUTES_API SnapToRoadsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                Notices are additional information returned that indicate issues that + * occurred during route calculation.

                + */ + inline const Aws::Vector& GetNotices() const{ return m_notices; } + inline void SetNotices(const Aws::Vector& value) { m_notices = value; } + inline void SetNotices(Aws::Vector&& value) { m_notices = std::move(value); } + inline SnapToRoadsResult& WithNotices(const Aws::Vector& value) { SetNotices(value); return *this;} + inline SnapToRoadsResult& WithNotices(Aws::Vector&& value) { SetNotices(std::move(value)); return *this;} + inline SnapToRoadsResult& AddNotices(const RoadSnapNotice& value) { m_notices.push_back(value); return *this; } + inline SnapToRoadsResult& AddNotices(RoadSnapNotice&& value) { m_notices.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The pricing bucket for which the query is charged at.

                + */ + inline const Aws::String& GetPricingBucket() const{ return m_pricingBucket; } + inline void SetPricingBucket(const Aws::String& value) { m_pricingBucket = value; } + inline void SetPricingBucket(Aws::String&& value) { m_pricingBucket = std::move(value); } + inline void SetPricingBucket(const char* value) { m_pricingBucket.assign(value); } + inline SnapToRoadsResult& WithPricingBucket(const Aws::String& value) { SetPricingBucket(value); return *this;} + inline SnapToRoadsResult& WithPricingBucket(Aws::String&& value) { SetPricingBucket(std::move(value)); return *this;} + inline SnapToRoadsResult& WithPricingBucket(const char* value) { SetPricingBucket(value); return *this;} + ///@} + + ///@{ + /** + *

                The interpolated geometry for the snapped route onto the road network.

                + */ + inline const RoadSnapSnappedGeometry& GetSnappedGeometry() const{ return m_snappedGeometry; } + inline void SetSnappedGeometry(const RoadSnapSnappedGeometry& value) { m_snappedGeometry = value; } + inline void SetSnappedGeometry(RoadSnapSnappedGeometry&& value) { m_snappedGeometry = std::move(value); } + inline SnapToRoadsResult& WithSnappedGeometry(const RoadSnapSnappedGeometry& value) { SetSnappedGeometry(value); return *this;} + inline SnapToRoadsResult& WithSnappedGeometry(RoadSnapSnappedGeometry&& value) { SetSnappedGeometry(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Specifies the format of the geometry returned for each leg of the route.

                + */ + inline const GeometryFormat& GetSnappedGeometryFormat() const{ return m_snappedGeometryFormat; } + inline void SetSnappedGeometryFormat(const GeometryFormat& value) { m_snappedGeometryFormat = value; } + inline void SetSnappedGeometryFormat(GeometryFormat&& value) { m_snappedGeometryFormat = std::move(value); } + inline SnapToRoadsResult& WithSnappedGeometryFormat(const GeometryFormat& value) { SetSnappedGeometryFormat(value); return *this;} + inline SnapToRoadsResult& WithSnappedGeometryFormat(GeometryFormat&& value) { SetSnappedGeometryFormat(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The trace points snapped onto the road network.

                + */ + inline const Aws::Vector& GetSnappedTracePoints() const{ return m_snappedTracePoints; } + inline void SetSnappedTracePoints(const Aws::Vector& value) { m_snappedTracePoints = value; } + inline void SetSnappedTracePoints(Aws::Vector&& value) { m_snappedTracePoints = std::move(value); } + inline SnapToRoadsResult& WithSnappedTracePoints(const Aws::Vector& value) { SetSnappedTracePoints(value); return *this;} + inline SnapToRoadsResult& WithSnappedTracePoints(Aws::Vector&& value) { SetSnappedTracePoints(std::move(value)); return *this;} + inline SnapToRoadsResult& AddSnappedTracePoints(const RoadSnapSnappedTracePoint& value) { m_snappedTracePoints.push_back(value); return *this; } + inline SnapToRoadsResult& AddSnappedTracePoints(RoadSnapSnappedTracePoint&& value) { m_snappedTracePoints.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 SnapToRoadsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline SnapToRoadsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline SnapToRoadsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_notices; + + Aws::String m_pricingBucket; + + RoadSnapSnappedGeometry m_snappedGeometry; + + GeometryFormat m_snappedGeometryFormat; + + Aws::Vector m_snappedTracePoints; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/TrafficUsage.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/TrafficUsage.h new file mode 100644 index 00000000000..c45bdf9d90f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/TrafficUsage.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class TrafficUsage + { + NOT_SET, + IgnoreTrafficData, + UseTrafficData + }; + +namespace TrafficUsageMapper +{ +AWS_GEOROUTES_API TrafficUsage GetTrafficUsageForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForTrafficUsage(TrafficUsage value); +} // namespace TrafficUsageMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/ValidationException.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/ValidationException.h new file mode 100644 index 00000000000..f96b4765ef5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/ValidationException.h @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The input fails to satisfy the constraints specified by an AWS + * service.

                See Also:

                AWS + * API Reference

                + */ + class ValidationException + { + public: + AWS_GEOROUTES_API ValidationException(); + AWS_GEOROUTES_API ValidationException(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API ValidationException& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationException& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + + ///@{ + /** + *

                A message with the reason for the validation exception error.

                + */ + inline const ValidationExceptionReason& GetReason() const{ return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(const ValidationExceptionReason& value) { m_reasonHasBeenSet = true; m_reason = value; } + inline void SetReason(ValidationExceptionReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + inline ValidationException& WithReason(const ValidationExceptionReason& value) { SetReason(value); return *this;} + inline ValidationException& WithReason(ValidationExceptionReason&& value) { SetReason(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The field where the invalid entry was detected.

                + */ + inline const Aws::Vector& GetFieldList() const{ return m_fieldList; } + inline bool FieldListHasBeenSet() const { return m_fieldListHasBeenSet; } + inline void SetFieldList(const Aws::Vector& value) { m_fieldListHasBeenSet = true; m_fieldList = value; } + inline void SetFieldList(Aws::Vector&& value) { m_fieldListHasBeenSet = true; m_fieldList = std::move(value); } + inline ValidationException& WithFieldList(const Aws::Vector& value) { SetFieldList(value); return *this;} + inline ValidationException& WithFieldList(Aws::Vector&& value) { SetFieldList(std::move(value)); return *this;} + inline ValidationException& AddFieldList(const ValidationExceptionField& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(value); return *this; } + inline ValidationException& AddFieldList(ValidationExceptionField&& value) { m_fieldListHasBeenSet = true; m_fieldList.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_message; + bool m_messageHasBeenSet = false; + + ValidationExceptionReason m_reason; + bool m_reasonHasBeenSet = false; + + Aws::Vector m_fieldList; + bool m_fieldListHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/ValidationExceptionField.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/ValidationExceptionField.h new file mode 100644 index 00000000000..41b1aa1f801 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/ValidationExceptionField.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The input fails to satisfy the constraints specified by the Amazon Location + * service.

                See Also:

                AWS + * API Reference

                + */ + class ValidationExceptionField + { + public: + AWS_GEOROUTES_API ValidationExceptionField(); + AWS_GEOROUTES_API ValidationExceptionField(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API ValidationExceptionField& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The name of the Validation Exception Field.

                + */ + 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 ValidationExceptionField& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ValidationExceptionField& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ValidationExceptionField& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                The error message.

                + */ + inline const Aws::String& GetMessage() const{ return m_message; } + inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } + inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } + inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } + inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } + inline ValidationExceptionField& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} + inline ValidationExceptionField& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} + inline ValidationExceptionField& WithMessage(const char* value) { SetMessage(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_message; + bool m_messageHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/ValidationExceptionReason.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/ValidationExceptionReason.h new file mode 100644 index 00000000000..a9e4cbdb178 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/ValidationExceptionReason.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class ValidationExceptionReason + { + NOT_SET, + UnknownOperation, + Missing, + CannotParse, + FieldValidationFailed, + Other, + UnknownField + }; + +namespace ValidationExceptionReasonMapper +{ +AWS_GEOROUTES_API ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason value); +} // namespace ValidationExceptionReasonMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAccessHours.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAccessHours.h new file mode 100644 index 00000000000..230d759a886 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAccessHours.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Access hours corresponding to when a destination can be + * visited.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationAccessHours + { + public: + AWS_GEOROUTES_API WaypointOptimizationAccessHours(); + AWS_GEOROUTES_API WaypointOptimizationAccessHours(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationAccessHours& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Contains the ID of the starting waypoint in this connection.

                + */ + inline const WaypointOptimizationAccessHoursEntry& GetFrom() const{ return m_from; } + inline bool FromHasBeenSet() const { return m_fromHasBeenSet; } + inline void SetFrom(const WaypointOptimizationAccessHoursEntry& value) { m_fromHasBeenSet = true; m_from = value; } + inline void SetFrom(WaypointOptimizationAccessHoursEntry&& value) { m_fromHasBeenSet = true; m_from = std::move(value); } + inline WaypointOptimizationAccessHours& WithFrom(const WaypointOptimizationAccessHoursEntry& value) { SetFrom(value); return *this;} + inline WaypointOptimizationAccessHours& WithFrom(WaypointOptimizationAccessHoursEntry&& value) { SetFrom(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Contains the ID of the ending waypoint in this connection.

                + */ + inline const WaypointOptimizationAccessHoursEntry& GetTo() const{ return m_to; } + inline bool ToHasBeenSet() const { return m_toHasBeenSet; } + inline void SetTo(const WaypointOptimizationAccessHoursEntry& value) { m_toHasBeenSet = true; m_to = value; } + inline void SetTo(WaypointOptimizationAccessHoursEntry&& value) { m_toHasBeenSet = true; m_to = std::move(value); } + inline WaypointOptimizationAccessHours& WithTo(const WaypointOptimizationAccessHoursEntry& value) { SetTo(value); return *this;} + inline WaypointOptimizationAccessHours& WithTo(WaypointOptimizationAccessHoursEntry&& value) { SetTo(std::move(value)); return *this;} + ///@} + private: + + WaypointOptimizationAccessHoursEntry m_from; + bool m_fromHasBeenSet = false; + + WaypointOptimizationAccessHoursEntry m_to; + bool m_toHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAccessHoursEntry.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAccessHoursEntry.h new file mode 100644 index 00000000000..361db0ae668 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAccessHoursEntry.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Hours of entry.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationAccessHoursEntry + { + public: + AWS_GEOROUTES_API WaypointOptimizationAccessHoursEntry(); + AWS_GEOROUTES_API WaypointOptimizationAccessHoursEntry(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationAccessHoursEntry& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Day of the week.

                + */ + inline const DayOfWeek& GetDayOfWeek() const{ return m_dayOfWeek; } + inline bool DayOfWeekHasBeenSet() const { return m_dayOfWeekHasBeenSet; } + inline void SetDayOfWeek(const DayOfWeek& value) { m_dayOfWeekHasBeenSet = true; m_dayOfWeek = value; } + inline void SetDayOfWeek(DayOfWeek&& value) { m_dayOfWeekHasBeenSet = true; m_dayOfWeek = std::move(value); } + inline WaypointOptimizationAccessHoursEntry& WithDayOfWeek(const DayOfWeek& value) { SetDayOfWeek(value); return *this;} + inline WaypointOptimizationAccessHoursEntry& WithDayOfWeek(DayOfWeek&& value) { SetDayOfWeek(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Time of the day.

                + */ + inline const Aws::String& GetTimeOfDay() const{ return m_timeOfDay; } + inline bool TimeOfDayHasBeenSet() const { return m_timeOfDayHasBeenSet; } + inline void SetTimeOfDay(const Aws::String& value) { m_timeOfDayHasBeenSet = true; m_timeOfDay = value; } + inline void SetTimeOfDay(Aws::String&& value) { m_timeOfDayHasBeenSet = true; m_timeOfDay = std::move(value); } + inline void SetTimeOfDay(const char* value) { m_timeOfDayHasBeenSet = true; m_timeOfDay.assign(value); } + inline WaypointOptimizationAccessHoursEntry& WithTimeOfDay(const Aws::String& value) { SetTimeOfDay(value); return *this;} + inline WaypointOptimizationAccessHoursEntry& WithTimeOfDay(Aws::String&& value) { SetTimeOfDay(std::move(value)); return *this;} + inline WaypointOptimizationAccessHoursEntry& WithTimeOfDay(const char* value) { SetTimeOfDay(value); return *this;} + ///@} + private: + + DayOfWeek m_dayOfWeek; + bool m_dayOfWeekHasBeenSet = false; + + Aws::String m_timeOfDay; + bool m_timeOfDayHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAvoidanceArea.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAvoidanceArea.h new file mode 100644 index 00000000000..4544c1191ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAvoidanceArea.h @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The area to be avoided.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationAvoidanceArea + { + public: + AWS_GEOROUTES_API WaypointOptimizationAvoidanceArea(); + AWS_GEOROUTES_API WaypointOptimizationAvoidanceArea(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationAvoidanceArea& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Geometry of the area to be avoided.

                + */ + inline const WaypointOptimizationAvoidanceAreaGeometry& GetGeometry() const{ return m_geometry; } + inline bool GeometryHasBeenSet() const { return m_geometryHasBeenSet; } + inline void SetGeometry(const WaypointOptimizationAvoidanceAreaGeometry& value) { m_geometryHasBeenSet = true; m_geometry = value; } + inline void SetGeometry(WaypointOptimizationAvoidanceAreaGeometry&& value) { m_geometryHasBeenSet = true; m_geometry = std::move(value); } + inline WaypointOptimizationAvoidanceArea& WithGeometry(const WaypointOptimizationAvoidanceAreaGeometry& value) { SetGeometry(value); return *this;} + inline WaypointOptimizationAvoidanceArea& WithGeometry(WaypointOptimizationAvoidanceAreaGeometry&& value) { SetGeometry(std::move(value)); return *this;} + ///@} + private: + + WaypointOptimizationAvoidanceAreaGeometry m_geometry; + bool m_geometryHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAvoidanceAreaGeometry.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAvoidanceAreaGeometry.h new file mode 100644 index 00000000000..3c492bb0ffc --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAvoidanceAreaGeometry.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Geometry of the area to be avoided.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationAvoidanceAreaGeometry + { + public: + AWS_GEOROUTES_API WaypointOptimizationAvoidanceAreaGeometry(); + AWS_GEOROUTES_API WaypointOptimizationAvoidanceAreaGeometry(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationAvoidanceAreaGeometry& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Geometry defined as a bounding box. The first pair represents the X and Y + * coordinates (longitude and latitude,) of the southwest corner of the bounding + * box; the second pair represents the X and Y coordinates (longitude and latitude) + * of the northeast corner.

                + */ + inline const Aws::Vector& GetBoundingBox() const{ return m_boundingBox; } + inline bool BoundingBoxHasBeenSet() const { return m_boundingBoxHasBeenSet; } + inline void SetBoundingBox(const Aws::Vector& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = value; } + inline void SetBoundingBox(Aws::Vector&& value) { m_boundingBoxHasBeenSet = true; m_boundingBox = std::move(value); } + inline WaypointOptimizationAvoidanceAreaGeometry& WithBoundingBox(const Aws::Vector& value) { SetBoundingBox(value); return *this;} + inline WaypointOptimizationAvoidanceAreaGeometry& WithBoundingBox(Aws::Vector&& value) { SetBoundingBox(std::move(value)); return *this;} + inline WaypointOptimizationAvoidanceAreaGeometry& AddBoundingBox(double value) { m_boundingBoxHasBeenSet = true; m_boundingBox.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_boundingBox; + bool m_boundingBoxHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAvoidanceOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAvoidanceOptions.h new file mode 100644 index 00000000000..3f081a23e94 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationAvoidanceOptions.h @@ -0,0 +1,154 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options for WaypointOptimizationAvoidance.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationAvoidanceOptions + { + public: + AWS_GEOROUTES_API WaypointOptimizationAvoidanceOptions(); + AWS_GEOROUTES_API WaypointOptimizationAvoidanceOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationAvoidanceOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Areas to be avoided.

                + */ + inline const Aws::Vector& GetAreas() const{ return m_areas; } + inline bool AreasHasBeenSet() const { return m_areasHasBeenSet; } + inline void SetAreas(const Aws::Vector& value) { m_areasHasBeenSet = true; m_areas = value; } + inline void SetAreas(Aws::Vector&& value) { m_areasHasBeenSet = true; m_areas = std::move(value); } + inline WaypointOptimizationAvoidanceOptions& WithAreas(const Aws::Vector& value) { SetAreas(value); return *this;} + inline WaypointOptimizationAvoidanceOptions& WithAreas(Aws::Vector&& value) { SetAreas(std::move(value)); return *this;} + inline WaypointOptimizationAvoidanceOptions& AddAreas(const WaypointOptimizationAvoidanceArea& value) { m_areasHasBeenSet = true; m_areas.push_back(value); return *this; } + inline WaypointOptimizationAvoidanceOptions& AddAreas(WaypointOptimizationAvoidanceArea&& value) { m_areasHasBeenSet = true; m_areas.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Avoidance options for cars-shuttles-trains.

                + */ + inline bool GetCarShuttleTrains() const{ return m_carShuttleTrains; } + inline bool CarShuttleTrainsHasBeenSet() const { return m_carShuttleTrainsHasBeenSet; } + inline void SetCarShuttleTrains(bool value) { m_carShuttleTrainsHasBeenSet = true; m_carShuttleTrains = value; } + inline WaypointOptimizationAvoidanceOptions& WithCarShuttleTrains(bool value) { SetCarShuttleTrains(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid controlled access highways while calculating the route.

                + */ + inline bool GetControlledAccessHighways() const{ return m_controlledAccessHighways; } + inline bool ControlledAccessHighwaysHasBeenSet() const { return m_controlledAccessHighwaysHasBeenSet; } + inline void SetControlledAccessHighways(bool value) { m_controlledAccessHighwaysHasBeenSet = true; m_controlledAccessHighways = value; } + inline WaypointOptimizationAvoidanceOptions& WithControlledAccessHighways(bool value) { SetControlledAccessHighways(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid dirt roads while calculating the route.

                + */ + inline bool GetDirtRoads() const{ return m_dirtRoads; } + inline bool DirtRoadsHasBeenSet() const { return m_dirtRoadsHasBeenSet; } + inline void SetDirtRoads(bool value) { m_dirtRoadsHasBeenSet = true; m_dirtRoads = value; } + inline WaypointOptimizationAvoidanceOptions& WithDirtRoads(bool value) { SetDirtRoads(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoidance options for ferries.

                + */ + inline bool GetFerries() const{ return m_ferries; } + inline bool FerriesHasBeenSet() const { return m_ferriesHasBeenSet; } + inline void SetFerries(bool value) { m_ferriesHasBeenSet = true; m_ferries = value; } + inline WaypointOptimizationAvoidanceOptions& WithFerries(bool value) { SetFerries(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoids roads where the specified toll transponders are the only mode of + * payment.

                + */ + inline bool GetTollRoads() const{ return m_tollRoads; } + inline bool TollRoadsHasBeenSet() const { return m_tollRoadsHasBeenSet; } + inline void SetTollRoads(bool value) { m_tollRoadsHasBeenSet = true; m_tollRoads = value; } + inline WaypointOptimizationAvoidanceOptions& WithTollRoads(bool value) { SetTollRoads(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid tunnels while calculating the route.

                + */ + inline bool GetTunnels() const{ return m_tunnels; } + inline bool TunnelsHasBeenSet() const { return m_tunnelsHasBeenSet; } + inline void SetTunnels(bool value) { m_tunnelsHasBeenSet = true; m_tunnels = value; } + inline WaypointOptimizationAvoidanceOptions& WithTunnels(bool value) { SetTunnels(value); return *this;} + ///@} + + ///@{ + /** + *

                Avoid U-turns for calculation on highways and motorways.

                + */ + inline bool GetUTurns() const{ return m_uTurns; } + inline bool UTurnsHasBeenSet() const { return m_uTurnsHasBeenSet; } + inline void SetUTurns(bool value) { m_uTurnsHasBeenSet = true; m_uTurns = value; } + inline WaypointOptimizationAvoidanceOptions& WithUTurns(bool value) { SetUTurns(value); return *this;} + ///@} + private: + + Aws::Vector m_areas; + bool m_areasHasBeenSet = false; + + bool m_carShuttleTrains; + bool m_carShuttleTrainsHasBeenSet = false; + + bool m_controlledAccessHighways; + bool m_controlledAccessHighwaysHasBeenSet = false; + + bool m_dirtRoads; + bool m_dirtRoadsHasBeenSet = false; + + bool m_ferries; + bool m_ferriesHasBeenSet = false; + + bool m_tollRoads; + bool m_tollRoadsHasBeenSet = false; + + bool m_tunnels; + bool m_tunnelsHasBeenSet = false; + + bool m_uTurns; + bool m_uTurnsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationConnection.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationConnection.h new file mode 100644 index 00000000000..c0b87fc6eaa --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationConnection.h @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                This contains information such as distance and duration from one waypoint to + * the next waypoint in the sequence.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationConnection + { + public: + AWS_GEOROUTES_API WaypointOptimizationConnection(); + AWS_GEOROUTES_API WaypointOptimizationConnection(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationConnection& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Distance of the step.

                + */ + inline long long GetDistance() const{ return m_distance; } + inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } + inline void SetDistance(long long value) { m_distanceHasBeenSet = true; m_distance = value; } + inline WaypointOptimizationConnection& WithDistance(long long value) { SetDistance(value); return *this;} + ///@} + + ///@{ + /** + *

                contains the ID of the starting waypoint in this connection.

                + */ + inline const Aws::String& GetFrom() const{ return m_from; } + inline bool FromHasBeenSet() const { return m_fromHasBeenSet; } + inline void SetFrom(const Aws::String& value) { m_fromHasBeenSet = true; m_from = value; } + inline void SetFrom(Aws::String&& value) { m_fromHasBeenSet = true; m_from = std::move(value); } + inline void SetFrom(const char* value) { m_fromHasBeenSet = true; m_from.assign(value); } + inline WaypointOptimizationConnection& WithFrom(const Aws::String& value) { SetFrom(value); return *this;} + inline WaypointOptimizationConnection& WithFrom(Aws::String&& value) { SetFrom(std::move(value)); return *this;} + inline WaypointOptimizationConnection& WithFrom(const char* value) { SetFrom(value); return *this;} + ///@} + + ///@{ + /** + *

                Resting time before the driver can continue driving.

                + */ + inline long long GetRestDuration() const{ return m_restDuration; } + inline bool RestDurationHasBeenSet() const { return m_restDurationHasBeenSet; } + inline void SetRestDuration(long long value) { m_restDurationHasBeenSet = true; m_restDuration = value; } + inline WaypointOptimizationConnection& WithRestDuration(long long value) { SetRestDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Contains the ID of the ending waypoint in this connection.

                + */ + inline const Aws::String& GetTo() const{ return m_to; } + inline bool ToHasBeenSet() const { return m_toHasBeenSet; } + inline void SetTo(const Aws::String& value) { m_toHasBeenSet = true; m_to = value; } + inline void SetTo(Aws::String&& value) { m_toHasBeenSet = true; m_to = std::move(value); } + inline void SetTo(const char* value) { m_toHasBeenSet = true; m_to.assign(value); } + inline WaypointOptimizationConnection& WithTo(const Aws::String& value) { SetTo(value); return *this;} + inline WaypointOptimizationConnection& WithTo(Aws::String&& value) { SetTo(std::move(value)); return *this;} + inline WaypointOptimizationConnection& WithTo(const char* value) { SetTo(value); return *this;} + ///@} + + ///@{ + /** + *

                Total duration.

                Unit: seconds

                + */ + inline long long GetTravelDuration() const{ return m_travelDuration; } + inline bool TravelDurationHasBeenSet() const { return m_travelDurationHasBeenSet; } + inline void SetTravelDuration(long long value) { m_travelDurationHasBeenSet = true; m_travelDuration = value; } + inline WaypointOptimizationConnection& WithTravelDuration(long long value) { SetTravelDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Duration of a wait step.

                Unit: seconds

                + */ + inline long long GetWaitDuration() const{ return m_waitDuration; } + inline bool WaitDurationHasBeenSet() const { return m_waitDurationHasBeenSet; } + inline void SetWaitDuration(long long value) { m_waitDurationHasBeenSet = true; m_waitDuration = value; } + inline WaypointOptimizationConnection& WithWaitDuration(long long value) { SetWaitDuration(value); return *this;} + ///@} + private: + + long long m_distance; + bool m_distanceHasBeenSet = false; + + Aws::String m_from; + bool m_fromHasBeenSet = false; + + long long m_restDuration; + bool m_restDurationHasBeenSet = false; + + Aws::String m_to; + bool m_toHasBeenSet = false; + + long long m_travelDuration; + bool m_travelDurationHasBeenSet = false; + + long long m_waitDuration; + bool m_waitDurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationConstraint.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationConstraint.h new file mode 100644 index 00000000000..6f222222b41 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationConstraint.h @@ -0,0 +1,35 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class WaypointOptimizationConstraint + { + NOT_SET, + AccessHours, + AppointmentTime, + Before, + Heading, + ServiceDuration, + SideOfStreet + }; + +namespace WaypointOptimizationConstraintMapper +{ +AWS_GEOROUTES_API WaypointOptimizationConstraint GetWaypointOptimizationConstraintForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForWaypointOptimizationConstraint(WaypointOptimizationConstraint value); +} // namespace WaypointOptimizationConstraintMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationDestinationOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationDestinationOptions.h new file mode 100644 index 00000000000..effba87d32f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationDestinationOptions.h @@ -0,0 +1,139 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Destination related options.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationDestinationOptions + { + public: + AWS_GEOROUTES_API WaypointOptimizationDestinationOptions(); + AWS_GEOROUTES_API WaypointOptimizationDestinationOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationDestinationOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Access hours corresponding to when a waypoint can be visited.

                + */ + inline const WaypointOptimizationAccessHours& GetAccessHours() const{ return m_accessHours; } + inline bool AccessHoursHasBeenSet() const { return m_accessHoursHasBeenSet; } + inline void SetAccessHours(const WaypointOptimizationAccessHours& value) { m_accessHoursHasBeenSet = true; m_accessHours = value; } + inline void SetAccessHours(WaypointOptimizationAccessHours&& value) { m_accessHoursHasBeenSet = true; m_accessHours = std::move(value); } + inline WaypointOptimizationDestinationOptions& WithAccessHours(const WaypointOptimizationAccessHours& value) { SetAccessHours(value); return *this;} + inline WaypointOptimizationDestinationOptions& WithAccessHours(WaypointOptimizationAccessHours&& value) { SetAccessHours(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Appointment time at the destination.

                + */ + inline const Aws::String& GetAppointmentTime() const{ return m_appointmentTime; } + inline bool AppointmentTimeHasBeenSet() const { return m_appointmentTimeHasBeenSet; } + inline void SetAppointmentTime(const Aws::String& value) { m_appointmentTimeHasBeenSet = true; m_appointmentTime = value; } + inline void SetAppointmentTime(Aws::String&& value) { m_appointmentTimeHasBeenSet = true; m_appointmentTime = std::move(value); } + inline void SetAppointmentTime(const char* value) { m_appointmentTimeHasBeenSet = true; m_appointmentTime.assign(value); } + inline WaypointOptimizationDestinationOptions& WithAppointmentTime(const Aws::String& value) { SetAppointmentTime(value); return *this;} + inline WaypointOptimizationDestinationOptions& WithAppointmentTime(Aws::String&& value) { SetAppointmentTime(std::move(value)); return *this;} + inline WaypointOptimizationDestinationOptions& WithAppointmentTime(const char* value) { SetAppointmentTime(value); return *this;} + ///@} + + ///@{ + /** + *

                GPS Heading at the position.

                + */ + inline double GetHeading() const{ return m_heading; } + inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; } + inline void SetHeading(double value) { m_headingHasBeenSet = true; m_heading = value; } + inline WaypointOptimizationDestinationOptions& WithHeading(double value) { SetHeading(value); return *this;} + ///@} + + ///@{ + /** + *

                The waypoint Id.

                + */ + 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 WaypointOptimizationDestinationOptions& WithId(const Aws::String& value) { SetId(value); return *this;} + inline WaypointOptimizationDestinationOptions& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline WaypointOptimizationDestinationOptions& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

                Service time spent at the destination. At an appointment, the service time + * should be the appointment duration.

                Unit: seconds + *

                + */ + inline long long GetServiceDuration() const{ return m_serviceDuration; } + inline bool ServiceDurationHasBeenSet() const { return m_serviceDurationHasBeenSet; } + inline void SetServiceDuration(long long value) { m_serviceDurationHasBeenSet = true; m_serviceDuration = value; } + inline WaypointOptimizationDestinationOptions& WithServiceDuration(long long value) { SetServiceDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to a side of the + * street.

                + */ + inline const WaypointOptimizationSideOfStreetOptions& GetSideOfStreet() const{ return m_sideOfStreet; } + inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; } + inline void SetSideOfStreet(const WaypointOptimizationSideOfStreetOptions& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = value; } + inline void SetSideOfStreet(WaypointOptimizationSideOfStreetOptions&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::move(value); } + inline WaypointOptimizationDestinationOptions& WithSideOfStreet(const WaypointOptimizationSideOfStreetOptions& value) { SetSideOfStreet(value); return *this;} + inline WaypointOptimizationDestinationOptions& WithSideOfStreet(WaypointOptimizationSideOfStreetOptions&& value) { SetSideOfStreet(std::move(value)); return *this;} + ///@} + private: + + WaypointOptimizationAccessHours m_accessHours; + bool m_accessHoursHasBeenSet = false; + + Aws::String m_appointmentTime; + bool m_appointmentTimeHasBeenSet = false; + + double m_heading; + bool m_headingHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + long long m_serviceDuration; + bool m_serviceDurationHasBeenSet = false; + + WaypointOptimizationSideOfStreetOptions m_sideOfStreet; + bool m_sideOfStreetHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationDriverOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationDriverOptions.h new file mode 100644 index 00000000000..e0ec7644d87 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationDriverOptions.h @@ -0,0 +1,97 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Driver related options.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationDriverOptions + { + public: + AWS_GEOROUTES_API WaypointOptimizationDriverOptions(); + AWS_GEOROUTES_API WaypointOptimizationDriverOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationDriverOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Driver work-rest schedules defined by a short and long cycle. A rest needs to + * be taken after the short work duration. The short cycle can be repeated until + * you hit the long work duration, at which point the long rest duration should be + * taken before restarting.

                + */ + inline const WaypointOptimizationRestCycles& GetRestCycles() const{ return m_restCycles; } + inline bool RestCyclesHasBeenSet() const { return m_restCyclesHasBeenSet; } + inline void SetRestCycles(const WaypointOptimizationRestCycles& value) { m_restCyclesHasBeenSet = true; m_restCycles = value; } + inline void SetRestCycles(WaypointOptimizationRestCycles&& value) { m_restCyclesHasBeenSet = true; m_restCycles = std::move(value); } + inline WaypointOptimizationDriverOptions& WithRestCycles(const WaypointOptimizationRestCycles& value) { SetRestCycles(value); return *this;} + inline WaypointOptimizationDriverOptions& WithRestCycles(WaypointOptimizationRestCycles&& value) { SetRestCycles(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Pre defined rest profiles for a driver schedule. The only currently supported + * profile is EU.

                + */ + inline const WaypointOptimizationRestProfile& GetRestProfile() const{ return m_restProfile; } + inline bool RestProfileHasBeenSet() const { return m_restProfileHasBeenSet; } + inline void SetRestProfile(const WaypointOptimizationRestProfile& value) { m_restProfileHasBeenSet = true; m_restProfile = value; } + inline void SetRestProfile(WaypointOptimizationRestProfile&& value) { m_restProfileHasBeenSet = true; m_restProfile = std::move(value); } + inline WaypointOptimizationDriverOptions& WithRestProfile(const WaypointOptimizationRestProfile& value) { SetRestProfile(value); return *this;} + inline WaypointOptimizationDriverOptions& WithRestProfile(WaypointOptimizationRestProfile&& value) { SetRestProfile(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                If the service time provided at a waypoint/destination should be considered + * as rest or work. This contributes to the total time breakdown returned within + * the response.

                + */ + inline const WaypointOptimizationServiceTimeTreatment& GetTreatServiceTimeAs() const{ return m_treatServiceTimeAs; } + inline bool TreatServiceTimeAsHasBeenSet() const { return m_treatServiceTimeAsHasBeenSet; } + inline void SetTreatServiceTimeAs(const WaypointOptimizationServiceTimeTreatment& value) { m_treatServiceTimeAsHasBeenSet = true; m_treatServiceTimeAs = value; } + inline void SetTreatServiceTimeAs(WaypointOptimizationServiceTimeTreatment&& value) { m_treatServiceTimeAsHasBeenSet = true; m_treatServiceTimeAs = std::move(value); } + inline WaypointOptimizationDriverOptions& WithTreatServiceTimeAs(const WaypointOptimizationServiceTimeTreatment& value) { SetTreatServiceTimeAs(value); return *this;} + inline WaypointOptimizationDriverOptions& WithTreatServiceTimeAs(WaypointOptimizationServiceTimeTreatment&& value) { SetTreatServiceTimeAs(std::move(value)); return *this;} + ///@} + private: + + WaypointOptimizationRestCycles m_restCycles; + bool m_restCyclesHasBeenSet = false; + + WaypointOptimizationRestProfile m_restProfile; + bool m_restProfileHasBeenSet = false; + + WaypointOptimizationServiceTimeTreatment m_treatServiceTimeAs; + bool m_treatServiceTimeAsHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationExclusionOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationExclusionOptions.h new file mode 100644 index 00000000000..413c5cde048 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationExclusionOptions.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Exclusion options.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationExclusionOptions + { + public: + AWS_GEOROUTES_API WaypointOptimizationExclusionOptions(); + AWS_GEOROUTES_API WaypointOptimizationExclusionOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationExclusionOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                List of countries to be avoided defined by two-letter or three-letter country + * codes.

                + */ + inline const Aws::Vector& GetCountries() const{ return m_countries; } + inline bool CountriesHasBeenSet() const { return m_countriesHasBeenSet; } + inline void SetCountries(const Aws::Vector& value) { m_countriesHasBeenSet = true; m_countries = value; } + inline void SetCountries(Aws::Vector&& value) { m_countriesHasBeenSet = true; m_countries = std::move(value); } + inline WaypointOptimizationExclusionOptions& WithCountries(const Aws::Vector& value) { SetCountries(value); return *this;} + inline WaypointOptimizationExclusionOptions& WithCountries(Aws::Vector&& value) { SetCountries(std::move(value)); return *this;} + inline WaypointOptimizationExclusionOptions& AddCountries(const Aws::String& value) { m_countriesHasBeenSet = true; m_countries.push_back(value); return *this; } + inline WaypointOptimizationExclusionOptions& AddCountries(Aws::String&& value) { m_countriesHasBeenSet = true; m_countries.push_back(std::move(value)); return *this; } + inline WaypointOptimizationExclusionOptions& AddCountries(const char* value) { m_countriesHasBeenSet = true; m_countries.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_countries; + bool m_countriesHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationFailedConstraint.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationFailedConstraint.h new file mode 100644 index 00000000000..4b9b2c85bf4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationFailedConstraint.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The failed constraint.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationFailedConstraint + { + public: + AWS_GEOROUTES_API WaypointOptimizationFailedConstraint(); + AWS_GEOROUTES_API WaypointOptimizationFailedConstraint(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationFailedConstraint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The failed constraint.

                + */ + inline const WaypointOptimizationConstraint& GetConstraint() const{ return m_constraint; } + inline bool ConstraintHasBeenSet() const { return m_constraintHasBeenSet; } + inline void SetConstraint(const WaypointOptimizationConstraint& value) { m_constraintHasBeenSet = true; m_constraint = value; } + inline void SetConstraint(WaypointOptimizationConstraint&& value) { m_constraintHasBeenSet = true; m_constraint = std::move(value); } + inline WaypointOptimizationFailedConstraint& WithConstraint(const WaypointOptimizationConstraint& value) { SetConstraint(value); return *this;} + inline WaypointOptimizationFailedConstraint& WithConstraint(WaypointOptimizationConstraint&& value) { SetConstraint(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Reason for the failed constraint.

                + */ + inline const Aws::String& GetReason() const{ return m_reason; } + inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } + inline void SetReason(const Aws::String& value) { m_reasonHasBeenSet = true; m_reason = value; } + inline void SetReason(Aws::String&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } + inline void SetReason(const char* value) { m_reasonHasBeenSet = true; m_reason.assign(value); } + inline WaypointOptimizationFailedConstraint& WithReason(const Aws::String& value) { SetReason(value); return *this;} + inline WaypointOptimizationFailedConstraint& WithReason(Aws::String&& value) { SetReason(std::move(value)); return *this;} + inline WaypointOptimizationFailedConstraint& WithReason(const char* value) { SetReason(value); return *this;} + ///@} + private: + + WaypointOptimizationConstraint m_constraint; + bool m_constraintHasBeenSet = false; + + Aws::String m_reason; + bool m_reasonHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationHazardousCargoType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationHazardousCargoType.h new file mode 100644 index 00000000000..420f680b095 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationHazardousCargoType.h @@ -0,0 +1,40 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class WaypointOptimizationHazardousCargoType + { + NOT_SET, + Combustible, + Corrosive, + Explosive, + Flammable, + Gas, + HarmfulToWater, + Organic, + Other, + Poison, + PoisonousInhalation, + Radioactive + }; + +namespace WaypointOptimizationHazardousCargoTypeMapper +{ +AWS_GEOROUTES_API WaypointOptimizationHazardousCargoType GetWaypointOptimizationHazardousCargoTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForWaypointOptimizationHazardousCargoType(WaypointOptimizationHazardousCargoType value); +} // namespace WaypointOptimizationHazardousCargoTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationImpedingWaypoint.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationImpedingWaypoint.h new file mode 100644 index 00000000000..df2a3656cc4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationImpedingWaypoint.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The impeding waypoint.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationImpedingWaypoint + { + public: + AWS_GEOROUTES_API WaypointOptimizationImpedingWaypoint(); + AWS_GEOROUTES_API WaypointOptimizationImpedingWaypoint(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationImpedingWaypoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Failed constraints for an impeding waypoint.

                + */ + inline const Aws::Vector& GetFailedConstraints() const{ return m_failedConstraints; } + inline bool FailedConstraintsHasBeenSet() const { return m_failedConstraintsHasBeenSet; } + inline void SetFailedConstraints(const Aws::Vector& value) { m_failedConstraintsHasBeenSet = true; m_failedConstraints = value; } + inline void SetFailedConstraints(Aws::Vector&& value) { m_failedConstraintsHasBeenSet = true; m_failedConstraints = std::move(value); } + inline WaypointOptimizationImpedingWaypoint& WithFailedConstraints(const Aws::Vector& value) { SetFailedConstraints(value); return *this;} + inline WaypointOptimizationImpedingWaypoint& WithFailedConstraints(Aws::Vector&& value) { SetFailedConstraints(std::move(value)); return *this;} + inline WaypointOptimizationImpedingWaypoint& AddFailedConstraints(const WaypointOptimizationFailedConstraint& value) { m_failedConstraintsHasBeenSet = true; m_failedConstraints.push_back(value); return *this; } + inline WaypointOptimizationImpedingWaypoint& AddFailedConstraints(WaypointOptimizationFailedConstraint&& value) { m_failedConstraintsHasBeenSet = true; m_failedConstraints.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The waypoint Id.

                + */ + 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 WaypointOptimizationImpedingWaypoint& WithId(const Aws::String& value) { SetId(value); return *this;} + inline WaypointOptimizationImpedingWaypoint& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline WaypointOptimizationImpedingWaypoint& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline WaypointOptimizationImpedingWaypoint& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline WaypointOptimizationImpedingWaypoint& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline WaypointOptimizationImpedingWaypoint& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + private: + + Aws::Vector m_failedConstraints; + bool m_failedConstraintsHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationOptimizedWaypoint.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationOptimizedWaypoint.h new file mode 100644 index 00000000000..608c77f2db5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationOptimizedWaypoint.h @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                The optimized waypoint.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationOptimizedWaypoint + { + public: + AWS_GEOROUTES_API WaypointOptimizationOptimizedWaypoint(); + AWS_GEOROUTES_API WaypointOptimizationOptimizedWaypoint(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationOptimizedWaypoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Estimated time of arrival at the destination.

                Time + * format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                + */ + inline const Aws::String& GetArrivalTime() const{ return m_arrivalTime; } + inline bool ArrivalTimeHasBeenSet() const { return m_arrivalTimeHasBeenSet; } + inline void SetArrivalTime(const Aws::String& value) { m_arrivalTimeHasBeenSet = true; m_arrivalTime = value; } + inline void SetArrivalTime(Aws::String&& value) { m_arrivalTimeHasBeenSet = true; m_arrivalTime = std::move(value); } + inline void SetArrivalTime(const char* value) { m_arrivalTimeHasBeenSet = true; m_arrivalTime.assign(value); } + inline WaypointOptimizationOptimizedWaypoint& WithArrivalTime(const Aws::String& value) { SetArrivalTime(value); return *this;} + inline WaypointOptimizationOptimizedWaypoint& WithArrivalTime(Aws::String&& value) { SetArrivalTime(std::move(value)); return *this;} + inline WaypointOptimizationOptimizedWaypoint& WithArrivalTime(const char* value) { SetArrivalTime(value); return *this;} + ///@} + + ///@{ + /** + *

                Estimated time of departure from thr origin.

                Time + * format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm + *

                Examples:

                2020-04-22T17:57:24Z

                + * 2020-04-22T17:57:24+02:00

                + */ + inline const Aws::String& GetDepartureTime() const{ return m_departureTime; } + inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; } + inline void SetDepartureTime(const Aws::String& value) { m_departureTimeHasBeenSet = true; m_departureTime = value; } + inline void SetDepartureTime(Aws::String&& value) { m_departureTimeHasBeenSet = true; m_departureTime = std::move(value); } + inline void SetDepartureTime(const char* value) { m_departureTimeHasBeenSet = true; m_departureTime.assign(value); } + inline WaypointOptimizationOptimizedWaypoint& WithDepartureTime(const Aws::String& value) { SetDepartureTime(value); return *this;} + inline WaypointOptimizationOptimizedWaypoint& WithDepartureTime(Aws::String&& value) { SetDepartureTime(std::move(value)); return *this;} + inline WaypointOptimizationOptimizedWaypoint& WithDepartureTime(const char* value) { SetDepartureTime(value); return *this;} + ///@} + + ///@{ + /** + *

                The waypoint Id.

                + */ + 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 WaypointOptimizationOptimizedWaypoint& WithId(const Aws::String& value) { SetId(value); return *this;} + inline WaypointOptimizationOptimizedWaypoint& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline WaypointOptimizationOptimizedWaypoint& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline WaypointOptimizationOptimizedWaypoint& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline WaypointOptimizationOptimizedWaypoint& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline WaypointOptimizationOptimizedWaypoint& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + private: + + Aws::String m_arrivalTime; + bool m_arrivalTimeHasBeenSet = false; + + Aws::String m_departureTime; + bool m_departureTimeHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationOriginOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationOriginOptions.h new file mode 100644 index 00000000000..004f60e09de --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationOriginOptions.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to the origin.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationOriginOptions + { + public: + AWS_GEOROUTES_API WaypointOptimizationOriginOptions(); + AWS_GEOROUTES_API WaypointOptimizationOriginOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationOriginOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The Origin Id.

                + */ + 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 WaypointOptimizationOriginOptions& WithId(const Aws::String& value) { SetId(value); return *this;} + inline WaypointOptimizationOriginOptions& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline WaypointOptimizationOriginOptions& WithId(const char* value) { SetId(value); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationPedestrianOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationPedestrianOptions.h new file mode 100644 index 00000000000..d30c5e8658c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationPedestrianOptions.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to a pedestrian.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationPedestrianOptions + { + public: + AWS_GEOROUTES_API WaypointOptimizationPedestrianOptions(); + AWS_GEOROUTES_API WaypointOptimizationPedestrianOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationPedestrianOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Walking speed.

                Unit: KilometersPerHour

                + */ + inline double GetSpeed() const{ return m_speed; } + inline bool SpeedHasBeenSet() const { return m_speedHasBeenSet; } + inline void SetSpeed(double value) { m_speedHasBeenSet = true; m_speed = value; } + inline WaypointOptimizationPedestrianOptions& WithSpeed(double value) { SetSpeed(value); return *this;} + ///@} + private: + + double m_speed; + bool m_speedHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationRestCycleDurations.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationRestCycleDurations.h new file mode 100644 index 00000000000..4f21878c52d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationRestCycleDurations.h @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Driver work-rest schedules defined by a short and long cycle. A rest needs to + * be taken after the short work duration. The short cycle can be repeated until + * you hit the long work duration, at which point the long rest duration should be + * taken before restarting.

                Unit: seconds + *

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationRestCycleDurations + { + public: + AWS_GEOROUTES_API WaypointOptimizationRestCycleDurations(); + AWS_GEOROUTES_API WaypointOptimizationRestCycleDurations(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationRestCycleDurations& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Resting phase of the cycle.

                Unit: seconds

                + */ + inline long long GetRestDuration() const{ return m_restDuration; } + inline bool RestDurationHasBeenSet() const { return m_restDurationHasBeenSet; } + inline void SetRestDuration(long long value) { m_restDurationHasBeenSet = true; m_restDuration = value; } + inline WaypointOptimizationRestCycleDurations& WithRestDuration(long long value) { SetRestDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Working phase of the cycle.

                Unit: seconds

                + */ + inline long long GetWorkDuration() const{ return m_workDuration; } + inline bool WorkDurationHasBeenSet() const { return m_workDurationHasBeenSet; } + inline void SetWorkDuration(long long value) { m_workDurationHasBeenSet = true; m_workDuration = value; } + inline WaypointOptimizationRestCycleDurations& WithWorkDuration(long long value) { SetWorkDuration(value); return *this;} + ///@} + private: + + long long m_restDuration; + bool m_restDurationHasBeenSet = false; + + long long m_workDuration; + bool m_workDurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationRestCycles.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationRestCycles.h new file mode 100644 index 00000000000..1fe3d87e0c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationRestCycles.h @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Resting phase of the cycle.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationRestCycles + { + public: + AWS_GEOROUTES_API WaypointOptimizationRestCycles(); + AWS_GEOROUTES_API WaypointOptimizationRestCycles(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationRestCycles& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Long cycle for a driver work-rest schedule.

                + */ + inline const WaypointOptimizationRestCycleDurations& GetLongCycle() const{ return m_longCycle; } + inline bool LongCycleHasBeenSet() const { return m_longCycleHasBeenSet; } + inline void SetLongCycle(const WaypointOptimizationRestCycleDurations& value) { m_longCycleHasBeenSet = true; m_longCycle = value; } + inline void SetLongCycle(WaypointOptimizationRestCycleDurations&& value) { m_longCycleHasBeenSet = true; m_longCycle = std::move(value); } + inline WaypointOptimizationRestCycles& WithLongCycle(const WaypointOptimizationRestCycleDurations& value) { SetLongCycle(value); return *this;} + inline WaypointOptimizationRestCycles& WithLongCycle(WaypointOptimizationRestCycleDurations&& value) { SetLongCycle(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Short cycle for a driver work-rest schedule

                + */ + inline const WaypointOptimizationRestCycleDurations& GetShortCycle() const{ return m_shortCycle; } + inline bool ShortCycleHasBeenSet() const { return m_shortCycleHasBeenSet; } + inline void SetShortCycle(const WaypointOptimizationRestCycleDurations& value) { m_shortCycleHasBeenSet = true; m_shortCycle = value; } + inline void SetShortCycle(WaypointOptimizationRestCycleDurations&& value) { m_shortCycleHasBeenSet = true; m_shortCycle = std::move(value); } + inline WaypointOptimizationRestCycles& WithShortCycle(const WaypointOptimizationRestCycleDurations& value) { SetShortCycle(value); return *this;} + inline WaypointOptimizationRestCycles& WithShortCycle(WaypointOptimizationRestCycleDurations&& value) { SetShortCycle(std::move(value)); return *this;} + ///@} + private: + + WaypointOptimizationRestCycleDurations m_longCycle; + bool m_longCycleHasBeenSet = false; + + WaypointOptimizationRestCycleDurations m_shortCycle; + bool m_shortCycleHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationRestProfile.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationRestProfile.h new file mode 100644 index 00000000000..fd42b79087e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationRestProfile.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Pre defined rest profiles for a driver schedule. The only currently supported + * profile is EU.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationRestProfile + { + public: + AWS_GEOROUTES_API WaypointOptimizationRestProfile(); + AWS_GEOROUTES_API WaypointOptimizationRestProfile(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationRestProfile& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Pre defined rest profiles for a driver schedule. The only currently supported + * profile is EU.

                + */ + inline const Aws::String& GetProfile() const{ return m_profile; } + inline bool ProfileHasBeenSet() const { return m_profileHasBeenSet; } + inline void SetProfile(const Aws::String& value) { m_profileHasBeenSet = true; m_profile = value; } + inline void SetProfile(Aws::String&& value) { m_profileHasBeenSet = true; m_profile = std::move(value); } + inline void SetProfile(const char* value) { m_profileHasBeenSet = true; m_profile.assign(value); } + inline WaypointOptimizationRestProfile& WithProfile(const Aws::String& value) { SetProfile(value); return *this;} + inline WaypointOptimizationRestProfile& WithProfile(Aws::String&& value) { SetProfile(std::move(value)); return *this;} + inline WaypointOptimizationRestProfile& WithProfile(const char* value) { SetProfile(value); return *this;} + ///@} + private: + + Aws::String m_profile; + bool m_profileHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationSequencingObjective.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationSequencingObjective.h new file mode 100644 index 00000000000..e7222d32551 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationSequencingObjective.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class WaypointOptimizationSequencingObjective + { + NOT_SET, + FastestRoute, + ShortestRoute + }; + +namespace WaypointOptimizationSequencingObjectiveMapper +{ +AWS_GEOROUTES_API WaypointOptimizationSequencingObjective GetWaypointOptimizationSequencingObjectiveForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForWaypointOptimizationSequencingObjective(WaypointOptimizationSequencingObjective value); +} // namespace WaypointOptimizationSequencingObjectiveMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationServiceTimeTreatment.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationServiceTimeTreatment.h new file mode 100644 index 00000000000..6b1381067a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationServiceTimeTreatment.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class WaypointOptimizationServiceTimeTreatment + { + NOT_SET, + Rest, + Work + }; + +namespace WaypointOptimizationServiceTimeTreatmentMapper +{ +AWS_GEOROUTES_API WaypointOptimizationServiceTimeTreatment GetWaypointOptimizationServiceTimeTreatmentForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForWaypointOptimizationServiceTimeTreatment(WaypointOptimizationServiceTimeTreatment value); +} // namespace WaypointOptimizationServiceTimeTreatmentMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationSideOfStreetOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationSideOfStreetOptions.h new file mode 100644 index 00000000000..a1d68bb2be5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationSideOfStreetOptions.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options to configure matching the provided position to a side of the + * street.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationSideOfStreetOptions + { + public: + AWS_GEOROUTES_API WaypointOptimizationSideOfStreetOptions(); + AWS_GEOROUTES_API WaypointOptimizationSideOfStreetOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationSideOfStreetOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline WaypointOptimizationSideOfStreetOptions& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline WaypointOptimizationSideOfStreetOptions& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline WaypointOptimizationSideOfStreetOptions& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Strategy that defines when the side of street position should be used. + * AnyStreet will always use the provided position.

                Default Value: + * DividedStreetOnly

                + */ + inline const SideOfStreetMatchingStrategy& GetUseWith() const{ return m_useWith; } + inline bool UseWithHasBeenSet() const { return m_useWithHasBeenSet; } + inline void SetUseWith(const SideOfStreetMatchingStrategy& value) { m_useWithHasBeenSet = true; m_useWith = value; } + inline void SetUseWith(SideOfStreetMatchingStrategy&& value) { m_useWithHasBeenSet = true; m_useWith = std::move(value); } + inline WaypointOptimizationSideOfStreetOptions& WithUseWith(const SideOfStreetMatchingStrategy& value) { SetUseWith(value); return *this;} + inline WaypointOptimizationSideOfStreetOptions& WithUseWith(SideOfStreetMatchingStrategy&& value) { SetUseWith(std::move(value)); return *this;} + ///@} + private: + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + SideOfStreetMatchingStrategy m_useWith; + bool m_useWithHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTimeBreakdown.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTimeBreakdown.h new file mode 100644 index 00000000000..3fbd6c850b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTimeBreakdown.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Time breakdown for the sequence.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationTimeBreakdown + { + public: + AWS_GEOROUTES_API WaypointOptimizationTimeBreakdown(); + AWS_GEOROUTES_API WaypointOptimizationTimeBreakdown(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationTimeBreakdown& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Resting phase of the cycle.

                Unit: seconds

                + */ + inline long long GetRestDuration() const{ return m_restDuration; } + inline bool RestDurationHasBeenSet() const { return m_restDurationHasBeenSet; } + inline void SetRestDuration(long long value) { m_restDurationHasBeenSet = true; m_restDuration = value; } + inline WaypointOptimizationTimeBreakdown& WithRestDuration(long long value) { SetRestDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Service time spent at the destination. At an appointment, the service time + * should be the appointment duration.

                Unit: seconds + *

                + */ + inline long long GetServiceDuration() const{ return m_serviceDuration; } + inline bool ServiceDurationHasBeenSet() const { return m_serviceDurationHasBeenSet; } + inline void SetServiceDuration(long long value) { m_serviceDurationHasBeenSet = true; m_serviceDuration = value; } + inline WaypointOptimizationTimeBreakdown& WithServiceDuration(long long value) { SetServiceDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Traveling phase of the cycle.

                Unit: seconds

                + */ + inline long long GetTravelDuration() const{ return m_travelDuration; } + inline bool TravelDurationHasBeenSet() const { return m_travelDurationHasBeenSet; } + inline void SetTravelDuration(long long value) { m_travelDurationHasBeenSet = true; m_travelDuration = value; } + inline WaypointOptimizationTimeBreakdown& WithTravelDuration(long long value) { SetTravelDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Waiting phase of the cycle.

                Unit: seconds

                + */ + inline long long GetWaitDuration() const{ return m_waitDuration; } + inline bool WaitDurationHasBeenSet() const { return m_waitDurationHasBeenSet; } + inline void SetWaitDuration(long long value) { m_waitDurationHasBeenSet = true; m_waitDuration = value; } + inline WaypointOptimizationTimeBreakdown& WithWaitDuration(long long value) { SetWaitDuration(value); return *this;} + ///@} + private: + + long long m_restDuration; + bool m_restDurationHasBeenSet = false; + + long long m_serviceDuration; + bool m_serviceDurationHasBeenSet = false; + + long long m_travelDuration; + bool m_travelDurationHasBeenSet = false; + + long long m_waitDuration; + bool m_waitDurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTrafficOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTrafficOptions.h new file mode 100644 index 00000000000..d9ad73075e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTrafficOptions.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Options related to traffic.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationTrafficOptions + { + public: + AWS_GEOROUTES_API WaypointOptimizationTrafficOptions(); + AWS_GEOROUTES_API WaypointOptimizationTrafficOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationTrafficOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Determines if traffic should be used or ignored while calculating the + * route.

                Default Value: UseTrafficData

                + */ + inline const TrafficUsage& GetUsage() const{ return m_usage; } + inline bool UsageHasBeenSet() const { return m_usageHasBeenSet; } + inline void SetUsage(const TrafficUsage& value) { m_usageHasBeenSet = true; m_usage = value; } + inline void SetUsage(TrafficUsage&& value) { m_usageHasBeenSet = true; m_usage = std::move(value); } + inline WaypointOptimizationTrafficOptions& WithUsage(const TrafficUsage& value) { SetUsage(value); return *this;} + inline WaypointOptimizationTrafficOptions& WithUsage(TrafficUsage&& value) { SetUsage(std::move(value)); return *this;} + ///@} + private: + + TrafficUsage m_usage; + bool m_usageHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTrailerOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTrailerOptions.h new file mode 100644 index 00000000000..283d3ffd720 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTrailerOptions.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Trailer options corresponding to the vehicle.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationTrailerOptions + { + public: + AWS_GEOROUTES_API WaypointOptimizationTrailerOptions(); + AWS_GEOROUTES_API WaypointOptimizationTrailerOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationTrailerOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Number of trailers attached to the vehicle.

                Default Value: + * 0

                + */ + inline int GetTrailerCount() const{ return m_trailerCount; } + inline bool TrailerCountHasBeenSet() const { return m_trailerCountHasBeenSet; } + inline void SetTrailerCount(int value) { m_trailerCountHasBeenSet = true; m_trailerCount = value; } + inline WaypointOptimizationTrailerOptions& WithTrailerCount(int value) { SetTrailerCount(value); return *this;} + ///@} + private: + + int m_trailerCount; + bool m_trailerCountHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTravelMode.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTravelMode.h new file mode 100644 index 00000000000..d8503b2b133 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTravelMode.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class WaypointOptimizationTravelMode + { + NOT_SET, + Car, + Pedestrian, + Scooter, + Truck + }; + +namespace WaypointOptimizationTravelModeMapper +{ +AWS_GEOROUTES_API WaypointOptimizationTravelMode GetWaypointOptimizationTravelModeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForWaypointOptimizationTravelMode(WaypointOptimizationTravelMode value); +} // namespace WaypointOptimizationTravelModeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTravelModeOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTravelModeOptions.h new file mode 100644 index 00000000000..c6dfae29810 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTravelModeOptions.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode related options for the provided travel mode.

                See + * Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationTravelModeOptions + { + public: + AWS_GEOROUTES_API WaypointOptimizationTravelModeOptions(); + AWS_GEOROUTES_API WaypointOptimizationTravelModeOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationTravelModeOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Pedestrian"

                + */ + inline const WaypointOptimizationPedestrianOptions& GetPedestrian() const{ return m_pedestrian; } + inline bool PedestrianHasBeenSet() const { return m_pedestrianHasBeenSet; } + inline void SetPedestrian(const WaypointOptimizationPedestrianOptions& value) { m_pedestrianHasBeenSet = true; m_pedestrian = value; } + inline void SetPedestrian(WaypointOptimizationPedestrianOptions&& value) { m_pedestrianHasBeenSet = true; m_pedestrian = std::move(value); } + inline WaypointOptimizationTravelModeOptions& WithPedestrian(const WaypointOptimizationPedestrianOptions& value) { SetPedestrian(value); return *this;} + inline WaypointOptimizationTravelModeOptions& WithPedestrian(WaypointOptimizationPedestrianOptions&& value) { SetPedestrian(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Travel mode options when the provided travel mode is "Truck"

                + */ + inline const WaypointOptimizationTruckOptions& GetTruck() const{ return m_truck; } + inline bool TruckHasBeenSet() const { return m_truckHasBeenSet; } + inline void SetTruck(const WaypointOptimizationTruckOptions& value) { m_truckHasBeenSet = true; m_truck = value; } + inline void SetTruck(WaypointOptimizationTruckOptions&& value) { m_truckHasBeenSet = true; m_truck = std::move(value); } + inline WaypointOptimizationTravelModeOptions& WithTruck(const WaypointOptimizationTruckOptions& value) { SetTruck(value); return *this;} + inline WaypointOptimizationTravelModeOptions& WithTruck(WaypointOptimizationTruckOptions&& value) { SetTruck(std::move(value)); return *this;} + ///@} + private: + + WaypointOptimizationPedestrianOptions m_pedestrian; + bool m_pedestrianHasBeenSet = false; + + WaypointOptimizationTruckOptions m_truck; + bool m_truckHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTruckOptions.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTruckOptions.h new file mode 100644 index 00000000000..91574a85979 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTruckOptions.h @@ -0,0 +1,192 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Travel mode options when the provided travel mode is "Truck"

                See + * Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationTruckOptions + { + public: + AWS_GEOROUTES_API WaypointOptimizationTruckOptions(); + AWS_GEOROUTES_API WaypointOptimizationTruckOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationTruckOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Gross weight of the vehicle including trailers, and goods at capacity.

                + *

                Unit: Kilograms

                + */ + inline long long GetGrossWeight() const{ return m_grossWeight; } + inline bool GrossWeightHasBeenSet() const { return m_grossWeightHasBeenSet; } + inline void SetGrossWeight(long long value) { m_grossWeightHasBeenSet = true; m_grossWeight = value; } + inline WaypointOptimizationTruckOptions& WithGrossWeight(long long value) { SetGrossWeight(value); return *this;} + ///@} + + ///@{ + /** + *

                List of Hazardous cargo contained in the vehicle.

                + */ + inline const Aws::Vector& GetHazardousCargos() const{ return m_hazardousCargos; } + inline bool HazardousCargosHasBeenSet() const { return m_hazardousCargosHasBeenSet; } + inline void SetHazardousCargos(const Aws::Vector& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = value; } + inline void SetHazardousCargos(Aws::Vector&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos = std::move(value); } + inline WaypointOptimizationTruckOptions& WithHazardousCargos(const Aws::Vector& value) { SetHazardousCargos(value); return *this;} + inline WaypointOptimizationTruckOptions& WithHazardousCargos(Aws::Vector&& value) { SetHazardousCargos(std::move(value)); return *this;} + inline WaypointOptimizationTruckOptions& AddHazardousCargos(const WaypointOptimizationHazardousCargoType& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(value); return *this; } + inline WaypointOptimizationTruckOptions& AddHazardousCargos(WaypointOptimizationHazardousCargoType&& value) { m_hazardousCargosHasBeenSet = true; m_hazardousCargos.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                Height of the vehicle.

                Unit: centimeters

                + */ + inline long long GetHeight() const{ return m_height; } + inline bool HeightHasBeenSet() const { return m_heightHasBeenSet; } + inline void SetHeight(long long value) { m_heightHasBeenSet = true; m_height = value; } + inline WaypointOptimizationTruckOptions& WithHeight(long long value) { SetHeight(value); return *this;} + ///@} + + ///@{ + /** + *

                Length of the vehicle.

                Unit: centimeters

                + */ + inline long long GetLength() const{ return m_length; } + inline bool LengthHasBeenSet() const { return m_lengthHasBeenSet; } + inline void SetLength(long long value) { m_lengthHasBeenSet = true; m_length = value; } + inline WaypointOptimizationTruckOptions& WithLength(long long value) { SetLength(value); return *this;} + ///@} + + ///@{ + /** + *

                Trailer options corresponding to the vehicle.

                + */ + inline const WaypointOptimizationTrailerOptions& GetTrailer() const{ return m_trailer; } + inline bool TrailerHasBeenSet() const { return m_trailerHasBeenSet; } + inline void SetTrailer(const WaypointOptimizationTrailerOptions& value) { m_trailerHasBeenSet = true; m_trailer = value; } + inline void SetTrailer(WaypointOptimizationTrailerOptions&& value) { m_trailerHasBeenSet = true; m_trailer = std::move(value); } + inline WaypointOptimizationTruckOptions& WithTrailer(const WaypointOptimizationTrailerOptions& value) { SetTrailer(value); return *this;} + inline WaypointOptimizationTruckOptions& WithTrailer(WaypointOptimizationTrailerOptions&& value) { SetTrailer(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Type of the truck.

                + */ + inline const WaypointOptimizationTruckType& GetTruckType() const{ return m_truckType; } + inline bool TruckTypeHasBeenSet() const { return m_truckTypeHasBeenSet; } + inline void SetTruckType(const WaypointOptimizationTruckType& value) { m_truckTypeHasBeenSet = true; m_truckType = value; } + inline void SetTruckType(WaypointOptimizationTruckType&& value) { m_truckTypeHasBeenSet = true; m_truckType = std::move(value); } + inline WaypointOptimizationTruckOptions& WithTruckType(const WaypointOptimizationTruckType& value) { SetTruckType(value); return *this;} + inline WaypointOptimizationTruckOptions& WithTruckType(WaypointOptimizationTruckType&& value) { SetTruckType(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The tunnel restriction code.

                Tunnel categories in this list indicate + * the restrictions which apply to certain tunnels in Great Britain. They relate to + * the types of dangerous goods that can be transported through them.

                • + *

                  Tunnel Category B

                  • Risk Level: Limited + * risk

                  • Restrictions: Few restrictions

                  + *
                • Tunnel Category C

                  • Risk Level: + * Medium risk

                  • Restrictions: Some restrictions

                  • + *
                • Tunnel Category D

                  • Risk + * Level: High risk

                  • Restrictions: Many restrictions + * occur

                • Tunnel Category E

                  • + * Risk Level: Very high risk

                  • Restrictions: + * Restricted tunnel

                + */ + inline const Aws::String& GetTunnelRestrictionCode() const{ return m_tunnelRestrictionCode; } + inline bool TunnelRestrictionCodeHasBeenSet() const { return m_tunnelRestrictionCodeHasBeenSet; } + inline void SetTunnelRestrictionCode(const Aws::String& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = value; } + inline void SetTunnelRestrictionCode(Aws::String&& value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode = std::move(value); } + inline void SetTunnelRestrictionCode(const char* value) { m_tunnelRestrictionCodeHasBeenSet = true; m_tunnelRestrictionCode.assign(value); } + inline WaypointOptimizationTruckOptions& WithTunnelRestrictionCode(const Aws::String& value) { SetTunnelRestrictionCode(value); return *this;} + inline WaypointOptimizationTruckOptions& WithTunnelRestrictionCode(Aws::String&& value) { SetTunnelRestrictionCode(std::move(value)); return *this;} + inline WaypointOptimizationTruckOptions& WithTunnelRestrictionCode(const char* value) { SetTunnelRestrictionCode(value); return *this;} + ///@} + + ///@{ + /** + *

                Heaviest weight per axle irrespective of the axle type or the axle group. + * Meant for usage in countries where the differences in axle types or axle groups + * are not distinguished.

                Unit: Kilograms

                + */ + inline long long GetWeightPerAxle() const{ return m_weightPerAxle; } + inline bool WeightPerAxleHasBeenSet() const { return m_weightPerAxleHasBeenSet; } + inline void SetWeightPerAxle(long long value) { m_weightPerAxleHasBeenSet = true; m_weightPerAxle = value; } + inline WaypointOptimizationTruckOptions& WithWeightPerAxle(long long value) { SetWeightPerAxle(value); return *this;} + ///@} + + ///@{ + /** + *

                Width of the vehicle.

                Unit: centimeters

                + */ + inline long long GetWidth() const{ return m_width; } + inline bool WidthHasBeenSet() const { return m_widthHasBeenSet; } + inline void SetWidth(long long value) { m_widthHasBeenSet = true; m_width = value; } + inline WaypointOptimizationTruckOptions& WithWidth(long long value) { SetWidth(value); return *this;} + ///@} + private: + + long long m_grossWeight; + bool m_grossWeightHasBeenSet = false; + + Aws::Vector m_hazardousCargos; + bool m_hazardousCargosHasBeenSet = false; + + long long m_height; + bool m_heightHasBeenSet = false; + + long long m_length; + bool m_lengthHasBeenSet = false; + + WaypointOptimizationTrailerOptions m_trailer; + bool m_trailerHasBeenSet = false; + + WaypointOptimizationTruckType m_truckType; + bool m_truckTypeHasBeenSet = false; + + Aws::String m_tunnelRestrictionCode; + bool m_tunnelRestrictionCodeHasBeenSet = false; + + long long m_weightPerAxle; + bool m_weightPerAxleHasBeenSet = false; + + long long m_width; + bool m_widthHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTruckType.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTruckType.h new file mode 100644 index 00000000000..9760b094a9c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationTruckType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + enum class WaypointOptimizationTruckType + { + NOT_SET, + StraightTruck, + Tractor + }; + +namespace WaypointOptimizationTruckTypeMapper +{ +AWS_GEOROUTES_API WaypointOptimizationTruckType GetWaypointOptimizationTruckTypeForName(const Aws::String& name); + +AWS_GEOROUTES_API Aws::String GetNameForWaypointOptimizationTruckType(WaypointOptimizationTruckType value); +} // namespace WaypointOptimizationTruckTypeMapper +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationWaypoint.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationWaypoint.h new file mode 100644 index 00000000000..bfb1a895884 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WaypointOptimizationWaypoint.h @@ -0,0 +1,172 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Waypoint between the Origin and Destination.

                See Also:

                AWS + * API Reference

                + */ + class WaypointOptimizationWaypoint + { + public: + AWS_GEOROUTES_API WaypointOptimizationWaypoint(); + AWS_GEOROUTES_API WaypointOptimizationWaypoint(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WaypointOptimizationWaypoint& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Access hours corresponding to when a waypoint can be visited.

                + */ + inline const WaypointOptimizationAccessHours& GetAccessHours() const{ return m_accessHours; } + inline bool AccessHoursHasBeenSet() const { return m_accessHoursHasBeenSet; } + inline void SetAccessHours(const WaypointOptimizationAccessHours& value) { m_accessHoursHasBeenSet = true; m_accessHours = value; } + inline void SetAccessHours(WaypointOptimizationAccessHours&& value) { m_accessHoursHasBeenSet = true; m_accessHours = std::move(value); } + inline WaypointOptimizationWaypoint& WithAccessHours(const WaypointOptimizationAccessHours& value) { SetAccessHours(value); return *this;} + inline WaypointOptimizationWaypoint& WithAccessHours(WaypointOptimizationAccessHours&& value) { SetAccessHours(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                Appointment time at the waypoint.

                + */ + inline const Aws::String& GetAppointmentTime() const{ return m_appointmentTime; } + inline bool AppointmentTimeHasBeenSet() const { return m_appointmentTimeHasBeenSet; } + inline void SetAppointmentTime(const Aws::String& value) { m_appointmentTimeHasBeenSet = true; m_appointmentTime = value; } + inline void SetAppointmentTime(Aws::String&& value) { m_appointmentTimeHasBeenSet = true; m_appointmentTime = std::move(value); } + inline void SetAppointmentTime(const char* value) { m_appointmentTimeHasBeenSet = true; m_appointmentTime.assign(value); } + inline WaypointOptimizationWaypoint& WithAppointmentTime(const Aws::String& value) { SetAppointmentTime(value); return *this;} + inline WaypointOptimizationWaypoint& WithAppointmentTime(Aws::String&& value) { SetAppointmentTime(std::move(value)); return *this;} + inline WaypointOptimizationWaypoint& WithAppointmentTime(const char* value) { SetAppointmentTime(value); return *this;} + ///@} + + ///@{ + /** + *

                Constraint defining what waypoints are to be visited after this waypoint.

                + */ + inline const Aws::Vector& GetBefore() const{ return m_before; } + inline bool BeforeHasBeenSet() const { return m_beforeHasBeenSet; } + inline void SetBefore(const Aws::Vector& value) { m_beforeHasBeenSet = true; m_before = value; } + inline void SetBefore(Aws::Vector&& value) { m_beforeHasBeenSet = true; m_before = std::move(value); } + inline WaypointOptimizationWaypoint& WithBefore(const Aws::Vector& value) { SetBefore(value); return *this;} + inline WaypointOptimizationWaypoint& WithBefore(Aws::Vector&& value) { SetBefore(std::move(value)); return *this;} + inline WaypointOptimizationWaypoint& AddBefore(int value) { m_beforeHasBeenSet = true; m_before.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                GPS Heading at the position.

                + */ + inline double GetHeading() const{ return m_heading; } + inline bool HeadingHasBeenSet() const { return m_headingHasBeenSet; } + inline void SetHeading(double value) { m_headingHasBeenSet = true; m_heading = value; } + inline WaypointOptimizationWaypoint& WithHeading(double value) { SetHeading(value); return *this;} + ///@} + + ///@{ + /** + *

                The waypoint Id.

                + */ + 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 WaypointOptimizationWaypoint& WithId(const Aws::String& value) { SetId(value); return *this;} + inline WaypointOptimizationWaypoint& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline WaypointOptimizationWaypoint& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

                Position defined as [longitude, latitude].

                + */ + inline const Aws::Vector& GetPosition() const{ return m_position; } + inline bool PositionHasBeenSet() const { return m_positionHasBeenSet; } + inline void SetPosition(const Aws::Vector& value) { m_positionHasBeenSet = true; m_position = value; } + inline void SetPosition(Aws::Vector&& value) { m_positionHasBeenSet = true; m_position = std::move(value); } + inline WaypointOptimizationWaypoint& WithPosition(const Aws::Vector& value) { SetPosition(value); return *this;} + inline WaypointOptimizationWaypoint& WithPosition(Aws::Vector&& value) { SetPosition(std::move(value)); return *this;} + inline WaypointOptimizationWaypoint& AddPosition(double value) { m_positionHasBeenSet = true; m_position.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                Service time spent at the waypoint. At an appointment, the service time + * should be the appointment duration.

                Unit: seconds + *

                + */ + inline long long GetServiceDuration() const{ return m_serviceDuration; } + inline bool ServiceDurationHasBeenSet() const { return m_serviceDurationHasBeenSet; } + inline void SetServiceDuration(long long value) { m_serviceDurationHasBeenSet = true; m_serviceDuration = value; } + inline WaypointOptimizationWaypoint& WithServiceDuration(long long value) { SetServiceDuration(value); return *this;} + ///@} + + ///@{ + /** + *

                Options to configure matching the provided position to a side of the + * street.

                + */ + inline const WaypointOptimizationSideOfStreetOptions& GetSideOfStreet() const{ return m_sideOfStreet; } + inline bool SideOfStreetHasBeenSet() const { return m_sideOfStreetHasBeenSet; } + inline void SetSideOfStreet(const WaypointOptimizationSideOfStreetOptions& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = value; } + inline void SetSideOfStreet(WaypointOptimizationSideOfStreetOptions&& value) { m_sideOfStreetHasBeenSet = true; m_sideOfStreet = std::move(value); } + inline WaypointOptimizationWaypoint& WithSideOfStreet(const WaypointOptimizationSideOfStreetOptions& value) { SetSideOfStreet(value); return *this;} + inline WaypointOptimizationWaypoint& WithSideOfStreet(WaypointOptimizationSideOfStreetOptions&& value) { SetSideOfStreet(std::move(value)); return *this;} + ///@} + private: + + WaypointOptimizationAccessHours m_accessHours; + bool m_accessHoursHasBeenSet = false; + + Aws::String m_appointmentTime; + bool m_appointmentTimeHasBeenSet = false; + + Aws::Vector m_before; + bool m_beforeHasBeenSet = false; + + double m_heading; + bool m_headingHasBeenSet = false; + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::Vector m_position; + bool m_positionHasBeenSet = false; + + long long m_serviceDuration; + bool m_serviceDurationHasBeenSet = false; + + WaypointOptimizationSideOfStreetOptions m_sideOfStreet; + bool m_sideOfStreetHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WeightPerAxleGroup.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WeightPerAxleGroup.h new file mode 100644 index 00000000000..74478a7924c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/model/WeightPerAxleGroup.h @@ -0,0 +1,112 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace GeoRoutes +{ +namespace Model +{ + + /** + *

                Specifies the total weight for the specified axle group. Meant for usage in + * countries that have different regulations based on the axle group type.

                + * Unit: Kilograms

                See Also:

                AWS + * API Reference

                + */ + class WeightPerAxleGroup + { + public: + AWS_GEOROUTES_API WeightPerAxleGroup(); + AWS_GEOROUTES_API WeightPerAxleGroup(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API WeightPerAxleGroup& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                Weight for single axle group.

                Unit: Kilograms + *

                + */ + inline long long GetSingle() const{ return m_single; } + inline bool SingleHasBeenSet() const { return m_singleHasBeenSet; } + inline void SetSingle(long long value) { m_singleHasBeenSet = true; m_single = value; } + inline WeightPerAxleGroup& WithSingle(long long value) { SetSingle(value); return *this;} + ///@} + + ///@{ + /** + *

                Weight for tandem axle group.

                Unit: Kilograms + *

                + */ + inline long long GetTandem() const{ return m_tandem; } + inline bool TandemHasBeenSet() const { return m_tandemHasBeenSet; } + inline void SetTandem(long long value) { m_tandemHasBeenSet = true; m_tandem = value; } + inline WeightPerAxleGroup& WithTandem(long long value) { SetTandem(value); return *this;} + ///@} + + ///@{ + /** + *

                Weight for triple axle group.

                Unit: Kilograms + *

                + */ + inline long long GetTriple() const{ return m_triple; } + inline bool TripleHasBeenSet() const { return m_tripleHasBeenSet; } + inline void SetTriple(long long value) { m_tripleHasBeenSet = true; m_triple = value; } + inline WeightPerAxleGroup& WithTriple(long long value) { SetTriple(value); return *this;} + ///@} + + ///@{ + /** + *

                Weight for quad axle group.

                Unit: Kilograms

                + */ + inline long long GetQuad() const{ return m_quad; } + inline bool QuadHasBeenSet() const { return m_quadHasBeenSet; } + inline void SetQuad(long long value) { m_quadHasBeenSet = true; m_quad = value; } + inline WeightPerAxleGroup& WithQuad(long long value) { SetQuad(value); return *this;} + ///@} + + ///@{ + /** + *

                Weight for quad quint group.

                Unit: Kilograms

                + */ + inline long long GetQuint() const{ return m_quint; } + inline bool QuintHasBeenSet() const { return m_quintHasBeenSet; } + inline void SetQuint(long long value) { m_quintHasBeenSet = true; m_quint = value; } + inline WeightPerAxleGroup& WithQuint(long long value) { SetQuint(value); return *this;} + ///@} + private: + + long long m_single; + bool m_singleHasBeenSet = false; + + long long m_tandem; + bool m_tandemHasBeenSet = false; + + long long m_triple; + bool m_tripleHasBeenSet = false; + + long long m_quad; + bool m_quadHasBeenSet = false; + + long long m_quint; + bool m_quintHasBeenSet = false; + }; + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesClient.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesClient.cpp new file mode 100644 index 00000000000..20666fa1140 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesClient.cpp @@ -0,0 +1,306 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +using namespace Aws; +using namespace Aws::Auth; +using namespace Aws::Client; +using namespace Aws::GeoRoutes; +using namespace Aws::GeoRoutes::Model; +using namespace Aws::Http; +using namespace Aws::Utils::Json; +using namespace smithy::components::tracing; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +namespace Aws +{ + namespace GeoRoutes + { + const char SERVICE_NAME[] = "geo-routes"; + const char ALLOCATION_TAG[] = "GeoRoutesClient"; + } +} +const char* GeoRoutesClient::GetServiceName() {return SERVICE_NAME;} +const char* GeoRoutesClient::GetAllocationTag() {return ALLOCATION_TAG;} + +GeoRoutesClient::GeoRoutesClient(const GeoRoutes::GeoRoutesClientConfiguration& clientConfiguration, + std::shared_ptr endpointProvider) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoRoutesClient::GeoRoutesClient(const AWSCredentials& credentials, + std::shared_ptr endpointProvider, + const GeoRoutes::GeoRoutesClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoRoutesClient::GeoRoutesClient(const std::shared_ptr& credentialsProvider, + std::shared_ptr endpointProvider, + const GeoRoutes::GeoRoutesClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(endpointProvider ? std::move(endpointProvider) : Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* Legacy constructors due deprecation */ + GeoRoutesClient::GeoRoutesClient(const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoRoutesClient::GeoRoutesClient(const AWSCredentials& credentials, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + Aws::MakeShared(ALLOCATION_TAG, credentials), + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + +GeoRoutesClient::GeoRoutesClient(const std::shared_ptr& credentialsProvider, + const Client::ClientConfiguration& clientConfiguration) : + BASECLASS(clientConfiguration, + Aws::MakeShared(ALLOCATION_TAG, + credentialsProvider, + SERVICE_NAME, + Aws::Region::ComputeSignerRegion(clientConfiguration.region)), + Aws::MakeShared(ALLOCATION_TAG)), + m_clientConfiguration(clientConfiguration), + m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) +{ + init(m_clientConfiguration); +} + + /* End of legacy constructors due deprecation */ +GeoRoutesClient::~GeoRoutesClient() +{ + ShutdownSdkClient(this, -1); +} + +std::shared_ptr& GeoRoutesClient::accessEndpointProvider() +{ + return m_endpointProvider; +} + +void GeoRoutesClient::init(const GeoRoutes::GeoRoutesClientConfiguration& config) +{ + AWSClient::SetServiceClientName("Geo Routes"); + if (!m_clientConfiguration.executor) { + if (!m_clientConfiguration.configFactories.executorCreateFn()) { + AWS_LOGSTREAM_FATAL(ALLOCATION_TAG, "Failed to initialize client: config is missing Executor or executorCreateFn"); + m_isInitialized = false; + return; + } + m_clientConfiguration.executor = m_clientConfiguration.configFactories.executorCreateFn(); + } + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->InitBuiltInParameters(config); +} + +void GeoRoutesClient::OverrideEndpoint(const Aws::String& endpoint) +{ + AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); + m_endpointProvider->OverrideEndpoint(endpoint); +} + +CalculateIsolinesOutcome GeoRoutesClient::CalculateIsolines(const CalculateIsolinesRequest& request) const +{ + AWS_OPERATION_GUARD(CalculateIsolines); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CalculateIsolines, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CalculateIsolines, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CalculateIsolines, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CalculateIsolines", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CalculateIsolinesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CalculateIsolines, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/isolines"); + return CalculateIsolinesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CalculateRouteMatrixOutcome GeoRoutesClient::CalculateRouteMatrix(const CalculateRouteMatrixRequest& request) const +{ + AWS_OPERATION_GUARD(CalculateRouteMatrix); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CalculateRouteMatrix, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CalculateRouteMatrix, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CalculateRouteMatrix, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CalculateRouteMatrix", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CalculateRouteMatrixOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CalculateRouteMatrix, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/route-matrix"); + return CalculateRouteMatrixOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +CalculateRoutesOutcome GeoRoutesClient::CalculateRoutes(const CalculateRoutesRequest& request) const +{ + AWS_OPERATION_GUARD(CalculateRoutes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CalculateRoutes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CalculateRoutes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CalculateRoutes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CalculateRoutes", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CalculateRoutesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CalculateRoutes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/routes"); + return CalculateRoutesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +OptimizeWaypointsOutcome GeoRoutesClient::OptimizeWaypoints(const OptimizeWaypointsRequest& request) const +{ + AWS_OPERATION_GUARD(OptimizeWaypoints); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, OptimizeWaypoints, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, OptimizeWaypoints, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, OptimizeWaypoints, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".OptimizeWaypoints", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> OptimizeWaypointsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, OptimizeWaypoints, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/optimize-waypoints"); + return OptimizeWaypointsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +SnapToRoadsOutcome GeoRoutesClient::SnapToRoads(const SnapToRoadsRequest& request) const +{ + AWS_OPERATION_GUARD(SnapToRoads); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, SnapToRoads, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, SnapToRoads, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, SnapToRoads, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".SnapToRoads", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> SnapToRoadsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, SnapToRoads, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/snap-to-roads"); + return SnapToRoadsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesEndpointProvider.cpp new file mode 100644 index 00000000000..32ea461359a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesEndpointProvider.cpp @@ -0,0 +1,16 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Endpoint +{ +} // namespace Endpoint +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesEndpointRules.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesEndpointRules.cpp new file mode 100644 index 00000000000..5145ea180a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesEndpointRules.cpp @@ -0,0 +1,292 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +namespace Aws +{ +namespace GeoRoutes +{ +const size_t GeoRoutesEndpointRules::RulesBlobStrLen = 6649; +const size_t GeoRoutesEndpointRules::RulesBlobSize = 6650; + +using RulesBlobT = Aws::Array; +static constexpr RulesBlobT RulesBlob = {{ +'{','"','v','e','r','s','i','o','n','"',':','"','1','.','0','"',',','"','p','a','r','a','m','e','t', +'e','r','s','"',':','{','"','U','s','e','D','u','a','l','S','t','a','c','k','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','D','u','a','l','S','t','a','c','k', +'"',',','"','r','e','q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l', +'t','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':', +'"','W','h','e','n',' ','t','r','u','e',',',' ','u','s','e',' ','t','h','e',' ','d','u','a','l','-', +'s','t','a','c','k',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o', +'n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o', +'t',' ','s','u','p','p','o','r','t',' ','d','u','a','l','-','s','t','a','c','k',',',' ','d','i','s', +'p','a','t','c','h','i','n','g',' ','t','h','e',' ','r','e','q','u','e','s','t',' ','M','A','Y',' ', +'r','e','t','u','r','n',' ','a','n',' ','e','r','r','o','r','.','"',',','"','t','y','p','e','"',':', +'"','B','o','o','l','e','a','n','"','}',',','"','U','s','e','F','I','P','S','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','U','s','e','F','I','P','S','"',',','"','r','e', +'q','u','i','r','e','d','"',':','t','r','u','e',',','"','d','e','f','a','u','l','t','"',':','f','a', +'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','W','h','e','n', +' ','t','r','u','e',',',' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t',' ', +'t','o',' ','t','h','e',' ','F','I','P','S','-','c','o','m','p','l','i','a','n','t',' ','r','e','g', +'i','o','n','a','l',' ','e','n','d','p','o','i','n','t','.',' ','I','f',' ','t','h','e',' ','c','o', +'n','f','i','g','u','r','e','d',' ','e','n','d','p','o','i','n','t',' ','d','o','e','s',' ','n','o', +'t',' ','h','a','v','e',' ','a',' ','F','I','P','S',' ','c','o','m','p','l','i','a','n','t',' ','e', +'n','d','p','o','i','n','t',',',' ','d','i','s','p','a','t','c','h','i','n','g',' ','t','h','e',' ', +'r','e','q','u','e','s','t',' ','w','i','l','l',' ','r','e','t','u','r','n',' ','a','n',' ','e','r', +'r','o','r','.','"',',','"','t','y','p','e','"',':','"','B','o','o','l','e','a','n','"','}',',','"', +'E','n','d','p','o','i','n','t','"',':','{','"','b','u','i','l','t','I','n','"',':','"','S','D','K', +':',':','E','n','d','p','o','i','n','t','"',',','"','r','e','q','u','i','r','e','d','"',':','f','a', +'l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i','o','n','"',':','"','O','v','e','r', +'r','i','d','e',' ','t','h','e',' ','e','n','d','p','o','i','n','t',' ','u','s','e','d',' ','t','o', +' ','s','e','n','d',' ','t','h','i','s',' ','r','e','q','u','e','s','t','"',',','"','t','y','p','e', +'"',':','"','S','t','r','i','n','g','"','}',',','"','R','e','g','i','o','n','"',':','{','"','b','u', +'i','l','t','I','n','"',':','"','A','W','S',':',':','R','e','g','i','o','n','"',',','"','r','e','q', +'u','i','r','e','d','"',':','f','a','l','s','e',',','"','d','o','c','u','m','e','n','t','a','t','i', +'o','n','"',':','"','T','h','e',' ','A','W','S',' ','r','e','g','i','o','n',' ','u','s','e','d',' ', +'t','o',' ','d','i','s','p','a','t','c','h',' ','t','h','e',' ','r','e','q','u','e','s','t','.','"', +',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s', +'"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', +'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k', +'"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l', +'i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a', +'c','k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r', +'e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"', +'e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', +'"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':', +'"','E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':', +'{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"', +'e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d', +'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s','S','e','t','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a', +'s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']','}',',','{','"','f', +'n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l','s','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','r','o','u','t','e','s','.','g', +'e','o','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e', +'r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"', +'t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s', +'"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"', +',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"', +'}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p', +'o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','r','o','u', +'t','e','s','.','g','e','o','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n', +'s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"', +':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':', +'"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"', +':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s', +'u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','"',']','}',',','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', +']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',', +'"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t', +'a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','e','n','d','p','o','i','n','t','"', +':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','r','o','u','t','e','s','.','g', +'e','o','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"', +'p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':', +'{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"', +'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n', +'g','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g', +'e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}', +',','"','a','w','s','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', +'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', +'F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','r','o','u','t','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','{','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D', +'n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s', +'"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"', +':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s', +'"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a', +'r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','u','s','-','g', +'o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P', +'S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a', +'n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', +'U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/', +'/','r','o','u','t','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','u','s','-','g', +'o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u', +'f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"', +':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t', +'"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-','u','s','-','g','o','v','"',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',', +'t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a', +'l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u', +'a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','r','o','u','t','e', +'s','.','g','e','o','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','u','s','-','g','o', +'v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t', +'a','c','k','D','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-', +'u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','f','a','l','s','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','r','o','u','t','e','s','.','g','e','o','-','f','i','p','s','.','{','R','e','g','i', +'o','n','}','.','u','s','-','g','o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','#','d','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r','o','p','e','r', +'t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t', +'y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','s','t','r','i','n','g','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','n','a','m','e','"',']','}',',','"','a','w','s','-', +'u','s','-','g','o','v','"',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E', +'q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s', +'e','F','I','P','S','"','}',',','f','a','l','s','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','r','o','u','t','e','s','.','g','e','o','.','{','R','e','g','i','o','n','}','.','u', +'s','-','g','o','v','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u', +'a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','/','v','2','"',',','"','p','r', +'o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}', +'}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', +'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', +'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', +']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':', +'[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a', +'r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i', +'o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"', +']','}',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t', +'A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r', +'t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D', +'u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{', +'"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t', +'"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-','r','o','u', +'t','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f', +'f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e', +'a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i', +'n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P', +'S',' ','a','n','d',' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l', +'e','d',',',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o', +'e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t', +'h','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', +'u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','f','a','l','s','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','f','n', +'"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f', +'"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p', +'p','o','r','t','s','F','I','P','S','"',']','}',',','t','r','u','e',']','}',']',',','"','r','u','l', +'e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n', +'d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g', +'e','o','-','r','o','u','t','e','s','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{', +'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x', +'}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e', +'r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"', +'}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i', +'t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i', +'s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t', +'i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S', +'"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"', +':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','f','a','l', +'s','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s', +'"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l', +'S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':','[', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', +'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', +'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', +'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', +'"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',', +'"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']', +',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s', +':','/','/','g','e','o','-','r','o','u','t','e','s','.','{','R','e','g','i','o','n','}','.','{','P', +'a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D', +'n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u', +'t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t', +' ','s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e', +'"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', +'}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', +'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','g','e','o','-', +'r','o','u','t','e','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', +'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', +'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', +'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e', +'"',':','"','t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"', +':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ', +'M','i','s','s','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',']','}','\0' +}}; + +const char* GeoRoutesEndpointRules::GetRulesBlob() +{ + return RulesBlob.data(); +} + +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesErrorMarshaller.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesErrorMarshaller.cpp new file mode 100644 index 00000000000..4c37841efb7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesErrorMarshaller.cpp @@ -0,0 +1,22 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::GeoRoutes; + +AWSError GeoRoutesErrorMarshaller::FindErrorByName(const char* errorName) const +{ + AWSError error = GeoRoutesErrorMapper::GetErrorForName(errorName); + if(error.GetErrorType() != CoreErrors::UNKNOWN) + { + return error; + } + + return AWSErrorMarshaller::FindErrorByName(errorName); +} \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesErrors.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesErrors.cpp new file mode 100644 index 00000000000..f6b79666dc5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesErrors.cpp @@ -0,0 +1,45 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Client; +using namespace Aws::Utils; +using namespace Aws::GeoRoutes; +using namespace Aws::GeoRoutes::Model; + +namespace Aws +{ +namespace GeoRoutes +{ +template<> AWS_GEOROUTES_API ValidationException GeoRoutesError::GetModeledError() +{ + assert(this->GetErrorType() == GeoRoutesErrors::VALIDATION); + return ValidationException(this->GetJsonPayload().View()); +} + +namespace GeoRoutesErrorMapper +{ + +static const int INTERNAL_SERVER_HASH = HashingUtils::HashString("InternalServerException"); + + +AWSError GetErrorForName(const char* errorName) +{ + int hashCode = HashingUtils::HashString(errorName); + + if (hashCode == INTERNAL_SERVER_HASH) + { + return AWSError(static_cast(GeoRoutesErrors::INTERNAL_SERVER), RetryableType::RETRYABLE); + } + return AWSError(CoreErrors::UNKNOWN, false); +} + +} // namespace GeoRoutesErrorMapper +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesRequest.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesRequest.cpp new file mode 100644 index 00000000000..1f92941e8e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesRequest.cpp @@ -0,0 +1,14 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + + +#include + +namespace Aws +{ +namespace GeoRoutes +{ +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateIsolinesRequest.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateIsolinesRequest.cpp new file mode 100644 index 00000000000..672c0cb3365 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateIsolinesRequest.cpp @@ -0,0 +1,173 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoRoutes::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +CalculateIsolinesRequest::CalculateIsolinesRequest() : + m_allowHasBeenSet(false), + m_arrivalTimeHasBeenSet(false), + m_avoidHasBeenSet(false), + m_departNow(false), + m_departNowHasBeenSet(false), + m_departureTimeHasBeenSet(false), + m_destinationHasBeenSet(false), + m_destinationOptionsHasBeenSet(false), + m_isolineGeometryFormat(GeometryFormat::NOT_SET), + m_isolineGeometryFormatHasBeenSet(false), + m_isolineGranularityHasBeenSet(false), + m_keyHasBeenSet(false), + m_optimizeIsolineFor(IsolineOptimizationObjective::NOT_SET), + m_optimizeIsolineForHasBeenSet(false), + m_optimizeRoutingFor(RoutingObjective::NOT_SET), + m_optimizeRoutingForHasBeenSet(false), + m_originHasBeenSet(false), + m_originOptionsHasBeenSet(false), + m_thresholdsHasBeenSet(false), + m_trafficHasBeenSet(false), + m_travelMode(IsolineTravelMode::NOT_SET), + m_travelModeHasBeenSet(false), + m_travelModeOptionsHasBeenSet(false) +{ +} + +Aws::String CalculateIsolinesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_allowHasBeenSet) + { + payload.WithObject("Allow", m_allow.Jsonize()); + + } + + if(m_arrivalTimeHasBeenSet) + { + payload.WithString("ArrivalTime", m_arrivalTime); + + } + + if(m_avoidHasBeenSet) + { + payload.WithObject("Avoid", m_avoid.Jsonize()); + + } + + if(m_departNowHasBeenSet) + { + payload.WithBool("DepartNow", m_departNow); + + } + + if(m_departureTimeHasBeenSet) + { + payload.WithString("DepartureTime", m_departureTime); + + } + + if(m_destinationHasBeenSet) + { + Aws::Utils::Array destinationJsonList(m_destination.size()); + for(unsigned destinationIndex = 0; destinationIndex < destinationJsonList.GetLength(); ++destinationIndex) + { + destinationJsonList[destinationIndex].AsDouble(m_destination[destinationIndex]); + } + payload.WithArray("Destination", std::move(destinationJsonList)); + + } + + if(m_destinationOptionsHasBeenSet) + { + payload.WithObject("DestinationOptions", m_destinationOptions.Jsonize()); + + } + + if(m_isolineGeometryFormatHasBeenSet) + { + payload.WithString("IsolineGeometryFormat", GeometryFormatMapper::GetNameForGeometryFormat(m_isolineGeometryFormat)); + } + + if(m_isolineGranularityHasBeenSet) + { + payload.WithObject("IsolineGranularity", m_isolineGranularity.Jsonize()); + + } + + if(m_optimizeIsolineForHasBeenSet) + { + payload.WithString("OptimizeIsolineFor", IsolineOptimizationObjectiveMapper::GetNameForIsolineOptimizationObjective(m_optimizeIsolineFor)); + } + + if(m_optimizeRoutingForHasBeenSet) + { + payload.WithString("OptimizeRoutingFor", RoutingObjectiveMapper::GetNameForRoutingObjective(m_optimizeRoutingFor)); + } + + if(m_originHasBeenSet) + { + Aws::Utils::Array originJsonList(m_origin.size()); + for(unsigned originIndex = 0; originIndex < originJsonList.GetLength(); ++originIndex) + { + originJsonList[originIndex].AsDouble(m_origin[originIndex]); + } + payload.WithArray("Origin", std::move(originJsonList)); + + } + + if(m_originOptionsHasBeenSet) + { + payload.WithObject("OriginOptions", m_originOptions.Jsonize()); + + } + + if(m_thresholdsHasBeenSet) + { + payload.WithObject("Thresholds", m_thresholds.Jsonize()); + + } + + if(m_trafficHasBeenSet) + { + payload.WithObject("Traffic", m_traffic.Jsonize()); + + } + + if(m_travelModeHasBeenSet) + { + payload.WithString("TravelMode", IsolineTravelModeMapper::GetNameForIsolineTravelMode(m_travelMode)); + } + + if(m_travelModeOptionsHasBeenSet) + { + payload.WithObject("TravelModeOptions", m_travelModeOptions.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +void CalculateIsolinesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateIsolinesResult.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateIsolinesResult.cpp new file mode 100644 index 00000000000..a74584c00fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateIsolinesResult.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoRoutes::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CalculateIsolinesResult::CalculateIsolinesResult() : + m_isolineGeometryFormat(GeometryFormat::NOT_SET) +{ +} + +CalculateIsolinesResult::CalculateIsolinesResult(const Aws::AmazonWebServiceResult& result) + : CalculateIsolinesResult() +{ + *this = result; +} + +CalculateIsolinesResult& CalculateIsolinesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ArrivalTime")) + { + m_arrivalTime = jsonValue.GetString("ArrivalTime"); + + } + + if(jsonValue.ValueExists("DepartureTime")) + { + m_departureTime = jsonValue.GetString("DepartureTime"); + + } + + if(jsonValue.ValueExists("IsolineGeometryFormat")) + { + m_isolineGeometryFormat = GeometryFormatMapper::GetGeometryFormatForName(jsonValue.GetString("IsolineGeometryFormat")); + + } + + if(jsonValue.ValueExists("Isolines")) + { + Aws::Utils::Array isolinesJsonList = jsonValue.GetArray("Isolines"); + for(unsigned isolinesIndex = 0; isolinesIndex < isolinesJsonList.GetLength(); ++isolinesIndex) + { + m_isolines.push_back(isolinesJsonList[isolinesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("SnappedDestination")) + { + Aws::Utils::Array snappedDestinationJsonList = jsonValue.GetArray("SnappedDestination"); + for(unsigned snappedDestinationIndex = 0; snappedDestinationIndex < snappedDestinationJsonList.GetLength(); ++snappedDestinationIndex) + { + m_snappedDestination.push_back(snappedDestinationJsonList[snappedDestinationIndex].AsDouble()); + } + } + + if(jsonValue.ValueExists("SnappedOrigin")) + { + Aws::Utils::Array snappedOriginJsonList = jsonValue.GetArray("SnappedOrigin"); + for(unsigned snappedOriginIndex = 0; snappedOriginIndex < snappedOriginJsonList.GetLength(); ++snappedOriginIndex) + { + m_snappedOrigin.push_back(snappedOriginJsonList[snappedOriginIndex].AsDouble()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRouteMatrixRequest.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRouteMatrixRequest.cpp new file mode 100644 index 00000000000..43c7615839e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRouteMatrixRequest.cpp @@ -0,0 +1,138 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoRoutes::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +CalculateRouteMatrixRequest::CalculateRouteMatrixRequest() : + m_allowHasBeenSet(false), + m_avoidHasBeenSet(false), + m_departNow(false), + m_departNowHasBeenSet(false), + m_departureTimeHasBeenSet(false), + m_destinationsHasBeenSet(false), + m_excludeHasBeenSet(false), + m_keyHasBeenSet(false), + m_optimizeRoutingFor(RoutingObjective::NOT_SET), + m_optimizeRoutingForHasBeenSet(false), + m_originsHasBeenSet(false), + m_routingBoundaryHasBeenSet(false), + m_trafficHasBeenSet(false), + m_travelMode(RouteMatrixTravelMode::NOT_SET), + m_travelModeHasBeenSet(false), + m_travelModeOptionsHasBeenSet(false) +{ +} + +Aws::String CalculateRouteMatrixRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_allowHasBeenSet) + { + payload.WithObject("Allow", m_allow.Jsonize()); + + } + + if(m_avoidHasBeenSet) + { + payload.WithObject("Avoid", m_avoid.Jsonize()); + + } + + if(m_departNowHasBeenSet) + { + payload.WithBool("DepartNow", m_departNow); + + } + + if(m_departureTimeHasBeenSet) + { + payload.WithString("DepartureTime", m_departureTime); + + } + + if(m_destinationsHasBeenSet) + { + Aws::Utils::Array destinationsJsonList(m_destinations.size()); + for(unsigned destinationsIndex = 0; destinationsIndex < destinationsJsonList.GetLength(); ++destinationsIndex) + { + destinationsJsonList[destinationsIndex].AsObject(m_destinations[destinationsIndex].Jsonize()); + } + payload.WithArray("Destinations", std::move(destinationsJsonList)); + + } + + if(m_excludeHasBeenSet) + { + payload.WithObject("Exclude", m_exclude.Jsonize()); + + } + + if(m_optimizeRoutingForHasBeenSet) + { + payload.WithString("OptimizeRoutingFor", RoutingObjectiveMapper::GetNameForRoutingObjective(m_optimizeRoutingFor)); + } + + if(m_originsHasBeenSet) + { + Aws::Utils::Array originsJsonList(m_origins.size()); + for(unsigned originsIndex = 0; originsIndex < originsJsonList.GetLength(); ++originsIndex) + { + originsJsonList[originsIndex].AsObject(m_origins[originsIndex].Jsonize()); + } + payload.WithArray("Origins", std::move(originsJsonList)); + + } + + if(m_routingBoundaryHasBeenSet) + { + payload.WithObject("RoutingBoundary", m_routingBoundary.Jsonize()); + + } + + if(m_trafficHasBeenSet) + { + payload.WithObject("Traffic", m_traffic.Jsonize()); + + } + + if(m_travelModeHasBeenSet) + { + payload.WithString("TravelMode", RouteMatrixTravelModeMapper::GetNameForRouteMatrixTravelMode(m_travelMode)); + } + + if(m_travelModeOptionsHasBeenSet) + { + payload.WithObject("TravelModeOptions", m_travelModeOptions.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +void CalculateRouteMatrixRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRouteMatrixResult.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRouteMatrixResult.cpp new file mode 100644 index 00000000000..75fceafd32a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRouteMatrixResult.cpp @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoRoutes::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CalculateRouteMatrixResult::CalculateRouteMatrixResult() : + m_errorCount(0) +{ +} + +CalculateRouteMatrixResult::CalculateRouteMatrixResult(const Aws::AmazonWebServiceResult& result) + : CalculateRouteMatrixResult() +{ + *this = result; +} + +CalculateRouteMatrixResult& CalculateRouteMatrixResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ErrorCount")) + { + m_errorCount = jsonValue.GetInteger("ErrorCount"); + + } + + if(jsonValue.ValueExists("RouteMatrix")) + { + Aws::Utils::Array routeMatrixJsonList = jsonValue.GetArray("RouteMatrix"); + for(unsigned routeMatrixIndex = 0; routeMatrixIndex < routeMatrixJsonList.GetLength(); ++routeMatrixIndex) + { + Aws::Utils::Array routeMatrixRowJsonList = routeMatrixJsonList[routeMatrixIndex].AsArray(); + Aws::Vector routeMatrixRowList; + routeMatrixRowList.reserve((size_t)routeMatrixRowJsonList.GetLength()); + for(unsigned routeMatrixRowIndex = 0; routeMatrixRowIndex < routeMatrixRowJsonList.GetLength(); ++routeMatrixRowIndex) + { + routeMatrixRowList.push_back(routeMatrixRowJsonList[routeMatrixRowIndex].AsObject()); + } + m_routeMatrix.push_back(std::move(routeMatrixRowList)); + } + } + + if(jsonValue.ValueExists("RoutingBoundary")) + { + m_routingBoundary = jsonValue.GetObject("RoutingBoundary"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRoutesRequest.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRoutesRequest.cpp new file mode 100644 index 00000000000..e6e3ec8bfe9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRoutesRequest.cpp @@ -0,0 +1,243 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoRoutes::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +CalculateRoutesRequest::CalculateRoutesRequest() : + m_allowHasBeenSet(false), + m_arrivalTimeHasBeenSet(false), + m_avoidHasBeenSet(false), + m_departNow(false), + m_departNowHasBeenSet(false), + m_departureTimeHasBeenSet(false), + m_destinationHasBeenSet(false), + m_destinationOptionsHasBeenSet(false), + m_driverHasBeenSet(false), + m_excludeHasBeenSet(false), + m_instructionsMeasurementSystem(MeasurementSystem::NOT_SET), + m_instructionsMeasurementSystemHasBeenSet(false), + m_keyHasBeenSet(false), + m_languagesHasBeenSet(false), + m_legAdditionalFeaturesHasBeenSet(false), + m_legGeometryFormat(GeometryFormat::NOT_SET), + m_legGeometryFormatHasBeenSet(false), + m_maxAlternatives(0), + m_maxAlternativesHasBeenSet(false), + m_optimizeRoutingFor(RoutingObjective::NOT_SET), + m_optimizeRoutingForHasBeenSet(false), + m_originHasBeenSet(false), + m_originOptionsHasBeenSet(false), + m_spanAdditionalFeaturesHasBeenSet(false), + m_tollsHasBeenSet(false), + m_trafficHasBeenSet(false), + m_travelMode(RouteTravelMode::NOT_SET), + m_travelModeHasBeenSet(false), + m_travelModeOptionsHasBeenSet(false), + m_travelStepType(RouteTravelStepType::NOT_SET), + m_travelStepTypeHasBeenSet(false), + m_waypointsHasBeenSet(false) +{ +} + +Aws::String CalculateRoutesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_allowHasBeenSet) + { + payload.WithObject("Allow", m_allow.Jsonize()); + + } + + if(m_arrivalTimeHasBeenSet) + { + payload.WithString("ArrivalTime", m_arrivalTime); + + } + + if(m_avoidHasBeenSet) + { + payload.WithObject("Avoid", m_avoid.Jsonize()); + + } + + if(m_departNowHasBeenSet) + { + payload.WithBool("DepartNow", m_departNow); + + } + + if(m_departureTimeHasBeenSet) + { + payload.WithString("DepartureTime", m_departureTime); + + } + + if(m_destinationHasBeenSet) + { + Aws::Utils::Array destinationJsonList(m_destination.size()); + for(unsigned destinationIndex = 0; destinationIndex < destinationJsonList.GetLength(); ++destinationIndex) + { + destinationJsonList[destinationIndex].AsDouble(m_destination[destinationIndex]); + } + payload.WithArray("Destination", std::move(destinationJsonList)); + + } + + if(m_destinationOptionsHasBeenSet) + { + payload.WithObject("DestinationOptions", m_destinationOptions.Jsonize()); + + } + + if(m_driverHasBeenSet) + { + payload.WithObject("Driver", m_driver.Jsonize()); + + } + + if(m_excludeHasBeenSet) + { + payload.WithObject("Exclude", m_exclude.Jsonize()); + + } + + if(m_instructionsMeasurementSystemHasBeenSet) + { + payload.WithString("InstructionsMeasurementSystem", MeasurementSystemMapper::GetNameForMeasurementSystem(m_instructionsMeasurementSystem)); + } + + if(m_languagesHasBeenSet) + { + Aws::Utils::Array languagesJsonList(m_languages.size()); + for(unsigned languagesIndex = 0; languagesIndex < languagesJsonList.GetLength(); ++languagesIndex) + { + languagesJsonList[languagesIndex].AsString(m_languages[languagesIndex]); + } + payload.WithArray("Languages", std::move(languagesJsonList)); + + } + + if(m_legAdditionalFeaturesHasBeenSet) + { + Aws::Utils::Array legAdditionalFeaturesJsonList(m_legAdditionalFeatures.size()); + for(unsigned legAdditionalFeaturesIndex = 0; legAdditionalFeaturesIndex < legAdditionalFeaturesJsonList.GetLength(); ++legAdditionalFeaturesIndex) + { + legAdditionalFeaturesJsonList[legAdditionalFeaturesIndex].AsString(RouteLegAdditionalFeatureMapper::GetNameForRouteLegAdditionalFeature(m_legAdditionalFeatures[legAdditionalFeaturesIndex])); + } + payload.WithArray("LegAdditionalFeatures", std::move(legAdditionalFeaturesJsonList)); + + } + + if(m_legGeometryFormatHasBeenSet) + { + payload.WithString("LegGeometryFormat", GeometryFormatMapper::GetNameForGeometryFormat(m_legGeometryFormat)); + } + + if(m_maxAlternativesHasBeenSet) + { + payload.WithInteger("MaxAlternatives", m_maxAlternatives); + + } + + if(m_optimizeRoutingForHasBeenSet) + { + payload.WithString("OptimizeRoutingFor", RoutingObjectiveMapper::GetNameForRoutingObjective(m_optimizeRoutingFor)); + } + + if(m_originHasBeenSet) + { + Aws::Utils::Array originJsonList(m_origin.size()); + for(unsigned originIndex = 0; originIndex < originJsonList.GetLength(); ++originIndex) + { + originJsonList[originIndex].AsDouble(m_origin[originIndex]); + } + payload.WithArray("Origin", std::move(originJsonList)); + + } + + if(m_originOptionsHasBeenSet) + { + payload.WithObject("OriginOptions", m_originOptions.Jsonize()); + + } + + if(m_spanAdditionalFeaturesHasBeenSet) + { + Aws::Utils::Array spanAdditionalFeaturesJsonList(m_spanAdditionalFeatures.size()); + for(unsigned spanAdditionalFeaturesIndex = 0; spanAdditionalFeaturesIndex < spanAdditionalFeaturesJsonList.GetLength(); ++spanAdditionalFeaturesIndex) + { + spanAdditionalFeaturesJsonList[spanAdditionalFeaturesIndex].AsString(RouteSpanAdditionalFeatureMapper::GetNameForRouteSpanAdditionalFeature(m_spanAdditionalFeatures[spanAdditionalFeaturesIndex])); + } + payload.WithArray("SpanAdditionalFeatures", std::move(spanAdditionalFeaturesJsonList)); + + } + + if(m_tollsHasBeenSet) + { + payload.WithObject("Tolls", m_tolls.Jsonize()); + + } + + if(m_trafficHasBeenSet) + { + payload.WithObject("Traffic", m_traffic.Jsonize()); + + } + + if(m_travelModeHasBeenSet) + { + payload.WithString("TravelMode", RouteTravelModeMapper::GetNameForRouteTravelMode(m_travelMode)); + } + + if(m_travelModeOptionsHasBeenSet) + { + payload.WithObject("TravelModeOptions", m_travelModeOptions.Jsonize()); + + } + + if(m_travelStepTypeHasBeenSet) + { + payload.WithString("TravelStepType", RouteTravelStepTypeMapper::GetNameForRouteTravelStepType(m_travelStepType)); + } + + if(m_waypointsHasBeenSet) + { + Aws::Utils::Array waypointsJsonList(m_waypoints.size()); + for(unsigned waypointsIndex = 0; waypointsIndex < waypointsJsonList.GetLength(); ++waypointsIndex) + { + waypointsJsonList[waypointsIndex].AsObject(m_waypoints[waypointsIndex].Jsonize()); + } + payload.WithArray("Waypoints", std::move(waypointsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +void CalculateRoutesRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRoutesResult.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRoutesResult.cpp new file mode 100644 index 00000000000..229959b8d9d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/CalculateRoutesResult.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoRoutes::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CalculateRoutesResult::CalculateRoutesResult() : + m_legGeometryFormat(GeometryFormat::NOT_SET) +{ +} + +CalculateRoutesResult::CalculateRoutesResult(const Aws::AmazonWebServiceResult& result) + : CalculateRoutesResult() +{ + *this = result; +} + +CalculateRoutesResult& CalculateRoutesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("LegGeometryFormat")) + { + m_legGeometryFormat = GeometryFormatMapper::GetGeometryFormatForName(jsonValue.GetString("LegGeometryFormat")); + + } + + if(jsonValue.ValueExists("Notices")) + { + Aws::Utils::Array noticesJsonList = jsonValue.GetArray("Notices"); + for(unsigned noticesIndex = 0; noticesIndex < noticesJsonList.GetLength(); ++noticesIndex) + { + m_notices.push_back(noticesJsonList[noticesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("Routes")) + { + Aws::Utils::Array routesJsonList = jsonValue.GetArray("Routes"); + for(unsigned routesIndex = 0; routesIndex < routesJsonList.GetLength(); ++routesIndex) + { + m_routes.push_back(routesJsonList[routesIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/Circle.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/Circle.cpp new file mode 100644 index 00000000000..1918f34a382 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/Circle.cpp @@ -0,0 +1,82 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +Circle::Circle() : + m_centerHasBeenSet(false), + m_radius(0.0), + m_radiusHasBeenSet(false) +{ +} + +Circle::Circle(JsonView jsonValue) + : Circle() +{ + *this = jsonValue; +} + +Circle& Circle::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Center")) + { + Aws::Utils::Array centerJsonList = jsonValue.GetArray("Center"); + for(unsigned centerIndex = 0; centerIndex < centerJsonList.GetLength(); ++centerIndex) + { + m_center.push_back(centerJsonList[centerIndex].AsDouble()); + } + m_centerHasBeenSet = true; + } + + if(jsonValue.ValueExists("Radius")) + { + m_radius = jsonValue.GetDouble("Radius"); + + m_radiusHasBeenSet = true; + } + + return *this; +} + +JsonValue Circle::Jsonize() const +{ + JsonValue payload; + + if(m_centerHasBeenSet) + { + Aws::Utils::Array centerJsonList(m_center.size()); + for(unsigned centerIndex = 0; centerIndex < centerJsonList.GetLength(); ++centerIndex) + { + centerJsonList[centerIndex].AsDouble(m_center[centerIndex]); + } + payload.WithArray("Center", std::move(centerJsonList)); + + } + + if(m_radiusHasBeenSet) + { + payload.WithDouble("Radius", m_radius); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/Corridor.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/Corridor.cpp new file mode 100644 index 00000000000..c258bc27680 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/Corridor.cpp @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +Corridor::Corridor() : + m_lineStringHasBeenSet(false), + m_radius(0), + m_radiusHasBeenSet(false) +{ +} + +Corridor::Corridor(JsonView jsonValue) + : Corridor() +{ + *this = jsonValue; +} + +Corridor& Corridor::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LineString")) + { + Aws::Utils::Array lineStringJsonList = jsonValue.GetArray("LineString"); + for(unsigned lineStringIndex = 0; lineStringIndex < lineStringJsonList.GetLength(); ++lineStringIndex) + { + Aws::Utils::Array positionJsonList = lineStringJsonList[lineStringIndex].AsArray(); + Aws::Vector positionList; + positionList.reserve((size_t)positionJsonList.GetLength()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionList.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_lineString.push_back(std::move(positionList)); + } + m_lineStringHasBeenSet = true; + } + + if(jsonValue.ValueExists("Radius")) + { + m_radius = jsonValue.GetInteger("Radius"); + + m_radiusHasBeenSet = true; + } + + return *this; +} + +JsonValue Corridor::Jsonize() const +{ + JsonValue payload; + + if(m_lineStringHasBeenSet) + { + Aws::Utils::Array lineStringJsonList(m_lineString.size()); + for(unsigned lineStringIndex = 0; lineStringIndex < lineStringJsonList.GetLength(); ++lineStringIndex) + { + Aws::Utils::Array positionJsonList(m_lineString[lineStringIndex].size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_lineString[lineStringIndex][positionIndex]); + } + lineStringJsonList[lineStringIndex].AsArray(std::move(positionJsonList)); + } + payload.WithArray("LineString", std::move(lineStringJsonList)); + + } + + if(m_radiusHasBeenSet) + { + payload.WithInteger("Radius", m_radius); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/DayOfWeek.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/DayOfWeek.cpp new file mode 100644 index 00000000000..6facd7d2ac5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/DayOfWeek.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace DayOfWeekMapper + { + + static const int Monday_HASH = HashingUtils::HashString("Monday"); + static const int Tuesday_HASH = HashingUtils::HashString("Tuesday"); + static const int Wednesday_HASH = HashingUtils::HashString("Wednesday"); + static const int Thursday_HASH = HashingUtils::HashString("Thursday"); + static const int Friday_HASH = HashingUtils::HashString("Friday"); + static const int Saturday_HASH = HashingUtils::HashString("Saturday"); + static const int Sunday_HASH = HashingUtils::HashString("Sunday"); + + + DayOfWeek GetDayOfWeekForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Monday_HASH) + { + return DayOfWeek::Monday; + } + else if (hashCode == Tuesday_HASH) + { + return DayOfWeek::Tuesday; + } + else if (hashCode == Wednesday_HASH) + { + return DayOfWeek::Wednesday; + } + else if (hashCode == Thursday_HASH) + { + return DayOfWeek::Thursday; + } + else if (hashCode == Friday_HASH) + { + return DayOfWeek::Friday; + } + else if (hashCode == Saturday_HASH) + { + return DayOfWeek::Saturday; + } + else if (hashCode == Sunday_HASH) + { + return DayOfWeek::Sunday; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return DayOfWeek::NOT_SET; + } + + Aws::String GetNameForDayOfWeek(DayOfWeek enumValue) + { + switch(enumValue) + { + case DayOfWeek::NOT_SET: + return {}; + case DayOfWeek::Monday: + return "Monday"; + case DayOfWeek::Tuesday: + return "Tuesday"; + case DayOfWeek::Wednesday: + return "Wednesday"; + case DayOfWeek::Thursday: + return "Thursday"; + case DayOfWeek::Friday: + return "Friday"; + case DayOfWeek::Saturday: + return "Saturday"; + case DayOfWeek::Sunday: + return "Sunday"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace DayOfWeekMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/GeometryFormat.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/GeometryFormat.cpp new file mode 100644 index 00000000000..8ee629b1621 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/GeometryFormat.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace GeometryFormatMapper + { + + static const int FlexiblePolyline_HASH = HashingUtils::HashString("FlexiblePolyline"); + static const int Simple_HASH = HashingUtils::HashString("Simple"); + + + GeometryFormat GetGeometryFormatForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FlexiblePolyline_HASH) + { + return GeometryFormat::FlexiblePolyline; + } + else if (hashCode == Simple_HASH) + { + return GeometryFormat::Simple; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return GeometryFormat::NOT_SET; + } + + Aws::String GetNameForGeometryFormat(GeometryFormat enumValue) + { + switch(enumValue) + { + case GeometryFormat::NOT_SET: + return {}; + case GeometryFormat::FlexiblePolyline: + return "FlexiblePolyline"; + case GeometryFormat::Simple: + return "Simple"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace GeometryFormatMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/Isoline.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/Isoline.cpp new file mode 100644 index 00000000000..6f35687dffb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/Isoline.cpp @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +Isoline::Isoline() : + m_connectionsHasBeenSet(false), + m_distanceThreshold(0), + m_distanceThresholdHasBeenSet(false), + m_geometriesHasBeenSet(false), + m_timeThreshold(0), + m_timeThresholdHasBeenSet(false) +{ +} + +Isoline::Isoline(JsonView jsonValue) + : Isoline() +{ + *this = jsonValue; +} + +Isoline& Isoline::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Connections")) + { + Aws::Utils::Array connectionsJsonList = jsonValue.GetArray("Connections"); + for(unsigned connectionsIndex = 0; connectionsIndex < connectionsJsonList.GetLength(); ++connectionsIndex) + { + m_connections.push_back(connectionsJsonList[connectionsIndex].AsObject()); + } + m_connectionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("DistanceThreshold")) + { + m_distanceThreshold = jsonValue.GetInt64("DistanceThreshold"); + + m_distanceThresholdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Geometries")) + { + Aws::Utils::Array geometriesJsonList = jsonValue.GetArray("Geometries"); + for(unsigned geometriesIndex = 0; geometriesIndex < geometriesJsonList.GetLength(); ++geometriesIndex) + { + m_geometries.push_back(geometriesJsonList[geometriesIndex].AsObject()); + } + m_geometriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("TimeThreshold")) + { + m_timeThreshold = jsonValue.GetInt64("TimeThreshold"); + + m_timeThresholdHasBeenSet = true; + } + + return *this; +} + +JsonValue Isoline::Jsonize() const +{ + JsonValue payload; + + if(m_connectionsHasBeenSet) + { + Aws::Utils::Array connectionsJsonList(m_connections.size()); + for(unsigned connectionsIndex = 0; connectionsIndex < connectionsJsonList.GetLength(); ++connectionsIndex) + { + connectionsJsonList[connectionsIndex].AsObject(m_connections[connectionsIndex].Jsonize()); + } + payload.WithArray("Connections", std::move(connectionsJsonList)); + + } + + if(m_distanceThresholdHasBeenSet) + { + payload.WithInt64("DistanceThreshold", m_distanceThreshold); + + } + + if(m_geometriesHasBeenSet) + { + Aws::Utils::Array geometriesJsonList(m_geometries.size()); + for(unsigned geometriesIndex = 0; geometriesIndex < geometriesJsonList.GetLength(); ++geometriesIndex) + { + geometriesJsonList[geometriesIndex].AsObject(m_geometries[geometriesIndex].Jsonize()); + } + payload.WithArray("Geometries", std::move(geometriesJsonList)); + + } + + if(m_timeThresholdHasBeenSet) + { + payload.WithInt64("TimeThreshold", m_timeThreshold); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAllowOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAllowOptions.cpp new file mode 100644 index 00000000000..54103665f35 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAllowOptions.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineAllowOptions::IsolineAllowOptions() : + m_hot(false), + m_hotHasBeenSet(false), + m_hov(false), + m_hovHasBeenSet(false) +{ +} + +IsolineAllowOptions::IsolineAllowOptions(JsonView jsonValue) + : IsolineAllowOptions() +{ + *this = jsonValue; +} + +IsolineAllowOptions& IsolineAllowOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Hot")) + { + m_hot = jsonValue.GetBool("Hot"); + + m_hotHasBeenSet = true; + } + + if(jsonValue.ValueExists("Hov")) + { + m_hov = jsonValue.GetBool("Hov"); + + m_hovHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineAllowOptions::Jsonize() const +{ + JsonValue payload; + + if(m_hotHasBeenSet) + { + payload.WithBool("Hot", m_hot); + + } + + if(m_hovHasBeenSet) + { + payload.WithBool("Hov", m_hov); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceArea.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceArea.cpp new file mode 100644 index 00000000000..27d0dc81172 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceArea.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineAvoidanceArea::IsolineAvoidanceArea() : + m_exceptHasBeenSet(false), + m_geometryHasBeenSet(false) +{ +} + +IsolineAvoidanceArea::IsolineAvoidanceArea(JsonView jsonValue) + : IsolineAvoidanceArea() +{ + *this = jsonValue; +} + +IsolineAvoidanceArea& IsolineAvoidanceArea::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Except")) + { + Aws::Utils::Array exceptJsonList = jsonValue.GetArray("Except"); + for(unsigned exceptIndex = 0; exceptIndex < exceptJsonList.GetLength(); ++exceptIndex) + { + m_except.push_back(exceptJsonList[exceptIndex].AsObject()); + } + m_exceptHasBeenSet = true; + } + + if(jsonValue.ValueExists("Geometry")) + { + m_geometry = jsonValue.GetObject("Geometry"); + + m_geometryHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineAvoidanceArea::Jsonize() const +{ + JsonValue payload; + + if(m_exceptHasBeenSet) + { + Aws::Utils::Array exceptJsonList(m_except.size()); + for(unsigned exceptIndex = 0; exceptIndex < exceptJsonList.GetLength(); ++exceptIndex) + { + exceptJsonList[exceptIndex].AsObject(m_except[exceptIndex].Jsonize()); + } + payload.WithArray("Except", std::move(exceptJsonList)); + + } + + if(m_geometryHasBeenSet) + { + payload.WithObject("Geometry", m_geometry.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceAreaGeometry.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceAreaGeometry.cpp new file mode 100644 index 00000000000..166cd2dcd4b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceAreaGeometry.cpp @@ -0,0 +1,163 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineAvoidanceAreaGeometry::IsolineAvoidanceAreaGeometry() : + m_boundingBoxHasBeenSet(false), + m_corridorHasBeenSet(false), + m_polygonHasBeenSet(false), + m_polylineCorridorHasBeenSet(false), + m_polylinePolygonHasBeenSet(false) +{ +} + +IsolineAvoidanceAreaGeometry::IsolineAvoidanceAreaGeometry(JsonView jsonValue) + : IsolineAvoidanceAreaGeometry() +{ + *this = jsonValue; +} + +IsolineAvoidanceAreaGeometry& IsolineAvoidanceAreaGeometry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BoundingBox")) + { + Aws::Utils::Array boundingBoxJsonList = jsonValue.GetArray("BoundingBox"); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + m_boundingBox.push_back(boundingBoxJsonList[boundingBoxIndex].AsDouble()); + } + m_boundingBoxHasBeenSet = true; + } + + if(jsonValue.ValueExists("Corridor")) + { + m_corridor = jsonValue.GetObject("Corridor"); + + m_corridorHasBeenSet = true; + } + + if(jsonValue.ValueExists("Polygon")) + { + Aws::Utils::Array polygonJsonList = jsonValue.GetArray("Polygon"); + for(unsigned polygonIndex = 0; polygonIndex < polygonJsonList.GetLength(); ++polygonIndex) + { + Aws::Utils::Array linearRingJsonList = polygonJsonList[polygonIndex].AsArray(); + Aws::Vector> linearRingList; + linearRingList.reserve((size_t)linearRingJsonList.GetLength()); + for(unsigned linearRingIndex = 0; linearRingIndex < linearRingJsonList.GetLength(); ++linearRingIndex) + { + Aws::Utils::Array positionJsonList = linearRingJsonList[linearRingIndex].AsArray(); + Aws::Vector positionList; + positionList.reserve((size_t)positionJsonList.GetLength()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionList.push_back(positionJsonList[positionIndex].AsDouble()); + } + linearRingList.push_back(std::move(positionList)); + } + m_polygon.push_back(std::move(linearRingList)); + } + m_polygonHasBeenSet = true; + } + + if(jsonValue.ValueExists("PolylineCorridor")) + { + m_polylineCorridor = jsonValue.GetObject("PolylineCorridor"); + + m_polylineCorridorHasBeenSet = true; + } + + if(jsonValue.ValueExists("PolylinePolygon")) + { + Aws::Utils::Array polylinePolygonJsonList = jsonValue.GetArray("PolylinePolygon"); + for(unsigned polylinePolygonIndex = 0; polylinePolygonIndex < polylinePolygonJsonList.GetLength(); ++polylinePolygonIndex) + { + m_polylinePolygon.push_back(polylinePolygonJsonList[polylinePolygonIndex].AsString()); + } + m_polylinePolygonHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineAvoidanceAreaGeometry::Jsonize() const +{ + JsonValue payload; + + if(m_boundingBoxHasBeenSet) + { + Aws::Utils::Array boundingBoxJsonList(m_boundingBox.size()); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + boundingBoxJsonList[boundingBoxIndex].AsDouble(m_boundingBox[boundingBoxIndex]); + } + payload.WithArray("BoundingBox", std::move(boundingBoxJsonList)); + + } + + if(m_corridorHasBeenSet) + { + payload.WithObject("Corridor", m_corridor.Jsonize()); + + } + + if(m_polygonHasBeenSet) + { + Aws::Utils::Array polygonJsonList(m_polygon.size()); + for(unsigned polygonIndex = 0; polygonIndex < polygonJsonList.GetLength(); ++polygonIndex) + { + Aws::Utils::Array linearRingJsonList(m_polygon[polygonIndex].size()); + for(unsigned linearRingIndex = 0; linearRingIndex < linearRingJsonList.GetLength(); ++linearRingIndex) + { + Aws::Utils::Array positionJsonList(m_polygon[polygonIndex][linearRingIndex].size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_polygon[polygonIndex][linearRingIndex][positionIndex]); + } + linearRingJsonList[linearRingIndex].AsArray(std::move(positionJsonList)); + } + polygonJsonList[polygonIndex].AsArray(std::move(linearRingJsonList)); + } + payload.WithArray("Polygon", std::move(polygonJsonList)); + + } + + if(m_polylineCorridorHasBeenSet) + { + payload.WithObject("PolylineCorridor", m_polylineCorridor.Jsonize()); + + } + + if(m_polylinePolygonHasBeenSet) + { + Aws::Utils::Array polylinePolygonJsonList(m_polylinePolygon.size()); + for(unsigned polylinePolygonIndex = 0; polylinePolygonIndex < polylinePolygonJsonList.GetLength(); ++polylinePolygonIndex) + { + polylinePolygonJsonList[polylinePolygonIndex].AsString(m_polylinePolygon[polylinePolygonIndex]); + } + payload.WithArray("PolylinePolygon", std::move(polylinePolygonJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceOptions.cpp new file mode 100644 index 00000000000..334cc128abb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceOptions.cpp @@ -0,0 +1,246 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineAvoidanceOptions::IsolineAvoidanceOptions() : + m_areasHasBeenSet(false), + m_carShuttleTrains(false), + m_carShuttleTrainsHasBeenSet(false), + m_controlledAccessHighways(false), + m_controlledAccessHighwaysHasBeenSet(false), + m_dirtRoads(false), + m_dirtRoadsHasBeenSet(false), + m_ferries(false), + m_ferriesHasBeenSet(false), + m_seasonalClosure(false), + m_seasonalClosureHasBeenSet(false), + m_tollRoads(false), + m_tollRoadsHasBeenSet(false), + m_tollTransponders(false), + m_tollTranspondersHasBeenSet(false), + m_truckRoadTypesHasBeenSet(false), + m_tunnels(false), + m_tunnelsHasBeenSet(false), + m_uTurns(false), + m_uTurnsHasBeenSet(false), + m_zoneCategoriesHasBeenSet(false) +{ +} + +IsolineAvoidanceOptions::IsolineAvoidanceOptions(JsonView jsonValue) + : IsolineAvoidanceOptions() +{ + *this = jsonValue; +} + +IsolineAvoidanceOptions& IsolineAvoidanceOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Areas")) + { + Aws::Utils::Array areasJsonList = jsonValue.GetArray("Areas"); + for(unsigned areasIndex = 0; areasIndex < areasJsonList.GetLength(); ++areasIndex) + { + m_areas.push_back(areasJsonList[areasIndex].AsObject()); + } + m_areasHasBeenSet = true; + } + + if(jsonValue.ValueExists("CarShuttleTrains")) + { + m_carShuttleTrains = jsonValue.GetBool("CarShuttleTrains"); + + m_carShuttleTrainsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ControlledAccessHighways")) + { + m_controlledAccessHighways = jsonValue.GetBool("ControlledAccessHighways"); + + m_controlledAccessHighwaysHasBeenSet = true; + } + + if(jsonValue.ValueExists("DirtRoads")) + { + m_dirtRoads = jsonValue.GetBool("DirtRoads"); + + m_dirtRoadsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Ferries")) + { + m_ferries = jsonValue.GetBool("Ferries"); + + m_ferriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("SeasonalClosure")) + { + m_seasonalClosure = jsonValue.GetBool("SeasonalClosure"); + + m_seasonalClosureHasBeenSet = true; + } + + if(jsonValue.ValueExists("TollRoads")) + { + m_tollRoads = jsonValue.GetBool("TollRoads"); + + m_tollRoadsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TollTransponders")) + { + m_tollTransponders = jsonValue.GetBool("TollTransponders"); + + m_tollTranspondersHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckRoadTypes")) + { + Aws::Utils::Array truckRoadTypesJsonList = jsonValue.GetArray("TruckRoadTypes"); + for(unsigned truckRoadTypesIndex = 0; truckRoadTypesIndex < truckRoadTypesJsonList.GetLength(); ++truckRoadTypesIndex) + { + m_truckRoadTypes.push_back(truckRoadTypesJsonList[truckRoadTypesIndex].AsString()); + } + m_truckRoadTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Tunnels")) + { + m_tunnels = jsonValue.GetBool("Tunnels"); + + m_tunnelsHasBeenSet = true; + } + + if(jsonValue.ValueExists("UTurns")) + { + m_uTurns = jsonValue.GetBool("UTurns"); + + m_uTurnsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ZoneCategories")) + { + Aws::Utils::Array zoneCategoriesJsonList = jsonValue.GetArray("ZoneCategories"); + for(unsigned zoneCategoriesIndex = 0; zoneCategoriesIndex < zoneCategoriesJsonList.GetLength(); ++zoneCategoriesIndex) + { + m_zoneCategories.push_back(zoneCategoriesJsonList[zoneCategoriesIndex].AsObject()); + } + m_zoneCategoriesHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineAvoidanceOptions::Jsonize() const +{ + JsonValue payload; + + if(m_areasHasBeenSet) + { + Aws::Utils::Array areasJsonList(m_areas.size()); + for(unsigned areasIndex = 0; areasIndex < areasJsonList.GetLength(); ++areasIndex) + { + areasJsonList[areasIndex].AsObject(m_areas[areasIndex].Jsonize()); + } + payload.WithArray("Areas", std::move(areasJsonList)); + + } + + if(m_carShuttleTrainsHasBeenSet) + { + payload.WithBool("CarShuttleTrains", m_carShuttleTrains); + + } + + if(m_controlledAccessHighwaysHasBeenSet) + { + payload.WithBool("ControlledAccessHighways", m_controlledAccessHighways); + + } + + if(m_dirtRoadsHasBeenSet) + { + payload.WithBool("DirtRoads", m_dirtRoads); + + } + + if(m_ferriesHasBeenSet) + { + payload.WithBool("Ferries", m_ferries); + + } + + if(m_seasonalClosureHasBeenSet) + { + payload.WithBool("SeasonalClosure", m_seasonalClosure); + + } + + if(m_tollRoadsHasBeenSet) + { + payload.WithBool("TollRoads", m_tollRoads); + + } + + if(m_tollTranspondersHasBeenSet) + { + payload.WithBool("TollTransponders", m_tollTransponders); + + } + + if(m_truckRoadTypesHasBeenSet) + { + Aws::Utils::Array truckRoadTypesJsonList(m_truckRoadTypes.size()); + for(unsigned truckRoadTypesIndex = 0; truckRoadTypesIndex < truckRoadTypesJsonList.GetLength(); ++truckRoadTypesIndex) + { + truckRoadTypesJsonList[truckRoadTypesIndex].AsString(m_truckRoadTypes[truckRoadTypesIndex]); + } + payload.WithArray("TruckRoadTypes", std::move(truckRoadTypesJsonList)); + + } + + if(m_tunnelsHasBeenSet) + { + payload.WithBool("Tunnels", m_tunnels); + + } + + if(m_uTurnsHasBeenSet) + { + payload.WithBool("UTurns", m_uTurns); + + } + + if(m_zoneCategoriesHasBeenSet) + { + Aws::Utils::Array zoneCategoriesJsonList(m_zoneCategories.size()); + for(unsigned zoneCategoriesIndex = 0; zoneCategoriesIndex < zoneCategoriesJsonList.GetLength(); ++zoneCategoriesIndex) + { + zoneCategoriesJsonList[zoneCategoriesIndex].AsObject(m_zoneCategories[zoneCategoriesIndex].Jsonize()); + } + payload.WithArray("ZoneCategories", std::move(zoneCategoriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceZoneCategory.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceZoneCategory.cpp new file mode 100644 index 00000000000..6b76f0601bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineAvoidanceZoneCategory.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineAvoidanceZoneCategory::IsolineAvoidanceZoneCategory() : + m_category(IsolineZoneCategory::NOT_SET), + m_categoryHasBeenSet(false) +{ +} + +IsolineAvoidanceZoneCategory::IsolineAvoidanceZoneCategory(JsonView jsonValue) + : IsolineAvoidanceZoneCategory() +{ + *this = jsonValue; +} + +IsolineAvoidanceZoneCategory& IsolineAvoidanceZoneCategory::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Category")) + { + m_category = IsolineZoneCategoryMapper::GetIsolineZoneCategoryForName(jsonValue.GetString("Category")); + + m_categoryHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineAvoidanceZoneCategory::Jsonize() const +{ + JsonValue payload; + + if(m_categoryHasBeenSet) + { + payload.WithString("Category", IsolineZoneCategoryMapper::GetNameForIsolineZoneCategory(m_category)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineCarOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineCarOptions.cpp new file mode 100644 index 00000000000..3839a837877 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineCarOptions.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineCarOptions::IsolineCarOptions() : + m_engineType(IsolineEngineType::NOT_SET), + m_engineTypeHasBeenSet(false), + m_licensePlateHasBeenSet(false), + m_maxSpeed(0.0), + m_maxSpeedHasBeenSet(false), + m_occupancy(0), + m_occupancyHasBeenSet(false) +{ +} + +IsolineCarOptions::IsolineCarOptions(JsonView jsonValue) + : IsolineCarOptions() +{ + *this = jsonValue; +} + +IsolineCarOptions& IsolineCarOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EngineType")) + { + m_engineType = IsolineEngineTypeMapper::GetIsolineEngineTypeForName(jsonValue.GetString("EngineType")); + + m_engineTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("LicensePlate")) + { + m_licensePlate = jsonValue.GetObject("LicensePlate"); + + m_licensePlateHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxSpeed")) + { + m_maxSpeed = jsonValue.GetDouble("MaxSpeed"); + + m_maxSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Occupancy")) + { + m_occupancy = jsonValue.GetInteger("Occupancy"); + + m_occupancyHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineCarOptions::Jsonize() const +{ + JsonValue payload; + + if(m_engineTypeHasBeenSet) + { + payload.WithString("EngineType", IsolineEngineTypeMapper::GetNameForIsolineEngineType(m_engineType)); + } + + if(m_licensePlateHasBeenSet) + { + payload.WithObject("LicensePlate", m_licensePlate.Jsonize()); + + } + + if(m_maxSpeedHasBeenSet) + { + payload.WithDouble("MaxSpeed", m_maxSpeed); + + } + + if(m_occupancyHasBeenSet) + { + payload.WithInteger("Occupancy", m_occupancy); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineConnection.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineConnection.cpp new file mode 100644 index 00000000000..e703ea48c3a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineConnection.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineConnection::IsolineConnection() : + m_fromPolygonIndex(0), + m_fromPolygonIndexHasBeenSet(false), + m_geometryHasBeenSet(false), + m_toPolygonIndex(0), + m_toPolygonIndexHasBeenSet(false) +{ +} + +IsolineConnection::IsolineConnection(JsonView jsonValue) + : IsolineConnection() +{ + *this = jsonValue; +} + +IsolineConnection& IsolineConnection::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FromPolygonIndex")) + { + m_fromPolygonIndex = jsonValue.GetInteger("FromPolygonIndex"); + + m_fromPolygonIndexHasBeenSet = true; + } + + if(jsonValue.ValueExists("Geometry")) + { + m_geometry = jsonValue.GetObject("Geometry"); + + m_geometryHasBeenSet = true; + } + + if(jsonValue.ValueExists("ToPolygonIndex")) + { + m_toPolygonIndex = jsonValue.GetInteger("ToPolygonIndex"); + + m_toPolygonIndexHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineConnection::Jsonize() const +{ + JsonValue payload; + + if(m_fromPolygonIndexHasBeenSet) + { + payload.WithInteger("FromPolygonIndex", m_fromPolygonIndex); + + } + + if(m_geometryHasBeenSet) + { + payload.WithObject("Geometry", m_geometry.Jsonize()); + + } + + if(m_toPolygonIndexHasBeenSet) + { + payload.WithInteger("ToPolygonIndex", m_toPolygonIndex); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineConnectionGeometry.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineConnectionGeometry.cpp new file mode 100644 index 00000000000..6c7e83dff25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineConnectionGeometry.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineConnectionGeometry::IsolineConnectionGeometry() : + m_lineStringHasBeenSet(false), + m_polylineHasBeenSet(false) +{ +} + +IsolineConnectionGeometry::IsolineConnectionGeometry(JsonView jsonValue) + : IsolineConnectionGeometry() +{ + *this = jsonValue; +} + +IsolineConnectionGeometry& IsolineConnectionGeometry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LineString")) + { + Aws::Utils::Array lineStringJsonList = jsonValue.GetArray("LineString"); + for(unsigned lineStringIndex = 0; lineStringIndex < lineStringJsonList.GetLength(); ++lineStringIndex) + { + Aws::Utils::Array positionJsonList = lineStringJsonList[lineStringIndex].AsArray(); + Aws::Vector positionList; + positionList.reserve((size_t)positionJsonList.GetLength()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionList.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_lineString.push_back(std::move(positionList)); + } + m_lineStringHasBeenSet = true; + } + + if(jsonValue.ValueExists("Polyline")) + { + m_polyline = jsonValue.GetString("Polyline"); + + m_polylineHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineConnectionGeometry::Jsonize() const +{ + JsonValue payload; + + if(m_lineStringHasBeenSet) + { + Aws::Utils::Array lineStringJsonList(m_lineString.size()); + for(unsigned lineStringIndex = 0; lineStringIndex < lineStringJsonList.GetLength(); ++lineStringIndex) + { + Aws::Utils::Array positionJsonList(m_lineString[lineStringIndex].size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_lineString[lineStringIndex][positionIndex]); + } + lineStringJsonList[lineStringIndex].AsArray(std::move(positionJsonList)); + } + payload.WithArray("LineString", std::move(lineStringJsonList)); + + } + + if(m_polylineHasBeenSet) + { + payload.WithString("Polyline", m_polyline); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineDestinationOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineDestinationOptions.cpp new file mode 100644 index 00000000000..b65d177cc3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineDestinationOptions.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineDestinationOptions::IsolineDestinationOptions() : + m_avoidActionsForDistance(0), + m_avoidActionsForDistanceHasBeenSet(false), + m_heading(0.0), + m_headingHasBeenSet(false), + m_matchingHasBeenSet(false), + m_sideOfStreetHasBeenSet(false) +{ +} + +IsolineDestinationOptions::IsolineDestinationOptions(JsonView jsonValue) + : IsolineDestinationOptions() +{ + *this = jsonValue; +} + +IsolineDestinationOptions& IsolineDestinationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AvoidActionsForDistance")) + { + m_avoidActionsForDistance = jsonValue.GetInt64("AvoidActionsForDistance"); + + m_avoidActionsForDistanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Heading")) + { + m_heading = jsonValue.GetDouble("Heading"); + + m_headingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Matching")) + { + m_matching = jsonValue.GetObject("Matching"); + + m_matchingHasBeenSet = true; + } + + if(jsonValue.ValueExists("SideOfStreet")) + { + m_sideOfStreet = jsonValue.GetObject("SideOfStreet"); + + m_sideOfStreetHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineDestinationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_avoidActionsForDistanceHasBeenSet) + { + payload.WithInt64("AvoidActionsForDistance", m_avoidActionsForDistance); + + } + + if(m_headingHasBeenSet) + { + payload.WithDouble("Heading", m_heading); + + } + + if(m_matchingHasBeenSet) + { + payload.WithObject("Matching", m_matching.Jsonize()); + + } + + if(m_sideOfStreetHasBeenSet) + { + payload.WithObject("SideOfStreet", m_sideOfStreet.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineEngineType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineEngineType.cpp new file mode 100644 index 00000000000..dfa9bc33d53 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineEngineType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace IsolineEngineTypeMapper + { + + static const int Electric_HASH = HashingUtils::HashString("Electric"); + static const int InternalCombustion_HASH = HashingUtils::HashString("InternalCombustion"); + static const int PluginHybrid_HASH = HashingUtils::HashString("PluginHybrid"); + + + IsolineEngineType GetIsolineEngineTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Electric_HASH) + { + return IsolineEngineType::Electric; + } + else if (hashCode == InternalCombustion_HASH) + { + return IsolineEngineType::InternalCombustion; + } + else if (hashCode == PluginHybrid_HASH) + { + return IsolineEngineType::PluginHybrid; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IsolineEngineType::NOT_SET; + } + + Aws::String GetNameForIsolineEngineType(IsolineEngineType enumValue) + { + switch(enumValue) + { + case IsolineEngineType::NOT_SET: + return {}; + case IsolineEngineType::Electric: + return "Electric"; + case IsolineEngineType::InternalCombustion: + return "InternalCombustion"; + case IsolineEngineType::PluginHybrid: + return "PluginHybrid"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IsolineEngineTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineGranularityOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineGranularityOptions.cpp new file mode 100644 index 00000000000..6a331f80812 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineGranularityOptions.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineGranularityOptions::IsolineGranularityOptions() : + m_maxPoints(0), + m_maxPointsHasBeenSet(false), + m_maxResolution(0), + m_maxResolutionHasBeenSet(false) +{ +} + +IsolineGranularityOptions::IsolineGranularityOptions(JsonView jsonValue) + : IsolineGranularityOptions() +{ + *this = jsonValue; +} + +IsolineGranularityOptions& IsolineGranularityOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("MaxPoints")) + { + m_maxPoints = jsonValue.GetInteger("MaxPoints"); + + m_maxPointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxResolution")) + { + m_maxResolution = jsonValue.GetInt64("MaxResolution"); + + m_maxResolutionHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineGranularityOptions::Jsonize() const +{ + JsonValue payload; + + if(m_maxPointsHasBeenSet) + { + payload.WithInteger("MaxPoints", m_maxPoints); + + } + + if(m_maxResolutionHasBeenSet) + { + payload.WithInt64("MaxResolution", m_maxResolution); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineHazardousCargoType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineHazardousCargoType.cpp new file mode 100644 index 00000000000..c8871730c54 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineHazardousCargoType.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace IsolineHazardousCargoTypeMapper + { + + static const int Combustible_HASH = HashingUtils::HashString("Combustible"); + static const int Corrosive_HASH = HashingUtils::HashString("Corrosive"); + static const int Explosive_HASH = HashingUtils::HashString("Explosive"); + static const int Flammable_HASH = HashingUtils::HashString("Flammable"); + static const int Gas_HASH = HashingUtils::HashString("Gas"); + static const int HarmfulToWater_HASH = HashingUtils::HashString("HarmfulToWater"); + static const int Organic_HASH = HashingUtils::HashString("Organic"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int Poison_HASH = HashingUtils::HashString("Poison"); + static const int PoisonousInhalation_HASH = HashingUtils::HashString("PoisonousInhalation"); + static const int Radioactive_HASH = HashingUtils::HashString("Radioactive"); + + + IsolineHazardousCargoType GetIsolineHazardousCargoTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Combustible_HASH) + { + return IsolineHazardousCargoType::Combustible; + } + else if (hashCode == Corrosive_HASH) + { + return IsolineHazardousCargoType::Corrosive; + } + else if (hashCode == Explosive_HASH) + { + return IsolineHazardousCargoType::Explosive; + } + else if (hashCode == Flammable_HASH) + { + return IsolineHazardousCargoType::Flammable; + } + else if (hashCode == Gas_HASH) + { + return IsolineHazardousCargoType::Gas; + } + else if (hashCode == HarmfulToWater_HASH) + { + return IsolineHazardousCargoType::HarmfulToWater; + } + else if (hashCode == Organic_HASH) + { + return IsolineHazardousCargoType::Organic; + } + else if (hashCode == Other_HASH) + { + return IsolineHazardousCargoType::Other; + } + else if (hashCode == Poison_HASH) + { + return IsolineHazardousCargoType::Poison; + } + else if (hashCode == PoisonousInhalation_HASH) + { + return IsolineHazardousCargoType::PoisonousInhalation; + } + else if (hashCode == Radioactive_HASH) + { + return IsolineHazardousCargoType::Radioactive; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IsolineHazardousCargoType::NOT_SET; + } + + Aws::String GetNameForIsolineHazardousCargoType(IsolineHazardousCargoType enumValue) + { + switch(enumValue) + { + case IsolineHazardousCargoType::NOT_SET: + return {}; + case IsolineHazardousCargoType::Combustible: + return "Combustible"; + case IsolineHazardousCargoType::Corrosive: + return "Corrosive"; + case IsolineHazardousCargoType::Explosive: + return "Explosive"; + case IsolineHazardousCargoType::Flammable: + return "Flammable"; + case IsolineHazardousCargoType::Gas: + return "Gas"; + case IsolineHazardousCargoType::HarmfulToWater: + return "HarmfulToWater"; + case IsolineHazardousCargoType::Organic: + return "Organic"; + case IsolineHazardousCargoType::Other: + return "Other"; + case IsolineHazardousCargoType::Poison: + return "Poison"; + case IsolineHazardousCargoType::PoisonousInhalation: + return "PoisonousInhalation"; + case IsolineHazardousCargoType::Radioactive: + return "Radioactive"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IsolineHazardousCargoTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineMatchingOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineMatchingOptions.cpp new file mode 100644 index 00000000000..61e412acbc6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineMatchingOptions.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineMatchingOptions::IsolineMatchingOptions() : + m_nameHintHasBeenSet(false), + m_onRoadThreshold(0), + m_onRoadThresholdHasBeenSet(false), + m_radius(0), + m_radiusHasBeenSet(false), + m_strategy(MatchingStrategy::NOT_SET), + m_strategyHasBeenSet(false) +{ +} + +IsolineMatchingOptions::IsolineMatchingOptions(JsonView jsonValue) + : IsolineMatchingOptions() +{ + *this = jsonValue; +} + +IsolineMatchingOptions& IsolineMatchingOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("NameHint")) + { + m_nameHint = jsonValue.GetString("NameHint"); + + m_nameHintHasBeenSet = true; + } + + if(jsonValue.ValueExists("OnRoadThreshold")) + { + m_onRoadThreshold = jsonValue.GetInt64("OnRoadThreshold"); + + m_onRoadThresholdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Radius")) + { + m_radius = jsonValue.GetInt64("Radius"); + + m_radiusHasBeenSet = true; + } + + if(jsonValue.ValueExists("Strategy")) + { + m_strategy = MatchingStrategyMapper::GetMatchingStrategyForName(jsonValue.GetString("Strategy")); + + m_strategyHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineMatchingOptions::Jsonize() const +{ + JsonValue payload; + + if(m_nameHintHasBeenSet) + { + payload.WithString("NameHint", m_nameHint); + + } + + if(m_onRoadThresholdHasBeenSet) + { + payload.WithInt64("OnRoadThreshold", m_onRoadThreshold); + + } + + if(m_radiusHasBeenSet) + { + payload.WithInt64("Radius", m_radius); + + } + + if(m_strategyHasBeenSet) + { + payload.WithString("Strategy", MatchingStrategyMapper::GetNameForMatchingStrategy(m_strategy)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineOptimizationObjective.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineOptimizationObjective.cpp new file mode 100644 index 00000000000..44d3c7bfe1b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineOptimizationObjective.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace IsolineOptimizationObjectiveMapper + { + + static const int AccurateCalculation_HASH = HashingUtils::HashString("AccurateCalculation"); + static const int BalancedCalculation_HASH = HashingUtils::HashString("BalancedCalculation"); + static const int FastCalculation_HASH = HashingUtils::HashString("FastCalculation"); + + + IsolineOptimizationObjective GetIsolineOptimizationObjectiveForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AccurateCalculation_HASH) + { + return IsolineOptimizationObjective::AccurateCalculation; + } + else if (hashCode == BalancedCalculation_HASH) + { + return IsolineOptimizationObjective::BalancedCalculation; + } + else if (hashCode == FastCalculation_HASH) + { + return IsolineOptimizationObjective::FastCalculation; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IsolineOptimizationObjective::NOT_SET; + } + + Aws::String GetNameForIsolineOptimizationObjective(IsolineOptimizationObjective enumValue) + { + switch(enumValue) + { + case IsolineOptimizationObjective::NOT_SET: + return {}; + case IsolineOptimizationObjective::AccurateCalculation: + return "AccurateCalculation"; + case IsolineOptimizationObjective::BalancedCalculation: + return "BalancedCalculation"; + case IsolineOptimizationObjective::FastCalculation: + return "FastCalculation"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IsolineOptimizationObjectiveMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineOriginOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineOriginOptions.cpp new file mode 100644 index 00000000000..b293fa6bca0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineOriginOptions.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineOriginOptions::IsolineOriginOptions() : + m_avoidActionsForDistance(0), + m_avoidActionsForDistanceHasBeenSet(false), + m_heading(0.0), + m_headingHasBeenSet(false), + m_matchingHasBeenSet(false), + m_sideOfStreetHasBeenSet(false) +{ +} + +IsolineOriginOptions::IsolineOriginOptions(JsonView jsonValue) + : IsolineOriginOptions() +{ + *this = jsonValue; +} + +IsolineOriginOptions& IsolineOriginOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AvoidActionsForDistance")) + { + m_avoidActionsForDistance = jsonValue.GetInt64("AvoidActionsForDistance"); + + m_avoidActionsForDistanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Heading")) + { + m_heading = jsonValue.GetDouble("Heading"); + + m_headingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Matching")) + { + m_matching = jsonValue.GetObject("Matching"); + + m_matchingHasBeenSet = true; + } + + if(jsonValue.ValueExists("SideOfStreet")) + { + m_sideOfStreet = jsonValue.GetObject("SideOfStreet"); + + m_sideOfStreetHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineOriginOptions::Jsonize() const +{ + JsonValue payload; + + if(m_avoidActionsForDistanceHasBeenSet) + { + payload.WithInt64("AvoidActionsForDistance", m_avoidActionsForDistance); + + } + + if(m_headingHasBeenSet) + { + payload.WithDouble("Heading", m_heading); + + } + + if(m_matchingHasBeenSet) + { + payload.WithObject("Matching", m_matching.Jsonize()); + + } + + if(m_sideOfStreetHasBeenSet) + { + payload.WithObject("SideOfStreet", m_sideOfStreet.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineScooterOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineScooterOptions.cpp new file mode 100644 index 00000000000..97a924f0cfa --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineScooterOptions.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineScooterOptions::IsolineScooterOptions() : + m_engineType(IsolineEngineType::NOT_SET), + m_engineTypeHasBeenSet(false), + m_licensePlateHasBeenSet(false), + m_maxSpeed(0.0), + m_maxSpeedHasBeenSet(false), + m_occupancy(0), + m_occupancyHasBeenSet(false) +{ +} + +IsolineScooterOptions::IsolineScooterOptions(JsonView jsonValue) + : IsolineScooterOptions() +{ + *this = jsonValue; +} + +IsolineScooterOptions& IsolineScooterOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EngineType")) + { + m_engineType = IsolineEngineTypeMapper::GetIsolineEngineTypeForName(jsonValue.GetString("EngineType")); + + m_engineTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("LicensePlate")) + { + m_licensePlate = jsonValue.GetObject("LicensePlate"); + + m_licensePlateHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxSpeed")) + { + m_maxSpeed = jsonValue.GetDouble("MaxSpeed"); + + m_maxSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Occupancy")) + { + m_occupancy = jsonValue.GetInteger("Occupancy"); + + m_occupancyHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineScooterOptions::Jsonize() const +{ + JsonValue payload; + + if(m_engineTypeHasBeenSet) + { + payload.WithString("EngineType", IsolineEngineTypeMapper::GetNameForIsolineEngineType(m_engineType)); + } + + if(m_licensePlateHasBeenSet) + { + payload.WithObject("LicensePlate", m_licensePlate.Jsonize()); + + } + + if(m_maxSpeedHasBeenSet) + { + payload.WithDouble("MaxSpeed", m_maxSpeed); + + } + + if(m_occupancyHasBeenSet) + { + payload.WithInteger("Occupancy", m_occupancy); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineShapeGeometry.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineShapeGeometry.cpp new file mode 100644 index 00000000000..38901eefd6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineShapeGeometry.cpp @@ -0,0 +1,113 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineShapeGeometry::IsolineShapeGeometry() : + m_polygonHasBeenSet(false), + m_polylinePolygonHasBeenSet(false) +{ +} + +IsolineShapeGeometry::IsolineShapeGeometry(JsonView jsonValue) + : IsolineShapeGeometry() +{ + *this = jsonValue; +} + +IsolineShapeGeometry& IsolineShapeGeometry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Polygon")) + { + Aws::Utils::Array polygonJsonList = jsonValue.GetArray("Polygon"); + for(unsigned polygonIndex = 0; polygonIndex < polygonJsonList.GetLength(); ++polygonIndex) + { + Aws::Utils::Array linearRingJsonList = polygonJsonList[polygonIndex].AsArray(); + Aws::Vector> linearRingList; + linearRingList.reserve((size_t)linearRingJsonList.GetLength()); + for(unsigned linearRingIndex = 0; linearRingIndex < linearRingJsonList.GetLength(); ++linearRingIndex) + { + Aws::Utils::Array positionJsonList = linearRingJsonList[linearRingIndex].AsArray(); + Aws::Vector positionList; + positionList.reserve((size_t)positionJsonList.GetLength()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionList.push_back(positionJsonList[positionIndex].AsDouble()); + } + linearRingList.push_back(std::move(positionList)); + } + m_polygon.push_back(std::move(linearRingList)); + } + m_polygonHasBeenSet = true; + } + + if(jsonValue.ValueExists("PolylinePolygon")) + { + Aws::Utils::Array polylinePolygonJsonList = jsonValue.GetArray("PolylinePolygon"); + for(unsigned polylinePolygonIndex = 0; polylinePolygonIndex < polylinePolygonJsonList.GetLength(); ++polylinePolygonIndex) + { + m_polylinePolygon.push_back(polylinePolygonJsonList[polylinePolygonIndex].AsString()); + } + m_polylinePolygonHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineShapeGeometry::Jsonize() const +{ + JsonValue payload; + + if(m_polygonHasBeenSet) + { + Aws::Utils::Array polygonJsonList(m_polygon.size()); + for(unsigned polygonIndex = 0; polygonIndex < polygonJsonList.GetLength(); ++polygonIndex) + { + Aws::Utils::Array linearRingJsonList(m_polygon[polygonIndex].size()); + for(unsigned linearRingIndex = 0; linearRingIndex < linearRingJsonList.GetLength(); ++linearRingIndex) + { + Aws::Utils::Array positionJsonList(m_polygon[polygonIndex][linearRingIndex].size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_polygon[polygonIndex][linearRingIndex][positionIndex]); + } + linearRingJsonList[linearRingIndex].AsArray(std::move(positionJsonList)); + } + polygonJsonList[polygonIndex].AsArray(std::move(linearRingJsonList)); + } + payload.WithArray("Polygon", std::move(polygonJsonList)); + + } + + if(m_polylinePolygonHasBeenSet) + { + Aws::Utils::Array polylinePolygonJsonList(m_polylinePolygon.size()); + for(unsigned polylinePolygonIndex = 0; polylinePolygonIndex < polylinePolygonJsonList.GetLength(); ++polylinePolygonIndex) + { + polylinePolygonJsonList[polylinePolygonIndex].AsString(m_polylinePolygon[polylinePolygonIndex]); + } + payload.WithArray("PolylinePolygon", std::move(polylinePolygonJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineSideOfStreetOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineSideOfStreetOptions.cpp new file mode 100644 index 00000000000..b1b298e158a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineSideOfStreetOptions.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineSideOfStreetOptions::IsolineSideOfStreetOptions() : + m_positionHasBeenSet(false), + m_useWith(SideOfStreetMatchingStrategy::NOT_SET), + m_useWithHasBeenSet(false) +{ +} + +IsolineSideOfStreetOptions::IsolineSideOfStreetOptions(JsonView jsonValue) + : IsolineSideOfStreetOptions() +{ + *this = jsonValue; +} + +IsolineSideOfStreetOptions& IsolineSideOfStreetOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("UseWith")) + { + m_useWith = SideOfStreetMatchingStrategyMapper::GetSideOfStreetMatchingStrategyForName(jsonValue.GetString("UseWith")); + + m_useWithHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineSideOfStreetOptions::Jsonize() const +{ + JsonValue payload; + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_useWithHasBeenSet) + { + payload.WithString("UseWith", SideOfStreetMatchingStrategyMapper::GetNameForSideOfStreetMatchingStrategy(m_useWith)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineThresholds.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineThresholds.cpp new file mode 100644 index 00000000000..c85772ca1e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineThresholds.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineThresholds::IsolineThresholds() : + m_distanceHasBeenSet(false), + m_timeHasBeenSet(false) +{ +} + +IsolineThresholds::IsolineThresholds(JsonView jsonValue) + : IsolineThresholds() +{ + *this = jsonValue; +} + +IsolineThresholds& IsolineThresholds::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Distance")) + { + Aws::Utils::Array distanceJsonList = jsonValue.GetArray("Distance"); + for(unsigned distanceIndex = 0; distanceIndex < distanceJsonList.GetLength(); ++distanceIndex) + { + m_distance.push_back(distanceJsonList[distanceIndex].AsInt64()); + } + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Time")) + { + Aws::Utils::Array timeJsonList = jsonValue.GetArray("Time"); + for(unsigned timeIndex = 0; timeIndex < timeJsonList.GetLength(); ++timeIndex) + { + m_time.push_back(timeJsonList[timeIndex].AsInt64()); + } + m_timeHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineThresholds::Jsonize() const +{ + JsonValue payload; + + if(m_distanceHasBeenSet) + { + Aws::Utils::Array distanceJsonList(m_distance.size()); + for(unsigned distanceIndex = 0; distanceIndex < distanceJsonList.GetLength(); ++distanceIndex) + { + distanceJsonList[distanceIndex].AsInt64(m_distance[distanceIndex]); + } + payload.WithArray("Distance", std::move(distanceJsonList)); + + } + + if(m_timeHasBeenSet) + { + Aws::Utils::Array timeJsonList(m_time.size()); + for(unsigned timeIndex = 0; timeIndex < timeJsonList.GetLength(); ++timeIndex) + { + timeJsonList[timeIndex].AsInt64(m_time[timeIndex]); + } + payload.WithArray("Time", std::move(timeJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTrafficOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTrafficOptions.cpp new file mode 100644 index 00000000000..ae2dc572655 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTrafficOptions.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineTrafficOptions::IsolineTrafficOptions() : + m_flowEventThresholdOverride(0), + m_flowEventThresholdOverrideHasBeenSet(false), + m_usage(TrafficUsage::NOT_SET), + m_usageHasBeenSet(false) +{ +} + +IsolineTrafficOptions::IsolineTrafficOptions(JsonView jsonValue) + : IsolineTrafficOptions() +{ + *this = jsonValue; +} + +IsolineTrafficOptions& IsolineTrafficOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FlowEventThresholdOverride")) + { + m_flowEventThresholdOverride = jsonValue.GetInt64("FlowEventThresholdOverride"); + + m_flowEventThresholdOverrideHasBeenSet = true; + } + + if(jsonValue.ValueExists("Usage")) + { + m_usage = TrafficUsageMapper::GetTrafficUsageForName(jsonValue.GetString("Usage")); + + m_usageHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineTrafficOptions::Jsonize() const +{ + JsonValue payload; + + if(m_flowEventThresholdOverrideHasBeenSet) + { + payload.WithInt64("FlowEventThresholdOverride", m_flowEventThresholdOverride); + + } + + if(m_usageHasBeenSet) + { + payload.WithString("Usage", TrafficUsageMapper::GetNameForTrafficUsage(m_usage)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTrailerOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTrailerOptions.cpp new file mode 100644 index 00000000000..224b7ba3ff9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTrailerOptions.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineTrailerOptions::IsolineTrailerOptions() : + m_axleCount(0), + m_axleCountHasBeenSet(false), + m_trailerCount(0), + m_trailerCountHasBeenSet(false) +{ +} + +IsolineTrailerOptions::IsolineTrailerOptions(JsonView jsonValue) + : IsolineTrailerOptions() +{ + *this = jsonValue; +} + +IsolineTrailerOptions& IsolineTrailerOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AxleCount")) + { + m_axleCount = jsonValue.GetInteger("AxleCount"); + + m_axleCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("TrailerCount")) + { + m_trailerCount = jsonValue.GetInteger("TrailerCount"); + + m_trailerCountHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineTrailerOptions::Jsonize() const +{ + JsonValue payload; + + if(m_axleCountHasBeenSet) + { + payload.WithInteger("AxleCount", m_axleCount); + + } + + if(m_trailerCountHasBeenSet) + { + payload.WithInteger("TrailerCount", m_trailerCount); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTravelMode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTravelMode.cpp new file mode 100644 index 00000000000..c2497bbdbb9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTravelMode.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace IsolineTravelModeMapper + { + + static const int Car_HASH = HashingUtils::HashString("Car"); + static const int Pedestrian_HASH = HashingUtils::HashString("Pedestrian"); + static const int Scooter_HASH = HashingUtils::HashString("Scooter"); + static const int Truck_HASH = HashingUtils::HashString("Truck"); + + + IsolineTravelMode GetIsolineTravelModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Car_HASH) + { + return IsolineTravelMode::Car; + } + else if (hashCode == Pedestrian_HASH) + { + return IsolineTravelMode::Pedestrian; + } + else if (hashCode == Scooter_HASH) + { + return IsolineTravelMode::Scooter; + } + else if (hashCode == Truck_HASH) + { + return IsolineTravelMode::Truck; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IsolineTravelMode::NOT_SET; + } + + Aws::String GetNameForIsolineTravelMode(IsolineTravelMode enumValue) + { + switch(enumValue) + { + case IsolineTravelMode::NOT_SET: + return {}; + case IsolineTravelMode::Car: + return "Car"; + case IsolineTravelMode::Pedestrian: + return "Pedestrian"; + case IsolineTravelMode::Scooter: + return "Scooter"; + case IsolineTravelMode::Truck: + return "Truck"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IsolineTravelModeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTravelModeOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTravelModeOptions.cpp new file mode 100644 index 00000000000..a76c525860b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTravelModeOptions.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineTravelModeOptions::IsolineTravelModeOptions() : + m_carHasBeenSet(false), + m_scooterHasBeenSet(false), + m_truckHasBeenSet(false) +{ +} + +IsolineTravelModeOptions::IsolineTravelModeOptions(JsonView jsonValue) + : IsolineTravelModeOptions() +{ + *this = jsonValue; +} + +IsolineTravelModeOptions& IsolineTravelModeOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Car")) + { + m_car = jsonValue.GetObject("Car"); + + m_carHasBeenSet = true; + } + + if(jsonValue.ValueExists("Scooter")) + { + m_scooter = jsonValue.GetObject("Scooter"); + + m_scooterHasBeenSet = true; + } + + if(jsonValue.ValueExists("Truck")) + { + m_truck = jsonValue.GetObject("Truck"); + + m_truckHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineTravelModeOptions::Jsonize() const +{ + JsonValue payload; + + if(m_carHasBeenSet) + { + payload.WithObject("Car", m_car.Jsonize()); + + } + + if(m_scooterHasBeenSet) + { + payload.WithObject("Scooter", m_scooter.Jsonize()); + + } + + if(m_truckHasBeenSet) + { + payload.WithObject("Truck", m_truck.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTruckOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTruckOptions.cpp new file mode 100644 index 00000000000..19b38098813 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTruckOptions.cpp @@ -0,0 +1,331 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineTruckOptions::IsolineTruckOptions() : + m_axleCount(0), + m_axleCountHasBeenSet(false), + m_engineType(IsolineEngineType::NOT_SET), + m_engineTypeHasBeenSet(false), + m_grossWeight(0), + m_grossWeightHasBeenSet(false), + m_hazardousCargosHasBeenSet(false), + m_height(0), + m_heightHasBeenSet(false), + m_heightAboveFirstAxle(0), + m_heightAboveFirstAxleHasBeenSet(false), + m_kpraLength(0), + m_kpraLengthHasBeenSet(false), + m_length(0), + m_lengthHasBeenSet(false), + m_licensePlateHasBeenSet(false), + m_maxSpeed(0.0), + m_maxSpeedHasBeenSet(false), + m_occupancy(0), + m_occupancyHasBeenSet(false), + m_payloadCapacity(0), + m_payloadCapacityHasBeenSet(false), + m_tireCount(0), + m_tireCountHasBeenSet(false), + m_trailerHasBeenSet(false), + m_truckType(IsolineTruckType::NOT_SET), + m_truckTypeHasBeenSet(false), + m_tunnelRestrictionCodeHasBeenSet(false), + m_weightPerAxle(0), + m_weightPerAxleHasBeenSet(false), + m_weightPerAxleGroupHasBeenSet(false), + m_width(0), + m_widthHasBeenSet(false) +{ +} + +IsolineTruckOptions::IsolineTruckOptions(JsonView jsonValue) + : IsolineTruckOptions() +{ + *this = jsonValue; +} + +IsolineTruckOptions& IsolineTruckOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AxleCount")) + { + m_axleCount = jsonValue.GetInteger("AxleCount"); + + m_axleCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("EngineType")) + { + m_engineType = IsolineEngineTypeMapper::GetIsolineEngineTypeForName(jsonValue.GetString("EngineType")); + + m_engineTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("GrossWeight")) + { + m_grossWeight = jsonValue.GetInt64("GrossWeight"); + + m_grossWeightHasBeenSet = true; + } + + if(jsonValue.ValueExists("HazardousCargos")) + { + Aws::Utils::Array hazardousCargosJsonList = jsonValue.GetArray("HazardousCargos"); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + m_hazardousCargos.push_back(IsolineHazardousCargoTypeMapper::GetIsolineHazardousCargoTypeForName(hazardousCargosJsonList[hazardousCargosIndex].AsString())); + } + m_hazardousCargosHasBeenSet = true; + } + + if(jsonValue.ValueExists("Height")) + { + m_height = jsonValue.GetInt64("Height"); + + m_heightHasBeenSet = true; + } + + if(jsonValue.ValueExists("HeightAboveFirstAxle")) + { + m_heightAboveFirstAxle = jsonValue.GetInt64("HeightAboveFirstAxle"); + + m_heightAboveFirstAxleHasBeenSet = true; + } + + if(jsonValue.ValueExists("KpraLength")) + { + m_kpraLength = jsonValue.GetInt64("KpraLength"); + + m_kpraLengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("Length")) + { + m_length = jsonValue.GetInt64("Length"); + + m_lengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("LicensePlate")) + { + m_licensePlate = jsonValue.GetObject("LicensePlate"); + + m_licensePlateHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxSpeed")) + { + m_maxSpeed = jsonValue.GetDouble("MaxSpeed"); + + m_maxSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Occupancy")) + { + m_occupancy = jsonValue.GetInteger("Occupancy"); + + m_occupancyHasBeenSet = true; + } + + if(jsonValue.ValueExists("PayloadCapacity")) + { + m_payloadCapacity = jsonValue.GetInt64("PayloadCapacity"); + + m_payloadCapacityHasBeenSet = true; + } + + if(jsonValue.ValueExists("TireCount")) + { + m_tireCount = jsonValue.GetInteger("TireCount"); + + m_tireCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("Trailer")) + { + m_trailer = jsonValue.GetObject("Trailer"); + + m_trailerHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckType")) + { + m_truckType = IsolineTruckTypeMapper::GetIsolineTruckTypeForName(jsonValue.GetString("TruckType")); + + m_truckTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("TunnelRestrictionCode")) + { + m_tunnelRestrictionCode = jsonValue.GetString("TunnelRestrictionCode"); + + m_tunnelRestrictionCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("WeightPerAxle")) + { + m_weightPerAxle = jsonValue.GetInt64("WeightPerAxle"); + + m_weightPerAxleHasBeenSet = true; + } + + if(jsonValue.ValueExists("WeightPerAxleGroup")) + { + m_weightPerAxleGroup = jsonValue.GetObject("WeightPerAxleGroup"); + + m_weightPerAxleGroupHasBeenSet = true; + } + + if(jsonValue.ValueExists("Width")) + { + m_width = jsonValue.GetInt64("Width"); + + m_widthHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineTruckOptions::Jsonize() const +{ + JsonValue payload; + + if(m_axleCountHasBeenSet) + { + payload.WithInteger("AxleCount", m_axleCount); + + } + + if(m_engineTypeHasBeenSet) + { + payload.WithString("EngineType", IsolineEngineTypeMapper::GetNameForIsolineEngineType(m_engineType)); + } + + if(m_grossWeightHasBeenSet) + { + payload.WithInt64("GrossWeight", m_grossWeight); + + } + + if(m_hazardousCargosHasBeenSet) + { + Aws::Utils::Array hazardousCargosJsonList(m_hazardousCargos.size()); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + hazardousCargosJsonList[hazardousCargosIndex].AsString(IsolineHazardousCargoTypeMapper::GetNameForIsolineHazardousCargoType(m_hazardousCargos[hazardousCargosIndex])); + } + payload.WithArray("HazardousCargos", std::move(hazardousCargosJsonList)); + + } + + if(m_heightHasBeenSet) + { + payload.WithInt64("Height", m_height); + + } + + if(m_heightAboveFirstAxleHasBeenSet) + { + payload.WithInt64("HeightAboveFirstAxle", m_heightAboveFirstAxle); + + } + + if(m_kpraLengthHasBeenSet) + { + payload.WithInt64("KpraLength", m_kpraLength); + + } + + if(m_lengthHasBeenSet) + { + payload.WithInt64("Length", m_length); + + } + + if(m_licensePlateHasBeenSet) + { + payload.WithObject("LicensePlate", m_licensePlate.Jsonize()); + + } + + if(m_maxSpeedHasBeenSet) + { + payload.WithDouble("MaxSpeed", m_maxSpeed); + + } + + if(m_occupancyHasBeenSet) + { + payload.WithInteger("Occupancy", m_occupancy); + + } + + if(m_payloadCapacityHasBeenSet) + { + payload.WithInt64("PayloadCapacity", m_payloadCapacity); + + } + + if(m_tireCountHasBeenSet) + { + payload.WithInteger("TireCount", m_tireCount); + + } + + if(m_trailerHasBeenSet) + { + payload.WithObject("Trailer", m_trailer.Jsonize()); + + } + + if(m_truckTypeHasBeenSet) + { + payload.WithString("TruckType", IsolineTruckTypeMapper::GetNameForIsolineTruckType(m_truckType)); + } + + if(m_tunnelRestrictionCodeHasBeenSet) + { + payload.WithString("TunnelRestrictionCode", m_tunnelRestrictionCode); + + } + + if(m_weightPerAxleHasBeenSet) + { + payload.WithInt64("WeightPerAxle", m_weightPerAxle); + + } + + if(m_weightPerAxleGroupHasBeenSet) + { + payload.WithObject("WeightPerAxleGroup", m_weightPerAxleGroup.Jsonize()); + + } + + if(m_widthHasBeenSet) + { + payload.WithInt64("Width", m_width); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTruckType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTruckType.cpp new file mode 100644 index 00000000000..0d3d738809c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineTruckType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace IsolineTruckTypeMapper + { + + static const int LightTruck_HASH = HashingUtils::HashString("LightTruck"); + static const int StraightTruck_HASH = HashingUtils::HashString("StraightTruck"); + static const int Tractor_HASH = HashingUtils::HashString("Tractor"); + + + IsolineTruckType GetIsolineTruckTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == LightTruck_HASH) + { + return IsolineTruckType::LightTruck; + } + else if (hashCode == StraightTruck_HASH) + { + return IsolineTruckType::StraightTruck; + } + else if (hashCode == Tractor_HASH) + { + return IsolineTruckType::Tractor; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IsolineTruckType::NOT_SET; + } + + Aws::String GetNameForIsolineTruckType(IsolineTruckType enumValue) + { + switch(enumValue) + { + case IsolineTruckType::NOT_SET: + return {}; + case IsolineTruckType::LightTruck: + return "LightTruck"; + case IsolineTruckType::StraightTruck: + return "StraightTruck"; + case IsolineTruckType::Tractor: + return "Tractor"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IsolineTruckTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineVehicleLicensePlate.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineVehicleLicensePlate.cpp new file mode 100644 index 00000000000..d9dd481c738 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineVehicleLicensePlate.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +IsolineVehicleLicensePlate::IsolineVehicleLicensePlate() : + m_lastCharacterHasBeenSet(false) +{ +} + +IsolineVehicleLicensePlate::IsolineVehicleLicensePlate(JsonView jsonValue) + : IsolineVehicleLicensePlate() +{ + *this = jsonValue; +} + +IsolineVehicleLicensePlate& IsolineVehicleLicensePlate::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LastCharacter")) + { + m_lastCharacter = jsonValue.GetString("LastCharacter"); + + m_lastCharacterHasBeenSet = true; + } + + return *this; +} + +JsonValue IsolineVehicleLicensePlate::Jsonize() const +{ + JsonValue payload; + + if(m_lastCharacterHasBeenSet) + { + payload.WithString("LastCharacter", m_lastCharacter); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineZoneCategory.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineZoneCategory.cpp new file mode 100644 index 00000000000..d250815f8e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/IsolineZoneCategory.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace IsolineZoneCategoryMapper + { + + static const int CongestionPricing_HASH = HashingUtils::HashString("CongestionPricing"); + static const int Environmental_HASH = HashingUtils::HashString("Environmental"); + static const int Vignette_HASH = HashingUtils::HashString("Vignette"); + + + IsolineZoneCategory GetIsolineZoneCategoryForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CongestionPricing_HASH) + { + return IsolineZoneCategory::CongestionPricing; + } + else if (hashCode == Environmental_HASH) + { + return IsolineZoneCategory::Environmental; + } + else if (hashCode == Vignette_HASH) + { + return IsolineZoneCategory::Vignette; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IsolineZoneCategory::NOT_SET; + } + + Aws::String GetNameForIsolineZoneCategory(IsolineZoneCategory enumValue) + { + switch(enumValue) + { + case IsolineZoneCategory::NOT_SET: + return {}; + case IsolineZoneCategory::CongestionPricing: + return "CongestionPricing"; + case IsolineZoneCategory::Environmental: + return "Environmental"; + case IsolineZoneCategory::Vignette: + return "Vignette"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IsolineZoneCategoryMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/LocalizedString.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/LocalizedString.cpp new file mode 100644 index 00000000000..0fc31c2bdfa --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/LocalizedString.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +LocalizedString::LocalizedString() : + m_languageHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +LocalizedString::LocalizedString(JsonView jsonValue) + : LocalizedString() +{ + *this = jsonValue; +} + +LocalizedString& LocalizedString::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Language")) + { + m_language = jsonValue.GetString("Language"); + + m_languageHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue LocalizedString::Jsonize() const +{ + JsonValue payload; + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/MatchingStrategy.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/MatchingStrategy.cpp new file mode 100644 index 00000000000..079f6e84b67 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/MatchingStrategy.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace MatchingStrategyMapper + { + + static const int MatchAny_HASH = HashingUtils::HashString("MatchAny"); + static const int MatchMostSignificantRoad_HASH = HashingUtils::HashString("MatchMostSignificantRoad"); + + + MatchingStrategy GetMatchingStrategyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == MatchAny_HASH) + { + return MatchingStrategy::MatchAny; + } + else if (hashCode == MatchMostSignificantRoad_HASH) + { + return MatchingStrategy::MatchMostSignificantRoad; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MatchingStrategy::NOT_SET; + } + + Aws::String GetNameForMatchingStrategy(MatchingStrategy enumValue) + { + switch(enumValue) + { + case MatchingStrategy::NOT_SET: + return {}; + case MatchingStrategy::MatchAny: + return "MatchAny"; + case MatchingStrategy::MatchMostSignificantRoad: + return "MatchMostSignificantRoad"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MatchingStrategyMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/MeasurementSystem.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/MeasurementSystem.cpp new file mode 100644 index 00000000000..d7de492d168 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/MeasurementSystem.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace MeasurementSystemMapper + { + + static const int Metric_HASH = HashingUtils::HashString("Metric"); + static const int Imperial_HASH = HashingUtils::HashString("Imperial"); + + + MeasurementSystem GetMeasurementSystemForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Metric_HASH) + { + return MeasurementSystem::Metric; + } + else if (hashCode == Imperial_HASH) + { + return MeasurementSystem::Imperial; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return MeasurementSystem::NOT_SET; + } + + Aws::String GetNameForMeasurementSystem(MeasurementSystem enumValue) + { + switch(enumValue) + { + case MeasurementSystem::NOT_SET: + return {}; + case MeasurementSystem::Metric: + return "Metric"; + case MeasurementSystem::Imperial: + return "Imperial"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace MeasurementSystemMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/OptimizeWaypointsRequest.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/OptimizeWaypointsRequest.cpp new file mode 100644 index 00000000000..3081f2549cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/OptimizeWaypointsRequest.cpp @@ -0,0 +1,149 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoRoutes::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +OptimizeWaypointsRequest::OptimizeWaypointsRequest() : + m_avoidHasBeenSet(false), + m_departureTimeHasBeenSet(false), + m_destinationHasBeenSet(false), + m_destinationOptionsHasBeenSet(false), + m_driverHasBeenSet(false), + m_excludeHasBeenSet(false), + m_keyHasBeenSet(false), + m_optimizeSequencingFor(WaypointOptimizationSequencingObjective::NOT_SET), + m_optimizeSequencingForHasBeenSet(false), + m_originHasBeenSet(false), + m_originOptionsHasBeenSet(false), + m_trafficHasBeenSet(false), + m_travelMode(WaypointOptimizationTravelMode::NOT_SET), + m_travelModeHasBeenSet(false), + m_travelModeOptionsHasBeenSet(false), + m_waypointsHasBeenSet(false) +{ +} + +Aws::String OptimizeWaypointsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_avoidHasBeenSet) + { + payload.WithObject("Avoid", m_avoid.Jsonize()); + + } + + if(m_departureTimeHasBeenSet) + { + payload.WithString("DepartureTime", m_departureTime); + + } + + if(m_destinationHasBeenSet) + { + Aws::Utils::Array destinationJsonList(m_destination.size()); + for(unsigned destinationIndex = 0; destinationIndex < destinationJsonList.GetLength(); ++destinationIndex) + { + destinationJsonList[destinationIndex].AsDouble(m_destination[destinationIndex]); + } + payload.WithArray("Destination", std::move(destinationJsonList)); + + } + + if(m_destinationOptionsHasBeenSet) + { + payload.WithObject("DestinationOptions", m_destinationOptions.Jsonize()); + + } + + if(m_driverHasBeenSet) + { + payload.WithObject("Driver", m_driver.Jsonize()); + + } + + if(m_excludeHasBeenSet) + { + payload.WithObject("Exclude", m_exclude.Jsonize()); + + } + + if(m_optimizeSequencingForHasBeenSet) + { + payload.WithString("OptimizeSequencingFor", WaypointOptimizationSequencingObjectiveMapper::GetNameForWaypointOptimizationSequencingObjective(m_optimizeSequencingFor)); + } + + if(m_originHasBeenSet) + { + Aws::Utils::Array originJsonList(m_origin.size()); + for(unsigned originIndex = 0; originIndex < originJsonList.GetLength(); ++originIndex) + { + originJsonList[originIndex].AsDouble(m_origin[originIndex]); + } + payload.WithArray("Origin", std::move(originJsonList)); + + } + + if(m_originOptionsHasBeenSet) + { + payload.WithObject("OriginOptions", m_originOptions.Jsonize()); + + } + + if(m_trafficHasBeenSet) + { + payload.WithObject("Traffic", m_traffic.Jsonize()); + + } + + if(m_travelModeHasBeenSet) + { + payload.WithString("TravelMode", WaypointOptimizationTravelModeMapper::GetNameForWaypointOptimizationTravelMode(m_travelMode)); + } + + if(m_travelModeOptionsHasBeenSet) + { + payload.WithObject("TravelModeOptions", m_travelModeOptions.Jsonize()); + + } + + if(m_waypointsHasBeenSet) + { + Aws::Utils::Array waypointsJsonList(m_waypoints.size()); + for(unsigned waypointsIndex = 0; waypointsIndex < waypointsJsonList.GetLength(); ++waypointsIndex) + { + waypointsJsonList[waypointsIndex].AsObject(m_waypoints[waypointsIndex].Jsonize()); + } + payload.WithArray("Waypoints", std::move(waypointsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +void OptimizeWaypointsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/OptimizeWaypointsResult.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/OptimizeWaypointsResult.cpp new file mode 100644 index 00000000000..64f9efcb05d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/OptimizeWaypointsResult.cpp @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoRoutes::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +OptimizeWaypointsResult::OptimizeWaypointsResult() : + m_distance(0), + m_duration(0) +{ +} + +OptimizeWaypointsResult::OptimizeWaypointsResult(const Aws::AmazonWebServiceResult& result) + : OptimizeWaypointsResult() +{ + *this = result; +} + +OptimizeWaypointsResult& OptimizeWaypointsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Connections")) + { + Aws::Utils::Array connectionsJsonList = jsonValue.GetArray("Connections"); + for(unsigned connectionsIndex = 0; connectionsIndex < connectionsJsonList.GetLength(); ++connectionsIndex) + { + m_connections.push_back(connectionsJsonList[connectionsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + } + + if(jsonValue.ValueExists("ImpedingWaypoints")) + { + Aws::Utils::Array impedingWaypointsJsonList = jsonValue.GetArray("ImpedingWaypoints"); + for(unsigned impedingWaypointsIndex = 0; impedingWaypointsIndex < impedingWaypointsJsonList.GetLength(); ++impedingWaypointsIndex) + { + m_impedingWaypoints.push_back(impedingWaypointsJsonList[impedingWaypointsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("OptimizedWaypoints")) + { + Aws::Utils::Array optimizedWaypointsJsonList = jsonValue.GetArray("OptimizedWaypoints"); + for(unsigned optimizedWaypointsIndex = 0; optimizedWaypointsIndex < optimizedWaypointsJsonList.GetLength(); ++optimizedWaypointsIndex) + { + m_optimizedWaypoints.push_back(optimizedWaypointsJsonList[optimizedWaypointsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("TimeBreakdown")) + { + m_timeBreakdown = jsonValue.GetObject("TimeBreakdown"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/PolylineCorridor.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/PolylineCorridor.cpp new file mode 100644 index 00000000000..6d32e0342da --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/PolylineCorridor.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +PolylineCorridor::PolylineCorridor() : + m_polylineHasBeenSet(false), + m_radius(0), + m_radiusHasBeenSet(false) +{ +} + +PolylineCorridor::PolylineCorridor(JsonView jsonValue) + : PolylineCorridor() +{ + *this = jsonValue; +} + +PolylineCorridor& PolylineCorridor::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Polyline")) + { + m_polyline = jsonValue.GetString("Polyline"); + + m_polylineHasBeenSet = true; + } + + if(jsonValue.ValueExists("Radius")) + { + m_radius = jsonValue.GetInteger("Radius"); + + m_radiusHasBeenSet = true; + } + + return *this; +} + +JsonValue PolylineCorridor::Jsonize() const +{ + JsonValue payload; + + if(m_polylineHasBeenSet) + { + payload.WithString("Polyline", m_polyline); + + } + + if(m_radiusHasBeenSet) + { + payload.WithInteger("Radius", m_radius); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapHazardousCargoType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapHazardousCargoType.cpp new file mode 100644 index 00000000000..7c9e759bc75 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapHazardousCargoType.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RoadSnapHazardousCargoTypeMapper + { + + static const int Combustible_HASH = HashingUtils::HashString("Combustible"); + static const int Corrosive_HASH = HashingUtils::HashString("Corrosive"); + static const int Explosive_HASH = HashingUtils::HashString("Explosive"); + static const int Flammable_HASH = HashingUtils::HashString("Flammable"); + static const int Gas_HASH = HashingUtils::HashString("Gas"); + static const int HarmfulToWater_HASH = HashingUtils::HashString("HarmfulToWater"); + static const int Organic_HASH = HashingUtils::HashString("Organic"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int Poison_HASH = HashingUtils::HashString("Poison"); + static const int PoisonousInhalation_HASH = HashingUtils::HashString("PoisonousInhalation"); + static const int Radioactive_HASH = HashingUtils::HashString("Radioactive"); + + + RoadSnapHazardousCargoType GetRoadSnapHazardousCargoTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Combustible_HASH) + { + return RoadSnapHazardousCargoType::Combustible; + } + else if (hashCode == Corrosive_HASH) + { + return RoadSnapHazardousCargoType::Corrosive; + } + else if (hashCode == Explosive_HASH) + { + return RoadSnapHazardousCargoType::Explosive; + } + else if (hashCode == Flammable_HASH) + { + return RoadSnapHazardousCargoType::Flammable; + } + else if (hashCode == Gas_HASH) + { + return RoadSnapHazardousCargoType::Gas; + } + else if (hashCode == HarmfulToWater_HASH) + { + return RoadSnapHazardousCargoType::HarmfulToWater; + } + else if (hashCode == Organic_HASH) + { + return RoadSnapHazardousCargoType::Organic; + } + else if (hashCode == Other_HASH) + { + return RoadSnapHazardousCargoType::Other; + } + else if (hashCode == Poison_HASH) + { + return RoadSnapHazardousCargoType::Poison; + } + else if (hashCode == PoisonousInhalation_HASH) + { + return RoadSnapHazardousCargoType::PoisonousInhalation; + } + else if (hashCode == Radioactive_HASH) + { + return RoadSnapHazardousCargoType::Radioactive; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RoadSnapHazardousCargoType::NOT_SET; + } + + Aws::String GetNameForRoadSnapHazardousCargoType(RoadSnapHazardousCargoType enumValue) + { + switch(enumValue) + { + case RoadSnapHazardousCargoType::NOT_SET: + return {}; + case RoadSnapHazardousCargoType::Combustible: + return "Combustible"; + case RoadSnapHazardousCargoType::Corrosive: + return "Corrosive"; + case RoadSnapHazardousCargoType::Explosive: + return "Explosive"; + case RoadSnapHazardousCargoType::Flammable: + return "Flammable"; + case RoadSnapHazardousCargoType::Gas: + return "Gas"; + case RoadSnapHazardousCargoType::HarmfulToWater: + return "HarmfulToWater"; + case RoadSnapHazardousCargoType::Organic: + return "Organic"; + case RoadSnapHazardousCargoType::Other: + return "Other"; + case RoadSnapHazardousCargoType::Poison: + return "Poison"; + case RoadSnapHazardousCargoType::PoisonousInhalation: + return "PoisonousInhalation"; + case RoadSnapHazardousCargoType::Radioactive: + return "Radioactive"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RoadSnapHazardousCargoTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapNotice.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapNotice.cpp new file mode 100644 index 00000000000..6c7f5d864e1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapNotice.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoadSnapNotice::RoadSnapNotice() : + m_code(RoadSnapNoticeCode::NOT_SET), + m_codeHasBeenSet(false), + m_titleHasBeenSet(false), + m_tracePointIndexesHasBeenSet(false) +{ +} + +RoadSnapNotice::RoadSnapNotice(JsonView jsonValue) + : RoadSnapNotice() +{ + *this = jsonValue; +} + +RoadSnapNotice& RoadSnapNotice::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code")) + { + m_code = RoadSnapNoticeCodeMapper::GetRoadSnapNoticeCodeForName(jsonValue.GetString("Code")); + + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("TracePointIndexes")) + { + Aws::Utils::Array tracePointIndexesJsonList = jsonValue.GetArray("TracePointIndexes"); + for(unsigned tracePointIndexesIndex = 0; tracePointIndexesIndex < tracePointIndexesJsonList.GetLength(); ++tracePointIndexesIndex) + { + m_tracePointIndexes.push_back(tracePointIndexesJsonList[tracePointIndexesIndex].AsInteger()); + } + m_tracePointIndexesHasBeenSet = true; + } + + return *this; +} + +JsonValue RoadSnapNotice::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + payload.WithString("Code", RoadSnapNoticeCodeMapper::GetNameForRoadSnapNoticeCode(m_code)); + } + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_tracePointIndexesHasBeenSet) + { + Aws::Utils::Array tracePointIndexesJsonList(m_tracePointIndexes.size()); + for(unsigned tracePointIndexesIndex = 0; tracePointIndexesIndex < tracePointIndexesJsonList.GetLength(); ++tracePointIndexesIndex) + { + tracePointIndexesJsonList[tracePointIndexesIndex].AsInteger(m_tracePointIndexes[tracePointIndexesIndex]); + } + payload.WithArray("TracePointIndexes", std::move(tracePointIndexesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapNoticeCode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapNoticeCode.cpp new file mode 100644 index 00000000000..bea6151d921 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapNoticeCode.cpp @@ -0,0 +1,107 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RoadSnapNoticeCodeMapper + { + + static const int TracePointsHeadingIgnored_HASH = HashingUtils::HashString("TracePointsHeadingIgnored"); + static const int TracePointsIgnored_HASH = HashingUtils::HashString("TracePointsIgnored"); + static const int TracePointsMovedByLargeDistance_HASH = HashingUtils::HashString("TracePointsMovedByLargeDistance"); + static const int TracePointsNotMatched_HASH = HashingUtils::HashString("TracePointsNotMatched"); + static const int TracePointsOutOfSequence_HASH = HashingUtils::HashString("TracePointsOutOfSequence"); + static const int TracePointsSpeedEstimated_HASH = HashingUtils::HashString("TracePointsSpeedEstimated"); + static const int TracePointsSpeedIgnored_HASH = HashingUtils::HashString("TracePointsSpeedIgnored"); + + + RoadSnapNoticeCode GetRoadSnapNoticeCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == TracePointsHeadingIgnored_HASH) + { + return RoadSnapNoticeCode::TracePointsHeadingIgnored; + } + else if (hashCode == TracePointsIgnored_HASH) + { + return RoadSnapNoticeCode::TracePointsIgnored; + } + else if (hashCode == TracePointsMovedByLargeDistance_HASH) + { + return RoadSnapNoticeCode::TracePointsMovedByLargeDistance; + } + else if (hashCode == TracePointsNotMatched_HASH) + { + return RoadSnapNoticeCode::TracePointsNotMatched; + } + else if (hashCode == TracePointsOutOfSequence_HASH) + { + return RoadSnapNoticeCode::TracePointsOutOfSequence; + } + else if (hashCode == TracePointsSpeedEstimated_HASH) + { + return RoadSnapNoticeCode::TracePointsSpeedEstimated; + } + else if (hashCode == TracePointsSpeedIgnored_HASH) + { + return RoadSnapNoticeCode::TracePointsSpeedIgnored; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RoadSnapNoticeCode::NOT_SET; + } + + Aws::String GetNameForRoadSnapNoticeCode(RoadSnapNoticeCode enumValue) + { + switch(enumValue) + { + case RoadSnapNoticeCode::NOT_SET: + return {}; + case RoadSnapNoticeCode::TracePointsHeadingIgnored: + return "TracePointsHeadingIgnored"; + case RoadSnapNoticeCode::TracePointsIgnored: + return "TracePointsIgnored"; + case RoadSnapNoticeCode::TracePointsMovedByLargeDistance: + return "TracePointsMovedByLargeDistance"; + case RoadSnapNoticeCode::TracePointsNotMatched: + return "TracePointsNotMatched"; + case RoadSnapNoticeCode::TracePointsOutOfSequence: + return "TracePointsOutOfSequence"; + case RoadSnapNoticeCode::TracePointsSpeedEstimated: + return "TracePointsSpeedEstimated"; + case RoadSnapNoticeCode::TracePointsSpeedIgnored: + return "TracePointsSpeedIgnored"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RoadSnapNoticeCodeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapSnappedGeometry.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapSnappedGeometry.cpp new file mode 100644 index 00000000000..9c92e193ea4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapSnappedGeometry.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoadSnapSnappedGeometry::RoadSnapSnappedGeometry() : + m_lineStringHasBeenSet(false), + m_polylineHasBeenSet(false) +{ +} + +RoadSnapSnappedGeometry::RoadSnapSnappedGeometry(JsonView jsonValue) + : RoadSnapSnappedGeometry() +{ + *this = jsonValue; +} + +RoadSnapSnappedGeometry& RoadSnapSnappedGeometry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LineString")) + { + Aws::Utils::Array lineStringJsonList = jsonValue.GetArray("LineString"); + for(unsigned lineStringIndex = 0; lineStringIndex < lineStringJsonList.GetLength(); ++lineStringIndex) + { + Aws::Utils::Array positionJsonList = lineStringJsonList[lineStringIndex].AsArray(); + Aws::Vector positionList; + positionList.reserve((size_t)positionJsonList.GetLength()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionList.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_lineString.push_back(std::move(positionList)); + } + m_lineStringHasBeenSet = true; + } + + if(jsonValue.ValueExists("Polyline")) + { + m_polyline = jsonValue.GetString("Polyline"); + + m_polylineHasBeenSet = true; + } + + return *this; +} + +JsonValue RoadSnapSnappedGeometry::Jsonize() const +{ + JsonValue payload; + + if(m_lineStringHasBeenSet) + { + Aws::Utils::Array lineStringJsonList(m_lineString.size()); + for(unsigned lineStringIndex = 0; lineStringIndex < lineStringJsonList.GetLength(); ++lineStringIndex) + { + Aws::Utils::Array positionJsonList(m_lineString[lineStringIndex].size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_lineString[lineStringIndex][positionIndex]); + } + lineStringJsonList[lineStringIndex].AsArray(std::move(positionJsonList)); + } + payload.WithArray("LineString", std::move(lineStringJsonList)); + + } + + if(m_polylineHasBeenSet) + { + payload.WithString("Polyline", m_polyline); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapSnappedTracePoint.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapSnappedTracePoint.cpp new file mode 100644 index 00000000000..548733d43fb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapSnappedTracePoint.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoadSnapSnappedTracePoint::RoadSnapSnappedTracePoint() : + m_confidence(0.0), + m_confidenceHasBeenSet(false), + m_originalPositionHasBeenSet(false), + m_snappedPositionHasBeenSet(false) +{ +} + +RoadSnapSnappedTracePoint::RoadSnapSnappedTracePoint(JsonView jsonValue) + : RoadSnapSnappedTracePoint() +{ + *this = jsonValue; +} + +RoadSnapSnappedTracePoint& RoadSnapSnappedTracePoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Confidence")) + { + m_confidence = jsonValue.GetDouble("Confidence"); + + m_confidenceHasBeenSet = true; + } + + if(jsonValue.ValueExists("OriginalPosition")) + { + Aws::Utils::Array originalPositionJsonList = jsonValue.GetArray("OriginalPosition"); + for(unsigned originalPositionIndex = 0; originalPositionIndex < originalPositionJsonList.GetLength(); ++originalPositionIndex) + { + m_originalPosition.push_back(originalPositionJsonList[originalPositionIndex].AsDouble()); + } + m_originalPositionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SnappedPosition")) + { + Aws::Utils::Array snappedPositionJsonList = jsonValue.GetArray("SnappedPosition"); + for(unsigned snappedPositionIndex = 0; snappedPositionIndex < snappedPositionJsonList.GetLength(); ++snappedPositionIndex) + { + m_snappedPosition.push_back(snappedPositionJsonList[snappedPositionIndex].AsDouble()); + } + m_snappedPositionHasBeenSet = true; + } + + return *this; +} + +JsonValue RoadSnapSnappedTracePoint::Jsonize() const +{ + JsonValue payload; + + if(m_confidenceHasBeenSet) + { + payload.WithDouble("Confidence", m_confidence); + + } + + if(m_originalPositionHasBeenSet) + { + Aws::Utils::Array originalPositionJsonList(m_originalPosition.size()); + for(unsigned originalPositionIndex = 0; originalPositionIndex < originalPositionJsonList.GetLength(); ++originalPositionIndex) + { + originalPositionJsonList[originalPositionIndex].AsDouble(m_originalPosition[originalPositionIndex]); + } + payload.WithArray("OriginalPosition", std::move(originalPositionJsonList)); + + } + + if(m_snappedPositionHasBeenSet) + { + Aws::Utils::Array snappedPositionJsonList(m_snappedPosition.size()); + for(unsigned snappedPositionIndex = 0; snappedPositionIndex < snappedPositionJsonList.GetLength(); ++snappedPositionIndex) + { + snappedPositionJsonList[snappedPositionIndex].AsDouble(m_snappedPosition[snappedPositionIndex]); + } + payload.WithArray("SnappedPosition", std::move(snappedPositionJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTracePoint.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTracePoint.cpp new file mode 100644 index 00000000000..cc10cc11f3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTracePoint.cpp @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoadSnapTracePoint::RoadSnapTracePoint() : + m_heading(0.0), + m_headingHasBeenSet(false), + m_positionHasBeenSet(false), + m_speed(0.0), + m_speedHasBeenSet(false), + m_timestampHasBeenSet(false) +{ +} + +RoadSnapTracePoint::RoadSnapTracePoint(JsonView jsonValue) + : RoadSnapTracePoint() +{ + *this = jsonValue; +} + +RoadSnapTracePoint& RoadSnapTracePoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Heading")) + { + m_heading = jsonValue.GetDouble("Heading"); + + m_headingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Speed")) + { + m_speed = jsonValue.GetDouble("Speed"); + + m_speedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Timestamp")) + { + m_timestamp = jsonValue.GetString("Timestamp"); + + m_timestampHasBeenSet = true; + } + + return *this; +} + +JsonValue RoadSnapTracePoint::Jsonize() const +{ + JsonValue payload; + + if(m_headingHasBeenSet) + { + payload.WithDouble("Heading", m_heading); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_speedHasBeenSet) + { + payload.WithDouble("Speed", m_speed); + + } + + if(m_timestampHasBeenSet) + { + payload.WithString("Timestamp", m_timestamp); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTrailerOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTrailerOptions.cpp new file mode 100644 index 00000000000..45d025947ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTrailerOptions.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoadSnapTrailerOptions::RoadSnapTrailerOptions() : + m_trailerCount(0), + m_trailerCountHasBeenSet(false) +{ +} + +RoadSnapTrailerOptions::RoadSnapTrailerOptions(JsonView jsonValue) + : RoadSnapTrailerOptions() +{ + *this = jsonValue; +} + +RoadSnapTrailerOptions& RoadSnapTrailerOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TrailerCount")) + { + m_trailerCount = jsonValue.GetInteger("TrailerCount"); + + m_trailerCountHasBeenSet = true; + } + + return *this; +} + +JsonValue RoadSnapTrailerOptions::Jsonize() const +{ + JsonValue payload; + + if(m_trailerCountHasBeenSet) + { + payload.WithInteger("TrailerCount", m_trailerCount); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTravelMode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTravelMode.cpp new file mode 100644 index 00000000000..11914161ece --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTravelMode.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RoadSnapTravelModeMapper + { + + static const int Car_HASH = HashingUtils::HashString("Car"); + static const int Pedestrian_HASH = HashingUtils::HashString("Pedestrian"); + static const int Scooter_HASH = HashingUtils::HashString("Scooter"); + static const int Truck_HASH = HashingUtils::HashString("Truck"); + + + RoadSnapTravelMode GetRoadSnapTravelModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Car_HASH) + { + return RoadSnapTravelMode::Car; + } + else if (hashCode == Pedestrian_HASH) + { + return RoadSnapTravelMode::Pedestrian; + } + else if (hashCode == Scooter_HASH) + { + return RoadSnapTravelMode::Scooter; + } + else if (hashCode == Truck_HASH) + { + return RoadSnapTravelMode::Truck; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RoadSnapTravelMode::NOT_SET; + } + + Aws::String GetNameForRoadSnapTravelMode(RoadSnapTravelMode enumValue) + { + switch(enumValue) + { + case RoadSnapTravelMode::NOT_SET: + return {}; + case RoadSnapTravelMode::Car: + return "Car"; + case RoadSnapTravelMode::Pedestrian: + return "Pedestrian"; + case RoadSnapTravelMode::Scooter: + return "Scooter"; + case RoadSnapTravelMode::Truck: + return "Truck"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RoadSnapTravelModeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTravelModeOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTravelModeOptions.cpp new file mode 100644 index 00000000000..94290a10f35 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTravelModeOptions.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoadSnapTravelModeOptions::RoadSnapTravelModeOptions() : + m_truckHasBeenSet(false) +{ +} + +RoadSnapTravelModeOptions::RoadSnapTravelModeOptions(JsonView jsonValue) + : RoadSnapTravelModeOptions() +{ + *this = jsonValue; +} + +RoadSnapTravelModeOptions& RoadSnapTravelModeOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Truck")) + { + m_truck = jsonValue.GetObject("Truck"); + + m_truckHasBeenSet = true; + } + + return *this; +} + +JsonValue RoadSnapTravelModeOptions::Jsonize() const +{ + JsonValue payload; + + if(m_truckHasBeenSet) + { + payload.WithObject("Truck", m_truck.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTruckOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTruckOptions.cpp new file mode 100644 index 00000000000..57b064fe664 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoadSnapTruckOptions.cpp @@ -0,0 +1,155 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoadSnapTruckOptions::RoadSnapTruckOptions() : + m_grossWeight(0), + m_grossWeightHasBeenSet(false), + m_hazardousCargosHasBeenSet(false), + m_height(0), + m_heightHasBeenSet(false), + m_length(0), + m_lengthHasBeenSet(false), + m_trailerHasBeenSet(false), + m_tunnelRestrictionCodeHasBeenSet(false), + m_width(0), + m_widthHasBeenSet(false) +{ +} + +RoadSnapTruckOptions::RoadSnapTruckOptions(JsonView jsonValue) + : RoadSnapTruckOptions() +{ + *this = jsonValue; +} + +RoadSnapTruckOptions& RoadSnapTruckOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("GrossWeight")) + { + m_grossWeight = jsonValue.GetInt64("GrossWeight"); + + m_grossWeightHasBeenSet = true; + } + + if(jsonValue.ValueExists("HazardousCargos")) + { + Aws::Utils::Array hazardousCargosJsonList = jsonValue.GetArray("HazardousCargos"); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + m_hazardousCargos.push_back(RoadSnapHazardousCargoTypeMapper::GetRoadSnapHazardousCargoTypeForName(hazardousCargosJsonList[hazardousCargosIndex].AsString())); + } + m_hazardousCargosHasBeenSet = true; + } + + if(jsonValue.ValueExists("Height")) + { + m_height = jsonValue.GetInt64("Height"); + + m_heightHasBeenSet = true; + } + + if(jsonValue.ValueExists("Length")) + { + m_length = jsonValue.GetInt64("Length"); + + m_lengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("Trailer")) + { + m_trailer = jsonValue.GetObject("Trailer"); + + m_trailerHasBeenSet = true; + } + + if(jsonValue.ValueExists("TunnelRestrictionCode")) + { + m_tunnelRestrictionCode = jsonValue.GetString("TunnelRestrictionCode"); + + m_tunnelRestrictionCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Width")) + { + m_width = jsonValue.GetInt64("Width"); + + m_widthHasBeenSet = true; + } + + return *this; +} + +JsonValue RoadSnapTruckOptions::Jsonize() const +{ + JsonValue payload; + + if(m_grossWeightHasBeenSet) + { + payload.WithInt64("GrossWeight", m_grossWeight); + + } + + if(m_hazardousCargosHasBeenSet) + { + Aws::Utils::Array hazardousCargosJsonList(m_hazardousCargos.size()); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + hazardousCargosJsonList[hazardousCargosIndex].AsString(RoadSnapHazardousCargoTypeMapper::GetNameForRoadSnapHazardousCargoType(m_hazardousCargos[hazardousCargosIndex])); + } + payload.WithArray("HazardousCargos", std::move(hazardousCargosJsonList)); + + } + + if(m_heightHasBeenSet) + { + payload.WithInt64("Height", m_height); + + } + + if(m_lengthHasBeenSet) + { + payload.WithInt64("Length", m_length); + + } + + if(m_trailerHasBeenSet) + { + payload.WithObject("Trailer", m_trailer.Jsonize()); + + } + + if(m_tunnelRestrictionCodeHasBeenSet) + { + payload.WithString("TunnelRestrictionCode", m_tunnelRestrictionCode); + + } + + if(m_widthHasBeenSet) + { + payload.WithInt64("Width", m_width); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/Route.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/Route.cpp new file mode 100644 index 00000000000..013965c0085 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/Route.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +Route::Route() : + m_legsHasBeenSet(false), + m_majorRoadLabelsHasBeenSet(false), + m_summaryHasBeenSet(false) +{ +} + +Route::Route(JsonView jsonValue) + : Route() +{ + *this = jsonValue; +} + +Route& Route::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Legs")) + { + Aws::Utils::Array legsJsonList = jsonValue.GetArray("Legs"); + for(unsigned legsIndex = 0; legsIndex < legsJsonList.GetLength(); ++legsIndex) + { + m_legs.push_back(legsJsonList[legsIndex].AsObject()); + } + m_legsHasBeenSet = true; + } + + if(jsonValue.ValueExists("MajorRoadLabels")) + { + Aws::Utils::Array majorRoadLabelsJsonList = jsonValue.GetArray("MajorRoadLabels"); + for(unsigned majorRoadLabelsIndex = 0; majorRoadLabelsIndex < majorRoadLabelsJsonList.GetLength(); ++majorRoadLabelsIndex) + { + m_majorRoadLabels.push_back(majorRoadLabelsJsonList[majorRoadLabelsIndex].AsObject()); + } + m_majorRoadLabelsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Summary")) + { + m_summary = jsonValue.GetObject("Summary"); + + m_summaryHasBeenSet = true; + } + + return *this; +} + +JsonValue Route::Jsonize() const +{ + JsonValue payload; + + if(m_legsHasBeenSet) + { + Aws::Utils::Array legsJsonList(m_legs.size()); + for(unsigned legsIndex = 0; legsIndex < legsJsonList.GetLength(); ++legsIndex) + { + legsJsonList[legsIndex].AsObject(m_legs[legsIndex].Jsonize()); + } + payload.WithArray("Legs", std::move(legsJsonList)); + + } + + if(m_majorRoadLabelsHasBeenSet) + { + Aws::Utils::Array majorRoadLabelsJsonList(m_majorRoadLabels.size()); + for(unsigned majorRoadLabelsIndex = 0; majorRoadLabelsIndex < majorRoadLabelsJsonList.GetLength(); ++majorRoadLabelsIndex) + { + majorRoadLabelsJsonList[majorRoadLabelsIndex].AsObject(m_majorRoadLabels[majorRoadLabelsIndex].Jsonize()); + } + payload.WithArray("MajorRoadLabels", std::move(majorRoadLabelsJsonList)); + + } + + if(m_summaryHasBeenSet) + { + payload.WithObject("Summary", m_summary.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAllowOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAllowOptions.cpp new file mode 100644 index 00000000000..54daf8366e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAllowOptions.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteAllowOptions::RouteAllowOptions() : + m_hot(false), + m_hotHasBeenSet(false), + m_hov(false), + m_hovHasBeenSet(false) +{ +} + +RouteAllowOptions::RouteAllowOptions(JsonView jsonValue) + : RouteAllowOptions() +{ + *this = jsonValue; +} + +RouteAllowOptions& RouteAllowOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Hot")) + { + m_hot = jsonValue.GetBool("Hot"); + + m_hotHasBeenSet = true; + } + + if(jsonValue.ValueExists("Hov")) + { + m_hov = jsonValue.GetBool("Hov"); + + m_hovHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteAllowOptions::Jsonize() const +{ + JsonValue payload; + + if(m_hotHasBeenSet) + { + payload.WithBool("Hot", m_hot); + + } + + if(m_hovHasBeenSet) + { + payload.WithBool("Hov", m_hov); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceArea.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceArea.cpp new file mode 100644 index 00000000000..b79bf951350 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceArea.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteAvoidanceArea::RouteAvoidanceArea() : + m_exceptHasBeenSet(false), + m_geometryHasBeenSet(false) +{ +} + +RouteAvoidanceArea::RouteAvoidanceArea(JsonView jsonValue) + : RouteAvoidanceArea() +{ + *this = jsonValue; +} + +RouteAvoidanceArea& RouteAvoidanceArea::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Except")) + { + Aws::Utils::Array exceptJsonList = jsonValue.GetArray("Except"); + for(unsigned exceptIndex = 0; exceptIndex < exceptJsonList.GetLength(); ++exceptIndex) + { + m_except.push_back(exceptJsonList[exceptIndex].AsObject()); + } + m_exceptHasBeenSet = true; + } + + if(jsonValue.ValueExists("Geometry")) + { + m_geometry = jsonValue.GetObject("Geometry"); + + m_geometryHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteAvoidanceArea::Jsonize() const +{ + JsonValue payload; + + if(m_exceptHasBeenSet) + { + Aws::Utils::Array exceptJsonList(m_except.size()); + for(unsigned exceptIndex = 0; exceptIndex < exceptJsonList.GetLength(); ++exceptIndex) + { + exceptJsonList[exceptIndex].AsObject(m_except[exceptIndex].Jsonize()); + } + payload.WithArray("Except", std::move(exceptJsonList)); + + } + + if(m_geometryHasBeenSet) + { + payload.WithObject("Geometry", m_geometry.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceAreaGeometry.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceAreaGeometry.cpp new file mode 100644 index 00000000000..6f5cca3d0f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceAreaGeometry.cpp @@ -0,0 +1,163 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteAvoidanceAreaGeometry::RouteAvoidanceAreaGeometry() : + m_corridorHasBeenSet(false), + m_boundingBoxHasBeenSet(false), + m_polygonHasBeenSet(false), + m_polylineCorridorHasBeenSet(false), + m_polylinePolygonHasBeenSet(false) +{ +} + +RouteAvoidanceAreaGeometry::RouteAvoidanceAreaGeometry(JsonView jsonValue) + : RouteAvoidanceAreaGeometry() +{ + *this = jsonValue; +} + +RouteAvoidanceAreaGeometry& RouteAvoidanceAreaGeometry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Corridor")) + { + m_corridor = jsonValue.GetObject("Corridor"); + + m_corridorHasBeenSet = true; + } + + if(jsonValue.ValueExists("BoundingBox")) + { + Aws::Utils::Array boundingBoxJsonList = jsonValue.GetArray("BoundingBox"); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + m_boundingBox.push_back(boundingBoxJsonList[boundingBoxIndex].AsDouble()); + } + m_boundingBoxHasBeenSet = true; + } + + if(jsonValue.ValueExists("Polygon")) + { + Aws::Utils::Array polygonJsonList = jsonValue.GetArray("Polygon"); + for(unsigned polygonIndex = 0; polygonIndex < polygonJsonList.GetLength(); ++polygonIndex) + { + Aws::Utils::Array linearRingJsonList = polygonJsonList[polygonIndex].AsArray(); + Aws::Vector> linearRingList; + linearRingList.reserve((size_t)linearRingJsonList.GetLength()); + for(unsigned linearRingIndex = 0; linearRingIndex < linearRingJsonList.GetLength(); ++linearRingIndex) + { + Aws::Utils::Array positionJsonList = linearRingJsonList[linearRingIndex].AsArray(); + Aws::Vector positionList; + positionList.reserve((size_t)positionJsonList.GetLength()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionList.push_back(positionJsonList[positionIndex].AsDouble()); + } + linearRingList.push_back(std::move(positionList)); + } + m_polygon.push_back(std::move(linearRingList)); + } + m_polygonHasBeenSet = true; + } + + if(jsonValue.ValueExists("PolylineCorridor")) + { + m_polylineCorridor = jsonValue.GetObject("PolylineCorridor"); + + m_polylineCorridorHasBeenSet = true; + } + + if(jsonValue.ValueExists("PolylinePolygon")) + { + Aws::Utils::Array polylinePolygonJsonList = jsonValue.GetArray("PolylinePolygon"); + for(unsigned polylinePolygonIndex = 0; polylinePolygonIndex < polylinePolygonJsonList.GetLength(); ++polylinePolygonIndex) + { + m_polylinePolygon.push_back(polylinePolygonJsonList[polylinePolygonIndex].AsString()); + } + m_polylinePolygonHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteAvoidanceAreaGeometry::Jsonize() const +{ + JsonValue payload; + + if(m_corridorHasBeenSet) + { + payload.WithObject("Corridor", m_corridor.Jsonize()); + + } + + if(m_boundingBoxHasBeenSet) + { + Aws::Utils::Array boundingBoxJsonList(m_boundingBox.size()); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + boundingBoxJsonList[boundingBoxIndex].AsDouble(m_boundingBox[boundingBoxIndex]); + } + payload.WithArray("BoundingBox", std::move(boundingBoxJsonList)); + + } + + if(m_polygonHasBeenSet) + { + Aws::Utils::Array polygonJsonList(m_polygon.size()); + for(unsigned polygonIndex = 0; polygonIndex < polygonJsonList.GetLength(); ++polygonIndex) + { + Aws::Utils::Array linearRingJsonList(m_polygon[polygonIndex].size()); + for(unsigned linearRingIndex = 0; linearRingIndex < linearRingJsonList.GetLength(); ++linearRingIndex) + { + Aws::Utils::Array positionJsonList(m_polygon[polygonIndex][linearRingIndex].size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_polygon[polygonIndex][linearRingIndex][positionIndex]); + } + linearRingJsonList[linearRingIndex].AsArray(std::move(positionJsonList)); + } + polygonJsonList[polygonIndex].AsArray(std::move(linearRingJsonList)); + } + payload.WithArray("Polygon", std::move(polygonJsonList)); + + } + + if(m_polylineCorridorHasBeenSet) + { + payload.WithObject("PolylineCorridor", m_polylineCorridor.Jsonize()); + + } + + if(m_polylinePolygonHasBeenSet) + { + Aws::Utils::Array polylinePolygonJsonList(m_polylinePolygon.size()); + for(unsigned polylinePolygonIndex = 0; polylinePolygonIndex < polylinePolygonJsonList.GetLength(); ++polylinePolygonIndex) + { + polylinePolygonJsonList[polylinePolygonIndex].AsString(m_polylinePolygon[polylinePolygonIndex]); + } + payload.WithArray("PolylinePolygon", std::move(polylinePolygonJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceOptions.cpp new file mode 100644 index 00000000000..29ca8f03f17 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceOptions.cpp @@ -0,0 +1,246 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteAvoidanceOptions::RouteAvoidanceOptions() : + m_areasHasBeenSet(false), + m_carShuttleTrains(false), + m_carShuttleTrainsHasBeenSet(false), + m_controlledAccessHighways(false), + m_controlledAccessHighwaysHasBeenSet(false), + m_dirtRoads(false), + m_dirtRoadsHasBeenSet(false), + m_ferries(false), + m_ferriesHasBeenSet(false), + m_seasonalClosure(false), + m_seasonalClosureHasBeenSet(false), + m_tollRoads(false), + m_tollRoadsHasBeenSet(false), + m_tollTransponders(false), + m_tollTranspondersHasBeenSet(false), + m_truckRoadTypesHasBeenSet(false), + m_tunnels(false), + m_tunnelsHasBeenSet(false), + m_uTurns(false), + m_uTurnsHasBeenSet(false), + m_zoneCategoriesHasBeenSet(false) +{ +} + +RouteAvoidanceOptions::RouteAvoidanceOptions(JsonView jsonValue) + : RouteAvoidanceOptions() +{ + *this = jsonValue; +} + +RouteAvoidanceOptions& RouteAvoidanceOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Areas")) + { + Aws::Utils::Array areasJsonList = jsonValue.GetArray("Areas"); + for(unsigned areasIndex = 0; areasIndex < areasJsonList.GetLength(); ++areasIndex) + { + m_areas.push_back(areasJsonList[areasIndex].AsObject()); + } + m_areasHasBeenSet = true; + } + + if(jsonValue.ValueExists("CarShuttleTrains")) + { + m_carShuttleTrains = jsonValue.GetBool("CarShuttleTrains"); + + m_carShuttleTrainsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ControlledAccessHighways")) + { + m_controlledAccessHighways = jsonValue.GetBool("ControlledAccessHighways"); + + m_controlledAccessHighwaysHasBeenSet = true; + } + + if(jsonValue.ValueExists("DirtRoads")) + { + m_dirtRoads = jsonValue.GetBool("DirtRoads"); + + m_dirtRoadsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Ferries")) + { + m_ferries = jsonValue.GetBool("Ferries"); + + m_ferriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("SeasonalClosure")) + { + m_seasonalClosure = jsonValue.GetBool("SeasonalClosure"); + + m_seasonalClosureHasBeenSet = true; + } + + if(jsonValue.ValueExists("TollRoads")) + { + m_tollRoads = jsonValue.GetBool("TollRoads"); + + m_tollRoadsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TollTransponders")) + { + m_tollTransponders = jsonValue.GetBool("TollTransponders"); + + m_tollTranspondersHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckRoadTypes")) + { + Aws::Utils::Array truckRoadTypesJsonList = jsonValue.GetArray("TruckRoadTypes"); + for(unsigned truckRoadTypesIndex = 0; truckRoadTypesIndex < truckRoadTypesJsonList.GetLength(); ++truckRoadTypesIndex) + { + m_truckRoadTypes.push_back(truckRoadTypesJsonList[truckRoadTypesIndex].AsString()); + } + m_truckRoadTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Tunnels")) + { + m_tunnels = jsonValue.GetBool("Tunnels"); + + m_tunnelsHasBeenSet = true; + } + + if(jsonValue.ValueExists("UTurns")) + { + m_uTurns = jsonValue.GetBool("UTurns"); + + m_uTurnsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ZoneCategories")) + { + Aws::Utils::Array zoneCategoriesJsonList = jsonValue.GetArray("ZoneCategories"); + for(unsigned zoneCategoriesIndex = 0; zoneCategoriesIndex < zoneCategoriesJsonList.GetLength(); ++zoneCategoriesIndex) + { + m_zoneCategories.push_back(zoneCategoriesJsonList[zoneCategoriesIndex].AsObject()); + } + m_zoneCategoriesHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteAvoidanceOptions::Jsonize() const +{ + JsonValue payload; + + if(m_areasHasBeenSet) + { + Aws::Utils::Array areasJsonList(m_areas.size()); + for(unsigned areasIndex = 0; areasIndex < areasJsonList.GetLength(); ++areasIndex) + { + areasJsonList[areasIndex].AsObject(m_areas[areasIndex].Jsonize()); + } + payload.WithArray("Areas", std::move(areasJsonList)); + + } + + if(m_carShuttleTrainsHasBeenSet) + { + payload.WithBool("CarShuttleTrains", m_carShuttleTrains); + + } + + if(m_controlledAccessHighwaysHasBeenSet) + { + payload.WithBool("ControlledAccessHighways", m_controlledAccessHighways); + + } + + if(m_dirtRoadsHasBeenSet) + { + payload.WithBool("DirtRoads", m_dirtRoads); + + } + + if(m_ferriesHasBeenSet) + { + payload.WithBool("Ferries", m_ferries); + + } + + if(m_seasonalClosureHasBeenSet) + { + payload.WithBool("SeasonalClosure", m_seasonalClosure); + + } + + if(m_tollRoadsHasBeenSet) + { + payload.WithBool("TollRoads", m_tollRoads); + + } + + if(m_tollTranspondersHasBeenSet) + { + payload.WithBool("TollTransponders", m_tollTransponders); + + } + + if(m_truckRoadTypesHasBeenSet) + { + Aws::Utils::Array truckRoadTypesJsonList(m_truckRoadTypes.size()); + for(unsigned truckRoadTypesIndex = 0; truckRoadTypesIndex < truckRoadTypesJsonList.GetLength(); ++truckRoadTypesIndex) + { + truckRoadTypesJsonList[truckRoadTypesIndex].AsString(m_truckRoadTypes[truckRoadTypesIndex]); + } + payload.WithArray("TruckRoadTypes", std::move(truckRoadTypesJsonList)); + + } + + if(m_tunnelsHasBeenSet) + { + payload.WithBool("Tunnels", m_tunnels); + + } + + if(m_uTurnsHasBeenSet) + { + payload.WithBool("UTurns", m_uTurns); + + } + + if(m_zoneCategoriesHasBeenSet) + { + Aws::Utils::Array zoneCategoriesJsonList(m_zoneCategories.size()); + for(unsigned zoneCategoriesIndex = 0; zoneCategoriesIndex < zoneCategoriesJsonList.GetLength(); ++zoneCategoriesIndex) + { + zoneCategoriesJsonList[zoneCategoriesIndex].AsObject(m_zoneCategories[zoneCategoriesIndex].Jsonize()); + } + payload.WithArray("ZoneCategories", std::move(zoneCategoriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceZoneCategory.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceZoneCategory.cpp new file mode 100644 index 00000000000..fbcc0b29a20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteAvoidanceZoneCategory.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteAvoidanceZoneCategory::RouteAvoidanceZoneCategory() : + m_category(RouteZoneCategory::NOT_SET), + m_categoryHasBeenSet(false) +{ +} + +RouteAvoidanceZoneCategory::RouteAvoidanceZoneCategory(JsonView jsonValue) + : RouteAvoidanceZoneCategory() +{ + *this = jsonValue; +} + +RouteAvoidanceZoneCategory& RouteAvoidanceZoneCategory::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Category")) + { + m_category = RouteZoneCategoryMapper::GetRouteZoneCategoryForName(jsonValue.GetString("Category")); + + m_categoryHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteAvoidanceZoneCategory::Jsonize() const +{ + JsonValue payload; + + if(m_categoryHasBeenSet) + { + payload.WithString("Category", RouteZoneCategoryMapper::GetNameForRouteZoneCategory(m_category)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteCarOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteCarOptions.cpp new file mode 100644 index 00000000000..b132de77343 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteCarOptions.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteCarOptions::RouteCarOptions() : + m_engineType(RouteEngineType::NOT_SET), + m_engineTypeHasBeenSet(false), + m_licensePlateHasBeenSet(false), + m_maxSpeed(0.0), + m_maxSpeedHasBeenSet(false), + m_occupancy(0), + m_occupancyHasBeenSet(false) +{ +} + +RouteCarOptions::RouteCarOptions(JsonView jsonValue) + : RouteCarOptions() +{ + *this = jsonValue; +} + +RouteCarOptions& RouteCarOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EngineType")) + { + m_engineType = RouteEngineTypeMapper::GetRouteEngineTypeForName(jsonValue.GetString("EngineType")); + + m_engineTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("LicensePlate")) + { + m_licensePlate = jsonValue.GetObject("LicensePlate"); + + m_licensePlateHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxSpeed")) + { + m_maxSpeed = jsonValue.GetDouble("MaxSpeed"); + + m_maxSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Occupancy")) + { + m_occupancy = jsonValue.GetInteger("Occupancy"); + + m_occupancyHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteCarOptions::Jsonize() const +{ + JsonValue payload; + + if(m_engineTypeHasBeenSet) + { + payload.WithString("EngineType", RouteEngineTypeMapper::GetNameForRouteEngineType(m_engineType)); + } + + if(m_licensePlateHasBeenSet) + { + payload.WithObject("LicensePlate", m_licensePlate.Jsonize()); + + } + + if(m_maxSpeedHasBeenSet) + { + payload.WithDouble("MaxSpeed", m_maxSpeed); + + } + + if(m_occupancyHasBeenSet) + { + payload.WithInteger("Occupancy", m_occupancy); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteContinueHighwayStepDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteContinueHighwayStepDetails.cpp new file mode 100644 index 00000000000..6488bdeba3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteContinueHighwayStepDetails.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteContinueHighwayStepDetails::RouteContinueHighwayStepDetails() : + m_intersectionHasBeenSet(false), + m_steeringDirection(RouteSteeringDirection::NOT_SET), + m_steeringDirectionHasBeenSet(false), + m_turnAngle(0.0), + m_turnAngleHasBeenSet(false), + m_turnIntensity(RouteTurnIntensity::NOT_SET), + m_turnIntensityHasBeenSet(false) +{ +} + +RouteContinueHighwayStepDetails::RouteContinueHighwayStepDetails(JsonView jsonValue) + : RouteContinueHighwayStepDetails() +{ + *this = jsonValue; +} + +RouteContinueHighwayStepDetails& RouteContinueHighwayStepDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsObject()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SteeringDirection")) + { + m_steeringDirection = RouteSteeringDirectionMapper::GetRouteSteeringDirectionForName(jsonValue.GetString("SteeringDirection")); + + m_steeringDirectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnAngle")) + { + m_turnAngle = jsonValue.GetDouble("TurnAngle"); + + m_turnAngleHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnIntensity")) + { + m_turnIntensity = RouteTurnIntensityMapper::GetRouteTurnIntensityForName(jsonValue.GetString("TurnIntensity")); + + m_turnIntensityHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteContinueHighwayStepDetails::Jsonize() const +{ + JsonValue payload; + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsObject(m_intersection[intersectionIndex].Jsonize()); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_steeringDirectionHasBeenSet) + { + payload.WithString("SteeringDirection", RouteSteeringDirectionMapper::GetNameForRouteSteeringDirection(m_steeringDirection)); + } + + if(m_turnAngleHasBeenSet) + { + payload.WithDouble("TurnAngle", m_turnAngle); + + } + + if(m_turnIntensityHasBeenSet) + { + payload.WithString("TurnIntensity", RouteTurnIntensityMapper::GetNameForRouteTurnIntensity(m_turnIntensity)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteContinueStepDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteContinueStepDetails.cpp new file mode 100644 index 00000000000..f20d9b2228a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteContinueStepDetails.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteContinueStepDetails::RouteContinueStepDetails() : + m_intersectionHasBeenSet(false) +{ +} + +RouteContinueStepDetails::RouteContinueStepDetails(JsonView jsonValue) + : RouteContinueStepDetails() +{ + *this = jsonValue; +} + +RouteContinueStepDetails& RouteContinueStepDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsObject()); + } + m_intersectionHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteContinueStepDetails::Jsonize() const +{ + JsonValue payload; + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsObject(m_intersection[intersectionIndex].Jsonize()); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDestinationOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDestinationOptions.cpp new file mode 100644 index 00000000000..bc9473d9578 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDestinationOptions.cpp @@ -0,0 +1,133 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteDestinationOptions::RouteDestinationOptions() : + m_avoidActionsForDistance(0), + m_avoidActionsForDistanceHasBeenSet(false), + m_avoidUTurns(false), + m_avoidUTurnsHasBeenSet(false), + m_heading(0.0), + m_headingHasBeenSet(false), + m_matchingHasBeenSet(false), + m_sideOfStreetHasBeenSet(false), + m_stopDuration(0), + m_stopDurationHasBeenSet(false) +{ +} + +RouteDestinationOptions::RouteDestinationOptions(JsonView jsonValue) + : RouteDestinationOptions() +{ + *this = jsonValue; +} + +RouteDestinationOptions& RouteDestinationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AvoidActionsForDistance")) + { + m_avoidActionsForDistance = jsonValue.GetInt64("AvoidActionsForDistance"); + + m_avoidActionsForDistanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("AvoidUTurns")) + { + m_avoidUTurns = jsonValue.GetBool("AvoidUTurns"); + + m_avoidUTurnsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Heading")) + { + m_heading = jsonValue.GetDouble("Heading"); + + m_headingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Matching")) + { + m_matching = jsonValue.GetObject("Matching"); + + m_matchingHasBeenSet = true; + } + + if(jsonValue.ValueExists("SideOfStreet")) + { + m_sideOfStreet = jsonValue.GetObject("SideOfStreet"); + + m_sideOfStreetHasBeenSet = true; + } + + if(jsonValue.ValueExists("StopDuration")) + { + m_stopDuration = jsonValue.GetInt64("StopDuration"); + + m_stopDurationHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteDestinationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_avoidActionsForDistanceHasBeenSet) + { + payload.WithInt64("AvoidActionsForDistance", m_avoidActionsForDistance); + + } + + if(m_avoidUTurnsHasBeenSet) + { + payload.WithBool("AvoidUTurns", m_avoidUTurns); + + } + + if(m_headingHasBeenSet) + { + payload.WithDouble("Heading", m_heading); + + } + + if(m_matchingHasBeenSet) + { + payload.WithObject("Matching", m_matching.Jsonize()); + + } + + if(m_sideOfStreetHasBeenSet) + { + payload.WithObject("SideOfStreet", m_sideOfStreet.Jsonize()); + + } + + if(m_stopDurationHasBeenSet) + { + payload.WithInt64("StopDuration", m_stopDuration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDirection.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDirection.cpp new file mode 100644 index 00000000000..5ee405d0e4f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDirection.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteDirectionMapper + { + + static const int East_HASH = HashingUtils::HashString("East"); + static const int North_HASH = HashingUtils::HashString("North"); + static const int South_HASH = HashingUtils::HashString("South"); + static const int West_HASH = HashingUtils::HashString("West"); + + + RouteDirection GetRouteDirectionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == East_HASH) + { + return RouteDirection::East; + } + else if (hashCode == North_HASH) + { + return RouteDirection::North; + } + else if (hashCode == South_HASH) + { + return RouteDirection::South; + } + else if (hashCode == West_HASH) + { + return RouteDirection::West; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteDirection::NOT_SET; + } + + Aws::String GetNameForRouteDirection(RouteDirection enumValue) + { + switch(enumValue) + { + case RouteDirection::NOT_SET: + return {}; + case RouteDirection::East: + return "East"; + case RouteDirection::North: + return "North"; + case RouteDirection::South: + return "South"; + case RouteDirection::West: + return "West"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteDirectionMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDriverOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDriverOptions.cpp new file mode 100644 index 00000000000..ca898d8c539 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDriverOptions.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteDriverOptions::RouteDriverOptions() : + m_scheduleHasBeenSet(false) +{ +} + +RouteDriverOptions::RouteDriverOptions(JsonView jsonValue) + : RouteDriverOptions() +{ + *this = jsonValue; +} + +RouteDriverOptions& RouteDriverOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Schedule")) + { + Aws::Utils::Array scheduleJsonList = jsonValue.GetArray("Schedule"); + for(unsigned scheduleIndex = 0; scheduleIndex < scheduleJsonList.GetLength(); ++scheduleIndex) + { + m_schedule.push_back(scheduleJsonList[scheduleIndex].AsObject()); + } + m_scheduleHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteDriverOptions::Jsonize() const +{ + JsonValue payload; + + if(m_scheduleHasBeenSet) + { + Aws::Utils::Array scheduleJsonList(m_schedule.size()); + for(unsigned scheduleIndex = 0; scheduleIndex < scheduleJsonList.GetLength(); ++scheduleIndex) + { + scheduleJsonList[scheduleIndex].AsObject(m_schedule[scheduleIndex].Jsonize()); + } + payload.WithArray("Schedule", std::move(scheduleJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDriverScheduleInterval.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDriverScheduleInterval.cpp new file mode 100644 index 00000000000..5e0e1baa20f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteDriverScheduleInterval.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteDriverScheduleInterval::RouteDriverScheduleInterval() : + m_driveDuration(0), + m_driveDurationHasBeenSet(false), + m_restDuration(0), + m_restDurationHasBeenSet(false) +{ +} + +RouteDriverScheduleInterval::RouteDriverScheduleInterval(JsonView jsonValue) + : RouteDriverScheduleInterval() +{ + *this = jsonValue; +} + +RouteDriverScheduleInterval& RouteDriverScheduleInterval::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DriveDuration")) + { + m_driveDuration = jsonValue.GetInt64("DriveDuration"); + + m_driveDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("RestDuration")) + { + m_restDuration = jsonValue.GetInt64("RestDuration"); + + m_restDurationHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteDriverScheduleInterval::Jsonize() const +{ + JsonValue payload; + + if(m_driveDurationHasBeenSet) + { + payload.WithInt64("DriveDuration", m_driveDuration); + + } + + if(m_restDurationHasBeenSet) + { + payload.WithInt64("RestDuration", m_restDuration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteEmissionType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteEmissionType.cpp new file mode 100644 index 00000000000..a0b96d589f5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteEmissionType.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteEmissionType::RouteEmissionType() : + m_co2EmissionClassHasBeenSet(false), + m_typeHasBeenSet(false) +{ +} + +RouteEmissionType::RouteEmissionType(JsonView jsonValue) + : RouteEmissionType() +{ + *this = jsonValue; +} + +RouteEmissionType& RouteEmissionType::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Co2EmissionClass")) + { + m_co2EmissionClass = jsonValue.GetString("Co2EmissionClass"); + + m_co2EmissionClassHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = jsonValue.GetString("Type"); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteEmissionType::Jsonize() const +{ + JsonValue payload; + + if(m_co2EmissionClassHasBeenSet) + { + payload.WithString("Co2EmissionClass", m_co2EmissionClass); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", m_type); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteEngineType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteEngineType.cpp new file mode 100644 index 00000000000..d357bce3f38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteEngineType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteEngineTypeMapper + { + + static const int Electric_HASH = HashingUtils::HashString("Electric"); + static const int InternalCombustion_HASH = HashingUtils::HashString("InternalCombustion"); + static const int PluginHybrid_HASH = HashingUtils::HashString("PluginHybrid"); + + + RouteEngineType GetRouteEngineTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Electric_HASH) + { + return RouteEngineType::Electric; + } + else if (hashCode == InternalCombustion_HASH) + { + return RouteEngineType::InternalCombustion; + } + else if (hashCode == PluginHybrid_HASH) + { + return RouteEngineType::PluginHybrid; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteEngineType::NOT_SET; + } + + Aws::String GetNameForRouteEngineType(RouteEngineType enumValue) + { + switch(enumValue) + { + case RouteEngineType::NOT_SET: + return {}; + case RouteEngineType::Electric: + return "Electric"; + case RouteEngineType::InternalCombustion: + return "InternalCombustion"; + case RouteEngineType::PluginHybrid: + return "PluginHybrid"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteEngineTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteEnterHighwayStepDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteEnterHighwayStepDetails.cpp new file mode 100644 index 00000000000..010d090fd32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteEnterHighwayStepDetails.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteEnterHighwayStepDetails::RouteEnterHighwayStepDetails() : + m_intersectionHasBeenSet(false), + m_steeringDirection(RouteSteeringDirection::NOT_SET), + m_steeringDirectionHasBeenSet(false), + m_turnAngle(0.0), + m_turnAngleHasBeenSet(false), + m_turnIntensity(RouteTurnIntensity::NOT_SET), + m_turnIntensityHasBeenSet(false) +{ +} + +RouteEnterHighwayStepDetails::RouteEnterHighwayStepDetails(JsonView jsonValue) + : RouteEnterHighwayStepDetails() +{ + *this = jsonValue; +} + +RouteEnterHighwayStepDetails& RouteEnterHighwayStepDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsObject()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SteeringDirection")) + { + m_steeringDirection = RouteSteeringDirectionMapper::GetRouteSteeringDirectionForName(jsonValue.GetString("SteeringDirection")); + + m_steeringDirectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnAngle")) + { + m_turnAngle = jsonValue.GetDouble("TurnAngle"); + + m_turnAngleHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnIntensity")) + { + m_turnIntensity = RouteTurnIntensityMapper::GetRouteTurnIntensityForName(jsonValue.GetString("TurnIntensity")); + + m_turnIntensityHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteEnterHighwayStepDetails::Jsonize() const +{ + JsonValue payload; + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsObject(m_intersection[intersectionIndex].Jsonize()); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_steeringDirectionHasBeenSet) + { + payload.WithString("SteeringDirection", RouteSteeringDirectionMapper::GetNameForRouteSteeringDirection(m_steeringDirection)); + } + + if(m_turnAngleHasBeenSet) + { + payload.WithDouble("TurnAngle", m_turnAngle); + + } + + if(m_turnIntensityHasBeenSet) + { + payload.WithString("TurnIntensity", RouteTurnIntensityMapper::GetNameForRouteTurnIntensity(m_turnIntensity)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteExclusionOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteExclusionOptions.cpp new file mode 100644 index 00000000000..bba2f8d363d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteExclusionOptions.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteExclusionOptions::RouteExclusionOptions() : + m_countriesHasBeenSet(false) +{ +} + +RouteExclusionOptions::RouteExclusionOptions(JsonView jsonValue) + : RouteExclusionOptions() +{ + *this = jsonValue; +} + +RouteExclusionOptions& RouteExclusionOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Countries")) + { + Aws::Utils::Array countriesJsonList = jsonValue.GetArray("Countries"); + for(unsigned countriesIndex = 0; countriesIndex < countriesJsonList.GetLength(); ++countriesIndex) + { + m_countries.push_back(countriesJsonList[countriesIndex].AsString()); + } + m_countriesHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteExclusionOptions::Jsonize() const +{ + JsonValue payload; + + if(m_countriesHasBeenSet) + { + Aws::Utils::Array countriesJsonList(m_countries.size()); + for(unsigned countriesIndex = 0; countriesIndex < countriesJsonList.GetLength(); ++countriesIndex) + { + countriesJsonList[countriesIndex].AsString(m_countries[countriesIndex]); + } + payload.WithArray("Countries", std::move(countriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteExitStepDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteExitStepDetails.cpp new file mode 100644 index 00000000000..8b38a2c5d89 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteExitStepDetails.cpp @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteExitStepDetails::RouteExitStepDetails() : + m_intersectionHasBeenSet(false), + m_relativeExit(0), + m_relativeExitHasBeenSet(false), + m_steeringDirection(RouteSteeringDirection::NOT_SET), + m_steeringDirectionHasBeenSet(false), + m_turnAngle(0.0), + m_turnAngleHasBeenSet(false), + m_turnIntensity(RouteTurnIntensity::NOT_SET), + m_turnIntensityHasBeenSet(false) +{ +} + +RouteExitStepDetails::RouteExitStepDetails(JsonView jsonValue) + : RouteExitStepDetails() +{ + *this = jsonValue; +} + +RouteExitStepDetails& RouteExitStepDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsObject()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("RelativeExit")) + { + m_relativeExit = jsonValue.GetInteger("RelativeExit"); + + m_relativeExitHasBeenSet = true; + } + + if(jsonValue.ValueExists("SteeringDirection")) + { + m_steeringDirection = RouteSteeringDirectionMapper::GetRouteSteeringDirectionForName(jsonValue.GetString("SteeringDirection")); + + m_steeringDirectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnAngle")) + { + m_turnAngle = jsonValue.GetDouble("TurnAngle"); + + m_turnAngleHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnIntensity")) + { + m_turnIntensity = RouteTurnIntensityMapper::GetRouteTurnIntensityForName(jsonValue.GetString("TurnIntensity")); + + m_turnIntensityHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteExitStepDetails::Jsonize() const +{ + JsonValue payload; + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsObject(m_intersection[intersectionIndex].Jsonize()); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_relativeExitHasBeenSet) + { + payload.WithInteger("RelativeExit", m_relativeExit); + + } + + if(m_steeringDirectionHasBeenSet) + { + payload.WithString("SteeringDirection", RouteSteeringDirectionMapper::GetNameForRouteSteeringDirection(m_steeringDirection)); + } + + if(m_turnAngleHasBeenSet) + { + payload.WithDouble("TurnAngle", m_turnAngle); + + } + + if(m_turnIntensityHasBeenSet) + { + payload.WithString("TurnIntensity", RouteTurnIntensityMapper::GetNameForRouteTurnIntensity(m_turnIntensity)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryAfterTravelStep.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryAfterTravelStep.cpp new file mode 100644 index 00000000000..a254899fcb9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryAfterTravelStep.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerryAfterTravelStep::RouteFerryAfterTravelStep() : + m_duration(0), + m_durationHasBeenSet(false), + m_instructionHasBeenSet(false), + m_type(RouteFerryAfterTravelStepType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +RouteFerryAfterTravelStep::RouteFerryAfterTravelStep(JsonView jsonValue) + : RouteFerryAfterTravelStep() +{ + *this = jsonValue; +} + +RouteFerryAfterTravelStep& RouteFerryAfterTravelStep::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Instruction")) + { + m_instruction = jsonValue.GetString("Instruction"); + + m_instructionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = RouteFerryAfterTravelStepTypeMapper::GetRouteFerryAfterTravelStepTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerryAfterTravelStep::Jsonize() const +{ + JsonValue payload; + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_instructionHasBeenSet) + { + payload.WithString("Instruction", m_instruction); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", RouteFerryAfterTravelStepTypeMapper::GetNameForRouteFerryAfterTravelStepType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryAfterTravelStepType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryAfterTravelStepType.cpp new file mode 100644 index 00000000000..8289e000a2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryAfterTravelStepType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteFerryAfterTravelStepTypeMapper + { + + static const int Deboard_HASH = HashingUtils::HashString("Deboard"); + + + RouteFerryAfterTravelStepType GetRouteFerryAfterTravelStepTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Deboard_HASH) + { + return RouteFerryAfterTravelStepType::Deboard; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteFerryAfterTravelStepType::NOT_SET; + } + + Aws::String GetNameForRouteFerryAfterTravelStepType(RouteFerryAfterTravelStepType enumValue) + { + switch(enumValue) + { + case RouteFerryAfterTravelStepType::NOT_SET: + return {}; + case RouteFerryAfterTravelStepType::Deboard: + return "Deboard"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteFerryAfterTravelStepTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryArrival.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryArrival.cpp new file mode 100644 index 00000000000..371c1c9e0c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryArrival.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerryArrival::RouteFerryArrival() : + m_placeHasBeenSet(false), + m_timeHasBeenSet(false) +{ +} + +RouteFerryArrival::RouteFerryArrival(JsonView jsonValue) + : RouteFerryArrival() +{ + *this = jsonValue; +} + +RouteFerryArrival& RouteFerryArrival::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Place")) + { + m_place = jsonValue.GetObject("Place"); + + m_placeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Time")) + { + m_time = jsonValue.GetString("Time"); + + m_timeHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerryArrival::Jsonize() const +{ + JsonValue payload; + + if(m_placeHasBeenSet) + { + payload.WithObject("Place", m_place.Jsonize()); + + } + + if(m_timeHasBeenSet) + { + payload.WithString("Time", m_time); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryBeforeTravelStep.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryBeforeTravelStep.cpp new file mode 100644 index 00000000000..7f7cd7e7220 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryBeforeTravelStep.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerryBeforeTravelStep::RouteFerryBeforeTravelStep() : + m_duration(0), + m_durationHasBeenSet(false), + m_instructionHasBeenSet(false), + m_type(RouteFerryBeforeTravelStepType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +RouteFerryBeforeTravelStep::RouteFerryBeforeTravelStep(JsonView jsonValue) + : RouteFerryBeforeTravelStep() +{ + *this = jsonValue; +} + +RouteFerryBeforeTravelStep& RouteFerryBeforeTravelStep::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Instruction")) + { + m_instruction = jsonValue.GetString("Instruction"); + + m_instructionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = RouteFerryBeforeTravelStepTypeMapper::GetRouteFerryBeforeTravelStepTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerryBeforeTravelStep::Jsonize() const +{ + JsonValue payload; + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_instructionHasBeenSet) + { + payload.WithString("Instruction", m_instruction); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", RouteFerryBeforeTravelStepTypeMapper::GetNameForRouteFerryBeforeTravelStepType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryBeforeTravelStepType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryBeforeTravelStepType.cpp new file mode 100644 index 00000000000..fa2d2ca0ad3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryBeforeTravelStepType.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteFerryBeforeTravelStepTypeMapper + { + + static const int Board_HASH = HashingUtils::HashString("Board"); + + + RouteFerryBeforeTravelStepType GetRouteFerryBeforeTravelStepTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Board_HASH) + { + return RouteFerryBeforeTravelStepType::Board; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteFerryBeforeTravelStepType::NOT_SET; + } + + Aws::String GetNameForRouteFerryBeforeTravelStepType(RouteFerryBeforeTravelStepType enumValue) + { + switch(enumValue) + { + case RouteFerryBeforeTravelStepType::NOT_SET: + return {}; + case RouteFerryBeforeTravelStepType::Board: + return "Board"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteFerryBeforeTravelStepTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryDeparture.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryDeparture.cpp new file mode 100644 index 00000000000..e57d9394d70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryDeparture.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerryDeparture::RouteFerryDeparture() : + m_placeHasBeenSet(false), + m_timeHasBeenSet(false) +{ +} + +RouteFerryDeparture::RouteFerryDeparture(JsonView jsonValue) + : RouteFerryDeparture() +{ + *this = jsonValue; +} + +RouteFerryDeparture& RouteFerryDeparture::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Place")) + { + m_place = jsonValue.GetObject("Place"); + + m_placeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Time")) + { + m_time = jsonValue.GetString("Time"); + + m_timeHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerryDeparture::Jsonize() const +{ + JsonValue payload; + + if(m_placeHasBeenSet) + { + payload.WithObject("Place", m_place.Jsonize()); + + } + + if(m_timeHasBeenSet) + { + payload.WithString("Time", m_time); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryLegDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryLegDetails.cpp new file mode 100644 index 00000000000..cd63fe5b779 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryLegDetails.cpp @@ -0,0 +1,233 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerryLegDetails::RouteFerryLegDetails() : + m_afterTravelStepsHasBeenSet(false), + m_arrivalHasBeenSet(false), + m_beforeTravelStepsHasBeenSet(false), + m_departureHasBeenSet(false), + m_noticesHasBeenSet(false), + m_passThroughWaypointsHasBeenSet(false), + m_routeNameHasBeenSet(false), + m_spansHasBeenSet(false), + m_summaryHasBeenSet(false), + m_travelStepsHasBeenSet(false) +{ +} + +RouteFerryLegDetails::RouteFerryLegDetails(JsonView jsonValue) + : RouteFerryLegDetails() +{ + *this = jsonValue; +} + +RouteFerryLegDetails& RouteFerryLegDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AfterTravelSteps")) + { + Aws::Utils::Array afterTravelStepsJsonList = jsonValue.GetArray("AfterTravelSteps"); + for(unsigned afterTravelStepsIndex = 0; afterTravelStepsIndex < afterTravelStepsJsonList.GetLength(); ++afterTravelStepsIndex) + { + m_afterTravelSteps.push_back(afterTravelStepsJsonList[afterTravelStepsIndex].AsObject()); + } + m_afterTravelStepsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Arrival")) + { + m_arrival = jsonValue.GetObject("Arrival"); + + m_arrivalHasBeenSet = true; + } + + if(jsonValue.ValueExists("BeforeTravelSteps")) + { + Aws::Utils::Array beforeTravelStepsJsonList = jsonValue.GetArray("BeforeTravelSteps"); + for(unsigned beforeTravelStepsIndex = 0; beforeTravelStepsIndex < beforeTravelStepsJsonList.GetLength(); ++beforeTravelStepsIndex) + { + m_beforeTravelSteps.push_back(beforeTravelStepsJsonList[beforeTravelStepsIndex].AsObject()); + } + m_beforeTravelStepsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Departure")) + { + m_departure = jsonValue.GetObject("Departure"); + + m_departureHasBeenSet = true; + } + + if(jsonValue.ValueExists("Notices")) + { + Aws::Utils::Array noticesJsonList = jsonValue.GetArray("Notices"); + for(unsigned noticesIndex = 0; noticesIndex < noticesJsonList.GetLength(); ++noticesIndex) + { + m_notices.push_back(noticesJsonList[noticesIndex].AsObject()); + } + m_noticesHasBeenSet = true; + } + + if(jsonValue.ValueExists("PassThroughWaypoints")) + { + Aws::Utils::Array passThroughWaypointsJsonList = jsonValue.GetArray("PassThroughWaypoints"); + for(unsigned passThroughWaypointsIndex = 0; passThroughWaypointsIndex < passThroughWaypointsJsonList.GetLength(); ++passThroughWaypointsIndex) + { + m_passThroughWaypoints.push_back(passThroughWaypointsJsonList[passThroughWaypointsIndex].AsObject()); + } + m_passThroughWaypointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("RouteName")) + { + m_routeName = jsonValue.GetString("RouteName"); + + m_routeNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Spans")) + { + Aws::Utils::Array spansJsonList = jsonValue.GetArray("Spans"); + for(unsigned spansIndex = 0; spansIndex < spansJsonList.GetLength(); ++spansIndex) + { + m_spans.push_back(spansJsonList[spansIndex].AsObject()); + } + m_spansHasBeenSet = true; + } + + if(jsonValue.ValueExists("Summary")) + { + m_summary = jsonValue.GetObject("Summary"); + + m_summaryHasBeenSet = true; + } + + if(jsonValue.ValueExists("TravelSteps")) + { + Aws::Utils::Array travelStepsJsonList = jsonValue.GetArray("TravelSteps"); + for(unsigned travelStepsIndex = 0; travelStepsIndex < travelStepsJsonList.GetLength(); ++travelStepsIndex) + { + m_travelSteps.push_back(travelStepsJsonList[travelStepsIndex].AsObject()); + } + m_travelStepsHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerryLegDetails::Jsonize() const +{ + JsonValue payload; + + if(m_afterTravelStepsHasBeenSet) + { + Aws::Utils::Array afterTravelStepsJsonList(m_afterTravelSteps.size()); + for(unsigned afterTravelStepsIndex = 0; afterTravelStepsIndex < afterTravelStepsJsonList.GetLength(); ++afterTravelStepsIndex) + { + afterTravelStepsJsonList[afterTravelStepsIndex].AsObject(m_afterTravelSteps[afterTravelStepsIndex].Jsonize()); + } + payload.WithArray("AfterTravelSteps", std::move(afterTravelStepsJsonList)); + + } + + if(m_arrivalHasBeenSet) + { + payload.WithObject("Arrival", m_arrival.Jsonize()); + + } + + if(m_beforeTravelStepsHasBeenSet) + { + Aws::Utils::Array beforeTravelStepsJsonList(m_beforeTravelSteps.size()); + for(unsigned beforeTravelStepsIndex = 0; beforeTravelStepsIndex < beforeTravelStepsJsonList.GetLength(); ++beforeTravelStepsIndex) + { + beforeTravelStepsJsonList[beforeTravelStepsIndex].AsObject(m_beforeTravelSteps[beforeTravelStepsIndex].Jsonize()); + } + payload.WithArray("BeforeTravelSteps", std::move(beforeTravelStepsJsonList)); + + } + + if(m_departureHasBeenSet) + { + payload.WithObject("Departure", m_departure.Jsonize()); + + } + + if(m_noticesHasBeenSet) + { + Aws::Utils::Array noticesJsonList(m_notices.size()); + for(unsigned noticesIndex = 0; noticesIndex < noticesJsonList.GetLength(); ++noticesIndex) + { + noticesJsonList[noticesIndex].AsObject(m_notices[noticesIndex].Jsonize()); + } + payload.WithArray("Notices", std::move(noticesJsonList)); + + } + + if(m_passThroughWaypointsHasBeenSet) + { + Aws::Utils::Array passThroughWaypointsJsonList(m_passThroughWaypoints.size()); + for(unsigned passThroughWaypointsIndex = 0; passThroughWaypointsIndex < passThroughWaypointsJsonList.GetLength(); ++passThroughWaypointsIndex) + { + passThroughWaypointsJsonList[passThroughWaypointsIndex].AsObject(m_passThroughWaypoints[passThroughWaypointsIndex].Jsonize()); + } + payload.WithArray("PassThroughWaypoints", std::move(passThroughWaypointsJsonList)); + + } + + if(m_routeNameHasBeenSet) + { + payload.WithString("RouteName", m_routeName); + + } + + if(m_spansHasBeenSet) + { + Aws::Utils::Array spansJsonList(m_spans.size()); + for(unsigned spansIndex = 0; spansIndex < spansJsonList.GetLength(); ++spansIndex) + { + spansJsonList[spansIndex].AsObject(m_spans[spansIndex].Jsonize()); + } + payload.WithArray("Spans", std::move(spansJsonList)); + + } + + if(m_summaryHasBeenSet) + { + payload.WithObject("Summary", m_summary.Jsonize()); + + } + + if(m_travelStepsHasBeenSet) + { + Aws::Utils::Array travelStepsJsonList(m_travelSteps.size()); + for(unsigned travelStepsIndex = 0; travelStepsIndex < travelStepsJsonList.GetLength(); ++travelStepsIndex) + { + travelStepsJsonList[travelStepsIndex].AsObject(m_travelSteps[travelStepsIndex].Jsonize()); + } + payload.WithArray("TravelSteps", std::move(travelStepsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryNotice.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryNotice.cpp new file mode 100644 index 00000000000..1856966fd69 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryNotice.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerryNotice::RouteFerryNotice() : + m_code(RouteFerryNoticeCode::NOT_SET), + m_codeHasBeenSet(false), + m_impact(RouteNoticeImpact::NOT_SET), + m_impactHasBeenSet(false) +{ +} + +RouteFerryNotice::RouteFerryNotice(JsonView jsonValue) + : RouteFerryNotice() +{ + *this = jsonValue; +} + +RouteFerryNotice& RouteFerryNotice::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code")) + { + m_code = RouteFerryNoticeCodeMapper::GetRouteFerryNoticeCodeForName(jsonValue.GetString("Code")); + + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Impact")) + { + m_impact = RouteNoticeImpactMapper::GetRouteNoticeImpactForName(jsonValue.GetString("Impact")); + + m_impactHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerryNotice::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + payload.WithString("Code", RouteFerryNoticeCodeMapper::GetNameForRouteFerryNoticeCode(m_code)); + } + + if(m_impactHasBeenSet) + { + payload.WithString("Impact", RouteNoticeImpactMapper::GetNameForRouteNoticeImpact(m_impact)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryNoticeCode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryNoticeCode.cpp new file mode 100644 index 00000000000..9f58601b931 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryNoticeCode.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteFerryNoticeCodeMapper + { + + static const int AccuratePolylineUnavailable_HASH = HashingUtils::HashString("AccuratePolylineUnavailable"); + static const int NoSchedule_HASH = HashingUtils::HashString("NoSchedule"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int ViolatedAvoidFerry_HASH = HashingUtils::HashString("ViolatedAvoidFerry"); + static const int ViolatedAvoidRailFerry_HASH = HashingUtils::HashString("ViolatedAvoidRailFerry"); + + + RouteFerryNoticeCode GetRouteFerryNoticeCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AccuratePolylineUnavailable_HASH) + { + return RouteFerryNoticeCode::AccuratePolylineUnavailable; + } + else if (hashCode == NoSchedule_HASH) + { + return RouteFerryNoticeCode::NoSchedule; + } + else if (hashCode == Other_HASH) + { + return RouteFerryNoticeCode::Other; + } + else if (hashCode == ViolatedAvoidFerry_HASH) + { + return RouteFerryNoticeCode::ViolatedAvoidFerry; + } + else if (hashCode == ViolatedAvoidRailFerry_HASH) + { + return RouteFerryNoticeCode::ViolatedAvoidRailFerry; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteFerryNoticeCode::NOT_SET; + } + + Aws::String GetNameForRouteFerryNoticeCode(RouteFerryNoticeCode enumValue) + { + switch(enumValue) + { + case RouteFerryNoticeCode::NOT_SET: + return {}; + case RouteFerryNoticeCode::AccuratePolylineUnavailable: + return "AccuratePolylineUnavailable"; + case RouteFerryNoticeCode::NoSchedule: + return "NoSchedule"; + case RouteFerryNoticeCode::Other: + return "Other"; + case RouteFerryNoticeCode::ViolatedAvoidFerry: + return "ViolatedAvoidFerry"; + case RouteFerryNoticeCode::ViolatedAvoidRailFerry: + return "ViolatedAvoidRailFerry"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteFerryNoticeCodeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryOverviewSummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryOverviewSummary.cpp new file mode 100644 index 00000000000..d48c7dfc10a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryOverviewSummary.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerryOverviewSummary::RouteFerryOverviewSummary() : + m_distance(0), + m_distanceHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false) +{ +} + +RouteFerryOverviewSummary::RouteFerryOverviewSummary(JsonView jsonValue) + : RouteFerryOverviewSummary() +{ + *this = jsonValue; +} + +RouteFerryOverviewSummary& RouteFerryOverviewSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerryOverviewSummary::Jsonize() const +{ + JsonValue payload; + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryPlace.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryPlace.cpp new file mode 100644 index 00000000000..4c6a4f1b096 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryPlace.cpp @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerryPlace::RouteFerryPlace() : + m_nameHasBeenSet(false), + m_originalPositionHasBeenSet(false), + m_positionHasBeenSet(false), + m_waypointIndex(0), + m_waypointIndexHasBeenSet(false) +{ +} + +RouteFerryPlace::RouteFerryPlace(JsonView jsonValue) + : RouteFerryPlace() +{ + *this = jsonValue; +} + +RouteFerryPlace& RouteFerryPlace::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("OriginalPosition")) + { + Aws::Utils::Array originalPositionJsonList = jsonValue.GetArray("OriginalPosition"); + for(unsigned originalPositionIndex = 0; originalPositionIndex < originalPositionJsonList.GetLength(); ++originalPositionIndex) + { + m_originalPosition.push_back(originalPositionJsonList[originalPositionIndex].AsDouble()); + } + m_originalPositionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("WaypointIndex")) + { + m_waypointIndex = jsonValue.GetInteger("WaypointIndex"); + + m_waypointIndexHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerryPlace::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_originalPositionHasBeenSet) + { + Aws::Utils::Array originalPositionJsonList(m_originalPosition.size()); + for(unsigned originalPositionIndex = 0; originalPositionIndex < originalPositionJsonList.GetLength(); ++originalPositionIndex) + { + originalPositionJsonList[originalPositionIndex].AsDouble(m_originalPosition[originalPositionIndex]); + } + payload.WithArray("OriginalPosition", std::move(originalPositionJsonList)); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_waypointIndexHasBeenSet) + { + payload.WithInteger("WaypointIndex", m_waypointIndex); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerrySpan.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerrySpan.cpp new file mode 100644 index 00000000000..fae73b3b170 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerrySpan.cpp @@ -0,0 +1,140 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerrySpan::RouteFerrySpan() : + m_countryHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false), + m_geometryOffset(0), + m_geometryOffsetHasBeenSet(false), + m_namesHasBeenSet(false), + m_regionHasBeenSet(false) +{ +} + +RouteFerrySpan::RouteFerrySpan(JsonView jsonValue) + : RouteFerrySpan() +{ + *this = jsonValue; +} + +RouteFerrySpan& RouteFerrySpan::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Country")) + { + m_country = jsonValue.GetString("Country"); + + m_countryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("GeometryOffset")) + { + m_geometryOffset = jsonValue.GetInteger("GeometryOffset"); + + m_geometryOffsetHasBeenSet = true; + } + + if(jsonValue.ValueExists("Names")) + { + Aws::Utils::Array namesJsonList = jsonValue.GetArray("Names"); + for(unsigned namesIndex = 0; namesIndex < namesJsonList.GetLength(); ++namesIndex) + { + m_names.push_back(namesJsonList[namesIndex].AsObject()); + } + m_namesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetString("Region"); + + m_regionHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerrySpan::Jsonize() const +{ + JsonValue payload; + + if(m_countryHasBeenSet) + { + payload.WithString("Country", m_country); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_geometryOffsetHasBeenSet) + { + payload.WithInteger("GeometryOffset", m_geometryOffset); + + } + + if(m_namesHasBeenSet) + { + Aws::Utils::Array namesJsonList(m_names.size()); + for(unsigned namesIndex = 0; namesIndex < namesJsonList.GetLength(); ++namesIndex) + { + namesJsonList[namesIndex].AsObject(m_names[namesIndex].Jsonize()); + } + payload.WithArray("Names", std::move(namesJsonList)); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("Region", m_region); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerrySummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerrySummary.cpp new file mode 100644 index 00000000000..7c9e65e0dfb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerrySummary.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerrySummary::RouteFerrySummary() : + m_overviewHasBeenSet(false), + m_travelOnlyHasBeenSet(false) +{ +} + +RouteFerrySummary::RouteFerrySummary(JsonView jsonValue) + : RouteFerrySummary() +{ + *this = jsonValue; +} + +RouteFerrySummary& RouteFerrySummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Overview")) + { + m_overview = jsonValue.GetObject("Overview"); + + m_overviewHasBeenSet = true; + } + + if(jsonValue.ValueExists("TravelOnly")) + { + m_travelOnly = jsonValue.GetObject("TravelOnly"); + + m_travelOnlyHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerrySummary::Jsonize() const +{ + JsonValue payload; + + if(m_overviewHasBeenSet) + { + payload.WithObject("Overview", m_overview.Jsonize()); + + } + + if(m_travelOnlyHasBeenSet) + { + payload.WithObject("TravelOnly", m_travelOnly.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryTravelOnlySummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryTravelOnlySummary.cpp new file mode 100644 index 00000000000..35e7ff06e2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryTravelOnlySummary.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerryTravelOnlySummary::RouteFerryTravelOnlySummary() : + m_duration(0), + m_durationHasBeenSet(false) +{ +} + +RouteFerryTravelOnlySummary::RouteFerryTravelOnlySummary(JsonView jsonValue) + : RouteFerryTravelOnlySummary() +{ + *this = jsonValue; +} + +RouteFerryTravelOnlySummary& RouteFerryTravelOnlySummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerryTravelOnlySummary::Jsonize() const +{ + JsonValue payload; + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryTravelStep.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryTravelStep.cpp new file mode 100644 index 00000000000..4e3a5afa07b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryTravelStep.cpp @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteFerryTravelStep::RouteFerryTravelStep() : + m_distance(0), + m_distanceHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false), + m_geometryOffset(0), + m_geometryOffsetHasBeenSet(false), + m_instructionHasBeenSet(false), + m_type(RouteFerryTravelStepType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +RouteFerryTravelStep::RouteFerryTravelStep(JsonView jsonValue) + : RouteFerryTravelStep() +{ + *this = jsonValue; +} + +RouteFerryTravelStep& RouteFerryTravelStep::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("GeometryOffset")) + { + m_geometryOffset = jsonValue.GetInteger("GeometryOffset"); + + m_geometryOffsetHasBeenSet = true; + } + + if(jsonValue.ValueExists("Instruction")) + { + m_instruction = jsonValue.GetString("Instruction"); + + m_instructionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = RouteFerryTravelStepTypeMapper::GetRouteFerryTravelStepTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteFerryTravelStep::Jsonize() const +{ + JsonValue payload; + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_geometryOffsetHasBeenSet) + { + payload.WithInteger("GeometryOffset", m_geometryOffset); + + } + + if(m_instructionHasBeenSet) + { + payload.WithString("Instruction", m_instruction); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", RouteFerryTravelStepTypeMapper::GetNameForRouteFerryTravelStepType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryTravelStepType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryTravelStepType.cpp new file mode 100644 index 00000000000..7bdeaa9e41d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteFerryTravelStepType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteFerryTravelStepTypeMapper + { + + static const int Depart_HASH = HashingUtils::HashString("Depart"); + static const int Continue_HASH = HashingUtils::HashString("Continue"); + static const int Arrive_HASH = HashingUtils::HashString("Arrive"); + + + RouteFerryTravelStepType GetRouteFerryTravelStepTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Depart_HASH) + { + return RouteFerryTravelStepType::Depart; + } + else if (hashCode == Continue_HASH) + { + return RouteFerryTravelStepType::Continue; + } + else if (hashCode == Arrive_HASH) + { + return RouteFerryTravelStepType::Arrive; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteFerryTravelStepType::NOT_SET; + } + + Aws::String GetNameForRouteFerryTravelStepType(RouteFerryTravelStepType enumValue) + { + switch(enumValue) + { + case RouteFerryTravelStepType::NOT_SET: + return {}; + case RouteFerryTravelStepType::Depart: + return "Depart"; + case RouteFerryTravelStepType::Continue: + return "Continue"; + case RouteFerryTravelStepType::Arrive: + return "Arrive"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteFerryTravelStepTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteHazardousCargoType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteHazardousCargoType.cpp new file mode 100644 index 00000000000..307c4baf276 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteHazardousCargoType.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteHazardousCargoTypeMapper + { + + static const int Combustible_HASH = HashingUtils::HashString("Combustible"); + static const int Corrosive_HASH = HashingUtils::HashString("Corrosive"); + static const int Explosive_HASH = HashingUtils::HashString("Explosive"); + static const int Flammable_HASH = HashingUtils::HashString("Flammable"); + static const int Gas_HASH = HashingUtils::HashString("Gas"); + static const int HarmfulToWater_HASH = HashingUtils::HashString("HarmfulToWater"); + static const int Organic_HASH = HashingUtils::HashString("Organic"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int Poison_HASH = HashingUtils::HashString("Poison"); + static const int PoisonousInhalation_HASH = HashingUtils::HashString("PoisonousInhalation"); + static const int Radioactive_HASH = HashingUtils::HashString("Radioactive"); + + + RouteHazardousCargoType GetRouteHazardousCargoTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Combustible_HASH) + { + return RouteHazardousCargoType::Combustible; + } + else if (hashCode == Corrosive_HASH) + { + return RouteHazardousCargoType::Corrosive; + } + else if (hashCode == Explosive_HASH) + { + return RouteHazardousCargoType::Explosive; + } + else if (hashCode == Flammable_HASH) + { + return RouteHazardousCargoType::Flammable; + } + else if (hashCode == Gas_HASH) + { + return RouteHazardousCargoType::Gas; + } + else if (hashCode == HarmfulToWater_HASH) + { + return RouteHazardousCargoType::HarmfulToWater; + } + else if (hashCode == Organic_HASH) + { + return RouteHazardousCargoType::Organic; + } + else if (hashCode == Other_HASH) + { + return RouteHazardousCargoType::Other; + } + else if (hashCode == Poison_HASH) + { + return RouteHazardousCargoType::Poison; + } + else if (hashCode == PoisonousInhalation_HASH) + { + return RouteHazardousCargoType::PoisonousInhalation; + } + else if (hashCode == Radioactive_HASH) + { + return RouteHazardousCargoType::Radioactive; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteHazardousCargoType::NOT_SET; + } + + Aws::String GetNameForRouteHazardousCargoType(RouteHazardousCargoType enumValue) + { + switch(enumValue) + { + case RouteHazardousCargoType::NOT_SET: + return {}; + case RouteHazardousCargoType::Combustible: + return "Combustible"; + case RouteHazardousCargoType::Corrosive: + return "Corrosive"; + case RouteHazardousCargoType::Explosive: + return "Explosive"; + case RouteHazardousCargoType::Flammable: + return "Flammable"; + case RouteHazardousCargoType::Gas: + return "Gas"; + case RouteHazardousCargoType::HarmfulToWater: + return "HarmfulToWater"; + case RouteHazardousCargoType::Organic: + return "Organic"; + case RouteHazardousCargoType::Other: + return "Other"; + case RouteHazardousCargoType::Poison: + return "Poison"; + case RouteHazardousCargoType::PoisonousInhalation: + return "PoisonousInhalation"; + case RouteHazardousCargoType::Radioactive: + return "Radioactive"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteHazardousCargoTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteKeepStepDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteKeepStepDetails.cpp new file mode 100644 index 00000000000..504ca6b3e24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteKeepStepDetails.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteKeepStepDetails::RouteKeepStepDetails() : + m_intersectionHasBeenSet(false), + m_steeringDirection(RouteSteeringDirection::NOT_SET), + m_steeringDirectionHasBeenSet(false), + m_turnAngle(0.0), + m_turnAngleHasBeenSet(false), + m_turnIntensity(RouteTurnIntensity::NOT_SET), + m_turnIntensityHasBeenSet(false) +{ +} + +RouteKeepStepDetails::RouteKeepStepDetails(JsonView jsonValue) + : RouteKeepStepDetails() +{ + *this = jsonValue; +} + +RouteKeepStepDetails& RouteKeepStepDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsObject()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SteeringDirection")) + { + m_steeringDirection = RouteSteeringDirectionMapper::GetRouteSteeringDirectionForName(jsonValue.GetString("SteeringDirection")); + + m_steeringDirectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnAngle")) + { + m_turnAngle = jsonValue.GetDouble("TurnAngle"); + + m_turnAngleHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnIntensity")) + { + m_turnIntensity = RouteTurnIntensityMapper::GetRouteTurnIntensityForName(jsonValue.GetString("TurnIntensity")); + + m_turnIntensityHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteKeepStepDetails::Jsonize() const +{ + JsonValue payload; + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsObject(m_intersection[intersectionIndex].Jsonize()); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_steeringDirectionHasBeenSet) + { + payload.WithString("SteeringDirection", RouteSteeringDirectionMapper::GetNameForRouteSteeringDirection(m_steeringDirection)); + } + + if(m_turnAngleHasBeenSet) + { + payload.WithDouble("TurnAngle", m_turnAngle); + + } + + if(m_turnIntensityHasBeenSet) + { + payload.WithString("TurnIntensity", RouteTurnIntensityMapper::GetNameForRouteTurnIntensity(m_turnIntensity)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLeg.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLeg.cpp new file mode 100644 index 00000000000..3036bcd2886 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLeg.cpp @@ -0,0 +1,143 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteLeg::RouteLeg() : + m_ferryLegDetailsHasBeenSet(false), + m_geometryHasBeenSet(false), + m_languageHasBeenSet(false), + m_pedestrianLegDetailsHasBeenSet(false), + m_travelMode(RouteLegTravelMode::NOT_SET), + m_travelModeHasBeenSet(false), + m_type(RouteLegType::NOT_SET), + m_typeHasBeenSet(false), + m_vehicleLegDetailsHasBeenSet(false) +{ +} + +RouteLeg::RouteLeg(JsonView jsonValue) + : RouteLeg() +{ + *this = jsonValue; +} + +RouteLeg& RouteLeg::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FerryLegDetails")) + { + m_ferryLegDetails = jsonValue.GetObject("FerryLegDetails"); + + m_ferryLegDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Geometry")) + { + m_geometry = jsonValue.GetObject("Geometry"); + + m_geometryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Language")) + { + m_language = jsonValue.GetString("Language"); + + m_languageHasBeenSet = true; + } + + if(jsonValue.ValueExists("PedestrianLegDetails")) + { + m_pedestrianLegDetails = jsonValue.GetObject("PedestrianLegDetails"); + + m_pedestrianLegDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TravelMode")) + { + m_travelMode = RouteLegTravelModeMapper::GetRouteLegTravelModeForName(jsonValue.GetString("TravelMode")); + + m_travelModeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = RouteLegTypeMapper::GetRouteLegTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("VehicleLegDetails")) + { + m_vehicleLegDetails = jsonValue.GetObject("VehicleLegDetails"); + + m_vehicleLegDetailsHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteLeg::Jsonize() const +{ + JsonValue payload; + + if(m_ferryLegDetailsHasBeenSet) + { + payload.WithObject("FerryLegDetails", m_ferryLegDetails.Jsonize()); + + } + + if(m_geometryHasBeenSet) + { + payload.WithObject("Geometry", m_geometry.Jsonize()); + + } + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + if(m_pedestrianLegDetailsHasBeenSet) + { + payload.WithObject("PedestrianLegDetails", m_pedestrianLegDetails.Jsonize()); + + } + + if(m_travelModeHasBeenSet) + { + payload.WithString("TravelMode", RouteLegTravelModeMapper::GetNameForRouteLegTravelMode(m_travelMode)); + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", RouteLegTypeMapper::GetNameForRouteLegType(m_type)); + } + + if(m_vehicleLegDetailsHasBeenSet) + { + payload.WithObject("VehicleLegDetails", m_vehicleLegDetails.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegAdditionalFeature.cpp new file mode 100644 index 00000000000..767e7504f7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegAdditionalFeature.cpp @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteLegAdditionalFeatureMapper + { + + static const int Elevation_HASH = HashingUtils::HashString("Elevation"); + static const int Incidents_HASH = HashingUtils::HashString("Incidents"); + static const int PassThroughWaypoints_HASH = HashingUtils::HashString("PassThroughWaypoints"); + static const int Summary_HASH = HashingUtils::HashString("Summary"); + static const int Tolls_HASH = HashingUtils::HashString("Tolls"); + static const int TravelStepInstructions_HASH = HashingUtils::HashString("TravelStepInstructions"); + static const int TruckRoadTypes_HASH = HashingUtils::HashString("TruckRoadTypes"); + static const int TypicalDuration_HASH = HashingUtils::HashString("TypicalDuration"); + static const int Zones_HASH = HashingUtils::HashString("Zones"); + + + RouteLegAdditionalFeature GetRouteLegAdditionalFeatureForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Elevation_HASH) + { + return RouteLegAdditionalFeature::Elevation; + } + else if (hashCode == Incidents_HASH) + { + return RouteLegAdditionalFeature::Incidents; + } + else if (hashCode == PassThroughWaypoints_HASH) + { + return RouteLegAdditionalFeature::PassThroughWaypoints; + } + else if (hashCode == Summary_HASH) + { + return RouteLegAdditionalFeature::Summary; + } + else if (hashCode == Tolls_HASH) + { + return RouteLegAdditionalFeature::Tolls; + } + else if (hashCode == TravelStepInstructions_HASH) + { + return RouteLegAdditionalFeature::TravelStepInstructions; + } + else if (hashCode == TruckRoadTypes_HASH) + { + return RouteLegAdditionalFeature::TruckRoadTypes; + } + else if (hashCode == TypicalDuration_HASH) + { + return RouteLegAdditionalFeature::TypicalDuration; + } + else if (hashCode == Zones_HASH) + { + return RouteLegAdditionalFeature::Zones; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteLegAdditionalFeature::NOT_SET; + } + + Aws::String GetNameForRouteLegAdditionalFeature(RouteLegAdditionalFeature enumValue) + { + switch(enumValue) + { + case RouteLegAdditionalFeature::NOT_SET: + return {}; + case RouteLegAdditionalFeature::Elevation: + return "Elevation"; + case RouteLegAdditionalFeature::Incidents: + return "Incidents"; + case RouteLegAdditionalFeature::PassThroughWaypoints: + return "PassThroughWaypoints"; + case RouteLegAdditionalFeature::Summary: + return "Summary"; + case RouteLegAdditionalFeature::Tolls: + return "Tolls"; + case RouteLegAdditionalFeature::TravelStepInstructions: + return "TravelStepInstructions"; + case RouteLegAdditionalFeature::TruckRoadTypes: + return "TruckRoadTypes"; + case RouteLegAdditionalFeature::TypicalDuration: + return "TypicalDuration"; + case RouteLegAdditionalFeature::Zones: + return "Zones"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteLegAdditionalFeatureMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegGeometry.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegGeometry.cpp new file mode 100644 index 00000000000..1fe995c1d31 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegGeometry.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteLegGeometry::RouteLegGeometry() : + m_lineStringHasBeenSet(false), + m_polylineHasBeenSet(false) +{ +} + +RouteLegGeometry::RouteLegGeometry(JsonView jsonValue) + : RouteLegGeometry() +{ + *this = jsonValue; +} + +RouteLegGeometry& RouteLegGeometry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LineString")) + { + Aws::Utils::Array lineStringJsonList = jsonValue.GetArray("LineString"); + for(unsigned lineStringIndex = 0; lineStringIndex < lineStringJsonList.GetLength(); ++lineStringIndex) + { + Aws::Utils::Array positionJsonList = lineStringJsonList[lineStringIndex].AsArray(); + Aws::Vector positionList; + positionList.reserve((size_t)positionJsonList.GetLength()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionList.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_lineString.push_back(std::move(positionList)); + } + m_lineStringHasBeenSet = true; + } + + if(jsonValue.ValueExists("Polyline")) + { + m_polyline = jsonValue.GetString("Polyline"); + + m_polylineHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteLegGeometry::Jsonize() const +{ + JsonValue payload; + + if(m_lineStringHasBeenSet) + { + Aws::Utils::Array lineStringJsonList(m_lineString.size()); + for(unsigned lineStringIndex = 0; lineStringIndex < lineStringJsonList.GetLength(); ++lineStringIndex) + { + Aws::Utils::Array positionJsonList(m_lineString[lineStringIndex].size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_lineString[lineStringIndex][positionIndex]); + } + lineStringJsonList[lineStringIndex].AsArray(std::move(positionJsonList)); + } + payload.WithArray("LineString", std::move(lineStringJsonList)); + + } + + if(m_polylineHasBeenSet) + { + payload.WithString("Polyline", m_polyline); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegTravelMode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegTravelMode.cpp new file mode 100644 index 00000000000..4100be3c376 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegTravelMode.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteLegTravelModeMapper + { + + static const int Car_HASH = HashingUtils::HashString("Car"); + static const int Ferry_HASH = HashingUtils::HashString("Ferry"); + static const int Pedestrian_HASH = HashingUtils::HashString("Pedestrian"); + static const int Scooter_HASH = HashingUtils::HashString("Scooter"); + static const int Truck_HASH = HashingUtils::HashString("Truck"); + + + RouteLegTravelMode GetRouteLegTravelModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Car_HASH) + { + return RouteLegTravelMode::Car; + } + else if (hashCode == Ferry_HASH) + { + return RouteLegTravelMode::Ferry; + } + else if (hashCode == Pedestrian_HASH) + { + return RouteLegTravelMode::Pedestrian; + } + else if (hashCode == Scooter_HASH) + { + return RouteLegTravelMode::Scooter; + } + else if (hashCode == Truck_HASH) + { + return RouteLegTravelMode::Truck; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteLegTravelMode::NOT_SET; + } + + Aws::String GetNameForRouteLegTravelMode(RouteLegTravelMode enumValue) + { + switch(enumValue) + { + case RouteLegTravelMode::NOT_SET: + return {}; + case RouteLegTravelMode::Car: + return "Car"; + case RouteLegTravelMode::Ferry: + return "Ferry"; + case RouteLegTravelMode::Pedestrian: + return "Pedestrian"; + case RouteLegTravelMode::Scooter: + return "Scooter"; + case RouteLegTravelMode::Truck: + return "Truck"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteLegTravelModeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegType.cpp new file mode 100644 index 00000000000..a2236b2b156 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteLegType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteLegTypeMapper + { + + static const int Ferry_HASH = HashingUtils::HashString("Ferry"); + static const int Pedestrian_HASH = HashingUtils::HashString("Pedestrian"); + static const int Vehicle_HASH = HashingUtils::HashString("Vehicle"); + + + RouteLegType GetRouteLegTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Ferry_HASH) + { + return RouteLegType::Ferry; + } + else if (hashCode == Pedestrian_HASH) + { + return RouteLegType::Pedestrian; + } + else if (hashCode == Vehicle_HASH) + { + return RouteLegType::Vehicle; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteLegType::NOT_SET; + } + + Aws::String GetNameForRouteLegType(RouteLegType enumValue) + { + switch(enumValue) + { + case RouteLegType::NOT_SET: + return {}; + case RouteLegType::Ferry: + return "Ferry"; + case RouteLegType::Pedestrian: + return "Pedestrian"; + case RouteLegType::Vehicle: + return "Vehicle"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteLegTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMajorRoadLabel.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMajorRoadLabel.cpp new file mode 100644 index 00000000000..056bbe8207b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMajorRoadLabel.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMajorRoadLabel::RouteMajorRoadLabel() : + m_roadNameHasBeenSet(false), + m_routeNumberHasBeenSet(false) +{ +} + +RouteMajorRoadLabel::RouteMajorRoadLabel(JsonView jsonValue) + : RouteMajorRoadLabel() +{ + *this = jsonValue; +} + +RouteMajorRoadLabel& RouteMajorRoadLabel::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RoadName")) + { + m_roadName = jsonValue.GetObject("RoadName"); + + m_roadNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("RouteNumber")) + { + m_routeNumber = jsonValue.GetObject("RouteNumber"); + + m_routeNumberHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMajorRoadLabel::Jsonize() const +{ + JsonValue payload; + + if(m_roadNameHasBeenSet) + { + payload.WithObject("RoadName", m_roadName.Jsonize()); + + } + + if(m_routeNumberHasBeenSet) + { + payload.WithObject("RouteNumber", m_routeNumber.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatchingOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatchingOptions.cpp new file mode 100644 index 00000000000..90c6a2919fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatchingOptions.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatchingOptions::RouteMatchingOptions() : + m_nameHintHasBeenSet(false), + m_onRoadThreshold(0), + m_onRoadThresholdHasBeenSet(false), + m_radius(0), + m_radiusHasBeenSet(false), + m_strategy(MatchingStrategy::NOT_SET), + m_strategyHasBeenSet(false) +{ +} + +RouteMatchingOptions::RouteMatchingOptions(JsonView jsonValue) + : RouteMatchingOptions() +{ + *this = jsonValue; +} + +RouteMatchingOptions& RouteMatchingOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("NameHint")) + { + m_nameHint = jsonValue.GetString("NameHint"); + + m_nameHintHasBeenSet = true; + } + + if(jsonValue.ValueExists("OnRoadThreshold")) + { + m_onRoadThreshold = jsonValue.GetInt64("OnRoadThreshold"); + + m_onRoadThresholdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Radius")) + { + m_radius = jsonValue.GetInt64("Radius"); + + m_radiusHasBeenSet = true; + } + + if(jsonValue.ValueExists("Strategy")) + { + m_strategy = MatchingStrategyMapper::GetMatchingStrategyForName(jsonValue.GetString("Strategy")); + + m_strategyHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatchingOptions::Jsonize() const +{ + JsonValue payload; + + if(m_nameHintHasBeenSet) + { + payload.WithString("NameHint", m_nameHint); + + } + + if(m_onRoadThresholdHasBeenSet) + { + payload.WithInt64("OnRoadThreshold", m_onRoadThreshold); + + } + + if(m_radiusHasBeenSet) + { + payload.WithInt64("Radius", m_radius); + + } + + if(m_strategyHasBeenSet) + { + payload.WithString("Strategy", MatchingStrategyMapper::GetNameForMatchingStrategy(m_strategy)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAllowOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAllowOptions.cpp new file mode 100644 index 00000000000..18c6fecaf98 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAllowOptions.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixAllowOptions::RouteMatrixAllowOptions() : + m_hot(false), + m_hotHasBeenSet(false), + m_hov(false), + m_hovHasBeenSet(false) +{ +} + +RouteMatrixAllowOptions::RouteMatrixAllowOptions(JsonView jsonValue) + : RouteMatrixAllowOptions() +{ + *this = jsonValue; +} + +RouteMatrixAllowOptions& RouteMatrixAllowOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Hot")) + { + m_hot = jsonValue.GetBool("Hot"); + + m_hotHasBeenSet = true; + } + + if(jsonValue.ValueExists("Hov")) + { + m_hov = jsonValue.GetBool("Hov"); + + m_hovHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixAllowOptions::Jsonize() const +{ + JsonValue payload; + + if(m_hotHasBeenSet) + { + payload.WithBool("Hot", m_hot); + + } + + if(m_hovHasBeenSet) + { + payload.WithBool("Hov", m_hov); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAutoCircle.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAutoCircle.cpp new file mode 100644 index 00000000000..1b0e14ebafa --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAutoCircle.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixAutoCircle::RouteMatrixAutoCircle() : + m_margin(0), + m_marginHasBeenSet(false), + m_maxRadius(0), + m_maxRadiusHasBeenSet(false) +{ +} + +RouteMatrixAutoCircle::RouteMatrixAutoCircle(JsonView jsonValue) + : RouteMatrixAutoCircle() +{ + *this = jsonValue; +} + +RouteMatrixAutoCircle& RouteMatrixAutoCircle::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Margin")) + { + m_margin = jsonValue.GetInt64("Margin"); + + m_marginHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxRadius")) + { + m_maxRadius = jsonValue.GetInt64("MaxRadius"); + + m_maxRadiusHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixAutoCircle::Jsonize() const +{ + JsonValue payload; + + if(m_marginHasBeenSet) + { + payload.WithInt64("Margin", m_margin); + + } + + if(m_maxRadiusHasBeenSet) + { + payload.WithInt64("MaxRadius", m_maxRadius); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceArea.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceArea.cpp new file mode 100644 index 00000000000..ccb61e349f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceArea.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixAvoidanceArea::RouteMatrixAvoidanceArea() : + m_geometryHasBeenSet(false) +{ +} + +RouteMatrixAvoidanceArea::RouteMatrixAvoidanceArea(JsonView jsonValue) + : RouteMatrixAvoidanceArea() +{ + *this = jsonValue; +} + +RouteMatrixAvoidanceArea& RouteMatrixAvoidanceArea::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Geometry")) + { + m_geometry = jsonValue.GetObject("Geometry"); + + m_geometryHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixAvoidanceArea::Jsonize() const +{ + JsonValue payload; + + if(m_geometryHasBeenSet) + { + payload.WithObject("Geometry", m_geometry.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceAreaGeometry.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceAreaGeometry.cpp new file mode 100644 index 00000000000..c0332fce06f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceAreaGeometry.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixAvoidanceAreaGeometry::RouteMatrixAvoidanceAreaGeometry() : + m_boundingBoxHasBeenSet(false), + m_polygonHasBeenSet(false), + m_polylinePolygonHasBeenSet(false) +{ +} + +RouteMatrixAvoidanceAreaGeometry::RouteMatrixAvoidanceAreaGeometry(JsonView jsonValue) + : RouteMatrixAvoidanceAreaGeometry() +{ + *this = jsonValue; +} + +RouteMatrixAvoidanceAreaGeometry& RouteMatrixAvoidanceAreaGeometry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BoundingBox")) + { + Aws::Utils::Array boundingBoxJsonList = jsonValue.GetArray("BoundingBox"); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + m_boundingBox.push_back(boundingBoxJsonList[boundingBoxIndex].AsDouble()); + } + m_boundingBoxHasBeenSet = true; + } + + if(jsonValue.ValueExists("Polygon")) + { + Aws::Utils::Array polygonJsonList = jsonValue.GetArray("Polygon"); + for(unsigned polygonIndex = 0; polygonIndex < polygonJsonList.GetLength(); ++polygonIndex) + { + Aws::Utils::Array linearRingJsonList = polygonJsonList[polygonIndex].AsArray(); + Aws::Vector> linearRingList; + linearRingList.reserve((size_t)linearRingJsonList.GetLength()); + for(unsigned linearRingIndex = 0; linearRingIndex < linearRingJsonList.GetLength(); ++linearRingIndex) + { + Aws::Utils::Array positionJsonList = linearRingJsonList[linearRingIndex].AsArray(); + Aws::Vector positionList; + positionList.reserve((size_t)positionJsonList.GetLength()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionList.push_back(positionJsonList[positionIndex].AsDouble()); + } + linearRingList.push_back(std::move(positionList)); + } + m_polygon.push_back(std::move(linearRingList)); + } + m_polygonHasBeenSet = true; + } + + if(jsonValue.ValueExists("PolylinePolygon")) + { + Aws::Utils::Array polylinePolygonJsonList = jsonValue.GetArray("PolylinePolygon"); + for(unsigned polylinePolygonIndex = 0; polylinePolygonIndex < polylinePolygonJsonList.GetLength(); ++polylinePolygonIndex) + { + m_polylinePolygon.push_back(polylinePolygonJsonList[polylinePolygonIndex].AsString()); + } + m_polylinePolygonHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixAvoidanceAreaGeometry::Jsonize() const +{ + JsonValue payload; + + if(m_boundingBoxHasBeenSet) + { + Aws::Utils::Array boundingBoxJsonList(m_boundingBox.size()); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + boundingBoxJsonList[boundingBoxIndex].AsDouble(m_boundingBox[boundingBoxIndex]); + } + payload.WithArray("BoundingBox", std::move(boundingBoxJsonList)); + + } + + if(m_polygonHasBeenSet) + { + Aws::Utils::Array polygonJsonList(m_polygon.size()); + for(unsigned polygonIndex = 0; polygonIndex < polygonJsonList.GetLength(); ++polygonIndex) + { + Aws::Utils::Array linearRingJsonList(m_polygon[polygonIndex].size()); + for(unsigned linearRingIndex = 0; linearRingIndex < linearRingJsonList.GetLength(); ++linearRingIndex) + { + Aws::Utils::Array positionJsonList(m_polygon[polygonIndex][linearRingIndex].size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_polygon[polygonIndex][linearRingIndex][positionIndex]); + } + linearRingJsonList[linearRingIndex].AsArray(std::move(positionJsonList)); + } + polygonJsonList[polygonIndex].AsArray(std::move(linearRingJsonList)); + } + payload.WithArray("Polygon", std::move(polygonJsonList)); + + } + + if(m_polylinePolygonHasBeenSet) + { + Aws::Utils::Array polylinePolygonJsonList(m_polylinePolygon.size()); + for(unsigned polylinePolygonIndex = 0; polylinePolygonIndex < polylinePolygonJsonList.GetLength(); ++polylinePolygonIndex) + { + polylinePolygonJsonList[polylinePolygonIndex].AsString(m_polylinePolygon[polylinePolygonIndex]); + } + payload.WithArray("PolylinePolygon", std::move(polylinePolygonJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceOptions.cpp new file mode 100644 index 00000000000..f5c77d1e020 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceOptions.cpp @@ -0,0 +1,231 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixAvoidanceOptions::RouteMatrixAvoidanceOptions() : + m_areasHasBeenSet(false), + m_carShuttleTrains(false), + m_carShuttleTrainsHasBeenSet(false), + m_controlledAccessHighways(false), + m_controlledAccessHighwaysHasBeenSet(false), + m_dirtRoads(false), + m_dirtRoadsHasBeenSet(false), + m_ferries(false), + m_ferriesHasBeenSet(false), + m_tollRoads(false), + m_tollRoadsHasBeenSet(false), + m_tollTransponders(false), + m_tollTranspondersHasBeenSet(false), + m_truckRoadTypesHasBeenSet(false), + m_tunnels(false), + m_tunnelsHasBeenSet(false), + m_uTurns(false), + m_uTurnsHasBeenSet(false), + m_zoneCategoriesHasBeenSet(false) +{ +} + +RouteMatrixAvoidanceOptions::RouteMatrixAvoidanceOptions(JsonView jsonValue) + : RouteMatrixAvoidanceOptions() +{ + *this = jsonValue; +} + +RouteMatrixAvoidanceOptions& RouteMatrixAvoidanceOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Areas")) + { + Aws::Utils::Array areasJsonList = jsonValue.GetArray("Areas"); + for(unsigned areasIndex = 0; areasIndex < areasJsonList.GetLength(); ++areasIndex) + { + m_areas.push_back(areasJsonList[areasIndex].AsObject()); + } + m_areasHasBeenSet = true; + } + + if(jsonValue.ValueExists("CarShuttleTrains")) + { + m_carShuttleTrains = jsonValue.GetBool("CarShuttleTrains"); + + m_carShuttleTrainsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ControlledAccessHighways")) + { + m_controlledAccessHighways = jsonValue.GetBool("ControlledAccessHighways"); + + m_controlledAccessHighwaysHasBeenSet = true; + } + + if(jsonValue.ValueExists("DirtRoads")) + { + m_dirtRoads = jsonValue.GetBool("DirtRoads"); + + m_dirtRoadsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Ferries")) + { + m_ferries = jsonValue.GetBool("Ferries"); + + m_ferriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("TollRoads")) + { + m_tollRoads = jsonValue.GetBool("TollRoads"); + + m_tollRoadsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TollTransponders")) + { + m_tollTransponders = jsonValue.GetBool("TollTransponders"); + + m_tollTranspondersHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckRoadTypes")) + { + Aws::Utils::Array truckRoadTypesJsonList = jsonValue.GetArray("TruckRoadTypes"); + for(unsigned truckRoadTypesIndex = 0; truckRoadTypesIndex < truckRoadTypesJsonList.GetLength(); ++truckRoadTypesIndex) + { + m_truckRoadTypes.push_back(truckRoadTypesJsonList[truckRoadTypesIndex].AsString()); + } + m_truckRoadTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Tunnels")) + { + m_tunnels = jsonValue.GetBool("Tunnels"); + + m_tunnelsHasBeenSet = true; + } + + if(jsonValue.ValueExists("UTurns")) + { + m_uTurns = jsonValue.GetBool("UTurns"); + + m_uTurnsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ZoneCategories")) + { + Aws::Utils::Array zoneCategoriesJsonList = jsonValue.GetArray("ZoneCategories"); + for(unsigned zoneCategoriesIndex = 0; zoneCategoriesIndex < zoneCategoriesJsonList.GetLength(); ++zoneCategoriesIndex) + { + m_zoneCategories.push_back(zoneCategoriesJsonList[zoneCategoriesIndex].AsObject()); + } + m_zoneCategoriesHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixAvoidanceOptions::Jsonize() const +{ + JsonValue payload; + + if(m_areasHasBeenSet) + { + Aws::Utils::Array areasJsonList(m_areas.size()); + for(unsigned areasIndex = 0; areasIndex < areasJsonList.GetLength(); ++areasIndex) + { + areasJsonList[areasIndex].AsObject(m_areas[areasIndex].Jsonize()); + } + payload.WithArray("Areas", std::move(areasJsonList)); + + } + + if(m_carShuttleTrainsHasBeenSet) + { + payload.WithBool("CarShuttleTrains", m_carShuttleTrains); + + } + + if(m_controlledAccessHighwaysHasBeenSet) + { + payload.WithBool("ControlledAccessHighways", m_controlledAccessHighways); + + } + + if(m_dirtRoadsHasBeenSet) + { + payload.WithBool("DirtRoads", m_dirtRoads); + + } + + if(m_ferriesHasBeenSet) + { + payload.WithBool("Ferries", m_ferries); + + } + + if(m_tollRoadsHasBeenSet) + { + payload.WithBool("TollRoads", m_tollRoads); + + } + + if(m_tollTranspondersHasBeenSet) + { + payload.WithBool("TollTransponders", m_tollTransponders); + + } + + if(m_truckRoadTypesHasBeenSet) + { + Aws::Utils::Array truckRoadTypesJsonList(m_truckRoadTypes.size()); + for(unsigned truckRoadTypesIndex = 0; truckRoadTypesIndex < truckRoadTypesJsonList.GetLength(); ++truckRoadTypesIndex) + { + truckRoadTypesJsonList[truckRoadTypesIndex].AsString(m_truckRoadTypes[truckRoadTypesIndex]); + } + payload.WithArray("TruckRoadTypes", std::move(truckRoadTypesJsonList)); + + } + + if(m_tunnelsHasBeenSet) + { + payload.WithBool("Tunnels", m_tunnels); + + } + + if(m_uTurnsHasBeenSet) + { + payload.WithBool("UTurns", m_uTurns); + + } + + if(m_zoneCategoriesHasBeenSet) + { + Aws::Utils::Array zoneCategoriesJsonList(m_zoneCategories.size()); + for(unsigned zoneCategoriesIndex = 0; zoneCategoriesIndex < zoneCategoriesJsonList.GetLength(); ++zoneCategoriesIndex) + { + zoneCategoriesJsonList[zoneCategoriesIndex].AsObject(m_zoneCategories[zoneCategoriesIndex].Jsonize()); + } + payload.WithArray("ZoneCategories", std::move(zoneCategoriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceZoneCategory.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceZoneCategory.cpp new file mode 100644 index 00000000000..e16d0f98dab --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixAvoidanceZoneCategory.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixAvoidanceZoneCategory::RouteMatrixAvoidanceZoneCategory() : + m_category(RouteMatrixZoneCategory::NOT_SET), + m_categoryHasBeenSet(false) +{ +} + +RouteMatrixAvoidanceZoneCategory::RouteMatrixAvoidanceZoneCategory(JsonView jsonValue) + : RouteMatrixAvoidanceZoneCategory() +{ + *this = jsonValue; +} + +RouteMatrixAvoidanceZoneCategory& RouteMatrixAvoidanceZoneCategory::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Category")) + { + m_category = RouteMatrixZoneCategoryMapper::GetRouteMatrixZoneCategoryForName(jsonValue.GetString("Category")); + + m_categoryHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixAvoidanceZoneCategory::Jsonize() const +{ + JsonValue payload; + + if(m_categoryHasBeenSet) + { + payload.WithString("Category", RouteMatrixZoneCategoryMapper::GetNameForRouteMatrixZoneCategory(m_category)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixBoundary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixBoundary.cpp new file mode 100644 index 00000000000..61b90bb19bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixBoundary.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixBoundary::RouteMatrixBoundary() : + m_geometryHasBeenSet(false), + m_unbounded(false), + m_unboundedHasBeenSet(false) +{ +} + +RouteMatrixBoundary::RouteMatrixBoundary(JsonView jsonValue) + : RouteMatrixBoundary() +{ + *this = jsonValue; +} + +RouteMatrixBoundary& RouteMatrixBoundary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Geometry")) + { + m_geometry = jsonValue.GetObject("Geometry"); + + m_geometryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Unbounded")) + { + m_unbounded = jsonValue.GetBool("Unbounded"); + + m_unboundedHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixBoundary::Jsonize() const +{ + JsonValue payload; + + if(m_geometryHasBeenSet) + { + payload.WithObject("Geometry", m_geometry.Jsonize()); + + } + + if(m_unboundedHasBeenSet) + { + payload.WithBool("Unbounded", m_unbounded); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixBoundaryGeometry.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixBoundaryGeometry.cpp new file mode 100644 index 00000000000..be742e2e8bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixBoundaryGeometry.cpp @@ -0,0 +1,141 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixBoundaryGeometry::RouteMatrixBoundaryGeometry() : + m_autoCircleHasBeenSet(false), + m_circleHasBeenSet(false), + m_boundingBoxHasBeenSet(false), + m_polygonHasBeenSet(false) +{ +} + +RouteMatrixBoundaryGeometry::RouteMatrixBoundaryGeometry(JsonView jsonValue) + : RouteMatrixBoundaryGeometry() +{ + *this = jsonValue; +} + +RouteMatrixBoundaryGeometry& RouteMatrixBoundaryGeometry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AutoCircle")) + { + m_autoCircle = jsonValue.GetObject("AutoCircle"); + + m_autoCircleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Circle")) + { + m_circle = jsonValue.GetObject("Circle"); + + m_circleHasBeenSet = true; + } + + if(jsonValue.ValueExists("BoundingBox")) + { + Aws::Utils::Array boundingBoxJsonList = jsonValue.GetArray("BoundingBox"); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + m_boundingBox.push_back(boundingBoxJsonList[boundingBoxIndex].AsDouble()); + } + m_boundingBoxHasBeenSet = true; + } + + if(jsonValue.ValueExists("Polygon")) + { + Aws::Utils::Array polygonJsonList = jsonValue.GetArray("Polygon"); + for(unsigned polygonIndex = 0; polygonIndex < polygonJsonList.GetLength(); ++polygonIndex) + { + Aws::Utils::Array linearRingJsonList = polygonJsonList[polygonIndex].AsArray(); + Aws::Vector> linearRingList; + linearRingList.reserve((size_t)linearRingJsonList.GetLength()); + for(unsigned linearRingIndex = 0; linearRingIndex < linearRingJsonList.GetLength(); ++linearRingIndex) + { + Aws::Utils::Array positionJsonList = linearRingJsonList[linearRingIndex].AsArray(); + Aws::Vector positionList; + positionList.reserve((size_t)positionJsonList.GetLength()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionList.push_back(positionJsonList[positionIndex].AsDouble()); + } + linearRingList.push_back(std::move(positionList)); + } + m_polygon.push_back(std::move(linearRingList)); + } + m_polygonHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixBoundaryGeometry::Jsonize() const +{ + JsonValue payload; + + if(m_autoCircleHasBeenSet) + { + payload.WithObject("AutoCircle", m_autoCircle.Jsonize()); + + } + + if(m_circleHasBeenSet) + { + payload.WithObject("Circle", m_circle.Jsonize()); + + } + + if(m_boundingBoxHasBeenSet) + { + Aws::Utils::Array boundingBoxJsonList(m_boundingBox.size()); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + boundingBoxJsonList[boundingBoxIndex].AsDouble(m_boundingBox[boundingBoxIndex]); + } + payload.WithArray("BoundingBox", std::move(boundingBoxJsonList)); + + } + + if(m_polygonHasBeenSet) + { + Aws::Utils::Array polygonJsonList(m_polygon.size()); + for(unsigned polygonIndex = 0; polygonIndex < polygonJsonList.GetLength(); ++polygonIndex) + { + Aws::Utils::Array linearRingJsonList(m_polygon[polygonIndex].size()); + for(unsigned linearRingIndex = 0; linearRingIndex < linearRingJsonList.GetLength(); ++linearRingIndex) + { + Aws::Utils::Array positionJsonList(m_polygon[polygonIndex][linearRingIndex].size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_polygon[polygonIndex][linearRingIndex][positionIndex]); + } + linearRingJsonList[linearRingIndex].AsArray(std::move(positionJsonList)); + } + polygonJsonList[polygonIndex].AsArray(std::move(linearRingJsonList)); + } + payload.WithArray("Polygon", std::move(polygonJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixCarOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixCarOptions.cpp new file mode 100644 index 00000000000..2d2e412f98d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixCarOptions.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixCarOptions::RouteMatrixCarOptions() : + m_licensePlateHasBeenSet(false), + m_maxSpeed(0.0), + m_maxSpeedHasBeenSet(false), + m_occupancy(0), + m_occupancyHasBeenSet(false) +{ +} + +RouteMatrixCarOptions::RouteMatrixCarOptions(JsonView jsonValue) + : RouteMatrixCarOptions() +{ + *this = jsonValue; +} + +RouteMatrixCarOptions& RouteMatrixCarOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LicensePlate")) + { + m_licensePlate = jsonValue.GetObject("LicensePlate"); + + m_licensePlateHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxSpeed")) + { + m_maxSpeed = jsonValue.GetDouble("MaxSpeed"); + + m_maxSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Occupancy")) + { + m_occupancy = jsonValue.GetInteger("Occupancy"); + + m_occupancyHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixCarOptions::Jsonize() const +{ + JsonValue payload; + + if(m_licensePlateHasBeenSet) + { + payload.WithObject("LicensePlate", m_licensePlate.Jsonize()); + + } + + if(m_maxSpeedHasBeenSet) + { + payload.WithDouble("MaxSpeed", m_maxSpeed); + + } + + if(m_occupancyHasBeenSet) + { + payload.WithInteger("Occupancy", m_occupancy); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixDestination.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixDestination.cpp new file mode 100644 index 00000000000..4e52a5837d3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixDestination.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixDestination::RouteMatrixDestination() : + m_optionsHasBeenSet(false), + m_positionHasBeenSet(false) +{ +} + +RouteMatrixDestination::RouteMatrixDestination(JsonView jsonValue) + : RouteMatrixDestination() +{ + *this = jsonValue; +} + +RouteMatrixDestination& RouteMatrixDestination::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Options")) + { + m_options = jsonValue.GetObject("Options"); + + m_optionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixDestination::Jsonize() const +{ + JsonValue payload; + + if(m_optionsHasBeenSet) + { + payload.WithObject("Options", m_options.Jsonize()); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixDestinationOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixDestinationOptions.cpp new file mode 100644 index 00000000000..1dc66b4da57 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixDestinationOptions.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixDestinationOptions::RouteMatrixDestinationOptions() : + m_avoidActionsForDistance(0), + m_avoidActionsForDistanceHasBeenSet(false), + m_heading(0.0), + m_headingHasBeenSet(false), + m_matchingHasBeenSet(false), + m_sideOfStreetHasBeenSet(false) +{ +} + +RouteMatrixDestinationOptions::RouteMatrixDestinationOptions(JsonView jsonValue) + : RouteMatrixDestinationOptions() +{ + *this = jsonValue; +} + +RouteMatrixDestinationOptions& RouteMatrixDestinationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AvoidActionsForDistance")) + { + m_avoidActionsForDistance = jsonValue.GetInt64("AvoidActionsForDistance"); + + m_avoidActionsForDistanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Heading")) + { + m_heading = jsonValue.GetDouble("Heading"); + + m_headingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Matching")) + { + m_matching = jsonValue.GetObject("Matching"); + + m_matchingHasBeenSet = true; + } + + if(jsonValue.ValueExists("SideOfStreet")) + { + m_sideOfStreet = jsonValue.GetObject("SideOfStreet"); + + m_sideOfStreetHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixDestinationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_avoidActionsForDistanceHasBeenSet) + { + payload.WithInt64("AvoidActionsForDistance", m_avoidActionsForDistance); + + } + + if(m_headingHasBeenSet) + { + payload.WithDouble("Heading", m_heading); + + } + + if(m_matchingHasBeenSet) + { + payload.WithObject("Matching", m_matching.Jsonize()); + + } + + if(m_sideOfStreetHasBeenSet) + { + payload.WithObject("SideOfStreet", m_sideOfStreet.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixEntry.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixEntry.cpp new file mode 100644 index 00000000000..8f5bd5b40db --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixEntry.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixEntry::RouteMatrixEntry() : + m_distance(0), + m_distanceHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false), + m_error(RouteMatrixErrorCode::NOT_SET), + m_errorHasBeenSet(false) +{ +} + +RouteMatrixEntry::RouteMatrixEntry(JsonView jsonValue) + : RouteMatrixEntry() +{ + *this = jsonValue; +} + +RouteMatrixEntry& RouteMatrixEntry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Error")) + { + m_error = RouteMatrixErrorCodeMapper::GetRouteMatrixErrorCodeForName(jsonValue.GetString("Error")); + + m_errorHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixEntry::Jsonize() const +{ + JsonValue payload; + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_errorHasBeenSet) + { + payload.WithString("Error", RouteMatrixErrorCodeMapper::GetNameForRouteMatrixErrorCode(m_error)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixErrorCode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixErrorCode.cpp new file mode 100644 index 00000000000..7a46a0c8cfc --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixErrorCode.cpp @@ -0,0 +1,121 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteMatrixErrorCodeMapper + { + + static const int NoMatch_HASH = HashingUtils::HashString("NoMatch"); + static const int NoMatchDestination_HASH = HashingUtils::HashString("NoMatchDestination"); + static const int NoMatchOrigin_HASH = HashingUtils::HashString("NoMatchOrigin"); + static const int NoRoute_HASH = HashingUtils::HashString("NoRoute"); + static const int OutOfBounds_HASH = HashingUtils::HashString("OutOfBounds"); + static const int OutOfBoundsDestination_HASH = HashingUtils::HashString("OutOfBoundsDestination"); + static const int OutOfBoundsOrigin_HASH = HashingUtils::HashString("OutOfBoundsOrigin"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int Violation_HASH = HashingUtils::HashString("Violation"); + + + RouteMatrixErrorCode GetRouteMatrixErrorCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == NoMatch_HASH) + { + return RouteMatrixErrorCode::NoMatch; + } + else if (hashCode == NoMatchDestination_HASH) + { + return RouteMatrixErrorCode::NoMatchDestination; + } + else if (hashCode == NoMatchOrigin_HASH) + { + return RouteMatrixErrorCode::NoMatchOrigin; + } + else if (hashCode == NoRoute_HASH) + { + return RouteMatrixErrorCode::NoRoute; + } + else if (hashCode == OutOfBounds_HASH) + { + return RouteMatrixErrorCode::OutOfBounds; + } + else if (hashCode == OutOfBoundsDestination_HASH) + { + return RouteMatrixErrorCode::OutOfBoundsDestination; + } + else if (hashCode == OutOfBoundsOrigin_HASH) + { + return RouteMatrixErrorCode::OutOfBoundsOrigin; + } + else if (hashCode == Other_HASH) + { + return RouteMatrixErrorCode::Other; + } + else if (hashCode == Violation_HASH) + { + return RouteMatrixErrorCode::Violation; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteMatrixErrorCode::NOT_SET; + } + + Aws::String GetNameForRouteMatrixErrorCode(RouteMatrixErrorCode enumValue) + { + switch(enumValue) + { + case RouteMatrixErrorCode::NOT_SET: + return {}; + case RouteMatrixErrorCode::NoMatch: + return "NoMatch"; + case RouteMatrixErrorCode::NoMatchDestination: + return "NoMatchDestination"; + case RouteMatrixErrorCode::NoMatchOrigin: + return "NoMatchOrigin"; + case RouteMatrixErrorCode::NoRoute: + return "NoRoute"; + case RouteMatrixErrorCode::OutOfBounds: + return "OutOfBounds"; + case RouteMatrixErrorCode::OutOfBoundsDestination: + return "OutOfBoundsDestination"; + case RouteMatrixErrorCode::OutOfBoundsOrigin: + return "OutOfBoundsOrigin"; + case RouteMatrixErrorCode::Other: + return "Other"; + case RouteMatrixErrorCode::Violation: + return "Violation"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteMatrixErrorCodeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixExclusionOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixExclusionOptions.cpp new file mode 100644 index 00000000000..69d12c74143 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixExclusionOptions.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixExclusionOptions::RouteMatrixExclusionOptions() : + m_countriesHasBeenSet(false) +{ +} + +RouteMatrixExclusionOptions::RouteMatrixExclusionOptions(JsonView jsonValue) + : RouteMatrixExclusionOptions() +{ + *this = jsonValue; +} + +RouteMatrixExclusionOptions& RouteMatrixExclusionOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Countries")) + { + Aws::Utils::Array countriesJsonList = jsonValue.GetArray("Countries"); + for(unsigned countriesIndex = 0; countriesIndex < countriesJsonList.GetLength(); ++countriesIndex) + { + m_countries.push_back(countriesJsonList[countriesIndex].AsString()); + } + m_countriesHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixExclusionOptions::Jsonize() const +{ + JsonValue payload; + + if(m_countriesHasBeenSet) + { + Aws::Utils::Array countriesJsonList(m_countries.size()); + for(unsigned countriesIndex = 0; countriesIndex < countriesJsonList.GetLength(); ++countriesIndex) + { + countriesJsonList[countriesIndex].AsString(m_countries[countriesIndex]); + } + payload.WithArray("Countries", std::move(countriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixHazardousCargoType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixHazardousCargoType.cpp new file mode 100644 index 00000000000..8375df83c12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixHazardousCargoType.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteMatrixHazardousCargoTypeMapper + { + + static const int Combustible_HASH = HashingUtils::HashString("Combustible"); + static const int Corrosive_HASH = HashingUtils::HashString("Corrosive"); + static const int Explosive_HASH = HashingUtils::HashString("Explosive"); + static const int Flammable_HASH = HashingUtils::HashString("Flammable"); + static const int Gas_HASH = HashingUtils::HashString("Gas"); + static const int HarmfulToWater_HASH = HashingUtils::HashString("HarmfulToWater"); + static const int Organic_HASH = HashingUtils::HashString("Organic"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int Poison_HASH = HashingUtils::HashString("Poison"); + static const int PoisonousInhalation_HASH = HashingUtils::HashString("PoisonousInhalation"); + static const int Radioactive_HASH = HashingUtils::HashString("Radioactive"); + + + RouteMatrixHazardousCargoType GetRouteMatrixHazardousCargoTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Combustible_HASH) + { + return RouteMatrixHazardousCargoType::Combustible; + } + else if (hashCode == Corrosive_HASH) + { + return RouteMatrixHazardousCargoType::Corrosive; + } + else if (hashCode == Explosive_HASH) + { + return RouteMatrixHazardousCargoType::Explosive; + } + else if (hashCode == Flammable_HASH) + { + return RouteMatrixHazardousCargoType::Flammable; + } + else if (hashCode == Gas_HASH) + { + return RouteMatrixHazardousCargoType::Gas; + } + else if (hashCode == HarmfulToWater_HASH) + { + return RouteMatrixHazardousCargoType::HarmfulToWater; + } + else if (hashCode == Organic_HASH) + { + return RouteMatrixHazardousCargoType::Organic; + } + else if (hashCode == Other_HASH) + { + return RouteMatrixHazardousCargoType::Other; + } + else if (hashCode == Poison_HASH) + { + return RouteMatrixHazardousCargoType::Poison; + } + else if (hashCode == PoisonousInhalation_HASH) + { + return RouteMatrixHazardousCargoType::PoisonousInhalation; + } + else if (hashCode == Radioactive_HASH) + { + return RouteMatrixHazardousCargoType::Radioactive; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteMatrixHazardousCargoType::NOT_SET; + } + + Aws::String GetNameForRouteMatrixHazardousCargoType(RouteMatrixHazardousCargoType enumValue) + { + switch(enumValue) + { + case RouteMatrixHazardousCargoType::NOT_SET: + return {}; + case RouteMatrixHazardousCargoType::Combustible: + return "Combustible"; + case RouteMatrixHazardousCargoType::Corrosive: + return "Corrosive"; + case RouteMatrixHazardousCargoType::Explosive: + return "Explosive"; + case RouteMatrixHazardousCargoType::Flammable: + return "Flammable"; + case RouteMatrixHazardousCargoType::Gas: + return "Gas"; + case RouteMatrixHazardousCargoType::HarmfulToWater: + return "HarmfulToWater"; + case RouteMatrixHazardousCargoType::Organic: + return "Organic"; + case RouteMatrixHazardousCargoType::Other: + return "Other"; + case RouteMatrixHazardousCargoType::Poison: + return "Poison"; + case RouteMatrixHazardousCargoType::PoisonousInhalation: + return "PoisonousInhalation"; + case RouteMatrixHazardousCargoType::Radioactive: + return "Radioactive"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteMatrixHazardousCargoTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixMatchingOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixMatchingOptions.cpp new file mode 100644 index 00000000000..f7985c37125 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixMatchingOptions.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixMatchingOptions::RouteMatrixMatchingOptions() : + m_nameHintHasBeenSet(false), + m_onRoadThreshold(0), + m_onRoadThresholdHasBeenSet(false), + m_radius(0), + m_radiusHasBeenSet(false), + m_strategy(MatchingStrategy::NOT_SET), + m_strategyHasBeenSet(false) +{ +} + +RouteMatrixMatchingOptions::RouteMatrixMatchingOptions(JsonView jsonValue) + : RouteMatrixMatchingOptions() +{ + *this = jsonValue; +} + +RouteMatrixMatchingOptions& RouteMatrixMatchingOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("NameHint")) + { + m_nameHint = jsonValue.GetString("NameHint"); + + m_nameHintHasBeenSet = true; + } + + if(jsonValue.ValueExists("OnRoadThreshold")) + { + m_onRoadThreshold = jsonValue.GetInt64("OnRoadThreshold"); + + m_onRoadThresholdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Radius")) + { + m_radius = jsonValue.GetInt64("Radius"); + + m_radiusHasBeenSet = true; + } + + if(jsonValue.ValueExists("Strategy")) + { + m_strategy = MatchingStrategyMapper::GetMatchingStrategyForName(jsonValue.GetString("Strategy")); + + m_strategyHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixMatchingOptions::Jsonize() const +{ + JsonValue payload; + + if(m_nameHintHasBeenSet) + { + payload.WithString("NameHint", m_nameHint); + + } + + if(m_onRoadThresholdHasBeenSet) + { + payload.WithInt64("OnRoadThreshold", m_onRoadThreshold); + + } + + if(m_radiusHasBeenSet) + { + payload.WithInt64("Radius", m_radius); + + } + + if(m_strategyHasBeenSet) + { + payload.WithString("Strategy", MatchingStrategyMapper::GetNameForMatchingStrategy(m_strategy)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixOrigin.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixOrigin.cpp new file mode 100644 index 00000000000..f17b509d818 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixOrigin.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixOrigin::RouteMatrixOrigin() : + m_optionsHasBeenSet(false), + m_positionHasBeenSet(false) +{ +} + +RouteMatrixOrigin::RouteMatrixOrigin(JsonView jsonValue) + : RouteMatrixOrigin() +{ + *this = jsonValue; +} + +RouteMatrixOrigin& RouteMatrixOrigin::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Options")) + { + m_options = jsonValue.GetObject("Options"); + + m_optionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixOrigin::Jsonize() const +{ + JsonValue payload; + + if(m_optionsHasBeenSet) + { + payload.WithObject("Options", m_options.Jsonize()); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixOriginOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixOriginOptions.cpp new file mode 100644 index 00000000000..fab0f3e9865 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixOriginOptions.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixOriginOptions::RouteMatrixOriginOptions() : + m_avoidActionsForDistance(0), + m_avoidActionsForDistanceHasBeenSet(false), + m_heading(0.0), + m_headingHasBeenSet(false), + m_matchingHasBeenSet(false), + m_sideOfStreetHasBeenSet(false) +{ +} + +RouteMatrixOriginOptions::RouteMatrixOriginOptions(JsonView jsonValue) + : RouteMatrixOriginOptions() +{ + *this = jsonValue; +} + +RouteMatrixOriginOptions& RouteMatrixOriginOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AvoidActionsForDistance")) + { + m_avoidActionsForDistance = jsonValue.GetInt64("AvoidActionsForDistance"); + + m_avoidActionsForDistanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Heading")) + { + m_heading = jsonValue.GetDouble("Heading"); + + m_headingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Matching")) + { + m_matching = jsonValue.GetObject("Matching"); + + m_matchingHasBeenSet = true; + } + + if(jsonValue.ValueExists("SideOfStreet")) + { + m_sideOfStreet = jsonValue.GetObject("SideOfStreet"); + + m_sideOfStreetHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixOriginOptions::Jsonize() const +{ + JsonValue payload; + + if(m_avoidActionsForDistanceHasBeenSet) + { + payload.WithInt64("AvoidActionsForDistance", m_avoidActionsForDistance); + + } + + if(m_headingHasBeenSet) + { + payload.WithDouble("Heading", m_heading); + + } + + if(m_matchingHasBeenSet) + { + payload.WithObject("Matching", m_matching.Jsonize()); + + } + + if(m_sideOfStreetHasBeenSet) + { + payload.WithObject("SideOfStreet", m_sideOfStreet.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixScooterOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixScooterOptions.cpp new file mode 100644 index 00000000000..6c56954220a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixScooterOptions.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixScooterOptions::RouteMatrixScooterOptions() : + m_licensePlateHasBeenSet(false), + m_maxSpeed(0.0), + m_maxSpeedHasBeenSet(false), + m_occupancy(0), + m_occupancyHasBeenSet(false) +{ +} + +RouteMatrixScooterOptions::RouteMatrixScooterOptions(JsonView jsonValue) + : RouteMatrixScooterOptions() +{ + *this = jsonValue; +} + +RouteMatrixScooterOptions& RouteMatrixScooterOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LicensePlate")) + { + m_licensePlate = jsonValue.GetObject("LicensePlate"); + + m_licensePlateHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxSpeed")) + { + m_maxSpeed = jsonValue.GetDouble("MaxSpeed"); + + m_maxSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Occupancy")) + { + m_occupancy = jsonValue.GetInteger("Occupancy"); + + m_occupancyHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixScooterOptions::Jsonize() const +{ + JsonValue payload; + + if(m_licensePlateHasBeenSet) + { + payload.WithObject("LicensePlate", m_licensePlate.Jsonize()); + + } + + if(m_maxSpeedHasBeenSet) + { + payload.WithDouble("MaxSpeed", m_maxSpeed); + + } + + if(m_occupancyHasBeenSet) + { + payload.WithInteger("Occupancy", m_occupancy); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixSideOfStreetOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixSideOfStreetOptions.cpp new file mode 100644 index 00000000000..1cc3aa9a250 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixSideOfStreetOptions.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixSideOfStreetOptions::RouteMatrixSideOfStreetOptions() : + m_positionHasBeenSet(false), + m_useWith(SideOfStreetMatchingStrategy::NOT_SET), + m_useWithHasBeenSet(false) +{ +} + +RouteMatrixSideOfStreetOptions::RouteMatrixSideOfStreetOptions(JsonView jsonValue) + : RouteMatrixSideOfStreetOptions() +{ + *this = jsonValue; +} + +RouteMatrixSideOfStreetOptions& RouteMatrixSideOfStreetOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("UseWith")) + { + m_useWith = SideOfStreetMatchingStrategyMapper::GetSideOfStreetMatchingStrategyForName(jsonValue.GetString("UseWith")); + + m_useWithHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixSideOfStreetOptions::Jsonize() const +{ + JsonValue payload; + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_useWithHasBeenSet) + { + payload.WithString("UseWith", SideOfStreetMatchingStrategyMapper::GetNameForSideOfStreetMatchingStrategy(m_useWith)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTrafficOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTrafficOptions.cpp new file mode 100644 index 00000000000..b0ee6207bcf --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTrafficOptions.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixTrafficOptions::RouteMatrixTrafficOptions() : + m_flowEventThresholdOverride(0), + m_flowEventThresholdOverrideHasBeenSet(false), + m_usage(TrafficUsage::NOT_SET), + m_usageHasBeenSet(false) +{ +} + +RouteMatrixTrafficOptions::RouteMatrixTrafficOptions(JsonView jsonValue) + : RouteMatrixTrafficOptions() +{ + *this = jsonValue; +} + +RouteMatrixTrafficOptions& RouteMatrixTrafficOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FlowEventThresholdOverride")) + { + m_flowEventThresholdOverride = jsonValue.GetInt64("FlowEventThresholdOverride"); + + m_flowEventThresholdOverrideHasBeenSet = true; + } + + if(jsonValue.ValueExists("Usage")) + { + m_usage = TrafficUsageMapper::GetTrafficUsageForName(jsonValue.GetString("Usage")); + + m_usageHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixTrafficOptions::Jsonize() const +{ + JsonValue payload; + + if(m_flowEventThresholdOverrideHasBeenSet) + { + payload.WithInt64("FlowEventThresholdOverride", m_flowEventThresholdOverride); + + } + + if(m_usageHasBeenSet) + { + payload.WithString("Usage", TrafficUsageMapper::GetNameForTrafficUsage(m_usage)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTrailerOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTrailerOptions.cpp new file mode 100644 index 00000000000..1052e9e1b03 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTrailerOptions.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixTrailerOptions::RouteMatrixTrailerOptions() : + m_trailerCount(0), + m_trailerCountHasBeenSet(false) +{ +} + +RouteMatrixTrailerOptions::RouteMatrixTrailerOptions(JsonView jsonValue) + : RouteMatrixTrailerOptions() +{ + *this = jsonValue; +} + +RouteMatrixTrailerOptions& RouteMatrixTrailerOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TrailerCount")) + { + m_trailerCount = jsonValue.GetInteger("TrailerCount"); + + m_trailerCountHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixTrailerOptions::Jsonize() const +{ + JsonValue payload; + + if(m_trailerCountHasBeenSet) + { + payload.WithInteger("TrailerCount", m_trailerCount); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTravelMode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTravelMode.cpp new file mode 100644 index 00000000000..14143f5a89a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTravelMode.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteMatrixTravelModeMapper + { + + static const int Car_HASH = HashingUtils::HashString("Car"); + static const int Pedestrian_HASH = HashingUtils::HashString("Pedestrian"); + static const int Scooter_HASH = HashingUtils::HashString("Scooter"); + static const int Truck_HASH = HashingUtils::HashString("Truck"); + + + RouteMatrixTravelMode GetRouteMatrixTravelModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Car_HASH) + { + return RouteMatrixTravelMode::Car; + } + else if (hashCode == Pedestrian_HASH) + { + return RouteMatrixTravelMode::Pedestrian; + } + else if (hashCode == Scooter_HASH) + { + return RouteMatrixTravelMode::Scooter; + } + else if (hashCode == Truck_HASH) + { + return RouteMatrixTravelMode::Truck; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteMatrixTravelMode::NOT_SET; + } + + Aws::String GetNameForRouteMatrixTravelMode(RouteMatrixTravelMode enumValue) + { + switch(enumValue) + { + case RouteMatrixTravelMode::NOT_SET: + return {}; + case RouteMatrixTravelMode::Car: + return "Car"; + case RouteMatrixTravelMode::Pedestrian: + return "Pedestrian"; + case RouteMatrixTravelMode::Scooter: + return "Scooter"; + case RouteMatrixTravelMode::Truck: + return "Truck"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteMatrixTravelModeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTravelModeOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTravelModeOptions.cpp new file mode 100644 index 00000000000..ee9818bee85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTravelModeOptions.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixTravelModeOptions::RouteMatrixTravelModeOptions() : + m_carHasBeenSet(false), + m_scooterHasBeenSet(false), + m_truckHasBeenSet(false) +{ +} + +RouteMatrixTravelModeOptions::RouteMatrixTravelModeOptions(JsonView jsonValue) + : RouteMatrixTravelModeOptions() +{ + *this = jsonValue; +} + +RouteMatrixTravelModeOptions& RouteMatrixTravelModeOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Car")) + { + m_car = jsonValue.GetObject("Car"); + + m_carHasBeenSet = true; + } + + if(jsonValue.ValueExists("Scooter")) + { + m_scooter = jsonValue.GetObject("Scooter"); + + m_scooterHasBeenSet = true; + } + + if(jsonValue.ValueExists("Truck")) + { + m_truck = jsonValue.GetObject("Truck"); + + m_truckHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixTravelModeOptions::Jsonize() const +{ + JsonValue payload; + + if(m_carHasBeenSet) + { + payload.WithObject("Car", m_car.Jsonize()); + + } + + if(m_scooterHasBeenSet) + { + payload.WithObject("Scooter", m_scooter.Jsonize()); + + } + + if(m_truckHasBeenSet) + { + payload.WithObject("Truck", m_truck.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTruckOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTruckOptions.cpp new file mode 100644 index 00000000000..f96c03fc2f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTruckOptions.cpp @@ -0,0 +1,287 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixTruckOptions::RouteMatrixTruckOptions() : + m_axleCount(0), + m_axleCountHasBeenSet(false), + m_grossWeight(0), + m_grossWeightHasBeenSet(false), + m_hazardousCargosHasBeenSet(false), + m_height(0), + m_heightHasBeenSet(false), + m_kpraLength(0), + m_kpraLengthHasBeenSet(false), + m_length(0), + m_lengthHasBeenSet(false), + m_licensePlateHasBeenSet(false), + m_maxSpeed(0.0), + m_maxSpeedHasBeenSet(false), + m_occupancy(0), + m_occupancyHasBeenSet(false), + m_payloadCapacity(0), + m_payloadCapacityHasBeenSet(false), + m_trailerHasBeenSet(false), + m_truckType(RouteMatrixTruckType::NOT_SET), + m_truckTypeHasBeenSet(false), + m_tunnelRestrictionCodeHasBeenSet(false), + m_weightPerAxle(0), + m_weightPerAxleHasBeenSet(false), + m_weightPerAxleGroupHasBeenSet(false), + m_width(0), + m_widthHasBeenSet(false) +{ +} + +RouteMatrixTruckOptions::RouteMatrixTruckOptions(JsonView jsonValue) + : RouteMatrixTruckOptions() +{ + *this = jsonValue; +} + +RouteMatrixTruckOptions& RouteMatrixTruckOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AxleCount")) + { + m_axleCount = jsonValue.GetInteger("AxleCount"); + + m_axleCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("GrossWeight")) + { + m_grossWeight = jsonValue.GetInt64("GrossWeight"); + + m_grossWeightHasBeenSet = true; + } + + if(jsonValue.ValueExists("HazardousCargos")) + { + Aws::Utils::Array hazardousCargosJsonList = jsonValue.GetArray("HazardousCargos"); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + m_hazardousCargos.push_back(RouteMatrixHazardousCargoTypeMapper::GetRouteMatrixHazardousCargoTypeForName(hazardousCargosJsonList[hazardousCargosIndex].AsString())); + } + m_hazardousCargosHasBeenSet = true; + } + + if(jsonValue.ValueExists("Height")) + { + m_height = jsonValue.GetInt64("Height"); + + m_heightHasBeenSet = true; + } + + if(jsonValue.ValueExists("KpraLength")) + { + m_kpraLength = jsonValue.GetInt64("KpraLength"); + + m_kpraLengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("Length")) + { + m_length = jsonValue.GetInt64("Length"); + + m_lengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("LicensePlate")) + { + m_licensePlate = jsonValue.GetObject("LicensePlate"); + + m_licensePlateHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxSpeed")) + { + m_maxSpeed = jsonValue.GetDouble("MaxSpeed"); + + m_maxSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Occupancy")) + { + m_occupancy = jsonValue.GetInteger("Occupancy"); + + m_occupancyHasBeenSet = true; + } + + if(jsonValue.ValueExists("PayloadCapacity")) + { + m_payloadCapacity = jsonValue.GetInt64("PayloadCapacity"); + + m_payloadCapacityHasBeenSet = true; + } + + if(jsonValue.ValueExists("Trailer")) + { + m_trailer = jsonValue.GetObject("Trailer"); + + m_trailerHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckType")) + { + m_truckType = RouteMatrixTruckTypeMapper::GetRouteMatrixTruckTypeForName(jsonValue.GetString("TruckType")); + + m_truckTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("TunnelRestrictionCode")) + { + m_tunnelRestrictionCode = jsonValue.GetString("TunnelRestrictionCode"); + + m_tunnelRestrictionCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("WeightPerAxle")) + { + m_weightPerAxle = jsonValue.GetInt64("WeightPerAxle"); + + m_weightPerAxleHasBeenSet = true; + } + + if(jsonValue.ValueExists("WeightPerAxleGroup")) + { + m_weightPerAxleGroup = jsonValue.GetObject("WeightPerAxleGroup"); + + m_weightPerAxleGroupHasBeenSet = true; + } + + if(jsonValue.ValueExists("Width")) + { + m_width = jsonValue.GetInt64("Width"); + + m_widthHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixTruckOptions::Jsonize() const +{ + JsonValue payload; + + if(m_axleCountHasBeenSet) + { + payload.WithInteger("AxleCount", m_axleCount); + + } + + if(m_grossWeightHasBeenSet) + { + payload.WithInt64("GrossWeight", m_grossWeight); + + } + + if(m_hazardousCargosHasBeenSet) + { + Aws::Utils::Array hazardousCargosJsonList(m_hazardousCargos.size()); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + hazardousCargosJsonList[hazardousCargosIndex].AsString(RouteMatrixHazardousCargoTypeMapper::GetNameForRouteMatrixHazardousCargoType(m_hazardousCargos[hazardousCargosIndex])); + } + payload.WithArray("HazardousCargos", std::move(hazardousCargosJsonList)); + + } + + if(m_heightHasBeenSet) + { + payload.WithInt64("Height", m_height); + + } + + if(m_kpraLengthHasBeenSet) + { + payload.WithInt64("KpraLength", m_kpraLength); + + } + + if(m_lengthHasBeenSet) + { + payload.WithInt64("Length", m_length); + + } + + if(m_licensePlateHasBeenSet) + { + payload.WithObject("LicensePlate", m_licensePlate.Jsonize()); + + } + + if(m_maxSpeedHasBeenSet) + { + payload.WithDouble("MaxSpeed", m_maxSpeed); + + } + + if(m_occupancyHasBeenSet) + { + payload.WithInteger("Occupancy", m_occupancy); + + } + + if(m_payloadCapacityHasBeenSet) + { + payload.WithInt64("PayloadCapacity", m_payloadCapacity); + + } + + if(m_trailerHasBeenSet) + { + payload.WithObject("Trailer", m_trailer.Jsonize()); + + } + + if(m_truckTypeHasBeenSet) + { + payload.WithString("TruckType", RouteMatrixTruckTypeMapper::GetNameForRouteMatrixTruckType(m_truckType)); + } + + if(m_tunnelRestrictionCodeHasBeenSet) + { + payload.WithString("TunnelRestrictionCode", m_tunnelRestrictionCode); + + } + + if(m_weightPerAxleHasBeenSet) + { + payload.WithInt64("WeightPerAxle", m_weightPerAxle); + + } + + if(m_weightPerAxleGroupHasBeenSet) + { + payload.WithObject("WeightPerAxleGroup", m_weightPerAxleGroup.Jsonize()); + + } + + if(m_widthHasBeenSet) + { + payload.WithInt64("Width", m_width); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTruckType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTruckType.cpp new file mode 100644 index 00000000000..950665838d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixTruckType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteMatrixTruckTypeMapper + { + + static const int LightTruck_HASH = HashingUtils::HashString("LightTruck"); + static const int StraightTruck_HASH = HashingUtils::HashString("StraightTruck"); + static const int Tractor_HASH = HashingUtils::HashString("Tractor"); + + + RouteMatrixTruckType GetRouteMatrixTruckTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == LightTruck_HASH) + { + return RouteMatrixTruckType::LightTruck; + } + else if (hashCode == StraightTruck_HASH) + { + return RouteMatrixTruckType::StraightTruck; + } + else if (hashCode == Tractor_HASH) + { + return RouteMatrixTruckType::Tractor; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteMatrixTruckType::NOT_SET; + } + + Aws::String GetNameForRouteMatrixTruckType(RouteMatrixTruckType enumValue) + { + switch(enumValue) + { + case RouteMatrixTruckType::NOT_SET: + return {}; + case RouteMatrixTruckType::LightTruck: + return "LightTruck"; + case RouteMatrixTruckType::StraightTruck: + return "StraightTruck"; + case RouteMatrixTruckType::Tractor: + return "Tractor"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteMatrixTruckTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixVehicleLicensePlate.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixVehicleLicensePlate.cpp new file mode 100644 index 00000000000..a0a4e0da775 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixVehicleLicensePlate.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteMatrixVehicleLicensePlate::RouteMatrixVehicleLicensePlate() : + m_lastCharacterHasBeenSet(false) +{ +} + +RouteMatrixVehicleLicensePlate::RouteMatrixVehicleLicensePlate(JsonView jsonValue) + : RouteMatrixVehicleLicensePlate() +{ + *this = jsonValue; +} + +RouteMatrixVehicleLicensePlate& RouteMatrixVehicleLicensePlate::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LastCharacter")) + { + m_lastCharacter = jsonValue.GetString("LastCharacter"); + + m_lastCharacterHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteMatrixVehicleLicensePlate::Jsonize() const +{ + JsonValue payload; + + if(m_lastCharacterHasBeenSet) + { + payload.WithString("LastCharacter", m_lastCharacter); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixZoneCategory.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixZoneCategory.cpp new file mode 100644 index 00000000000..88a9ab3f5b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteMatrixZoneCategory.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteMatrixZoneCategoryMapper + { + + static const int CongestionPricing_HASH = HashingUtils::HashString("CongestionPricing"); + static const int Environmental_HASH = HashingUtils::HashString("Environmental"); + static const int Vignette_HASH = HashingUtils::HashString("Vignette"); + + + RouteMatrixZoneCategory GetRouteMatrixZoneCategoryForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CongestionPricing_HASH) + { + return RouteMatrixZoneCategory::CongestionPricing; + } + else if (hashCode == Environmental_HASH) + { + return RouteMatrixZoneCategory::Environmental; + } + else if (hashCode == Vignette_HASH) + { + return RouteMatrixZoneCategory::Vignette; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteMatrixZoneCategory::NOT_SET; + } + + Aws::String GetNameForRouteMatrixZoneCategory(RouteMatrixZoneCategory enumValue) + { + switch(enumValue) + { + case RouteMatrixZoneCategory::NOT_SET: + return {}; + case RouteMatrixZoneCategory::CongestionPricing: + return "CongestionPricing"; + case RouteMatrixZoneCategory::Environmental: + return "Environmental"; + case RouteMatrixZoneCategory::Vignette: + return "Vignette"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteMatrixZoneCategoryMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteNoticeDetailRange.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteNoticeDetailRange.cpp new file mode 100644 index 00000000000..a1a00f3294a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteNoticeDetailRange.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteNoticeDetailRange::RouteNoticeDetailRange() : + m_min(0), + m_minHasBeenSet(false), + m_max(0), + m_maxHasBeenSet(false) +{ +} + +RouteNoticeDetailRange::RouteNoticeDetailRange(JsonView jsonValue) + : RouteNoticeDetailRange() +{ + *this = jsonValue; +} + +RouteNoticeDetailRange& RouteNoticeDetailRange::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Min")) + { + m_min = jsonValue.GetInteger("Min"); + + m_minHasBeenSet = true; + } + + if(jsonValue.ValueExists("Max")) + { + m_max = jsonValue.GetInteger("Max"); + + m_maxHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteNoticeDetailRange::Jsonize() const +{ + JsonValue payload; + + if(m_minHasBeenSet) + { + payload.WithInteger("Min", m_min); + + } + + if(m_maxHasBeenSet) + { + payload.WithInteger("Max", m_max); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteNoticeImpact.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteNoticeImpact.cpp new file mode 100644 index 00000000000..20941e07853 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteNoticeImpact.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteNoticeImpactMapper + { + + static const int High_HASH = HashingUtils::HashString("High"); + static const int Low_HASH = HashingUtils::HashString("Low"); + + + RouteNoticeImpact GetRouteNoticeImpactForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == High_HASH) + { + return RouteNoticeImpact::High; + } + else if (hashCode == Low_HASH) + { + return RouteNoticeImpact::Low; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteNoticeImpact::NOT_SET; + } + + Aws::String GetNameForRouteNoticeImpact(RouteNoticeImpact enumValue) + { + switch(enumValue) + { + case RouteNoticeImpact::NOT_SET: + return {}; + case RouteNoticeImpact::High: + return "High"; + case RouteNoticeImpact::Low: + return "Low"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteNoticeImpactMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteNumber.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteNumber.cpp new file mode 100644 index 00000000000..b71ecedc2db --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteNumber.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteNumber::RouteNumber() : + m_direction(RouteDirection::NOT_SET), + m_directionHasBeenSet(false), + m_languageHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +RouteNumber::RouteNumber(JsonView jsonValue) + : RouteNumber() +{ + *this = jsonValue; +} + +RouteNumber& RouteNumber::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Direction")) + { + m_direction = RouteDirectionMapper::GetRouteDirectionForName(jsonValue.GetString("Direction")); + + m_directionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Language")) + { + m_language = jsonValue.GetString("Language"); + + m_languageHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetString("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteNumber::Jsonize() const +{ + JsonValue payload; + + if(m_directionHasBeenSet) + { + payload.WithString("Direction", RouteDirectionMapper::GetNameForRouteDirection(m_direction)); + } + + if(m_languageHasBeenSet) + { + payload.WithString("Language", m_language); + + } + + if(m_valueHasBeenSet) + { + payload.WithString("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteOriginOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteOriginOptions.cpp new file mode 100644 index 00000000000..5230f6074eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteOriginOptions.cpp @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteOriginOptions::RouteOriginOptions() : + m_avoidActionsForDistance(0), + m_avoidActionsForDistanceHasBeenSet(false), + m_avoidUTurns(false), + m_avoidUTurnsHasBeenSet(false), + m_heading(0.0), + m_headingHasBeenSet(false), + m_matchingHasBeenSet(false), + m_sideOfStreetHasBeenSet(false) +{ +} + +RouteOriginOptions::RouteOriginOptions(JsonView jsonValue) + : RouteOriginOptions() +{ + *this = jsonValue; +} + +RouteOriginOptions& RouteOriginOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AvoidActionsForDistance")) + { + m_avoidActionsForDistance = jsonValue.GetInt64("AvoidActionsForDistance"); + + m_avoidActionsForDistanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("AvoidUTurns")) + { + m_avoidUTurns = jsonValue.GetBool("AvoidUTurns"); + + m_avoidUTurnsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Heading")) + { + m_heading = jsonValue.GetDouble("Heading"); + + m_headingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Matching")) + { + m_matching = jsonValue.GetObject("Matching"); + + m_matchingHasBeenSet = true; + } + + if(jsonValue.ValueExists("SideOfStreet")) + { + m_sideOfStreet = jsonValue.GetObject("SideOfStreet"); + + m_sideOfStreetHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteOriginOptions::Jsonize() const +{ + JsonValue payload; + + if(m_avoidActionsForDistanceHasBeenSet) + { + payload.WithInt64("AvoidActionsForDistance", m_avoidActionsForDistance); + + } + + if(m_avoidUTurnsHasBeenSet) + { + payload.WithBool("AvoidUTurns", m_avoidUTurns); + + } + + if(m_headingHasBeenSet) + { + payload.WithDouble("Heading", m_heading); + + } + + if(m_matchingHasBeenSet) + { + payload.WithObject("Matching", m_matching.Jsonize()); + + } + + if(m_sideOfStreetHasBeenSet) + { + payload.WithObject("SideOfStreet", m_sideOfStreet.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePassThroughPlace.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePassThroughPlace.cpp new file mode 100644 index 00000000000..6e21e037a4b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePassThroughPlace.cpp @@ -0,0 +1,104 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePassThroughPlace::RoutePassThroughPlace() : + m_originalPositionHasBeenSet(false), + m_positionHasBeenSet(false), + m_waypointIndex(0), + m_waypointIndexHasBeenSet(false) +{ +} + +RoutePassThroughPlace::RoutePassThroughPlace(JsonView jsonValue) + : RoutePassThroughPlace() +{ + *this = jsonValue; +} + +RoutePassThroughPlace& RoutePassThroughPlace::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("OriginalPosition")) + { + Aws::Utils::Array originalPositionJsonList = jsonValue.GetArray("OriginalPosition"); + for(unsigned originalPositionIndex = 0; originalPositionIndex < originalPositionJsonList.GetLength(); ++originalPositionIndex) + { + m_originalPosition.push_back(originalPositionJsonList[originalPositionIndex].AsDouble()); + } + m_originalPositionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("WaypointIndex")) + { + m_waypointIndex = jsonValue.GetInteger("WaypointIndex"); + + m_waypointIndexHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePassThroughPlace::Jsonize() const +{ + JsonValue payload; + + if(m_originalPositionHasBeenSet) + { + Aws::Utils::Array originalPositionJsonList(m_originalPosition.size()); + for(unsigned originalPositionIndex = 0; originalPositionIndex < originalPositionJsonList.GetLength(); ++originalPositionIndex) + { + originalPositionJsonList[originalPositionIndex].AsDouble(m_originalPosition[originalPositionIndex]); + } + payload.WithArray("OriginalPosition", std::move(originalPositionJsonList)); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_waypointIndexHasBeenSet) + { + payload.WithInteger("WaypointIndex", m_waypointIndex); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePassThroughWaypoint.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePassThroughWaypoint.cpp new file mode 100644 index 00000000000..5e7cdf3ad8d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePassThroughWaypoint.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePassThroughWaypoint::RoutePassThroughWaypoint() : + m_geometryOffset(0), + m_geometryOffsetHasBeenSet(false), + m_placeHasBeenSet(false) +{ +} + +RoutePassThroughWaypoint::RoutePassThroughWaypoint(JsonView jsonValue) + : RoutePassThroughWaypoint() +{ + *this = jsonValue; +} + +RoutePassThroughWaypoint& RoutePassThroughWaypoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("GeometryOffset")) + { + m_geometryOffset = jsonValue.GetInteger("GeometryOffset"); + + m_geometryOffsetHasBeenSet = true; + } + + if(jsonValue.ValueExists("Place")) + { + m_place = jsonValue.GetObject("Place"); + + m_placeHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePassThroughWaypoint::Jsonize() const +{ + JsonValue payload; + + if(m_geometryOffsetHasBeenSet) + { + payload.WithInteger("GeometryOffset", m_geometryOffset); + + } + + if(m_placeHasBeenSet) + { + payload.WithObject("Place", m_place.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianArrival.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianArrival.cpp new file mode 100644 index 00000000000..954e34d92ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianArrival.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePedestrianArrival::RoutePedestrianArrival() : + m_placeHasBeenSet(false), + m_timeHasBeenSet(false) +{ +} + +RoutePedestrianArrival::RoutePedestrianArrival(JsonView jsonValue) + : RoutePedestrianArrival() +{ + *this = jsonValue; +} + +RoutePedestrianArrival& RoutePedestrianArrival::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Place")) + { + m_place = jsonValue.GetObject("Place"); + + m_placeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Time")) + { + m_time = jsonValue.GetString("Time"); + + m_timeHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePedestrianArrival::Jsonize() const +{ + JsonValue payload; + + if(m_placeHasBeenSet) + { + payload.WithObject("Place", m_place.Jsonize()); + + } + + if(m_timeHasBeenSet) + { + payload.WithString("Time", m_time); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianDeparture.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianDeparture.cpp new file mode 100644 index 00000000000..297c8c835a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianDeparture.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePedestrianDeparture::RoutePedestrianDeparture() : + m_placeHasBeenSet(false), + m_timeHasBeenSet(false) +{ +} + +RoutePedestrianDeparture::RoutePedestrianDeparture(JsonView jsonValue) + : RoutePedestrianDeparture() +{ + *this = jsonValue; +} + +RoutePedestrianDeparture& RoutePedestrianDeparture::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Place")) + { + m_place = jsonValue.GetObject("Place"); + + m_placeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Time")) + { + m_time = jsonValue.GetString("Time"); + + m_timeHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePedestrianDeparture::Jsonize() const +{ + JsonValue payload; + + if(m_placeHasBeenSet) + { + payload.WithObject("Place", m_place.Jsonize()); + + } + + if(m_timeHasBeenSet) + { + payload.WithString("Time", m_time); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianLegDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianLegDetails.cpp new file mode 100644 index 00000000000..8087b8e709c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianLegDetails.cpp @@ -0,0 +1,175 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePedestrianLegDetails::RoutePedestrianLegDetails() : + m_arrivalHasBeenSet(false), + m_departureHasBeenSet(false), + m_noticesHasBeenSet(false), + m_passThroughWaypointsHasBeenSet(false), + m_spansHasBeenSet(false), + m_summaryHasBeenSet(false), + m_travelStepsHasBeenSet(false) +{ +} + +RoutePedestrianLegDetails::RoutePedestrianLegDetails(JsonView jsonValue) + : RoutePedestrianLegDetails() +{ + *this = jsonValue; +} + +RoutePedestrianLegDetails& RoutePedestrianLegDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arrival")) + { + m_arrival = jsonValue.GetObject("Arrival"); + + m_arrivalHasBeenSet = true; + } + + if(jsonValue.ValueExists("Departure")) + { + m_departure = jsonValue.GetObject("Departure"); + + m_departureHasBeenSet = true; + } + + if(jsonValue.ValueExists("Notices")) + { + Aws::Utils::Array noticesJsonList = jsonValue.GetArray("Notices"); + for(unsigned noticesIndex = 0; noticesIndex < noticesJsonList.GetLength(); ++noticesIndex) + { + m_notices.push_back(noticesJsonList[noticesIndex].AsObject()); + } + m_noticesHasBeenSet = true; + } + + if(jsonValue.ValueExists("PassThroughWaypoints")) + { + Aws::Utils::Array passThroughWaypointsJsonList = jsonValue.GetArray("PassThroughWaypoints"); + for(unsigned passThroughWaypointsIndex = 0; passThroughWaypointsIndex < passThroughWaypointsJsonList.GetLength(); ++passThroughWaypointsIndex) + { + m_passThroughWaypoints.push_back(passThroughWaypointsJsonList[passThroughWaypointsIndex].AsObject()); + } + m_passThroughWaypointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Spans")) + { + Aws::Utils::Array spansJsonList = jsonValue.GetArray("Spans"); + for(unsigned spansIndex = 0; spansIndex < spansJsonList.GetLength(); ++spansIndex) + { + m_spans.push_back(spansJsonList[spansIndex].AsObject()); + } + m_spansHasBeenSet = true; + } + + if(jsonValue.ValueExists("Summary")) + { + m_summary = jsonValue.GetObject("Summary"); + + m_summaryHasBeenSet = true; + } + + if(jsonValue.ValueExists("TravelSteps")) + { + Aws::Utils::Array travelStepsJsonList = jsonValue.GetArray("TravelSteps"); + for(unsigned travelStepsIndex = 0; travelStepsIndex < travelStepsJsonList.GetLength(); ++travelStepsIndex) + { + m_travelSteps.push_back(travelStepsJsonList[travelStepsIndex].AsObject()); + } + m_travelStepsHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePedestrianLegDetails::Jsonize() const +{ + JsonValue payload; + + if(m_arrivalHasBeenSet) + { + payload.WithObject("Arrival", m_arrival.Jsonize()); + + } + + if(m_departureHasBeenSet) + { + payload.WithObject("Departure", m_departure.Jsonize()); + + } + + if(m_noticesHasBeenSet) + { + Aws::Utils::Array noticesJsonList(m_notices.size()); + for(unsigned noticesIndex = 0; noticesIndex < noticesJsonList.GetLength(); ++noticesIndex) + { + noticesJsonList[noticesIndex].AsObject(m_notices[noticesIndex].Jsonize()); + } + payload.WithArray("Notices", std::move(noticesJsonList)); + + } + + if(m_passThroughWaypointsHasBeenSet) + { + Aws::Utils::Array passThroughWaypointsJsonList(m_passThroughWaypoints.size()); + for(unsigned passThroughWaypointsIndex = 0; passThroughWaypointsIndex < passThroughWaypointsJsonList.GetLength(); ++passThroughWaypointsIndex) + { + passThroughWaypointsJsonList[passThroughWaypointsIndex].AsObject(m_passThroughWaypoints[passThroughWaypointsIndex].Jsonize()); + } + payload.WithArray("PassThroughWaypoints", std::move(passThroughWaypointsJsonList)); + + } + + if(m_spansHasBeenSet) + { + Aws::Utils::Array spansJsonList(m_spans.size()); + for(unsigned spansIndex = 0; spansIndex < spansJsonList.GetLength(); ++spansIndex) + { + spansJsonList[spansIndex].AsObject(m_spans[spansIndex].Jsonize()); + } + payload.WithArray("Spans", std::move(spansJsonList)); + + } + + if(m_summaryHasBeenSet) + { + payload.WithObject("Summary", m_summary.Jsonize()); + + } + + if(m_travelStepsHasBeenSet) + { + Aws::Utils::Array travelStepsJsonList(m_travelSteps.size()); + for(unsigned travelStepsIndex = 0; travelStepsIndex < travelStepsJsonList.GetLength(); ++travelStepsIndex) + { + travelStepsJsonList[travelStepsIndex].AsObject(m_travelSteps[travelStepsIndex].Jsonize()); + } + payload.WithArray("TravelSteps", std::move(travelStepsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianNotice.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianNotice.cpp new file mode 100644 index 00000000000..fd52505339b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianNotice.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePedestrianNotice::RoutePedestrianNotice() : + m_code(RoutePedestrianNoticeCode::NOT_SET), + m_codeHasBeenSet(false), + m_impact(RouteNoticeImpact::NOT_SET), + m_impactHasBeenSet(false) +{ +} + +RoutePedestrianNotice::RoutePedestrianNotice(JsonView jsonValue) + : RoutePedestrianNotice() +{ + *this = jsonValue; +} + +RoutePedestrianNotice& RoutePedestrianNotice::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code")) + { + m_code = RoutePedestrianNoticeCodeMapper::GetRoutePedestrianNoticeCodeForName(jsonValue.GetString("Code")); + + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Impact")) + { + m_impact = RouteNoticeImpactMapper::GetRouteNoticeImpactForName(jsonValue.GetString("Impact")); + + m_impactHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePedestrianNotice::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + payload.WithString("Code", RoutePedestrianNoticeCodeMapper::GetNameForRoutePedestrianNoticeCode(m_code)); + } + + if(m_impactHasBeenSet) + { + payload.WithString("Impact", RouteNoticeImpactMapper::GetNameForRouteNoticeImpact(m_impact)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianNoticeCode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianNoticeCode.cpp new file mode 100644 index 00000000000..476740f27fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianNoticeCode.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RoutePedestrianNoticeCodeMapper + { + + static const int AccuratePolylineUnavailable_HASH = HashingUtils::HashString("AccuratePolylineUnavailable"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int ViolatedAvoidDirtRoad_HASH = HashingUtils::HashString("ViolatedAvoidDirtRoad"); + static const int ViolatedAvoidTunnel_HASH = HashingUtils::HashString("ViolatedAvoidTunnel"); + static const int ViolatedPedestrianOption_HASH = HashingUtils::HashString("ViolatedPedestrianOption"); + + + RoutePedestrianNoticeCode GetRoutePedestrianNoticeCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AccuratePolylineUnavailable_HASH) + { + return RoutePedestrianNoticeCode::AccuratePolylineUnavailable; + } + else if (hashCode == Other_HASH) + { + return RoutePedestrianNoticeCode::Other; + } + else if (hashCode == ViolatedAvoidDirtRoad_HASH) + { + return RoutePedestrianNoticeCode::ViolatedAvoidDirtRoad; + } + else if (hashCode == ViolatedAvoidTunnel_HASH) + { + return RoutePedestrianNoticeCode::ViolatedAvoidTunnel; + } + else if (hashCode == ViolatedPedestrianOption_HASH) + { + return RoutePedestrianNoticeCode::ViolatedPedestrianOption; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RoutePedestrianNoticeCode::NOT_SET; + } + + Aws::String GetNameForRoutePedestrianNoticeCode(RoutePedestrianNoticeCode enumValue) + { + switch(enumValue) + { + case RoutePedestrianNoticeCode::NOT_SET: + return {}; + case RoutePedestrianNoticeCode::AccuratePolylineUnavailable: + return "AccuratePolylineUnavailable"; + case RoutePedestrianNoticeCode::Other: + return "Other"; + case RoutePedestrianNoticeCode::ViolatedAvoidDirtRoad: + return "ViolatedAvoidDirtRoad"; + case RoutePedestrianNoticeCode::ViolatedAvoidTunnel: + return "ViolatedAvoidTunnel"; + case RoutePedestrianNoticeCode::ViolatedPedestrianOption: + return "ViolatedPedestrianOption"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RoutePedestrianNoticeCodeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianOptions.cpp new file mode 100644 index 00000000000..b09350a6add --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianOptions.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePedestrianOptions::RoutePedestrianOptions() : + m_speed(0.0), + m_speedHasBeenSet(false) +{ +} + +RoutePedestrianOptions::RoutePedestrianOptions(JsonView jsonValue) + : RoutePedestrianOptions() +{ + *this = jsonValue; +} + +RoutePedestrianOptions& RoutePedestrianOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Speed")) + { + m_speed = jsonValue.GetDouble("Speed"); + + m_speedHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePedestrianOptions::Jsonize() const +{ + JsonValue payload; + + if(m_speedHasBeenSet) + { + payload.WithDouble("Speed", m_speed); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianOverviewSummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianOverviewSummary.cpp new file mode 100644 index 00000000000..80edfa11dc8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianOverviewSummary.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePedestrianOverviewSummary::RoutePedestrianOverviewSummary() : + m_distance(0), + m_distanceHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false) +{ +} + +RoutePedestrianOverviewSummary::RoutePedestrianOverviewSummary(JsonView jsonValue) + : RoutePedestrianOverviewSummary() +{ + *this = jsonValue; +} + +RoutePedestrianOverviewSummary& RoutePedestrianOverviewSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePedestrianOverviewSummary::Jsonize() const +{ + JsonValue payload; + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianPlace.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianPlace.cpp new file mode 100644 index 00000000000..b0fd3268fa1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianPlace.cpp @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePedestrianPlace::RoutePedestrianPlace() : + m_nameHasBeenSet(false), + m_originalPositionHasBeenSet(false), + m_positionHasBeenSet(false), + m_sideOfStreet(RouteSideOfStreet::NOT_SET), + m_sideOfStreetHasBeenSet(false), + m_waypointIndex(0), + m_waypointIndexHasBeenSet(false) +{ +} + +RoutePedestrianPlace::RoutePedestrianPlace(JsonView jsonValue) + : RoutePedestrianPlace() +{ + *this = jsonValue; +} + +RoutePedestrianPlace& RoutePedestrianPlace::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("OriginalPosition")) + { + Aws::Utils::Array originalPositionJsonList = jsonValue.GetArray("OriginalPosition"); + for(unsigned originalPositionIndex = 0; originalPositionIndex < originalPositionJsonList.GetLength(); ++originalPositionIndex) + { + m_originalPosition.push_back(originalPositionJsonList[originalPositionIndex].AsDouble()); + } + m_originalPositionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SideOfStreet")) + { + m_sideOfStreet = RouteSideOfStreetMapper::GetRouteSideOfStreetForName(jsonValue.GetString("SideOfStreet")); + + m_sideOfStreetHasBeenSet = true; + } + + if(jsonValue.ValueExists("WaypointIndex")) + { + m_waypointIndex = jsonValue.GetInteger("WaypointIndex"); + + m_waypointIndexHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePedestrianPlace::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_originalPositionHasBeenSet) + { + Aws::Utils::Array originalPositionJsonList(m_originalPosition.size()); + for(unsigned originalPositionIndex = 0; originalPositionIndex < originalPositionJsonList.GetLength(); ++originalPositionIndex) + { + originalPositionJsonList[originalPositionIndex].AsDouble(m_originalPosition[originalPositionIndex]); + } + payload.WithArray("OriginalPosition", std::move(originalPositionJsonList)); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_sideOfStreetHasBeenSet) + { + payload.WithString("SideOfStreet", RouteSideOfStreetMapper::GetNameForRouteSideOfStreet(m_sideOfStreet)); + } + + if(m_waypointIndexHasBeenSet) + { + payload.WithInteger("WaypointIndex", m_waypointIndex); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianSpan.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianSpan.cpp new file mode 100644 index 00000000000..e083696bfab --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianSpan.cpp @@ -0,0 +1,301 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePedestrianSpan::RoutePedestrianSpan() : + m_bestCaseDuration(0), + m_bestCaseDurationHasBeenSet(false), + m_countryHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false), + m_dynamicSpeedHasBeenSet(false), + m_functionalClassification(0), + m_functionalClassificationHasBeenSet(false), + m_geometryOffset(0), + m_geometryOffsetHasBeenSet(false), + m_incidentsHasBeenSet(false), + m_namesHasBeenSet(false), + m_pedestrianAccessHasBeenSet(false), + m_regionHasBeenSet(false), + m_roadAttributesHasBeenSet(false), + m_routeNumbersHasBeenSet(false), + m_speedLimitHasBeenSet(false), + m_typicalDuration(0), + m_typicalDurationHasBeenSet(false) +{ +} + +RoutePedestrianSpan::RoutePedestrianSpan(JsonView jsonValue) + : RoutePedestrianSpan() +{ + *this = jsonValue; +} + +RoutePedestrianSpan& RoutePedestrianSpan::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BestCaseDuration")) + { + m_bestCaseDuration = jsonValue.GetInt64("BestCaseDuration"); + + m_bestCaseDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Country")) + { + m_country = jsonValue.GetString("Country"); + + m_countryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("DynamicSpeed")) + { + m_dynamicSpeed = jsonValue.GetObject("DynamicSpeed"); + + m_dynamicSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("FunctionalClassification")) + { + m_functionalClassification = jsonValue.GetInteger("FunctionalClassification"); + + m_functionalClassificationHasBeenSet = true; + } + + if(jsonValue.ValueExists("GeometryOffset")) + { + m_geometryOffset = jsonValue.GetInteger("GeometryOffset"); + + m_geometryOffsetHasBeenSet = true; + } + + if(jsonValue.ValueExists("Incidents")) + { + Aws::Utils::Array incidentsJsonList = jsonValue.GetArray("Incidents"); + for(unsigned incidentsIndex = 0; incidentsIndex < incidentsJsonList.GetLength(); ++incidentsIndex) + { + m_incidents.push_back(incidentsJsonList[incidentsIndex].AsInteger()); + } + m_incidentsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Names")) + { + Aws::Utils::Array namesJsonList = jsonValue.GetArray("Names"); + for(unsigned namesIndex = 0; namesIndex < namesJsonList.GetLength(); ++namesIndex) + { + m_names.push_back(namesJsonList[namesIndex].AsObject()); + } + m_namesHasBeenSet = true; + } + + if(jsonValue.ValueExists("PedestrianAccess")) + { + Aws::Utils::Array pedestrianAccessJsonList = jsonValue.GetArray("PedestrianAccess"); + for(unsigned pedestrianAccessIndex = 0; pedestrianAccessIndex < pedestrianAccessJsonList.GetLength(); ++pedestrianAccessIndex) + { + m_pedestrianAccess.push_back(RouteSpanPedestrianAccessAttributeMapper::GetRouteSpanPedestrianAccessAttributeForName(pedestrianAccessJsonList[pedestrianAccessIndex].AsString())); + } + m_pedestrianAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetString("Region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("RoadAttributes")) + { + Aws::Utils::Array roadAttributesJsonList = jsonValue.GetArray("RoadAttributes"); + for(unsigned roadAttributesIndex = 0; roadAttributesIndex < roadAttributesJsonList.GetLength(); ++roadAttributesIndex) + { + m_roadAttributes.push_back(RouteSpanRoadAttributeMapper::GetRouteSpanRoadAttributeForName(roadAttributesJsonList[roadAttributesIndex].AsString())); + } + m_roadAttributesHasBeenSet = true; + } + + if(jsonValue.ValueExists("RouteNumbers")) + { + Aws::Utils::Array routeNumbersJsonList = jsonValue.GetArray("RouteNumbers"); + for(unsigned routeNumbersIndex = 0; routeNumbersIndex < routeNumbersJsonList.GetLength(); ++routeNumbersIndex) + { + m_routeNumbers.push_back(routeNumbersJsonList[routeNumbersIndex].AsObject()); + } + m_routeNumbersHasBeenSet = true; + } + + if(jsonValue.ValueExists("SpeedLimit")) + { + m_speedLimit = jsonValue.GetObject("SpeedLimit"); + + m_speedLimitHasBeenSet = true; + } + + if(jsonValue.ValueExists("TypicalDuration")) + { + m_typicalDuration = jsonValue.GetInt64("TypicalDuration"); + + m_typicalDurationHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePedestrianSpan::Jsonize() const +{ + JsonValue payload; + + if(m_bestCaseDurationHasBeenSet) + { + payload.WithInt64("BestCaseDuration", m_bestCaseDuration); + + } + + if(m_countryHasBeenSet) + { + payload.WithString("Country", m_country); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_dynamicSpeedHasBeenSet) + { + payload.WithObject("DynamicSpeed", m_dynamicSpeed.Jsonize()); + + } + + if(m_functionalClassificationHasBeenSet) + { + payload.WithInteger("FunctionalClassification", m_functionalClassification); + + } + + if(m_geometryOffsetHasBeenSet) + { + payload.WithInteger("GeometryOffset", m_geometryOffset); + + } + + if(m_incidentsHasBeenSet) + { + Aws::Utils::Array incidentsJsonList(m_incidents.size()); + for(unsigned incidentsIndex = 0; incidentsIndex < incidentsJsonList.GetLength(); ++incidentsIndex) + { + incidentsJsonList[incidentsIndex].AsInteger(m_incidents[incidentsIndex]); + } + payload.WithArray("Incidents", std::move(incidentsJsonList)); + + } + + if(m_namesHasBeenSet) + { + Aws::Utils::Array namesJsonList(m_names.size()); + for(unsigned namesIndex = 0; namesIndex < namesJsonList.GetLength(); ++namesIndex) + { + namesJsonList[namesIndex].AsObject(m_names[namesIndex].Jsonize()); + } + payload.WithArray("Names", std::move(namesJsonList)); + + } + + if(m_pedestrianAccessHasBeenSet) + { + Aws::Utils::Array pedestrianAccessJsonList(m_pedestrianAccess.size()); + for(unsigned pedestrianAccessIndex = 0; pedestrianAccessIndex < pedestrianAccessJsonList.GetLength(); ++pedestrianAccessIndex) + { + pedestrianAccessJsonList[pedestrianAccessIndex].AsString(RouteSpanPedestrianAccessAttributeMapper::GetNameForRouteSpanPedestrianAccessAttribute(m_pedestrianAccess[pedestrianAccessIndex])); + } + payload.WithArray("PedestrianAccess", std::move(pedestrianAccessJsonList)); + + } + + if(m_regionHasBeenSet) + { + payload.WithString("Region", m_region); + + } + + if(m_roadAttributesHasBeenSet) + { + Aws::Utils::Array roadAttributesJsonList(m_roadAttributes.size()); + for(unsigned roadAttributesIndex = 0; roadAttributesIndex < roadAttributesJsonList.GetLength(); ++roadAttributesIndex) + { + roadAttributesJsonList[roadAttributesIndex].AsString(RouteSpanRoadAttributeMapper::GetNameForRouteSpanRoadAttribute(m_roadAttributes[roadAttributesIndex])); + } + payload.WithArray("RoadAttributes", std::move(roadAttributesJsonList)); + + } + + if(m_routeNumbersHasBeenSet) + { + Aws::Utils::Array routeNumbersJsonList(m_routeNumbers.size()); + for(unsigned routeNumbersIndex = 0; routeNumbersIndex < routeNumbersJsonList.GetLength(); ++routeNumbersIndex) + { + routeNumbersJsonList[routeNumbersIndex].AsObject(m_routeNumbers[routeNumbersIndex].Jsonize()); + } + payload.WithArray("RouteNumbers", std::move(routeNumbersJsonList)); + + } + + if(m_speedLimitHasBeenSet) + { + payload.WithObject("SpeedLimit", m_speedLimit.Jsonize()); + + } + + if(m_typicalDurationHasBeenSet) + { + payload.WithInt64("TypicalDuration", m_typicalDuration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianSummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianSummary.cpp new file mode 100644 index 00000000000..7ad236890f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianSummary.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePedestrianSummary::RoutePedestrianSummary() : + m_overviewHasBeenSet(false), + m_travelOnlyHasBeenSet(false) +{ +} + +RoutePedestrianSummary::RoutePedestrianSummary(JsonView jsonValue) + : RoutePedestrianSummary() +{ + *this = jsonValue; +} + +RoutePedestrianSummary& RoutePedestrianSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Overview")) + { + m_overview = jsonValue.GetObject("Overview"); + + m_overviewHasBeenSet = true; + } + + if(jsonValue.ValueExists("TravelOnly")) + { + m_travelOnly = jsonValue.GetObject("TravelOnly"); + + m_travelOnlyHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePedestrianSummary::Jsonize() const +{ + JsonValue payload; + + if(m_overviewHasBeenSet) + { + payload.WithObject("Overview", m_overview.Jsonize()); + + } + + if(m_travelOnlyHasBeenSet) + { + payload.WithObject("TravelOnly", m_travelOnly.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianTravelOnlySummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianTravelOnlySummary.cpp new file mode 100644 index 00000000000..6a4d8d2dc8e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianTravelOnlySummary.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePedestrianTravelOnlySummary::RoutePedestrianTravelOnlySummary() : + m_duration(0), + m_durationHasBeenSet(false) +{ +} + +RoutePedestrianTravelOnlySummary::RoutePedestrianTravelOnlySummary(JsonView jsonValue) + : RoutePedestrianTravelOnlySummary() +{ + *this = jsonValue; +} + +RoutePedestrianTravelOnlySummary& RoutePedestrianTravelOnlySummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePedestrianTravelOnlySummary::Jsonize() const +{ + JsonValue payload; + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianTravelStep.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianTravelStep.cpp new file mode 100644 index 00000000000..cea5d4e0e73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianTravelStep.cpp @@ -0,0 +1,266 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RoutePedestrianTravelStep::RoutePedestrianTravelStep() : + m_continueStepDetailsHasBeenSet(false), + m_currentRoadHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false), + m_exitNumberHasBeenSet(false), + m_geometryOffset(0), + m_geometryOffsetHasBeenSet(false), + m_instructionHasBeenSet(false), + m_keepStepDetailsHasBeenSet(false), + m_nextRoadHasBeenSet(false), + m_roundaboutEnterStepDetailsHasBeenSet(false), + m_roundaboutExitStepDetailsHasBeenSet(false), + m_roundaboutPassStepDetailsHasBeenSet(false), + m_signpostHasBeenSet(false), + m_turnStepDetailsHasBeenSet(false), + m_type(RoutePedestrianTravelStepType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +RoutePedestrianTravelStep::RoutePedestrianTravelStep(JsonView jsonValue) + : RoutePedestrianTravelStep() +{ + *this = jsonValue; +} + +RoutePedestrianTravelStep& RoutePedestrianTravelStep::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ContinueStepDetails")) + { + m_continueStepDetails = jsonValue.GetObject("ContinueStepDetails"); + + m_continueStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("CurrentRoad")) + { + m_currentRoad = jsonValue.GetObject("CurrentRoad"); + + m_currentRoadHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExitNumber")) + { + Aws::Utils::Array exitNumberJsonList = jsonValue.GetArray("ExitNumber"); + for(unsigned exitNumberIndex = 0; exitNumberIndex < exitNumberJsonList.GetLength(); ++exitNumberIndex) + { + m_exitNumber.push_back(exitNumberJsonList[exitNumberIndex].AsObject()); + } + m_exitNumberHasBeenSet = true; + } + + if(jsonValue.ValueExists("GeometryOffset")) + { + m_geometryOffset = jsonValue.GetInteger("GeometryOffset"); + + m_geometryOffsetHasBeenSet = true; + } + + if(jsonValue.ValueExists("Instruction")) + { + m_instruction = jsonValue.GetString("Instruction"); + + m_instructionHasBeenSet = true; + } + + if(jsonValue.ValueExists("KeepStepDetails")) + { + m_keepStepDetails = jsonValue.GetObject("KeepStepDetails"); + + m_keepStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("NextRoad")) + { + m_nextRoad = jsonValue.GetObject("NextRoad"); + + m_nextRoadHasBeenSet = true; + } + + if(jsonValue.ValueExists("RoundaboutEnterStepDetails")) + { + m_roundaboutEnterStepDetails = jsonValue.GetObject("RoundaboutEnterStepDetails"); + + m_roundaboutEnterStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("RoundaboutExitStepDetails")) + { + m_roundaboutExitStepDetails = jsonValue.GetObject("RoundaboutExitStepDetails"); + + m_roundaboutExitStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("RoundaboutPassStepDetails")) + { + m_roundaboutPassStepDetails = jsonValue.GetObject("RoundaboutPassStepDetails"); + + m_roundaboutPassStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Signpost")) + { + m_signpost = jsonValue.GetObject("Signpost"); + + m_signpostHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnStepDetails")) + { + m_turnStepDetails = jsonValue.GetObject("TurnStepDetails"); + + m_turnStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = RoutePedestrianTravelStepTypeMapper::GetRoutePedestrianTravelStepTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RoutePedestrianTravelStep::Jsonize() const +{ + JsonValue payload; + + if(m_continueStepDetailsHasBeenSet) + { + payload.WithObject("ContinueStepDetails", m_continueStepDetails.Jsonize()); + + } + + if(m_currentRoadHasBeenSet) + { + payload.WithObject("CurrentRoad", m_currentRoad.Jsonize()); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_exitNumberHasBeenSet) + { + Aws::Utils::Array exitNumberJsonList(m_exitNumber.size()); + for(unsigned exitNumberIndex = 0; exitNumberIndex < exitNumberJsonList.GetLength(); ++exitNumberIndex) + { + exitNumberJsonList[exitNumberIndex].AsObject(m_exitNumber[exitNumberIndex].Jsonize()); + } + payload.WithArray("ExitNumber", std::move(exitNumberJsonList)); + + } + + if(m_geometryOffsetHasBeenSet) + { + payload.WithInteger("GeometryOffset", m_geometryOffset); + + } + + if(m_instructionHasBeenSet) + { + payload.WithString("Instruction", m_instruction); + + } + + if(m_keepStepDetailsHasBeenSet) + { + payload.WithObject("KeepStepDetails", m_keepStepDetails.Jsonize()); + + } + + if(m_nextRoadHasBeenSet) + { + payload.WithObject("NextRoad", m_nextRoad.Jsonize()); + + } + + if(m_roundaboutEnterStepDetailsHasBeenSet) + { + payload.WithObject("RoundaboutEnterStepDetails", m_roundaboutEnterStepDetails.Jsonize()); + + } + + if(m_roundaboutExitStepDetailsHasBeenSet) + { + payload.WithObject("RoundaboutExitStepDetails", m_roundaboutExitStepDetails.Jsonize()); + + } + + if(m_roundaboutPassStepDetailsHasBeenSet) + { + payload.WithObject("RoundaboutPassStepDetails", m_roundaboutPassStepDetails.Jsonize()); + + } + + if(m_signpostHasBeenSet) + { + payload.WithObject("Signpost", m_signpost.Jsonize()); + + } + + if(m_turnStepDetailsHasBeenSet) + { + payload.WithObject("TurnStepDetails", m_turnStepDetails.Jsonize()); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", RoutePedestrianTravelStepTypeMapper::GetNameForRoutePedestrianTravelStepType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianTravelStepType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianTravelStepType.cpp new file mode 100644 index 00000000000..1cf83ddeaf6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutePedestrianTravelStepType.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RoutePedestrianTravelStepTypeMapper + { + + static const int Arrive_HASH = HashingUtils::HashString("Arrive"); + static const int Continue_HASH = HashingUtils::HashString("Continue"); + static const int Depart_HASH = HashingUtils::HashString("Depart"); + static const int Keep_HASH = HashingUtils::HashString("Keep"); + static const int RoundaboutEnter_HASH = HashingUtils::HashString("RoundaboutEnter"); + static const int RoundaboutExit_HASH = HashingUtils::HashString("RoundaboutExit"); + static const int RoundaboutPass_HASH = HashingUtils::HashString("RoundaboutPass"); + static const int Turn_HASH = HashingUtils::HashString("Turn"); + static const int Exit_HASH = HashingUtils::HashString("Exit"); + static const int Ramp_HASH = HashingUtils::HashString("Ramp"); + static const int UTurn_HASH = HashingUtils::HashString("UTurn"); + + + RoutePedestrianTravelStepType GetRoutePedestrianTravelStepTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Arrive_HASH) + { + return RoutePedestrianTravelStepType::Arrive; + } + else if (hashCode == Continue_HASH) + { + return RoutePedestrianTravelStepType::Continue; + } + else if (hashCode == Depart_HASH) + { + return RoutePedestrianTravelStepType::Depart; + } + else if (hashCode == Keep_HASH) + { + return RoutePedestrianTravelStepType::Keep; + } + else if (hashCode == RoundaboutEnter_HASH) + { + return RoutePedestrianTravelStepType::RoundaboutEnter; + } + else if (hashCode == RoundaboutExit_HASH) + { + return RoutePedestrianTravelStepType::RoundaboutExit; + } + else if (hashCode == RoundaboutPass_HASH) + { + return RoutePedestrianTravelStepType::RoundaboutPass; + } + else if (hashCode == Turn_HASH) + { + return RoutePedestrianTravelStepType::Turn; + } + else if (hashCode == Exit_HASH) + { + return RoutePedestrianTravelStepType::Exit; + } + else if (hashCode == Ramp_HASH) + { + return RoutePedestrianTravelStepType::Ramp; + } + else if (hashCode == UTurn_HASH) + { + return RoutePedestrianTravelStepType::UTurn; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RoutePedestrianTravelStepType::NOT_SET; + } + + Aws::String GetNameForRoutePedestrianTravelStepType(RoutePedestrianTravelStepType enumValue) + { + switch(enumValue) + { + case RoutePedestrianTravelStepType::NOT_SET: + return {}; + case RoutePedestrianTravelStepType::Arrive: + return "Arrive"; + case RoutePedestrianTravelStepType::Continue: + return "Continue"; + case RoutePedestrianTravelStepType::Depart: + return "Depart"; + case RoutePedestrianTravelStepType::Keep: + return "Keep"; + case RoutePedestrianTravelStepType::RoundaboutEnter: + return "RoundaboutEnter"; + case RoutePedestrianTravelStepType::RoundaboutExit: + return "RoundaboutExit"; + case RoutePedestrianTravelStepType::RoundaboutPass: + return "RoundaboutPass"; + case RoutePedestrianTravelStepType::Turn: + return "Turn"; + case RoutePedestrianTravelStepType::Exit: + return "Exit"; + case RoutePedestrianTravelStepType::Ramp: + return "Ramp"; + case RoutePedestrianTravelStepType::UTurn: + return "UTurn"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RoutePedestrianTravelStepTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRampStepDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRampStepDetails.cpp new file mode 100644 index 00000000000..76ab5d65323 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRampStepDetails.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteRampStepDetails::RouteRampStepDetails() : + m_intersectionHasBeenSet(false), + m_steeringDirection(RouteSteeringDirection::NOT_SET), + m_steeringDirectionHasBeenSet(false), + m_turnAngle(0.0), + m_turnAngleHasBeenSet(false), + m_turnIntensity(RouteTurnIntensity::NOT_SET), + m_turnIntensityHasBeenSet(false) +{ +} + +RouteRampStepDetails::RouteRampStepDetails(JsonView jsonValue) + : RouteRampStepDetails() +{ + *this = jsonValue; +} + +RouteRampStepDetails& RouteRampStepDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsObject()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SteeringDirection")) + { + m_steeringDirection = RouteSteeringDirectionMapper::GetRouteSteeringDirectionForName(jsonValue.GetString("SteeringDirection")); + + m_steeringDirectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnAngle")) + { + m_turnAngle = jsonValue.GetDouble("TurnAngle"); + + m_turnAngleHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnIntensity")) + { + m_turnIntensity = RouteTurnIntensityMapper::GetRouteTurnIntensityForName(jsonValue.GetString("TurnIntensity")); + + m_turnIntensityHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteRampStepDetails::Jsonize() const +{ + JsonValue payload; + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsObject(m_intersection[intersectionIndex].Jsonize()); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_steeringDirectionHasBeenSet) + { + payload.WithString("SteeringDirection", RouteSteeringDirectionMapper::GetNameForRouteSteeringDirection(m_steeringDirection)); + } + + if(m_turnAngleHasBeenSet) + { + payload.WithDouble("TurnAngle", m_turnAngle); + + } + + if(m_turnIntensityHasBeenSet) + { + payload.WithString("TurnIntensity", RouteTurnIntensityMapper::GetNameForRouteTurnIntensity(m_turnIntensity)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteResponseNotice.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteResponseNotice.cpp new file mode 100644 index 00000000000..20477e3462c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteResponseNotice.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteResponseNotice::RouteResponseNotice() : + m_code(RouteResponseNoticeCode::NOT_SET), + m_codeHasBeenSet(false), + m_impact(RouteNoticeImpact::NOT_SET), + m_impactHasBeenSet(false) +{ +} + +RouteResponseNotice::RouteResponseNotice(JsonView jsonValue) + : RouteResponseNotice() +{ + *this = jsonValue; +} + +RouteResponseNotice& RouteResponseNotice::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code")) + { + m_code = RouteResponseNoticeCodeMapper::GetRouteResponseNoticeCodeForName(jsonValue.GetString("Code")); + + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Impact")) + { + m_impact = RouteNoticeImpactMapper::GetRouteNoticeImpactForName(jsonValue.GetString("Impact")); + + m_impactHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteResponseNotice::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + payload.WithString("Code", RouteResponseNoticeCodeMapper::GetNameForRouteResponseNoticeCode(m_code)); + } + + if(m_impactHasBeenSet) + { + payload.WithString("Impact", RouteNoticeImpactMapper::GetNameForRouteNoticeImpact(m_impact)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteResponseNoticeCode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteResponseNoticeCode.cpp new file mode 100644 index 00000000000..b1e6e7ec227 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteResponseNoticeCode.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteResponseNoticeCodeMapper + { + + static const int MainLanguageNotFound_HASH = HashingUtils::HashString("MainLanguageNotFound"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int TravelTimeExceedsDriverWorkHours_HASH = HashingUtils::HashString("TravelTimeExceedsDriverWorkHours"); + + + RouteResponseNoticeCode GetRouteResponseNoticeCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == MainLanguageNotFound_HASH) + { + return RouteResponseNoticeCode::MainLanguageNotFound; + } + else if (hashCode == Other_HASH) + { + return RouteResponseNoticeCode::Other; + } + else if (hashCode == TravelTimeExceedsDriverWorkHours_HASH) + { + return RouteResponseNoticeCode::TravelTimeExceedsDriverWorkHours; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteResponseNoticeCode::NOT_SET; + } + + Aws::String GetNameForRouteResponseNoticeCode(RouteResponseNoticeCode enumValue) + { + switch(enumValue) + { + case RouteResponseNoticeCode::NOT_SET: + return {}; + case RouteResponseNoticeCode::MainLanguageNotFound: + return "MainLanguageNotFound"; + case RouteResponseNoticeCode::Other: + return "Other"; + case RouteResponseNoticeCode::TravelTimeExceedsDriverWorkHours: + return "TravelTimeExceedsDriverWorkHours"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteResponseNoticeCodeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoad.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoad.cpp new file mode 100644 index 00000000000..9a37c878f1f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoad.cpp @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteRoad::RouteRoad() : + m_roadNameHasBeenSet(false), + m_routeNumberHasBeenSet(false), + m_towardsHasBeenSet(false), + m_type(RouteRoadType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +RouteRoad::RouteRoad(JsonView jsonValue) + : RouteRoad() +{ + *this = jsonValue; +} + +RouteRoad& RouteRoad::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RoadName")) + { + Aws::Utils::Array roadNameJsonList = jsonValue.GetArray("RoadName"); + for(unsigned roadNameIndex = 0; roadNameIndex < roadNameJsonList.GetLength(); ++roadNameIndex) + { + m_roadName.push_back(roadNameJsonList[roadNameIndex].AsObject()); + } + m_roadNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("RouteNumber")) + { + Aws::Utils::Array routeNumberJsonList = jsonValue.GetArray("RouteNumber"); + for(unsigned routeNumberIndex = 0; routeNumberIndex < routeNumberJsonList.GetLength(); ++routeNumberIndex) + { + m_routeNumber.push_back(routeNumberJsonList[routeNumberIndex].AsObject()); + } + m_routeNumberHasBeenSet = true; + } + + if(jsonValue.ValueExists("Towards")) + { + Aws::Utils::Array towardsJsonList = jsonValue.GetArray("Towards"); + for(unsigned towardsIndex = 0; towardsIndex < towardsJsonList.GetLength(); ++towardsIndex) + { + m_towards.push_back(towardsJsonList[towardsIndex].AsObject()); + } + m_towardsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = RouteRoadTypeMapper::GetRouteRoadTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteRoad::Jsonize() const +{ + JsonValue payload; + + if(m_roadNameHasBeenSet) + { + Aws::Utils::Array roadNameJsonList(m_roadName.size()); + for(unsigned roadNameIndex = 0; roadNameIndex < roadNameJsonList.GetLength(); ++roadNameIndex) + { + roadNameJsonList[roadNameIndex].AsObject(m_roadName[roadNameIndex].Jsonize()); + } + payload.WithArray("RoadName", std::move(roadNameJsonList)); + + } + + if(m_routeNumberHasBeenSet) + { + Aws::Utils::Array routeNumberJsonList(m_routeNumber.size()); + for(unsigned routeNumberIndex = 0; routeNumberIndex < routeNumberJsonList.GetLength(); ++routeNumberIndex) + { + routeNumberJsonList[routeNumberIndex].AsObject(m_routeNumber[routeNumberIndex].Jsonize()); + } + payload.WithArray("RouteNumber", std::move(routeNumberJsonList)); + + } + + if(m_towardsHasBeenSet) + { + Aws::Utils::Array towardsJsonList(m_towards.size()); + for(unsigned towardsIndex = 0; towardsIndex < towardsJsonList.GetLength(); ++towardsIndex) + { + towardsJsonList[towardsIndex].AsObject(m_towards[towardsIndex].Jsonize()); + } + payload.WithArray("Towards", std::move(towardsJsonList)); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", RouteRoadTypeMapper::GetNameForRouteRoadType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoadType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoadType.cpp new file mode 100644 index 00000000000..330bf78dc2a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoadType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteRoadTypeMapper + { + + static const int Highway_HASH = HashingUtils::HashString("Highway"); + static const int Rural_HASH = HashingUtils::HashString("Rural"); + static const int Urban_HASH = HashingUtils::HashString("Urban"); + + + RouteRoadType GetRouteRoadTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Highway_HASH) + { + return RouteRoadType::Highway; + } + else if (hashCode == Rural_HASH) + { + return RouteRoadType::Rural; + } + else if (hashCode == Urban_HASH) + { + return RouteRoadType::Urban; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteRoadType::NOT_SET; + } + + Aws::String GetNameForRouteRoadType(RouteRoadType enumValue) + { + switch(enumValue) + { + case RouteRoadType::NOT_SET: + return {}; + case RouteRoadType::Highway: + return "Highway"; + case RouteRoadType::Rural: + return "Rural"; + case RouteRoadType::Urban: + return "Urban"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteRoadTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoundaboutEnterStepDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoundaboutEnterStepDetails.cpp new file mode 100644 index 00000000000..2ac3f752a9e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoundaboutEnterStepDetails.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteRoundaboutEnterStepDetails::RouteRoundaboutEnterStepDetails() : + m_intersectionHasBeenSet(false), + m_steeringDirection(RouteSteeringDirection::NOT_SET), + m_steeringDirectionHasBeenSet(false), + m_turnAngle(0.0), + m_turnAngleHasBeenSet(false), + m_turnIntensity(RouteTurnIntensity::NOT_SET), + m_turnIntensityHasBeenSet(false) +{ +} + +RouteRoundaboutEnterStepDetails::RouteRoundaboutEnterStepDetails(JsonView jsonValue) + : RouteRoundaboutEnterStepDetails() +{ + *this = jsonValue; +} + +RouteRoundaboutEnterStepDetails& RouteRoundaboutEnterStepDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsObject()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SteeringDirection")) + { + m_steeringDirection = RouteSteeringDirectionMapper::GetRouteSteeringDirectionForName(jsonValue.GetString("SteeringDirection")); + + m_steeringDirectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnAngle")) + { + m_turnAngle = jsonValue.GetDouble("TurnAngle"); + + m_turnAngleHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnIntensity")) + { + m_turnIntensity = RouteTurnIntensityMapper::GetRouteTurnIntensityForName(jsonValue.GetString("TurnIntensity")); + + m_turnIntensityHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteRoundaboutEnterStepDetails::Jsonize() const +{ + JsonValue payload; + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsObject(m_intersection[intersectionIndex].Jsonize()); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_steeringDirectionHasBeenSet) + { + payload.WithString("SteeringDirection", RouteSteeringDirectionMapper::GetNameForRouteSteeringDirection(m_steeringDirection)); + } + + if(m_turnAngleHasBeenSet) + { + payload.WithDouble("TurnAngle", m_turnAngle); + + } + + if(m_turnIntensityHasBeenSet) + { + payload.WithString("TurnIntensity", RouteTurnIntensityMapper::GetNameForRouteTurnIntensity(m_turnIntensity)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoundaboutExitStepDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoundaboutExitStepDetails.cpp new file mode 100644 index 00000000000..70c70d53b20 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoundaboutExitStepDetails.cpp @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteRoundaboutExitStepDetails::RouteRoundaboutExitStepDetails() : + m_intersectionHasBeenSet(false), + m_relativeExit(0), + m_relativeExitHasBeenSet(false), + m_roundaboutAngle(0.0), + m_roundaboutAngleHasBeenSet(false), + m_steeringDirection(RouteSteeringDirection::NOT_SET), + m_steeringDirectionHasBeenSet(false) +{ +} + +RouteRoundaboutExitStepDetails::RouteRoundaboutExitStepDetails(JsonView jsonValue) + : RouteRoundaboutExitStepDetails() +{ + *this = jsonValue; +} + +RouteRoundaboutExitStepDetails& RouteRoundaboutExitStepDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsObject()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("RelativeExit")) + { + m_relativeExit = jsonValue.GetInteger("RelativeExit"); + + m_relativeExitHasBeenSet = true; + } + + if(jsonValue.ValueExists("RoundaboutAngle")) + { + m_roundaboutAngle = jsonValue.GetDouble("RoundaboutAngle"); + + m_roundaboutAngleHasBeenSet = true; + } + + if(jsonValue.ValueExists("SteeringDirection")) + { + m_steeringDirection = RouteSteeringDirectionMapper::GetRouteSteeringDirectionForName(jsonValue.GetString("SteeringDirection")); + + m_steeringDirectionHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteRoundaboutExitStepDetails::Jsonize() const +{ + JsonValue payload; + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsObject(m_intersection[intersectionIndex].Jsonize()); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_relativeExitHasBeenSet) + { + payload.WithInteger("RelativeExit", m_relativeExit); + + } + + if(m_roundaboutAngleHasBeenSet) + { + payload.WithDouble("RoundaboutAngle", m_roundaboutAngle); + + } + + if(m_steeringDirectionHasBeenSet) + { + payload.WithString("SteeringDirection", RouteSteeringDirectionMapper::GetNameForRouteSteeringDirection(m_steeringDirection)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoundaboutPassStepDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoundaboutPassStepDetails.cpp new file mode 100644 index 00000000000..c986d33dc13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteRoundaboutPassStepDetails.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteRoundaboutPassStepDetails::RouteRoundaboutPassStepDetails() : + m_intersectionHasBeenSet(false), + m_steeringDirection(RouteSteeringDirection::NOT_SET), + m_steeringDirectionHasBeenSet(false), + m_turnAngle(0.0), + m_turnAngleHasBeenSet(false), + m_turnIntensity(RouteTurnIntensity::NOT_SET), + m_turnIntensityHasBeenSet(false) +{ +} + +RouteRoundaboutPassStepDetails::RouteRoundaboutPassStepDetails(JsonView jsonValue) + : RouteRoundaboutPassStepDetails() +{ + *this = jsonValue; +} + +RouteRoundaboutPassStepDetails& RouteRoundaboutPassStepDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsObject()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SteeringDirection")) + { + m_steeringDirection = RouteSteeringDirectionMapper::GetRouteSteeringDirectionForName(jsonValue.GetString("SteeringDirection")); + + m_steeringDirectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnAngle")) + { + m_turnAngle = jsonValue.GetDouble("TurnAngle"); + + m_turnAngleHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnIntensity")) + { + m_turnIntensity = RouteTurnIntensityMapper::GetRouteTurnIntensityForName(jsonValue.GetString("TurnIntensity")); + + m_turnIntensityHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteRoundaboutPassStepDetails::Jsonize() const +{ + JsonValue payload; + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsObject(m_intersection[intersectionIndex].Jsonize()); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_steeringDirectionHasBeenSet) + { + payload.WithString("SteeringDirection", RouteSteeringDirectionMapper::GetNameForRouteSteeringDirection(m_steeringDirection)); + } + + if(m_turnAngleHasBeenSet) + { + payload.WithDouble("TurnAngle", m_turnAngle); + + } + + if(m_turnIntensityHasBeenSet) + { + payload.WithString("TurnIntensity", RouteTurnIntensityMapper::GetNameForRouteTurnIntensity(m_turnIntensity)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteScooterOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteScooterOptions.cpp new file mode 100644 index 00000000000..b9517688482 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteScooterOptions.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteScooterOptions::RouteScooterOptions() : + m_engineType(RouteEngineType::NOT_SET), + m_engineTypeHasBeenSet(false), + m_licensePlateHasBeenSet(false), + m_maxSpeed(0.0), + m_maxSpeedHasBeenSet(false), + m_occupancy(0), + m_occupancyHasBeenSet(false) +{ +} + +RouteScooterOptions::RouteScooterOptions(JsonView jsonValue) + : RouteScooterOptions() +{ + *this = jsonValue; +} + +RouteScooterOptions& RouteScooterOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EngineType")) + { + m_engineType = RouteEngineTypeMapper::GetRouteEngineTypeForName(jsonValue.GetString("EngineType")); + + m_engineTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("LicensePlate")) + { + m_licensePlate = jsonValue.GetObject("LicensePlate"); + + m_licensePlateHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxSpeed")) + { + m_maxSpeed = jsonValue.GetDouble("MaxSpeed"); + + m_maxSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Occupancy")) + { + m_occupancy = jsonValue.GetInteger("Occupancy"); + + m_occupancyHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteScooterOptions::Jsonize() const +{ + JsonValue payload; + + if(m_engineTypeHasBeenSet) + { + payload.WithString("EngineType", RouteEngineTypeMapper::GetNameForRouteEngineType(m_engineType)); + } + + if(m_licensePlateHasBeenSet) + { + payload.WithObject("LicensePlate", m_licensePlate.Jsonize()); + + } + + if(m_maxSpeedHasBeenSet) + { + payload.WithDouble("MaxSpeed", m_maxSpeed); + + } + + if(m_occupancyHasBeenSet) + { + payload.WithInteger("Occupancy", m_occupancy); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSideOfStreet.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSideOfStreet.cpp new file mode 100644 index 00000000000..8872a157a44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSideOfStreet.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteSideOfStreetMapper + { + + static const int Left_HASH = HashingUtils::HashString("Left"); + static const int Right_HASH = HashingUtils::HashString("Right"); + + + RouteSideOfStreet GetRouteSideOfStreetForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Left_HASH) + { + return RouteSideOfStreet::Left; + } + else if (hashCode == Right_HASH) + { + return RouteSideOfStreet::Right; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteSideOfStreet::NOT_SET; + } + + Aws::String GetNameForRouteSideOfStreet(RouteSideOfStreet enumValue) + { + switch(enumValue) + { + case RouteSideOfStreet::NOT_SET: + return {}; + case RouteSideOfStreet::Left: + return "Left"; + case RouteSideOfStreet::Right: + return "Right"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteSideOfStreetMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSideOfStreetOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSideOfStreetOptions.cpp new file mode 100644 index 00000000000..f82bc0af17e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSideOfStreetOptions.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteSideOfStreetOptions::RouteSideOfStreetOptions() : + m_positionHasBeenSet(false), + m_useWith(SideOfStreetMatchingStrategy::NOT_SET), + m_useWithHasBeenSet(false) +{ +} + +RouteSideOfStreetOptions::RouteSideOfStreetOptions(JsonView jsonValue) + : RouteSideOfStreetOptions() +{ + *this = jsonValue; +} + +RouteSideOfStreetOptions& RouteSideOfStreetOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("UseWith")) + { + m_useWith = SideOfStreetMatchingStrategyMapper::GetSideOfStreetMatchingStrategyForName(jsonValue.GetString("UseWith")); + + m_useWithHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteSideOfStreetOptions::Jsonize() const +{ + JsonValue payload; + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_useWithHasBeenSet) + { + payload.WithString("UseWith", SideOfStreetMatchingStrategyMapper::GetNameForSideOfStreetMatchingStrategy(m_useWith)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSignpost.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSignpost.cpp new file mode 100644 index 00000000000..e090832e8fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSignpost.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteSignpost::RouteSignpost() : + m_labelsHasBeenSet(false) +{ +} + +RouteSignpost::RouteSignpost(JsonView jsonValue) + : RouteSignpost() +{ + *this = jsonValue; +} + +RouteSignpost& RouteSignpost::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Labels")) + { + Aws::Utils::Array labelsJsonList = jsonValue.GetArray("Labels"); + for(unsigned labelsIndex = 0; labelsIndex < labelsJsonList.GetLength(); ++labelsIndex) + { + m_labels.push_back(labelsJsonList[labelsIndex].AsObject()); + } + m_labelsHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteSignpost::Jsonize() const +{ + JsonValue payload; + + if(m_labelsHasBeenSet) + { + Aws::Utils::Array labelsJsonList(m_labels.size()); + for(unsigned labelsIndex = 0; labelsIndex < labelsJsonList.GetLength(); ++labelsIndex) + { + labelsJsonList[labelsIndex].AsObject(m_labels[labelsIndex].Jsonize()); + } + payload.WithArray("Labels", std::move(labelsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSignpostLabel.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSignpostLabel.cpp new file mode 100644 index 00000000000..ee45896fb67 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSignpostLabel.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteSignpostLabel::RouteSignpostLabel() : + m_routeNumberHasBeenSet(false), + m_textHasBeenSet(false) +{ +} + +RouteSignpostLabel::RouteSignpostLabel(JsonView jsonValue) + : RouteSignpostLabel() +{ + *this = jsonValue; +} + +RouteSignpostLabel& RouteSignpostLabel::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RouteNumber")) + { + m_routeNumber = jsonValue.GetObject("RouteNumber"); + + m_routeNumberHasBeenSet = true; + } + + if(jsonValue.ValueExists("Text")) + { + m_text = jsonValue.GetObject("Text"); + + m_textHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteSignpostLabel::Jsonize() const +{ + JsonValue payload; + + if(m_routeNumberHasBeenSet) + { + payload.WithObject("RouteNumber", m_routeNumber.Jsonize()); + + } + + if(m_textHasBeenSet) + { + payload.WithObject("Text", m_text.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanAdditionalFeature.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanAdditionalFeature.cpp new file mode 100644 index 00000000000..f8d4997c062 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanAdditionalFeature.cpp @@ -0,0 +1,226 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteSpanAdditionalFeatureMapper + { + + static const int BestCaseDuration_HASH = HashingUtils::HashString("BestCaseDuration"); + static const int CarAccess_HASH = HashingUtils::HashString("CarAccess"); + static const int Country_HASH = HashingUtils::HashString("Country"); + static const int Distance_HASH = HashingUtils::HashString("Distance"); + static const int Duration_HASH = HashingUtils::HashString("Duration"); + static const int DynamicSpeed_HASH = HashingUtils::HashString("DynamicSpeed"); + static const int FunctionalClassification_HASH = HashingUtils::HashString("FunctionalClassification"); + static const int Gates_HASH = HashingUtils::HashString("Gates"); + static const int Incidents_HASH = HashingUtils::HashString("Incidents"); + static const int Names_HASH = HashingUtils::HashString("Names"); + static const int Notices_HASH = HashingUtils::HashString("Notices"); + static const int PedestrianAccess_HASH = HashingUtils::HashString("PedestrianAccess"); + static const int RailwayCrossings_HASH = HashingUtils::HashString("RailwayCrossings"); + static const int Region_HASH = HashingUtils::HashString("Region"); + static const int RoadAttributes_HASH = HashingUtils::HashString("RoadAttributes"); + static const int RouteNumbers_HASH = HashingUtils::HashString("RouteNumbers"); + static const int ScooterAccess_HASH = HashingUtils::HashString("ScooterAccess"); + static const int SpeedLimit_HASH = HashingUtils::HashString("SpeedLimit"); + static const int TollSystems_HASH = HashingUtils::HashString("TollSystems"); + static const int TruckAccess_HASH = HashingUtils::HashString("TruckAccess"); + static const int TruckRoadTypes_HASH = HashingUtils::HashString("TruckRoadTypes"); + static const int TypicalDuration_HASH = HashingUtils::HashString("TypicalDuration"); + static const int Zones_HASH = HashingUtils::HashString("Zones"); + static const int Consumption_HASH = HashingUtils::HashString("Consumption"); + + + RouteSpanAdditionalFeature GetRouteSpanAdditionalFeatureForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BestCaseDuration_HASH) + { + return RouteSpanAdditionalFeature::BestCaseDuration; + } + else if (hashCode == CarAccess_HASH) + { + return RouteSpanAdditionalFeature::CarAccess; + } + else if (hashCode == Country_HASH) + { + return RouteSpanAdditionalFeature::Country; + } + else if (hashCode == Distance_HASH) + { + return RouteSpanAdditionalFeature::Distance; + } + else if (hashCode == Duration_HASH) + { + return RouteSpanAdditionalFeature::Duration; + } + else if (hashCode == DynamicSpeed_HASH) + { + return RouteSpanAdditionalFeature::DynamicSpeed; + } + else if (hashCode == FunctionalClassification_HASH) + { + return RouteSpanAdditionalFeature::FunctionalClassification; + } + else if (hashCode == Gates_HASH) + { + return RouteSpanAdditionalFeature::Gates; + } + else if (hashCode == Incidents_HASH) + { + return RouteSpanAdditionalFeature::Incidents; + } + else if (hashCode == Names_HASH) + { + return RouteSpanAdditionalFeature::Names; + } + else if (hashCode == Notices_HASH) + { + return RouteSpanAdditionalFeature::Notices; + } + else if (hashCode == PedestrianAccess_HASH) + { + return RouteSpanAdditionalFeature::PedestrianAccess; + } + else if (hashCode == RailwayCrossings_HASH) + { + return RouteSpanAdditionalFeature::RailwayCrossings; + } + else if (hashCode == Region_HASH) + { + return RouteSpanAdditionalFeature::Region; + } + else if (hashCode == RoadAttributes_HASH) + { + return RouteSpanAdditionalFeature::RoadAttributes; + } + else if (hashCode == RouteNumbers_HASH) + { + return RouteSpanAdditionalFeature::RouteNumbers; + } + else if (hashCode == ScooterAccess_HASH) + { + return RouteSpanAdditionalFeature::ScooterAccess; + } + else if (hashCode == SpeedLimit_HASH) + { + return RouteSpanAdditionalFeature::SpeedLimit; + } + else if (hashCode == TollSystems_HASH) + { + return RouteSpanAdditionalFeature::TollSystems; + } + else if (hashCode == TruckAccess_HASH) + { + return RouteSpanAdditionalFeature::TruckAccess; + } + else if (hashCode == TruckRoadTypes_HASH) + { + return RouteSpanAdditionalFeature::TruckRoadTypes; + } + else if (hashCode == TypicalDuration_HASH) + { + return RouteSpanAdditionalFeature::TypicalDuration; + } + else if (hashCode == Zones_HASH) + { + return RouteSpanAdditionalFeature::Zones; + } + else if (hashCode == Consumption_HASH) + { + return RouteSpanAdditionalFeature::Consumption; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteSpanAdditionalFeature::NOT_SET; + } + + Aws::String GetNameForRouteSpanAdditionalFeature(RouteSpanAdditionalFeature enumValue) + { + switch(enumValue) + { + case RouteSpanAdditionalFeature::NOT_SET: + return {}; + case RouteSpanAdditionalFeature::BestCaseDuration: + return "BestCaseDuration"; + case RouteSpanAdditionalFeature::CarAccess: + return "CarAccess"; + case RouteSpanAdditionalFeature::Country: + return "Country"; + case RouteSpanAdditionalFeature::Distance: + return "Distance"; + case RouteSpanAdditionalFeature::Duration: + return "Duration"; + case RouteSpanAdditionalFeature::DynamicSpeed: + return "DynamicSpeed"; + case RouteSpanAdditionalFeature::FunctionalClassification: + return "FunctionalClassification"; + case RouteSpanAdditionalFeature::Gates: + return "Gates"; + case RouteSpanAdditionalFeature::Incidents: + return "Incidents"; + case RouteSpanAdditionalFeature::Names: + return "Names"; + case RouteSpanAdditionalFeature::Notices: + return "Notices"; + case RouteSpanAdditionalFeature::PedestrianAccess: + return "PedestrianAccess"; + case RouteSpanAdditionalFeature::RailwayCrossings: + return "RailwayCrossings"; + case RouteSpanAdditionalFeature::Region: + return "Region"; + case RouteSpanAdditionalFeature::RoadAttributes: + return "RoadAttributes"; + case RouteSpanAdditionalFeature::RouteNumbers: + return "RouteNumbers"; + case RouteSpanAdditionalFeature::ScooterAccess: + return "ScooterAccess"; + case RouteSpanAdditionalFeature::SpeedLimit: + return "SpeedLimit"; + case RouteSpanAdditionalFeature::TollSystems: + return "TollSystems"; + case RouteSpanAdditionalFeature::TruckAccess: + return "TruckAccess"; + case RouteSpanAdditionalFeature::TruckRoadTypes: + return "TruckRoadTypes"; + case RouteSpanAdditionalFeature::TypicalDuration: + return "TypicalDuration"; + case RouteSpanAdditionalFeature::Zones: + return "Zones"; + case RouteSpanAdditionalFeature::Consumption: + return "Consumption"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteSpanAdditionalFeatureMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanCarAccessAttribute.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanCarAccessAttribute.cpp new file mode 100644 index 00000000000..d5f10705823 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanCarAccessAttribute.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteSpanCarAccessAttributeMapper + { + + static const int Allowed_HASH = HashingUtils::HashString("Allowed"); + static const int NoThroughTraffic_HASH = HashingUtils::HashString("NoThroughTraffic"); + static const int TollRoad_HASH = HashingUtils::HashString("TollRoad"); + + + RouteSpanCarAccessAttribute GetRouteSpanCarAccessAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Allowed_HASH) + { + return RouteSpanCarAccessAttribute::Allowed; + } + else if (hashCode == NoThroughTraffic_HASH) + { + return RouteSpanCarAccessAttribute::NoThroughTraffic; + } + else if (hashCode == TollRoad_HASH) + { + return RouteSpanCarAccessAttribute::TollRoad; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteSpanCarAccessAttribute::NOT_SET; + } + + Aws::String GetNameForRouteSpanCarAccessAttribute(RouteSpanCarAccessAttribute enumValue) + { + switch(enumValue) + { + case RouteSpanCarAccessAttribute::NOT_SET: + return {}; + case RouteSpanCarAccessAttribute::Allowed: + return "Allowed"; + case RouteSpanCarAccessAttribute::NoThroughTraffic: + return "NoThroughTraffic"; + case RouteSpanCarAccessAttribute::TollRoad: + return "TollRoad"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteSpanCarAccessAttributeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanDynamicSpeedDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanDynamicSpeedDetails.cpp new file mode 100644 index 00000000000..79610c1ab36 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanDynamicSpeedDetails.cpp @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteSpanDynamicSpeedDetails::RouteSpanDynamicSpeedDetails() : + m_bestCaseSpeed(0.0), + m_bestCaseSpeedHasBeenSet(false), + m_turnDuration(0), + m_turnDurationHasBeenSet(false), + m_typicalSpeed(0.0), + m_typicalSpeedHasBeenSet(false) +{ +} + +RouteSpanDynamicSpeedDetails::RouteSpanDynamicSpeedDetails(JsonView jsonValue) + : RouteSpanDynamicSpeedDetails() +{ + *this = jsonValue; +} + +RouteSpanDynamicSpeedDetails& RouteSpanDynamicSpeedDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BestCaseSpeed")) + { + m_bestCaseSpeed = jsonValue.GetDouble("BestCaseSpeed"); + + m_bestCaseSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnDuration")) + { + m_turnDuration = jsonValue.GetInt64("TurnDuration"); + + m_turnDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("TypicalSpeed")) + { + m_typicalSpeed = jsonValue.GetDouble("TypicalSpeed"); + + m_typicalSpeedHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteSpanDynamicSpeedDetails::Jsonize() const +{ + JsonValue payload; + + if(m_bestCaseSpeedHasBeenSet) + { + payload.WithDouble("BestCaseSpeed", m_bestCaseSpeed); + + } + + if(m_turnDurationHasBeenSet) + { + payload.WithInt64("TurnDuration", m_turnDuration); + + } + + if(m_typicalSpeedHasBeenSet) + { + payload.WithDouble("TypicalSpeed", m_typicalSpeed); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanGateAttribute.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanGateAttribute.cpp new file mode 100644 index 00000000000..0b099ea10d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanGateAttribute.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteSpanGateAttributeMapper + { + + static const int Emergency_HASH = HashingUtils::HashString("Emergency"); + static const int KeyAccess_HASH = HashingUtils::HashString("KeyAccess"); + static const int PermissionRequired_HASH = HashingUtils::HashString("PermissionRequired"); + + + RouteSpanGateAttribute GetRouteSpanGateAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Emergency_HASH) + { + return RouteSpanGateAttribute::Emergency; + } + else if (hashCode == KeyAccess_HASH) + { + return RouteSpanGateAttribute::KeyAccess; + } + else if (hashCode == PermissionRequired_HASH) + { + return RouteSpanGateAttribute::PermissionRequired; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteSpanGateAttribute::NOT_SET; + } + + Aws::String GetNameForRouteSpanGateAttribute(RouteSpanGateAttribute enumValue) + { + switch(enumValue) + { + case RouteSpanGateAttribute::NOT_SET: + return {}; + case RouteSpanGateAttribute::Emergency: + return "Emergency"; + case RouteSpanGateAttribute::KeyAccess: + return "KeyAccess"; + case RouteSpanGateAttribute::PermissionRequired: + return "PermissionRequired"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteSpanGateAttributeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanPedestrianAccessAttribute.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanPedestrianAccessAttribute.cpp new file mode 100644 index 00000000000..467b608703b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanPedestrianAccessAttribute.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteSpanPedestrianAccessAttributeMapper + { + + static const int Allowed_HASH = HashingUtils::HashString("Allowed"); + static const int Indoors_HASH = HashingUtils::HashString("Indoors"); + static const int NoThroughTraffic_HASH = HashingUtils::HashString("NoThroughTraffic"); + static const int Park_HASH = HashingUtils::HashString("Park"); + static const int Stairs_HASH = HashingUtils::HashString("Stairs"); + static const int TollRoad_HASH = HashingUtils::HashString("TollRoad"); + + + RouteSpanPedestrianAccessAttribute GetRouteSpanPedestrianAccessAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Allowed_HASH) + { + return RouteSpanPedestrianAccessAttribute::Allowed; + } + else if (hashCode == Indoors_HASH) + { + return RouteSpanPedestrianAccessAttribute::Indoors; + } + else if (hashCode == NoThroughTraffic_HASH) + { + return RouteSpanPedestrianAccessAttribute::NoThroughTraffic; + } + else if (hashCode == Park_HASH) + { + return RouteSpanPedestrianAccessAttribute::Park; + } + else if (hashCode == Stairs_HASH) + { + return RouteSpanPedestrianAccessAttribute::Stairs; + } + else if (hashCode == TollRoad_HASH) + { + return RouteSpanPedestrianAccessAttribute::TollRoad; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteSpanPedestrianAccessAttribute::NOT_SET; + } + + Aws::String GetNameForRouteSpanPedestrianAccessAttribute(RouteSpanPedestrianAccessAttribute enumValue) + { + switch(enumValue) + { + case RouteSpanPedestrianAccessAttribute::NOT_SET: + return {}; + case RouteSpanPedestrianAccessAttribute::Allowed: + return "Allowed"; + case RouteSpanPedestrianAccessAttribute::Indoors: + return "Indoors"; + case RouteSpanPedestrianAccessAttribute::NoThroughTraffic: + return "NoThroughTraffic"; + case RouteSpanPedestrianAccessAttribute::Park: + return "Park"; + case RouteSpanPedestrianAccessAttribute::Stairs: + return "Stairs"; + case RouteSpanPedestrianAccessAttribute::TollRoad: + return "TollRoad"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteSpanPedestrianAccessAttributeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanRailwayCrossingAttribute.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanRailwayCrossingAttribute.cpp new file mode 100644 index 00000000000..7e81245b00f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanRailwayCrossingAttribute.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteSpanRailwayCrossingAttributeMapper + { + + static const int Protected_HASH = HashingUtils::HashString("Protected"); + static const int Unprotected_HASH = HashingUtils::HashString("Unprotected"); + + + RouteSpanRailwayCrossingAttribute GetRouteSpanRailwayCrossingAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Protected_HASH) + { + return RouteSpanRailwayCrossingAttribute::Protected; + } + else if (hashCode == Unprotected_HASH) + { + return RouteSpanRailwayCrossingAttribute::Unprotected; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteSpanRailwayCrossingAttribute::NOT_SET; + } + + Aws::String GetNameForRouteSpanRailwayCrossingAttribute(RouteSpanRailwayCrossingAttribute enumValue) + { + switch(enumValue) + { + case RouteSpanRailwayCrossingAttribute::NOT_SET: + return {}; + case RouteSpanRailwayCrossingAttribute::Protected: + return "Protected"; + case RouteSpanRailwayCrossingAttribute::Unprotected: + return "Unprotected"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteSpanRailwayCrossingAttributeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanRoadAttribute.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanRoadAttribute.cpp new file mode 100644 index 00000000000..7197f1aacfe --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanRoadAttribute.cpp @@ -0,0 +1,142 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteSpanRoadAttributeMapper + { + + static const int Bridge_HASH = HashingUtils::HashString("Bridge"); + static const int BuiltUpArea_HASH = HashingUtils::HashString("BuiltUpArea"); + static const int ControlledAccessHighway_HASH = HashingUtils::HashString("ControlledAccessHighway"); + static const int DirtRoad_HASH = HashingUtils::HashString("DirtRoad"); + static const int DividedRoad_HASH = HashingUtils::HashString("DividedRoad"); + static const int Motorway_HASH = HashingUtils::HashString("Motorway"); + static const int PrivateRoad_HASH = HashingUtils::HashString("PrivateRoad"); + static const int Ramp_HASH = HashingUtils::HashString("Ramp"); + static const int RightHandTraffic_HASH = HashingUtils::HashString("RightHandTraffic"); + static const int Roundabout_HASH = HashingUtils::HashString("Roundabout"); + static const int Tunnel_HASH = HashingUtils::HashString("Tunnel"); + static const int UnderConstruction_HASH = HashingUtils::HashString("UnderConstruction"); + + + RouteSpanRoadAttribute GetRouteSpanRoadAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Bridge_HASH) + { + return RouteSpanRoadAttribute::Bridge; + } + else if (hashCode == BuiltUpArea_HASH) + { + return RouteSpanRoadAttribute::BuiltUpArea; + } + else if (hashCode == ControlledAccessHighway_HASH) + { + return RouteSpanRoadAttribute::ControlledAccessHighway; + } + else if (hashCode == DirtRoad_HASH) + { + return RouteSpanRoadAttribute::DirtRoad; + } + else if (hashCode == DividedRoad_HASH) + { + return RouteSpanRoadAttribute::DividedRoad; + } + else if (hashCode == Motorway_HASH) + { + return RouteSpanRoadAttribute::Motorway; + } + else if (hashCode == PrivateRoad_HASH) + { + return RouteSpanRoadAttribute::PrivateRoad; + } + else if (hashCode == Ramp_HASH) + { + return RouteSpanRoadAttribute::Ramp; + } + else if (hashCode == RightHandTraffic_HASH) + { + return RouteSpanRoadAttribute::RightHandTraffic; + } + else if (hashCode == Roundabout_HASH) + { + return RouteSpanRoadAttribute::Roundabout; + } + else if (hashCode == Tunnel_HASH) + { + return RouteSpanRoadAttribute::Tunnel; + } + else if (hashCode == UnderConstruction_HASH) + { + return RouteSpanRoadAttribute::UnderConstruction; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteSpanRoadAttribute::NOT_SET; + } + + Aws::String GetNameForRouteSpanRoadAttribute(RouteSpanRoadAttribute enumValue) + { + switch(enumValue) + { + case RouteSpanRoadAttribute::NOT_SET: + return {}; + case RouteSpanRoadAttribute::Bridge: + return "Bridge"; + case RouteSpanRoadAttribute::BuiltUpArea: + return "BuiltUpArea"; + case RouteSpanRoadAttribute::ControlledAccessHighway: + return "ControlledAccessHighway"; + case RouteSpanRoadAttribute::DirtRoad: + return "DirtRoad"; + case RouteSpanRoadAttribute::DividedRoad: + return "DividedRoad"; + case RouteSpanRoadAttribute::Motorway: + return "Motorway"; + case RouteSpanRoadAttribute::PrivateRoad: + return "PrivateRoad"; + case RouteSpanRoadAttribute::Ramp: + return "Ramp"; + case RouteSpanRoadAttribute::RightHandTraffic: + return "RightHandTraffic"; + case RouteSpanRoadAttribute::Roundabout: + return "Roundabout"; + case RouteSpanRoadAttribute::Tunnel: + return "Tunnel"; + case RouteSpanRoadAttribute::UnderConstruction: + return "UnderConstruction"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteSpanRoadAttributeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanScooterAccessAttribute.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanScooterAccessAttribute.cpp new file mode 100644 index 00000000000..ca6eef85248 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanScooterAccessAttribute.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteSpanScooterAccessAttributeMapper + { + + static const int Allowed_HASH = HashingUtils::HashString("Allowed"); + static const int NoThroughTraffic_HASH = HashingUtils::HashString("NoThroughTraffic"); + static const int TollRoad_HASH = HashingUtils::HashString("TollRoad"); + + + RouteSpanScooterAccessAttribute GetRouteSpanScooterAccessAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Allowed_HASH) + { + return RouteSpanScooterAccessAttribute::Allowed; + } + else if (hashCode == NoThroughTraffic_HASH) + { + return RouteSpanScooterAccessAttribute::NoThroughTraffic; + } + else if (hashCode == TollRoad_HASH) + { + return RouteSpanScooterAccessAttribute::TollRoad; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteSpanScooterAccessAttribute::NOT_SET; + } + + Aws::String GetNameForRouteSpanScooterAccessAttribute(RouteSpanScooterAccessAttribute enumValue) + { + switch(enumValue) + { + case RouteSpanScooterAccessAttribute::NOT_SET: + return {}; + case RouteSpanScooterAccessAttribute::Allowed: + return "Allowed"; + case RouteSpanScooterAccessAttribute::NoThroughTraffic: + return "NoThroughTraffic"; + case RouteSpanScooterAccessAttribute::TollRoad: + return "TollRoad"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteSpanScooterAccessAttributeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanSpeedLimitDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanSpeedLimitDetails.cpp new file mode 100644 index 00000000000..c9403aa6e10 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanSpeedLimitDetails.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteSpanSpeedLimitDetails::RouteSpanSpeedLimitDetails() : + m_maxSpeed(0.0), + m_maxSpeedHasBeenSet(false), + m_unlimited(false), + m_unlimitedHasBeenSet(false) +{ +} + +RouteSpanSpeedLimitDetails::RouteSpanSpeedLimitDetails(JsonView jsonValue) + : RouteSpanSpeedLimitDetails() +{ + *this = jsonValue; +} + +RouteSpanSpeedLimitDetails& RouteSpanSpeedLimitDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("MaxSpeed")) + { + m_maxSpeed = jsonValue.GetDouble("MaxSpeed"); + + m_maxSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Unlimited")) + { + m_unlimited = jsonValue.GetBool("Unlimited"); + + m_unlimitedHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteSpanSpeedLimitDetails::Jsonize() const +{ + JsonValue payload; + + if(m_maxSpeedHasBeenSet) + { + payload.WithDouble("MaxSpeed", m_maxSpeed); + + } + + if(m_unlimitedHasBeenSet) + { + payload.WithBool("Unlimited", m_unlimited); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanTruckAccessAttribute.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanTruckAccessAttribute.cpp new file mode 100644 index 00000000000..156110589c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSpanTruckAccessAttribute.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteSpanTruckAccessAttributeMapper + { + + static const int Allowed_HASH = HashingUtils::HashString("Allowed"); + static const int NoThroughTraffic_HASH = HashingUtils::HashString("NoThroughTraffic"); + static const int TollRoad_HASH = HashingUtils::HashString("TollRoad"); + + + RouteSpanTruckAccessAttribute GetRouteSpanTruckAccessAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Allowed_HASH) + { + return RouteSpanTruckAccessAttribute::Allowed; + } + else if (hashCode == NoThroughTraffic_HASH) + { + return RouteSpanTruckAccessAttribute::NoThroughTraffic; + } + else if (hashCode == TollRoad_HASH) + { + return RouteSpanTruckAccessAttribute::TollRoad; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteSpanTruckAccessAttribute::NOT_SET; + } + + Aws::String GetNameForRouteSpanTruckAccessAttribute(RouteSpanTruckAccessAttribute enumValue) + { + switch(enumValue) + { + case RouteSpanTruckAccessAttribute::NOT_SET: + return {}; + case RouteSpanTruckAccessAttribute::Allowed: + return "Allowed"; + case RouteSpanTruckAccessAttribute::NoThroughTraffic: + return "NoThroughTraffic"; + case RouteSpanTruckAccessAttribute::TollRoad: + return "TollRoad"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteSpanTruckAccessAttributeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSteeringDirection.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSteeringDirection.cpp new file mode 100644 index 00000000000..914feaac043 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSteeringDirection.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteSteeringDirectionMapper + { + + static const int Left_HASH = HashingUtils::HashString("Left"); + static const int Right_HASH = HashingUtils::HashString("Right"); + static const int Straight_HASH = HashingUtils::HashString("Straight"); + + + RouteSteeringDirection GetRouteSteeringDirectionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Left_HASH) + { + return RouteSteeringDirection::Left; + } + else if (hashCode == Right_HASH) + { + return RouteSteeringDirection::Right; + } + else if (hashCode == Straight_HASH) + { + return RouteSteeringDirection::Straight; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteSteeringDirection::NOT_SET; + } + + Aws::String GetNameForRouteSteeringDirection(RouteSteeringDirection enumValue) + { + switch(enumValue) + { + case RouteSteeringDirection::NOT_SET: + return {}; + case RouteSteeringDirection::Left: + return "Left"; + case RouteSteeringDirection::Right: + return "Right"; + case RouteSteeringDirection::Straight: + return "Straight"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteSteeringDirectionMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSummary.cpp new file mode 100644 index 00000000000..47b8088b703 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteSummary.cpp @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteSummary::RouteSummary() : + m_distance(0), + m_distanceHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false), + m_tollsHasBeenSet(false) +{ +} + +RouteSummary::RouteSummary(JsonView jsonValue) + : RouteSummary() +{ + *this = jsonValue; +} + +RouteSummary& RouteSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Tolls")) + { + m_tolls = jsonValue.GetObject("Tolls"); + + m_tollsHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteSummary::Jsonize() const +{ + JsonValue payload; + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_tollsHasBeenSet) + { + payload.WithObject("Tolls", m_tolls.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteToll.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteToll.cpp new file mode 100644 index 00000000000..62e36119973 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteToll.cpp @@ -0,0 +1,125 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteToll::RouteToll() : + m_countryHasBeenSet(false), + m_paymentSitesHasBeenSet(false), + m_ratesHasBeenSet(false), + m_systemsHasBeenSet(false) +{ +} + +RouteToll::RouteToll(JsonView jsonValue) + : RouteToll() +{ + *this = jsonValue; +} + +RouteToll& RouteToll::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Country")) + { + m_country = jsonValue.GetString("Country"); + + m_countryHasBeenSet = true; + } + + if(jsonValue.ValueExists("PaymentSites")) + { + Aws::Utils::Array paymentSitesJsonList = jsonValue.GetArray("PaymentSites"); + for(unsigned paymentSitesIndex = 0; paymentSitesIndex < paymentSitesJsonList.GetLength(); ++paymentSitesIndex) + { + m_paymentSites.push_back(paymentSitesJsonList[paymentSitesIndex].AsObject()); + } + m_paymentSitesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Rates")) + { + Aws::Utils::Array ratesJsonList = jsonValue.GetArray("Rates"); + for(unsigned ratesIndex = 0; ratesIndex < ratesJsonList.GetLength(); ++ratesIndex) + { + m_rates.push_back(ratesJsonList[ratesIndex].AsObject()); + } + m_ratesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Systems")) + { + Aws::Utils::Array systemsJsonList = jsonValue.GetArray("Systems"); + for(unsigned systemsIndex = 0; systemsIndex < systemsJsonList.GetLength(); ++systemsIndex) + { + m_systems.push_back(systemsJsonList[systemsIndex].AsInteger()); + } + m_systemsHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteToll::Jsonize() const +{ + JsonValue payload; + + if(m_countryHasBeenSet) + { + payload.WithString("Country", m_country); + + } + + if(m_paymentSitesHasBeenSet) + { + Aws::Utils::Array paymentSitesJsonList(m_paymentSites.size()); + for(unsigned paymentSitesIndex = 0; paymentSitesIndex < paymentSitesJsonList.GetLength(); ++paymentSitesIndex) + { + paymentSitesJsonList[paymentSitesIndex].AsObject(m_paymentSites[paymentSitesIndex].Jsonize()); + } + payload.WithArray("PaymentSites", std::move(paymentSitesJsonList)); + + } + + if(m_ratesHasBeenSet) + { + Aws::Utils::Array ratesJsonList(m_rates.size()); + for(unsigned ratesIndex = 0; ratesIndex < ratesJsonList.GetLength(); ++ratesIndex) + { + ratesJsonList[ratesIndex].AsObject(m_rates[ratesIndex].Jsonize()); + } + payload.WithArray("Rates", std::move(ratesJsonList)); + + } + + if(m_systemsHasBeenSet) + { + Aws::Utils::Array systemsJsonList(m_systems.size()); + for(unsigned systemsIndex = 0; systemsIndex < systemsJsonList.GetLength(); ++systemsIndex) + { + systemsJsonList[systemsIndex].AsInteger(m_systems[systemsIndex]); + } + payload.WithArray("Systems", std::move(systemsJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollOptions.cpp new file mode 100644 index 00000000000..fa2760bce52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollOptions.cpp @@ -0,0 +1,117 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTollOptions::RouteTollOptions() : + m_allTransponders(false), + m_allTranspondersHasBeenSet(false), + m_allVignettes(false), + m_allVignettesHasBeenSet(false), + m_currencyHasBeenSet(false), + m_emissionTypeHasBeenSet(false), + m_vehicleCategory(RouteTollVehicleCategory::NOT_SET), + m_vehicleCategoryHasBeenSet(false) +{ +} + +RouteTollOptions::RouteTollOptions(JsonView jsonValue) + : RouteTollOptions() +{ + *this = jsonValue; +} + +RouteTollOptions& RouteTollOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AllTransponders")) + { + m_allTransponders = jsonValue.GetBool("AllTransponders"); + + m_allTranspondersHasBeenSet = true; + } + + if(jsonValue.ValueExists("AllVignettes")) + { + m_allVignettes = jsonValue.GetBool("AllVignettes"); + + m_allVignettesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Currency")) + { + m_currency = jsonValue.GetString("Currency"); + + m_currencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("EmissionType")) + { + m_emissionType = jsonValue.GetObject("EmissionType"); + + m_emissionTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("VehicleCategory")) + { + m_vehicleCategory = RouteTollVehicleCategoryMapper::GetRouteTollVehicleCategoryForName(jsonValue.GetString("VehicleCategory")); + + m_vehicleCategoryHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTollOptions::Jsonize() const +{ + JsonValue payload; + + if(m_allTranspondersHasBeenSet) + { + payload.WithBool("AllTransponders", m_allTransponders); + + } + + if(m_allVignettesHasBeenSet) + { + payload.WithBool("AllVignettes", m_allVignettes); + + } + + if(m_currencyHasBeenSet) + { + payload.WithString("Currency", m_currency); + + } + + if(m_emissionTypeHasBeenSet) + { + payload.WithObject("EmissionType", m_emissionType.Jsonize()); + + } + + if(m_vehicleCategoryHasBeenSet) + { + payload.WithString("VehicleCategory", RouteTollVehicleCategoryMapper::GetNameForRouteTollVehicleCategory(m_vehicleCategory)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPass.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPass.cpp new file mode 100644 index 00000000000..c550194f3d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPass.cpp @@ -0,0 +1,119 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTollPass::RouteTollPass() : + m_includesReturnTrip(false), + m_includesReturnTripHasBeenSet(false), + m_seniorPass(false), + m_seniorPassHasBeenSet(false), + m_transferCount(0), + m_transferCountHasBeenSet(false), + m_tripCount(0), + m_tripCountHasBeenSet(false), + m_validityPeriodHasBeenSet(false) +{ +} + +RouteTollPass::RouteTollPass(JsonView jsonValue) + : RouteTollPass() +{ + *this = jsonValue; +} + +RouteTollPass& RouteTollPass::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("IncludesReturnTrip")) + { + m_includesReturnTrip = jsonValue.GetBool("IncludesReturnTrip"); + + m_includesReturnTripHasBeenSet = true; + } + + if(jsonValue.ValueExists("SeniorPass")) + { + m_seniorPass = jsonValue.GetBool("SeniorPass"); + + m_seniorPassHasBeenSet = true; + } + + if(jsonValue.ValueExists("TransferCount")) + { + m_transferCount = jsonValue.GetInteger("TransferCount"); + + m_transferCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("TripCount")) + { + m_tripCount = jsonValue.GetInteger("TripCount"); + + m_tripCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("ValidityPeriod")) + { + m_validityPeriod = jsonValue.GetObject("ValidityPeriod"); + + m_validityPeriodHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTollPass::Jsonize() const +{ + JsonValue payload; + + if(m_includesReturnTripHasBeenSet) + { + payload.WithBool("IncludesReturnTrip", m_includesReturnTrip); + + } + + if(m_seniorPassHasBeenSet) + { + payload.WithBool("SeniorPass", m_seniorPass); + + } + + if(m_transferCountHasBeenSet) + { + payload.WithInteger("TransferCount", m_transferCount); + + } + + if(m_tripCountHasBeenSet) + { + payload.WithInteger("TripCount", m_tripCount); + + } + + if(m_validityPeriodHasBeenSet) + { + payload.WithObject("ValidityPeriod", m_validityPeriod.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPassValidityPeriod.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPassValidityPeriod.cpp new file mode 100644 index 00000000000..9f07dcfde65 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPassValidityPeriod.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTollPassValidityPeriod::RouteTollPassValidityPeriod() : + m_period(RouteTollPassValidityPeriodType::NOT_SET), + m_periodHasBeenSet(false), + m_periodCount(0), + m_periodCountHasBeenSet(false) +{ +} + +RouteTollPassValidityPeriod::RouteTollPassValidityPeriod(JsonView jsonValue) + : RouteTollPassValidityPeriod() +{ + *this = jsonValue; +} + +RouteTollPassValidityPeriod& RouteTollPassValidityPeriod::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Period")) + { + m_period = RouteTollPassValidityPeriodTypeMapper::GetRouteTollPassValidityPeriodTypeForName(jsonValue.GetString("Period")); + + m_periodHasBeenSet = true; + } + + if(jsonValue.ValueExists("PeriodCount")) + { + m_periodCount = jsonValue.GetInteger("PeriodCount"); + + m_periodCountHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTollPassValidityPeriod::Jsonize() const +{ + JsonValue payload; + + if(m_periodHasBeenSet) + { + payload.WithString("Period", RouteTollPassValidityPeriodTypeMapper::GetNameForRouteTollPassValidityPeriodType(m_period)); + } + + if(m_periodCountHasBeenSet) + { + payload.WithInteger("PeriodCount", m_periodCount); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPassValidityPeriodType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPassValidityPeriodType.cpp new file mode 100644 index 00000000000..a21b8f1b172 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPassValidityPeriodType.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteTollPassValidityPeriodTypeMapper + { + + static const int Annual_HASH = HashingUtils::HashString("Annual"); + static const int Days_HASH = HashingUtils::HashString("Days"); + static const int ExtendedAnnual_HASH = HashingUtils::HashString("ExtendedAnnual"); + static const int Minutes_HASH = HashingUtils::HashString("Minutes"); + static const int Months_HASH = HashingUtils::HashString("Months"); + + + RouteTollPassValidityPeriodType GetRouteTollPassValidityPeriodTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Annual_HASH) + { + return RouteTollPassValidityPeriodType::Annual; + } + else if (hashCode == Days_HASH) + { + return RouteTollPassValidityPeriodType::Days; + } + else if (hashCode == ExtendedAnnual_HASH) + { + return RouteTollPassValidityPeriodType::ExtendedAnnual; + } + else if (hashCode == Minutes_HASH) + { + return RouteTollPassValidityPeriodType::Minutes; + } + else if (hashCode == Months_HASH) + { + return RouteTollPassValidityPeriodType::Months; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteTollPassValidityPeriodType::NOT_SET; + } + + Aws::String GetNameForRouteTollPassValidityPeriodType(RouteTollPassValidityPeriodType enumValue) + { + switch(enumValue) + { + case RouteTollPassValidityPeriodType::NOT_SET: + return {}; + case RouteTollPassValidityPeriodType::Annual: + return "Annual"; + case RouteTollPassValidityPeriodType::Days: + return "Days"; + case RouteTollPassValidityPeriodType::ExtendedAnnual: + return "ExtendedAnnual"; + case RouteTollPassValidityPeriodType::Minutes: + return "Minutes"; + case RouteTollPassValidityPeriodType::Months: + return "Months"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteTollPassValidityPeriodTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPaymentMethod.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPaymentMethod.cpp new file mode 100644 index 00000000000..0f9048425f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPaymentMethod.cpp @@ -0,0 +1,114 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteTollPaymentMethodMapper + { + + static const int BankCard_HASH = HashingUtils::HashString("BankCard"); + static const int Cash_HASH = HashingUtils::HashString("Cash"); + static const int CashExact_HASH = HashingUtils::HashString("CashExact"); + static const int CreditCard_HASH = HashingUtils::HashString("CreditCard"); + static const int PassSubscription_HASH = HashingUtils::HashString("PassSubscription"); + static const int TravelCard_HASH = HashingUtils::HashString("TravelCard"); + static const int Transponder_HASH = HashingUtils::HashString("Transponder"); + static const int VideoToll_HASH = HashingUtils::HashString("VideoToll"); + + + RouteTollPaymentMethod GetRouteTollPaymentMethodForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == BankCard_HASH) + { + return RouteTollPaymentMethod::BankCard; + } + else if (hashCode == Cash_HASH) + { + return RouteTollPaymentMethod::Cash; + } + else if (hashCode == CashExact_HASH) + { + return RouteTollPaymentMethod::CashExact; + } + else if (hashCode == CreditCard_HASH) + { + return RouteTollPaymentMethod::CreditCard; + } + else if (hashCode == PassSubscription_HASH) + { + return RouteTollPaymentMethod::PassSubscription; + } + else if (hashCode == TravelCard_HASH) + { + return RouteTollPaymentMethod::TravelCard; + } + else if (hashCode == Transponder_HASH) + { + return RouteTollPaymentMethod::Transponder; + } + else if (hashCode == VideoToll_HASH) + { + return RouteTollPaymentMethod::VideoToll; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteTollPaymentMethod::NOT_SET; + } + + Aws::String GetNameForRouteTollPaymentMethod(RouteTollPaymentMethod enumValue) + { + switch(enumValue) + { + case RouteTollPaymentMethod::NOT_SET: + return {}; + case RouteTollPaymentMethod::BankCard: + return "BankCard"; + case RouteTollPaymentMethod::Cash: + return "Cash"; + case RouteTollPaymentMethod::CashExact: + return "CashExact"; + case RouteTollPaymentMethod::CreditCard: + return "CreditCard"; + case RouteTollPaymentMethod::PassSubscription: + return "PassSubscription"; + case RouteTollPaymentMethod::TravelCard: + return "TravelCard"; + case RouteTollPaymentMethod::Transponder: + return "Transponder"; + case RouteTollPaymentMethod::VideoToll: + return "VideoToll"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteTollPaymentMethodMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPaymentSite.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPaymentSite.cpp new file mode 100644 index 00000000000..13e94aa9d70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPaymentSite.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTollPaymentSite::RouteTollPaymentSite() : + m_nameHasBeenSet(false), + m_positionHasBeenSet(false) +{ +} + +RouteTollPaymentSite::RouteTollPaymentSite(JsonView jsonValue) + : RouteTollPaymentSite() +{ + *this = jsonValue; +} + +RouteTollPaymentSite& RouteTollPaymentSite::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTollPaymentSite::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPrice.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPrice.cpp new file mode 100644 index 00000000000..18c5ea77e9a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPrice.cpp @@ -0,0 +1,133 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTollPrice::RouteTollPrice() : + m_currencyHasBeenSet(false), + m_estimate(false), + m_estimateHasBeenSet(false), + m_perDuration(0), + m_perDurationHasBeenSet(false), + m_range(false), + m_rangeHasBeenSet(false), + m_rangeValueHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ +} + +RouteTollPrice::RouteTollPrice(JsonView jsonValue) + : RouteTollPrice() +{ + *this = jsonValue; +} + +RouteTollPrice& RouteTollPrice::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Currency")) + { + m_currency = jsonValue.GetString("Currency"); + + m_currencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("Estimate")) + { + m_estimate = jsonValue.GetBool("Estimate"); + + m_estimateHasBeenSet = true; + } + + if(jsonValue.ValueExists("PerDuration")) + { + m_perDuration = jsonValue.GetInt64("PerDuration"); + + m_perDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Range")) + { + m_range = jsonValue.GetBool("Range"); + + m_rangeHasBeenSet = true; + } + + if(jsonValue.ValueExists("RangeValue")) + { + m_rangeValue = jsonValue.GetObject("RangeValue"); + + m_rangeValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetDouble("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTollPrice::Jsonize() const +{ + JsonValue payload; + + if(m_currencyHasBeenSet) + { + payload.WithString("Currency", m_currency); + + } + + if(m_estimateHasBeenSet) + { + payload.WithBool("Estimate", m_estimate); + + } + + if(m_perDurationHasBeenSet) + { + payload.WithInt64("PerDuration", m_perDuration); + + } + + if(m_rangeHasBeenSet) + { + payload.WithBool("Range", m_range); + + } + + if(m_rangeValueHasBeenSet) + { + payload.WithObject("RangeValue", m_rangeValue.Jsonize()); + + } + + if(m_valueHasBeenSet) + { + payload.WithDouble("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPriceSummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPriceSummary.cpp new file mode 100644 index 00000000000..2d2ac381671 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPriceSummary.cpp @@ -0,0 +1,118 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTollPriceSummary::RouteTollPriceSummary() : + m_currencyHasBeenSet(false), + m_estimate(false), + m_estimateHasBeenSet(false), + m_range(false), + m_rangeHasBeenSet(false), + m_rangeValueHasBeenSet(false), + m_value(0.0), + m_valueHasBeenSet(false) +{ +} + +RouteTollPriceSummary::RouteTollPriceSummary(JsonView jsonValue) + : RouteTollPriceSummary() +{ + *this = jsonValue; +} + +RouteTollPriceSummary& RouteTollPriceSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Currency")) + { + m_currency = jsonValue.GetString("Currency"); + + m_currencyHasBeenSet = true; + } + + if(jsonValue.ValueExists("Estimate")) + { + m_estimate = jsonValue.GetBool("Estimate"); + + m_estimateHasBeenSet = true; + } + + if(jsonValue.ValueExists("Range")) + { + m_range = jsonValue.GetBool("Range"); + + m_rangeHasBeenSet = true; + } + + if(jsonValue.ValueExists("RangeValue")) + { + m_rangeValue = jsonValue.GetObject("RangeValue"); + + m_rangeValueHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetDouble("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTollPriceSummary::Jsonize() const +{ + JsonValue payload; + + if(m_currencyHasBeenSet) + { + payload.WithString("Currency", m_currency); + + } + + if(m_estimateHasBeenSet) + { + payload.WithBool("Estimate", m_estimate); + + } + + if(m_rangeHasBeenSet) + { + payload.WithBool("Range", m_range); + + } + + if(m_rangeValueHasBeenSet) + { + payload.WithObject("RangeValue", m_rangeValue.Jsonize()); + + } + + if(m_valueHasBeenSet) + { + payload.WithDouble("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPriceValueRange.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPriceValueRange.cpp new file mode 100644 index 00000000000..be4cdbe5f6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollPriceValueRange.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTollPriceValueRange::RouteTollPriceValueRange() : + m_min(0.0), + m_minHasBeenSet(false), + m_max(0.0), + m_maxHasBeenSet(false) +{ +} + +RouteTollPriceValueRange::RouteTollPriceValueRange(JsonView jsonValue) + : RouteTollPriceValueRange() +{ + *this = jsonValue; +} + +RouteTollPriceValueRange& RouteTollPriceValueRange::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Min")) + { + m_min = jsonValue.GetDouble("Min"); + + m_minHasBeenSet = true; + } + + if(jsonValue.ValueExists("Max")) + { + m_max = jsonValue.GetDouble("Max"); + + m_maxHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTollPriceValueRange::Jsonize() const +{ + JsonValue payload; + + if(m_minHasBeenSet) + { + payload.WithDouble("Min", m_min); + + } + + if(m_maxHasBeenSet) + { + payload.WithDouble("Max", m_max); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollRate.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollRate.cpp new file mode 100644 index 00000000000..d14f6fd9aca --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollRate.cpp @@ -0,0 +1,173 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTollRate::RouteTollRate() : + m_applicableTimesHasBeenSet(false), + m_convertedPriceHasBeenSet(false), + m_idHasBeenSet(false), + m_localPriceHasBeenSet(false), + m_nameHasBeenSet(false), + m_passHasBeenSet(false), + m_paymentMethodsHasBeenSet(false), + m_transpondersHasBeenSet(false) +{ +} + +RouteTollRate::RouteTollRate(JsonView jsonValue) + : RouteTollRate() +{ + *this = jsonValue; +} + +RouteTollRate& RouteTollRate::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ApplicableTimes")) + { + m_applicableTimes = jsonValue.GetString("ApplicableTimes"); + + m_applicableTimesHasBeenSet = true; + } + + if(jsonValue.ValueExists("ConvertedPrice")) + { + m_convertedPrice = jsonValue.GetObject("ConvertedPrice"); + + m_convertedPriceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("LocalPrice")) + { + m_localPrice = jsonValue.GetObject("LocalPrice"); + + m_localPriceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("Pass")) + { + m_pass = jsonValue.GetObject("Pass"); + + m_passHasBeenSet = true; + } + + if(jsonValue.ValueExists("PaymentMethods")) + { + Aws::Utils::Array paymentMethodsJsonList = jsonValue.GetArray("PaymentMethods"); + for(unsigned paymentMethodsIndex = 0; paymentMethodsIndex < paymentMethodsJsonList.GetLength(); ++paymentMethodsIndex) + { + m_paymentMethods.push_back(RouteTollPaymentMethodMapper::GetRouteTollPaymentMethodForName(paymentMethodsJsonList[paymentMethodsIndex].AsString())); + } + m_paymentMethodsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Transponders")) + { + Aws::Utils::Array transpondersJsonList = jsonValue.GetArray("Transponders"); + for(unsigned transpondersIndex = 0; transpondersIndex < transpondersJsonList.GetLength(); ++transpondersIndex) + { + m_transponders.push_back(transpondersJsonList[transpondersIndex].AsObject()); + } + m_transpondersHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTollRate::Jsonize() const +{ + JsonValue payload; + + if(m_applicableTimesHasBeenSet) + { + payload.WithString("ApplicableTimes", m_applicableTimes); + + } + + if(m_convertedPriceHasBeenSet) + { + payload.WithObject("ConvertedPrice", m_convertedPrice.Jsonize()); + + } + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_localPriceHasBeenSet) + { + payload.WithObject("LocalPrice", m_localPrice.Jsonize()); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_passHasBeenSet) + { + payload.WithObject("Pass", m_pass.Jsonize()); + + } + + if(m_paymentMethodsHasBeenSet) + { + Aws::Utils::Array paymentMethodsJsonList(m_paymentMethods.size()); + for(unsigned paymentMethodsIndex = 0; paymentMethodsIndex < paymentMethodsJsonList.GetLength(); ++paymentMethodsIndex) + { + paymentMethodsJsonList[paymentMethodsIndex].AsString(RouteTollPaymentMethodMapper::GetNameForRouteTollPaymentMethod(m_paymentMethods[paymentMethodsIndex])); + } + payload.WithArray("PaymentMethods", std::move(paymentMethodsJsonList)); + + } + + if(m_transpondersHasBeenSet) + { + Aws::Utils::Array transpondersJsonList(m_transponders.size()); + for(unsigned transpondersIndex = 0; transpondersIndex < transpondersJsonList.GetLength(); ++transpondersIndex) + { + transpondersJsonList[transpondersIndex].AsObject(m_transponders[transpondersIndex].Jsonize()); + } + payload.WithArray("Transponders", std::move(transpondersJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollSummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollSummary.cpp new file mode 100644 index 00000000000..a0625264b1e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollSummary.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTollSummary::RouteTollSummary() : + m_totalHasBeenSet(false) +{ +} + +RouteTollSummary::RouteTollSummary(JsonView jsonValue) + : RouteTollSummary() +{ + *this = jsonValue; +} + +RouteTollSummary& RouteTollSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Total")) + { + m_total = jsonValue.GetObject("Total"); + + m_totalHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTollSummary::Jsonize() const +{ + JsonValue payload; + + if(m_totalHasBeenSet) + { + payload.WithObject("Total", m_total.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollSystem.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollSystem.cpp new file mode 100644 index 00000000000..91235a0b284 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollSystem.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTollSystem::RouteTollSystem() : + m_nameHasBeenSet(false) +{ +} + +RouteTollSystem::RouteTollSystem(JsonView jsonValue) + : RouteTollSystem() +{ + *this = jsonValue; +} + +RouteTollSystem& RouteTollSystem::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTollSystem::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollVehicleCategory.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollVehicleCategory.cpp new file mode 100644 index 00000000000..ad05f1a0a91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTollVehicleCategory.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteTollVehicleCategoryMapper + { + + static const int Minibus_HASH = HashingUtils::HashString("Minibus"); + + + RouteTollVehicleCategory GetRouteTollVehicleCategoryForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Minibus_HASH) + { + return RouteTollVehicleCategory::Minibus; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteTollVehicleCategory::NOT_SET; + } + + Aws::String GetNameForRouteTollVehicleCategory(RouteTollVehicleCategory enumValue) + { + switch(enumValue) + { + case RouteTollVehicleCategory::NOT_SET: + return {}; + case RouteTollVehicleCategory::Minibus: + return "Minibus"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteTollVehicleCategoryMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTrafficOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTrafficOptions.cpp new file mode 100644 index 00000000000..4c88d81e853 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTrafficOptions.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTrafficOptions::RouteTrafficOptions() : + m_flowEventThresholdOverride(0), + m_flowEventThresholdOverrideHasBeenSet(false), + m_usage(TrafficUsage::NOT_SET), + m_usageHasBeenSet(false) +{ +} + +RouteTrafficOptions::RouteTrafficOptions(JsonView jsonValue) + : RouteTrafficOptions() +{ + *this = jsonValue; +} + +RouteTrafficOptions& RouteTrafficOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FlowEventThresholdOverride")) + { + m_flowEventThresholdOverride = jsonValue.GetInt64("FlowEventThresholdOverride"); + + m_flowEventThresholdOverrideHasBeenSet = true; + } + + if(jsonValue.ValueExists("Usage")) + { + m_usage = TrafficUsageMapper::GetTrafficUsageForName(jsonValue.GetString("Usage")); + + m_usageHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTrafficOptions::Jsonize() const +{ + JsonValue payload; + + if(m_flowEventThresholdOverrideHasBeenSet) + { + payload.WithInt64("FlowEventThresholdOverride", m_flowEventThresholdOverride); + + } + + if(m_usageHasBeenSet) + { + payload.WithString("Usage", TrafficUsageMapper::GetNameForTrafficUsage(m_usage)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTrailerOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTrailerOptions.cpp new file mode 100644 index 00000000000..6db09b2b9f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTrailerOptions.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTrailerOptions::RouteTrailerOptions() : + m_axleCount(0), + m_axleCountHasBeenSet(false), + m_trailerCount(0), + m_trailerCountHasBeenSet(false) +{ +} + +RouteTrailerOptions::RouteTrailerOptions(JsonView jsonValue) + : RouteTrailerOptions() +{ + *this = jsonValue; +} + +RouteTrailerOptions& RouteTrailerOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AxleCount")) + { + m_axleCount = jsonValue.GetInteger("AxleCount"); + + m_axleCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("TrailerCount")) + { + m_trailerCount = jsonValue.GetInteger("TrailerCount"); + + m_trailerCountHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTrailerOptions::Jsonize() const +{ + JsonValue payload; + + if(m_axleCountHasBeenSet) + { + payload.WithInteger("AxleCount", m_axleCount); + + } + + if(m_trailerCountHasBeenSet) + { + payload.WithInteger("TrailerCount", m_trailerCount); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTransponder.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTransponder.cpp new file mode 100644 index 00000000000..b5141f5b989 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTransponder.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTransponder::RouteTransponder() : + m_systemNameHasBeenSet(false) +{ +} + +RouteTransponder::RouteTransponder(JsonView jsonValue) + : RouteTransponder() +{ + *this = jsonValue; +} + +RouteTransponder& RouteTransponder::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("SystemName")) + { + m_systemName = jsonValue.GetString("SystemName"); + + m_systemNameHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTransponder::Jsonize() const +{ + JsonValue payload; + + if(m_systemNameHasBeenSet) + { + payload.WithString("SystemName", m_systemName); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTravelMode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTravelMode.cpp new file mode 100644 index 00000000000..bfd1981cd70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTravelMode.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteTravelModeMapper + { + + static const int Car_HASH = HashingUtils::HashString("Car"); + static const int Pedestrian_HASH = HashingUtils::HashString("Pedestrian"); + static const int Scooter_HASH = HashingUtils::HashString("Scooter"); + static const int Truck_HASH = HashingUtils::HashString("Truck"); + + + RouteTravelMode GetRouteTravelModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Car_HASH) + { + return RouteTravelMode::Car; + } + else if (hashCode == Pedestrian_HASH) + { + return RouteTravelMode::Pedestrian; + } + else if (hashCode == Scooter_HASH) + { + return RouteTravelMode::Scooter; + } + else if (hashCode == Truck_HASH) + { + return RouteTravelMode::Truck; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteTravelMode::NOT_SET; + } + + Aws::String GetNameForRouteTravelMode(RouteTravelMode enumValue) + { + switch(enumValue) + { + case RouteTravelMode::NOT_SET: + return {}; + case RouteTravelMode::Car: + return "Car"; + case RouteTravelMode::Pedestrian: + return "Pedestrian"; + case RouteTravelMode::Scooter: + return "Scooter"; + case RouteTravelMode::Truck: + return "Truck"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteTravelModeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTravelModeOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTravelModeOptions.cpp new file mode 100644 index 00000000000..cec28970355 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTravelModeOptions.cpp @@ -0,0 +1,101 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTravelModeOptions::RouteTravelModeOptions() : + m_carHasBeenSet(false), + m_pedestrianHasBeenSet(false), + m_scooterHasBeenSet(false), + m_truckHasBeenSet(false) +{ +} + +RouteTravelModeOptions::RouteTravelModeOptions(JsonView jsonValue) + : RouteTravelModeOptions() +{ + *this = jsonValue; +} + +RouteTravelModeOptions& RouteTravelModeOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Car")) + { + m_car = jsonValue.GetObject("Car"); + + m_carHasBeenSet = true; + } + + if(jsonValue.ValueExists("Pedestrian")) + { + m_pedestrian = jsonValue.GetObject("Pedestrian"); + + m_pedestrianHasBeenSet = true; + } + + if(jsonValue.ValueExists("Scooter")) + { + m_scooter = jsonValue.GetObject("Scooter"); + + m_scooterHasBeenSet = true; + } + + if(jsonValue.ValueExists("Truck")) + { + m_truck = jsonValue.GetObject("Truck"); + + m_truckHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTravelModeOptions::Jsonize() const +{ + JsonValue payload; + + if(m_carHasBeenSet) + { + payload.WithObject("Car", m_car.Jsonize()); + + } + + if(m_pedestrianHasBeenSet) + { + payload.WithObject("Pedestrian", m_pedestrian.Jsonize()); + + } + + if(m_scooterHasBeenSet) + { + payload.WithObject("Scooter", m_scooter.Jsonize()); + + } + + if(m_truckHasBeenSet) + { + payload.WithObject("Truck", m_truck.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTravelStepType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTravelStepType.cpp new file mode 100644 index 00000000000..eec06cf5844 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTravelStepType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteTravelStepTypeMapper + { + + static const int Default_HASH = HashingUtils::HashString("Default"); + static const int TurnByTurn_HASH = HashingUtils::HashString("TurnByTurn"); + + + RouteTravelStepType GetRouteTravelStepTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Default_HASH) + { + return RouteTravelStepType::Default; + } + else if (hashCode == TurnByTurn_HASH) + { + return RouteTravelStepType::TurnByTurn; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteTravelStepType::NOT_SET; + } + + Aws::String GetNameForRouteTravelStepType(RouteTravelStepType enumValue) + { + switch(enumValue) + { + case RouteTravelStepType::NOT_SET: + return {}; + case RouteTravelStepType::Default: + return "Default"; + case RouteTravelStepType::TurnByTurn: + return "TurnByTurn"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteTravelStepTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTruckOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTruckOptions.cpp new file mode 100644 index 00000000000..71b22e8ae2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTruckOptions.cpp @@ -0,0 +1,331 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTruckOptions::RouteTruckOptions() : + m_axleCount(0), + m_axleCountHasBeenSet(false), + m_engineType(RouteEngineType::NOT_SET), + m_engineTypeHasBeenSet(false), + m_grossWeight(0), + m_grossWeightHasBeenSet(false), + m_hazardousCargosHasBeenSet(false), + m_height(0), + m_heightHasBeenSet(false), + m_heightAboveFirstAxle(0), + m_heightAboveFirstAxleHasBeenSet(false), + m_kpraLength(0), + m_kpraLengthHasBeenSet(false), + m_length(0), + m_lengthHasBeenSet(false), + m_licensePlateHasBeenSet(false), + m_maxSpeed(0.0), + m_maxSpeedHasBeenSet(false), + m_occupancy(0), + m_occupancyHasBeenSet(false), + m_payloadCapacity(0), + m_payloadCapacityHasBeenSet(false), + m_tireCount(0), + m_tireCountHasBeenSet(false), + m_trailerHasBeenSet(false), + m_truckType(RouteTruckType::NOT_SET), + m_truckTypeHasBeenSet(false), + m_tunnelRestrictionCodeHasBeenSet(false), + m_weightPerAxle(0), + m_weightPerAxleHasBeenSet(false), + m_weightPerAxleGroupHasBeenSet(false), + m_width(0), + m_widthHasBeenSet(false) +{ +} + +RouteTruckOptions::RouteTruckOptions(JsonView jsonValue) + : RouteTruckOptions() +{ + *this = jsonValue; +} + +RouteTruckOptions& RouteTruckOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AxleCount")) + { + m_axleCount = jsonValue.GetInteger("AxleCount"); + + m_axleCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("EngineType")) + { + m_engineType = RouteEngineTypeMapper::GetRouteEngineTypeForName(jsonValue.GetString("EngineType")); + + m_engineTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("GrossWeight")) + { + m_grossWeight = jsonValue.GetInt64("GrossWeight"); + + m_grossWeightHasBeenSet = true; + } + + if(jsonValue.ValueExists("HazardousCargos")) + { + Aws::Utils::Array hazardousCargosJsonList = jsonValue.GetArray("HazardousCargos"); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + m_hazardousCargos.push_back(RouteHazardousCargoTypeMapper::GetRouteHazardousCargoTypeForName(hazardousCargosJsonList[hazardousCargosIndex].AsString())); + } + m_hazardousCargosHasBeenSet = true; + } + + if(jsonValue.ValueExists("Height")) + { + m_height = jsonValue.GetInt64("Height"); + + m_heightHasBeenSet = true; + } + + if(jsonValue.ValueExists("HeightAboveFirstAxle")) + { + m_heightAboveFirstAxle = jsonValue.GetInt64("HeightAboveFirstAxle"); + + m_heightAboveFirstAxleHasBeenSet = true; + } + + if(jsonValue.ValueExists("KpraLength")) + { + m_kpraLength = jsonValue.GetInt64("KpraLength"); + + m_kpraLengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("Length")) + { + m_length = jsonValue.GetInt64("Length"); + + m_lengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("LicensePlate")) + { + m_licensePlate = jsonValue.GetObject("LicensePlate"); + + m_licensePlateHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxSpeed")) + { + m_maxSpeed = jsonValue.GetDouble("MaxSpeed"); + + m_maxSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("Occupancy")) + { + m_occupancy = jsonValue.GetInteger("Occupancy"); + + m_occupancyHasBeenSet = true; + } + + if(jsonValue.ValueExists("PayloadCapacity")) + { + m_payloadCapacity = jsonValue.GetInt64("PayloadCapacity"); + + m_payloadCapacityHasBeenSet = true; + } + + if(jsonValue.ValueExists("TireCount")) + { + m_tireCount = jsonValue.GetInteger("TireCount"); + + m_tireCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("Trailer")) + { + m_trailer = jsonValue.GetObject("Trailer"); + + m_trailerHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckType")) + { + m_truckType = RouteTruckTypeMapper::GetRouteTruckTypeForName(jsonValue.GetString("TruckType")); + + m_truckTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("TunnelRestrictionCode")) + { + m_tunnelRestrictionCode = jsonValue.GetString("TunnelRestrictionCode"); + + m_tunnelRestrictionCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("WeightPerAxle")) + { + m_weightPerAxle = jsonValue.GetInt64("WeightPerAxle"); + + m_weightPerAxleHasBeenSet = true; + } + + if(jsonValue.ValueExists("WeightPerAxleGroup")) + { + m_weightPerAxleGroup = jsonValue.GetObject("WeightPerAxleGroup"); + + m_weightPerAxleGroupHasBeenSet = true; + } + + if(jsonValue.ValueExists("Width")) + { + m_width = jsonValue.GetInt64("Width"); + + m_widthHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTruckOptions::Jsonize() const +{ + JsonValue payload; + + if(m_axleCountHasBeenSet) + { + payload.WithInteger("AxleCount", m_axleCount); + + } + + if(m_engineTypeHasBeenSet) + { + payload.WithString("EngineType", RouteEngineTypeMapper::GetNameForRouteEngineType(m_engineType)); + } + + if(m_grossWeightHasBeenSet) + { + payload.WithInt64("GrossWeight", m_grossWeight); + + } + + if(m_hazardousCargosHasBeenSet) + { + Aws::Utils::Array hazardousCargosJsonList(m_hazardousCargos.size()); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + hazardousCargosJsonList[hazardousCargosIndex].AsString(RouteHazardousCargoTypeMapper::GetNameForRouteHazardousCargoType(m_hazardousCargos[hazardousCargosIndex])); + } + payload.WithArray("HazardousCargos", std::move(hazardousCargosJsonList)); + + } + + if(m_heightHasBeenSet) + { + payload.WithInt64("Height", m_height); + + } + + if(m_heightAboveFirstAxleHasBeenSet) + { + payload.WithInt64("HeightAboveFirstAxle", m_heightAboveFirstAxle); + + } + + if(m_kpraLengthHasBeenSet) + { + payload.WithInt64("KpraLength", m_kpraLength); + + } + + if(m_lengthHasBeenSet) + { + payload.WithInt64("Length", m_length); + + } + + if(m_licensePlateHasBeenSet) + { + payload.WithObject("LicensePlate", m_licensePlate.Jsonize()); + + } + + if(m_maxSpeedHasBeenSet) + { + payload.WithDouble("MaxSpeed", m_maxSpeed); + + } + + if(m_occupancyHasBeenSet) + { + payload.WithInteger("Occupancy", m_occupancy); + + } + + if(m_payloadCapacityHasBeenSet) + { + payload.WithInt64("PayloadCapacity", m_payloadCapacity); + + } + + if(m_tireCountHasBeenSet) + { + payload.WithInteger("TireCount", m_tireCount); + + } + + if(m_trailerHasBeenSet) + { + payload.WithObject("Trailer", m_trailer.Jsonize()); + + } + + if(m_truckTypeHasBeenSet) + { + payload.WithString("TruckType", RouteTruckTypeMapper::GetNameForRouteTruckType(m_truckType)); + } + + if(m_tunnelRestrictionCodeHasBeenSet) + { + payload.WithString("TunnelRestrictionCode", m_tunnelRestrictionCode); + + } + + if(m_weightPerAxleHasBeenSet) + { + payload.WithInt64("WeightPerAxle", m_weightPerAxle); + + } + + if(m_weightPerAxleGroupHasBeenSet) + { + payload.WithObject("WeightPerAxleGroup", m_weightPerAxleGroup.Jsonize()); + + } + + if(m_widthHasBeenSet) + { + payload.WithInt64("Width", m_width); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTruckType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTruckType.cpp new file mode 100644 index 00000000000..fe2af3f7ff0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTruckType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteTruckTypeMapper + { + + static const int LightTruck_HASH = HashingUtils::HashString("LightTruck"); + static const int StraightTruck_HASH = HashingUtils::HashString("StraightTruck"); + static const int Tractor_HASH = HashingUtils::HashString("Tractor"); + + + RouteTruckType GetRouteTruckTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == LightTruck_HASH) + { + return RouteTruckType::LightTruck; + } + else if (hashCode == StraightTruck_HASH) + { + return RouteTruckType::StraightTruck; + } + else if (hashCode == Tractor_HASH) + { + return RouteTruckType::Tractor; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteTruckType::NOT_SET; + } + + Aws::String GetNameForRouteTruckType(RouteTruckType enumValue) + { + switch(enumValue) + { + case RouteTruckType::NOT_SET: + return {}; + case RouteTruckType::LightTruck: + return "LightTruck"; + case RouteTruckType::StraightTruck: + return "StraightTruck"; + case RouteTruckType::Tractor: + return "Tractor"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteTruckTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTurnIntensity.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTurnIntensity.cpp new file mode 100644 index 00000000000..6f745677d7c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTurnIntensity.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteTurnIntensityMapper + { + + static const int Sharp_HASH = HashingUtils::HashString("Sharp"); + static const int Slight_HASH = HashingUtils::HashString("Slight"); + static const int Typical_HASH = HashingUtils::HashString("Typical"); + + + RouteTurnIntensity GetRouteTurnIntensityForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Sharp_HASH) + { + return RouteTurnIntensity::Sharp; + } + else if (hashCode == Slight_HASH) + { + return RouteTurnIntensity::Slight; + } + else if (hashCode == Typical_HASH) + { + return RouteTurnIntensity::Typical; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteTurnIntensity::NOT_SET; + } + + Aws::String GetNameForRouteTurnIntensity(RouteTurnIntensity enumValue) + { + switch(enumValue) + { + case RouteTurnIntensity::NOT_SET: + return {}; + case RouteTurnIntensity::Sharp: + return "Sharp"; + case RouteTurnIntensity::Slight: + return "Slight"; + case RouteTurnIntensity::Typical: + return "Typical"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteTurnIntensityMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTurnStepDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTurnStepDetails.cpp new file mode 100644 index 00000000000..ba6578271af --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteTurnStepDetails.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteTurnStepDetails::RouteTurnStepDetails() : + m_intersectionHasBeenSet(false), + m_steeringDirection(RouteSteeringDirection::NOT_SET), + m_steeringDirectionHasBeenSet(false), + m_turnAngle(0.0), + m_turnAngleHasBeenSet(false), + m_turnIntensity(RouteTurnIntensity::NOT_SET), + m_turnIntensityHasBeenSet(false) +{ +} + +RouteTurnStepDetails::RouteTurnStepDetails(JsonView jsonValue) + : RouteTurnStepDetails() +{ + *this = jsonValue; +} + +RouteTurnStepDetails& RouteTurnStepDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsObject()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SteeringDirection")) + { + m_steeringDirection = RouteSteeringDirectionMapper::GetRouteSteeringDirectionForName(jsonValue.GetString("SteeringDirection")); + + m_steeringDirectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnAngle")) + { + m_turnAngle = jsonValue.GetDouble("TurnAngle"); + + m_turnAngleHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnIntensity")) + { + m_turnIntensity = RouteTurnIntensityMapper::GetRouteTurnIntensityForName(jsonValue.GetString("TurnIntensity")); + + m_turnIntensityHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteTurnStepDetails::Jsonize() const +{ + JsonValue payload; + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsObject(m_intersection[intersectionIndex].Jsonize()); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_steeringDirectionHasBeenSet) + { + payload.WithString("SteeringDirection", RouteSteeringDirectionMapper::GetNameForRouteSteeringDirection(m_steeringDirection)); + } + + if(m_turnAngleHasBeenSet) + { + payload.WithDouble("TurnAngle", m_turnAngle); + + } + + if(m_turnIntensityHasBeenSet) + { + payload.WithString("TurnIntensity", RouteTurnIntensityMapper::GetNameForRouteTurnIntensity(m_turnIntensity)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteUTurnStepDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteUTurnStepDetails.cpp new file mode 100644 index 00000000000..e8e1435f95a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteUTurnStepDetails.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteUTurnStepDetails::RouteUTurnStepDetails() : + m_intersectionHasBeenSet(false), + m_steeringDirection(RouteSteeringDirection::NOT_SET), + m_steeringDirectionHasBeenSet(false), + m_turnAngle(0.0), + m_turnAngleHasBeenSet(false), + m_turnIntensity(RouteTurnIntensity::NOT_SET), + m_turnIntensityHasBeenSet(false) +{ +} + +RouteUTurnStepDetails::RouteUTurnStepDetails(JsonView jsonValue) + : RouteUTurnStepDetails() +{ + *this = jsonValue; +} + +RouteUTurnStepDetails& RouteUTurnStepDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Intersection")) + { + Aws::Utils::Array intersectionJsonList = jsonValue.GetArray("Intersection"); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + m_intersection.push_back(intersectionJsonList[intersectionIndex].AsObject()); + } + m_intersectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SteeringDirection")) + { + m_steeringDirection = RouteSteeringDirectionMapper::GetRouteSteeringDirectionForName(jsonValue.GetString("SteeringDirection")); + + m_steeringDirectionHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnAngle")) + { + m_turnAngle = jsonValue.GetDouble("TurnAngle"); + + m_turnAngleHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnIntensity")) + { + m_turnIntensity = RouteTurnIntensityMapper::GetRouteTurnIntensityForName(jsonValue.GetString("TurnIntensity")); + + m_turnIntensityHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteUTurnStepDetails::Jsonize() const +{ + JsonValue payload; + + if(m_intersectionHasBeenSet) + { + Aws::Utils::Array intersectionJsonList(m_intersection.size()); + for(unsigned intersectionIndex = 0; intersectionIndex < intersectionJsonList.GetLength(); ++intersectionIndex) + { + intersectionJsonList[intersectionIndex].AsObject(m_intersection[intersectionIndex].Jsonize()); + } + payload.WithArray("Intersection", std::move(intersectionJsonList)); + + } + + if(m_steeringDirectionHasBeenSet) + { + payload.WithString("SteeringDirection", RouteSteeringDirectionMapper::GetNameForRouteSteeringDirection(m_steeringDirection)); + } + + if(m_turnAngleHasBeenSet) + { + payload.WithDouble("TurnAngle", m_turnAngle); + + } + + if(m_turnIntensityHasBeenSet) + { + payload.WithString("TurnIntensity", RouteTurnIntensityMapper::GetNameForRouteTurnIntensity(m_turnIntensity)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleArrival.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleArrival.cpp new file mode 100644 index 00000000000..a672938cc59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleArrival.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleArrival::RouteVehicleArrival() : + m_placeHasBeenSet(false), + m_timeHasBeenSet(false) +{ +} + +RouteVehicleArrival::RouteVehicleArrival(JsonView jsonValue) + : RouteVehicleArrival() +{ + *this = jsonValue; +} + +RouteVehicleArrival& RouteVehicleArrival::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Place")) + { + m_place = jsonValue.GetObject("Place"); + + m_placeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Time")) + { + m_time = jsonValue.GetString("Time"); + + m_timeHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleArrival::Jsonize() const +{ + JsonValue payload; + + if(m_placeHasBeenSet) + { + payload.WithObject("Place", m_place.Jsonize()); + + } + + if(m_timeHasBeenSet) + { + payload.WithString("Time", m_time); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleDeparture.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleDeparture.cpp new file mode 100644 index 00000000000..da3ecfdbfd4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleDeparture.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleDeparture::RouteVehicleDeparture() : + m_placeHasBeenSet(false), + m_timeHasBeenSet(false) +{ +} + +RouteVehicleDeparture::RouteVehicleDeparture(JsonView jsonValue) + : RouteVehicleDeparture() +{ + *this = jsonValue; +} + +RouteVehicleDeparture& RouteVehicleDeparture::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Place")) + { + m_place = jsonValue.GetObject("Place"); + + m_placeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Time")) + { + m_time = jsonValue.GetString("Time"); + + m_timeHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleDeparture::Jsonize() const +{ + JsonValue payload; + + if(m_placeHasBeenSet) + { + payload.WithObject("Place", m_place.Jsonize()); + + } + + if(m_timeHasBeenSet) + { + payload.WithString("Time", m_time); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleIncident.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleIncident.cpp new file mode 100644 index 00000000000..90d439e7b22 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleIncident.cpp @@ -0,0 +1,115 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleIncident::RouteVehicleIncident() : + m_descriptionHasBeenSet(false), + m_endTimeHasBeenSet(false), + m_severity(RouteVehicleIncidentSeverity::NOT_SET), + m_severityHasBeenSet(false), + m_startTimeHasBeenSet(false), + m_type(RouteVehicleIncidentType::NOT_SET), + m_typeHasBeenSet(false) +{ +} + +RouteVehicleIncident::RouteVehicleIncident(JsonView jsonValue) + : RouteVehicleIncident() +{ + *this = jsonValue; +} + +RouteVehicleIncident& RouteVehicleIncident::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Description")) + { + m_description = jsonValue.GetString("Description"); + + m_descriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("EndTime")) + { + m_endTime = jsonValue.GetString("EndTime"); + + m_endTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Severity")) + { + m_severity = RouteVehicleIncidentSeverityMapper::GetRouteVehicleIncidentSeverityForName(jsonValue.GetString("Severity")); + + m_severityHasBeenSet = true; + } + + if(jsonValue.ValueExists("StartTime")) + { + m_startTime = jsonValue.GetString("StartTime"); + + m_startTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = RouteVehicleIncidentTypeMapper::GetRouteVehicleIncidentTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleIncident::Jsonize() const +{ + JsonValue payload; + + if(m_descriptionHasBeenSet) + { + payload.WithString("Description", m_description); + + } + + if(m_endTimeHasBeenSet) + { + payload.WithString("EndTime", m_endTime); + + } + + if(m_severityHasBeenSet) + { + payload.WithString("Severity", RouteVehicleIncidentSeverityMapper::GetNameForRouteVehicleIncidentSeverity(m_severity)); + } + + if(m_startTimeHasBeenSet) + { + payload.WithString("StartTime", m_startTime); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", RouteVehicleIncidentTypeMapper::GetNameForRouteVehicleIncidentType(m_type)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleIncidentSeverity.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleIncidentSeverity.cpp new file mode 100644 index 00000000000..9873e36d147 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleIncidentSeverity.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteVehicleIncidentSeverityMapper + { + + static const int Critical_HASH = HashingUtils::HashString("Critical"); + static const int High_HASH = HashingUtils::HashString("High"); + static const int Medium_HASH = HashingUtils::HashString("Medium"); + static const int Low_HASH = HashingUtils::HashString("Low"); + + + RouteVehicleIncidentSeverity GetRouteVehicleIncidentSeverityForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Critical_HASH) + { + return RouteVehicleIncidentSeverity::Critical; + } + else if (hashCode == High_HASH) + { + return RouteVehicleIncidentSeverity::High; + } + else if (hashCode == Medium_HASH) + { + return RouteVehicleIncidentSeverity::Medium; + } + else if (hashCode == Low_HASH) + { + return RouteVehicleIncidentSeverity::Low; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteVehicleIncidentSeverity::NOT_SET; + } + + Aws::String GetNameForRouteVehicleIncidentSeverity(RouteVehicleIncidentSeverity enumValue) + { + switch(enumValue) + { + case RouteVehicleIncidentSeverity::NOT_SET: + return {}; + case RouteVehicleIncidentSeverity::Critical: + return "Critical"; + case RouteVehicleIncidentSeverity::High: + return "High"; + case RouteVehicleIncidentSeverity::Medium: + return "Medium"; + case RouteVehicleIncidentSeverity::Low: + return "Low"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteVehicleIncidentSeverityMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleIncidentType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleIncidentType.cpp new file mode 100644 index 00000000000..3a88ec0eb11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleIncidentType.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteVehicleIncidentTypeMapper + { + + static const int Accident_HASH = HashingUtils::HashString("Accident"); + static const int Congestion_HASH = HashingUtils::HashString("Congestion"); + static const int Construction_HASH = HashingUtils::HashString("Construction"); + static const int DisabledVehicle_HASH = HashingUtils::HashString("DisabledVehicle"); + static const int LaneRestriction_HASH = HashingUtils::HashString("LaneRestriction"); + static const int MassTransit_HASH = HashingUtils::HashString("MassTransit"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int PlannedEvent_HASH = HashingUtils::HashString("PlannedEvent"); + static const int RoadClosure_HASH = HashingUtils::HashString("RoadClosure"); + static const int RoadHazard_HASH = HashingUtils::HashString("RoadHazard"); + static const int Weather_HASH = HashingUtils::HashString("Weather"); + + + RouteVehicleIncidentType GetRouteVehicleIncidentTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Accident_HASH) + { + return RouteVehicleIncidentType::Accident; + } + else if (hashCode == Congestion_HASH) + { + return RouteVehicleIncidentType::Congestion; + } + else if (hashCode == Construction_HASH) + { + return RouteVehicleIncidentType::Construction; + } + else if (hashCode == DisabledVehicle_HASH) + { + return RouteVehicleIncidentType::DisabledVehicle; + } + else if (hashCode == LaneRestriction_HASH) + { + return RouteVehicleIncidentType::LaneRestriction; + } + else if (hashCode == MassTransit_HASH) + { + return RouteVehicleIncidentType::MassTransit; + } + else if (hashCode == Other_HASH) + { + return RouteVehicleIncidentType::Other; + } + else if (hashCode == PlannedEvent_HASH) + { + return RouteVehicleIncidentType::PlannedEvent; + } + else if (hashCode == RoadClosure_HASH) + { + return RouteVehicleIncidentType::RoadClosure; + } + else if (hashCode == RoadHazard_HASH) + { + return RouteVehicleIncidentType::RoadHazard; + } + else if (hashCode == Weather_HASH) + { + return RouteVehicleIncidentType::Weather; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteVehicleIncidentType::NOT_SET; + } + + Aws::String GetNameForRouteVehicleIncidentType(RouteVehicleIncidentType enumValue) + { + switch(enumValue) + { + case RouteVehicleIncidentType::NOT_SET: + return {}; + case RouteVehicleIncidentType::Accident: + return "Accident"; + case RouteVehicleIncidentType::Congestion: + return "Congestion"; + case RouteVehicleIncidentType::Construction: + return "Construction"; + case RouteVehicleIncidentType::DisabledVehicle: + return "DisabledVehicle"; + case RouteVehicleIncidentType::LaneRestriction: + return "LaneRestriction"; + case RouteVehicleIncidentType::MassTransit: + return "MassTransit"; + case RouteVehicleIncidentType::Other: + return "Other"; + case RouteVehicleIncidentType::PlannedEvent: + return "PlannedEvent"; + case RouteVehicleIncidentType::RoadClosure: + return "RoadClosure"; + case RouteVehicleIncidentType::RoadHazard: + return "RoadHazard"; + case RouteVehicleIncidentType::Weather: + return "Weather"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteVehicleIncidentTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleLegDetails.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleLegDetails.cpp new file mode 100644 index 00000000000..f408425a525 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleLegDetails.cpp @@ -0,0 +1,285 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleLegDetails::RouteVehicleLegDetails() : + m_arrivalHasBeenSet(false), + m_departureHasBeenSet(false), + m_incidentsHasBeenSet(false), + m_noticesHasBeenSet(false), + m_passThroughWaypointsHasBeenSet(false), + m_spansHasBeenSet(false), + m_summaryHasBeenSet(false), + m_tollsHasBeenSet(false), + m_tollSystemsHasBeenSet(false), + m_travelStepsHasBeenSet(false), + m_truckRoadTypesHasBeenSet(false), + m_zonesHasBeenSet(false) +{ +} + +RouteVehicleLegDetails::RouteVehicleLegDetails(JsonView jsonValue) + : RouteVehicleLegDetails() +{ + *this = jsonValue; +} + +RouteVehicleLegDetails& RouteVehicleLegDetails::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Arrival")) + { + m_arrival = jsonValue.GetObject("Arrival"); + + m_arrivalHasBeenSet = true; + } + + if(jsonValue.ValueExists("Departure")) + { + m_departure = jsonValue.GetObject("Departure"); + + m_departureHasBeenSet = true; + } + + if(jsonValue.ValueExists("Incidents")) + { + Aws::Utils::Array incidentsJsonList = jsonValue.GetArray("Incidents"); + for(unsigned incidentsIndex = 0; incidentsIndex < incidentsJsonList.GetLength(); ++incidentsIndex) + { + m_incidents.push_back(incidentsJsonList[incidentsIndex].AsObject()); + } + m_incidentsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Notices")) + { + Aws::Utils::Array noticesJsonList = jsonValue.GetArray("Notices"); + for(unsigned noticesIndex = 0; noticesIndex < noticesJsonList.GetLength(); ++noticesIndex) + { + m_notices.push_back(noticesJsonList[noticesIndex].AsObject()); + } + m_noticesHasBeenSet = true; + } + + if(jsonValue.ValueExists("PassThroughWaypoints")) + { + Aws::Utils::Array passThroughWaypointsJsonList = jsonValue.GetArray("PassThroughWaypoints"); + for(unsigned passThroughWaypointsIndex = 0; passThroughWaypointsIndex < passThroughWaypointsJsonList.GetLength(); ++passThroughWaypointsIndex) + { + m_passThroughWaypoints.push_back(passThroughWaypointsJsonList[passThroughWaypointsIndex].AsObject()); + } + m_passThroughWaypointsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Spans")) + { + Aws::Utils::Array spansJsonList = jsonValue.GetArray("Spans"); + for(unsigned spansIndex = 0; spansIndex < spansJsonList.GetLength(); ++spansIndex) + { + m_spans.push_back(spansJsonList[spansIndex].AsObject()); + } + m_spansHasBeenSet = true; + } + + if(jsonValue.ValueExists("Summary")) + { + m_summary = jsonValue.GetObject("Summary"); + + m_summaryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Tolls")) + { + Aws::Utils::Array tollsJsonList = jsonValue.GetArray("Tolls"); + for(unsigned tollsIndex = 0; tollsIndex < tollsJsonList.GetLength(); ++tollsIndex) + { + m_tolls.push_back(tollsJsonList[tollsIndex].AsObject()); + } + m_tollsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TollSystems")) + { + Aws::Utils::Array tollSystemsJsonList = jsonValue.GetArray("TollSystems"); + for(unsigned tollSystemsIndex = 0; tollSystemsIndex < tollSystemsJsonList.GetLength(); ++tollSystemsIndex) + { + m_tollSystems.push_back(tollSystemsJsonList[tollSystemsIndex].AsObject()); + } + m_tollSystemsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TravelSteps")) + { + Aws::Utils::Array travelStepsJsonList = jsonValue.GetArray("TravelSteps"); + for(unsigned travelStepsIndex = 0; travelStepsIndex < travelStepsJsonList.GetLength(); ++travelStepsIndex) + { + m_travelSteps.push_back(travelStepsJsonList[travelStepsIndex].AsObject()); + } + m_travelStepsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckRoadTypes")) + { + Aws::Utils::Array truckRoadTypesJsonList = jsonValue.GetArray("TruckRoadTypes"); + for(unsigned truckRoadTypesIndex = 0; truckRoadTypesIndex < truckRoadTypesJsonList.GetLength(); ++truckRoadTypesIndex) + { + m_truckRoadTypes.push_back(truckRoadTypesJsonList[truckRoadTypesIndex].AsString()); + } + m_truckRoadTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Zones")) + { + Aws::Utils::Array zonesJsonList = jsonValue.GetArray("Zones"); + for(unsigned zonesIndex = 0; zonesIndex < zonesJsonList.GetLength(); ++zonesIndex) + { + m_zones.push_back(zonesJsonList[zonesIndex].AsObject()); + } + m_zonesHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleLegDetails::Jsonize() const +{ + JsonValue payload; + + if(m_arrivalHasBeenSet) + { + payload.WithObject("Arrival", m_arrival.Jsonize()); + + } + + if(m_departureHasBeenSet) + { + payload.WithObject("Departure", m_departure.Jsonize()); + + } + + if(m_incidentsHasBeenSet) + { + Aws::Utils::Array incidentsJsonList(m_incidents.size()); + for(unsigned incidentsIndex = 0; incidentsIndex < incidentsJsonList.GetLength(); ++incidentsIndex) + { + incidentsJsonList[incidentsIndex].AsObject(m_incidents[incidentsIndex].Jsonize()); + } + payload.WithArray("Incidents", std::move(incidentsJsonList)); + + } + + if(m_noticesHasBeenSet) + { + Aws::Utils::Array noticesJsonList(m_notices.size()); + for(unsigned noticesIndex = 0; noticesIndex < noticesJsonList.GetLength(); ++noticesIndex) + { + noticesJsonList[noticesIndex].AsObject(m_notices[noticesIndex].Jsonize()); + } + payload.WithArray("Notices", std::move(noticesJsonList)); + + } + + if(m_passThroughWaypointsHasBeenSet) + { + Aws::Utils::Array passThroughWaypointsJsonList(m_passThroughWaypoints.size()); + for(unsigned passThroughWaypointsIndex = 0; passThroughWaypointsIndex < passThroughWaypointsJsonList.GetLength(); ++passThroughWaypointsIndex) + { + passThroughWaypointsJsonList[passThroughWaypointsIndex].AsObject(m_passThroughWaypoints[passThroughWaypointsIndex].Jsonize()); + } + payload.WithArray("PassThroughWaypoints", std::move(passThroughWaypointsJsonList)); + + } + + if(m_spansHasBeenSet) + { + Aws::Utils::Array spansJsonList(m_spans.size()); + for(unsigned spansIndex = 0; spansIndex < spansJsonList.GetLength(); ++spansIndex) + { + spansJsonList[spansIndex].AsObject(m_spans[spansIndex].Jsonize()); + } + payload.WithArray("Spans", std::move(spansJsonList)); + + } + + if(m_summaryHasBeenSet) + { + payload.WithObject("Summary", m_summary.Jsonize()); + + } + + if(m_tollsHasBeenSet) + { + Aws::Utils::Array tollsJsonList(m_tolls.size()); + for(unsigned tollsIndex = 0; tollsIndex < tollsJsonList.GetLength(); ++tollsIndex) + { + tollsJsonList[tollsIndex].AsObject(m_tolls[tollsIndex].Jsonize()); + } + payload.WithArray("Tolls", std::move(tollsJsonList)); + + } + + if(m_tollSystemsHasBeenSet) + { + Aws::Utils::Array tollSystemsJsonList(m_tollSystems.size()); + for(unsigned tollSystemsIndex = 0; tollSystemsIndex < tollSystemsJsonList.GetLength(); ++tollSystemsIndex) + { + tollSystemsJsonList[tollSystemsIndex].AsObject(m_tollSystems[tollSystemsIndex].Jsonize()); + } + payload.WithArray("TollSystems", std::move(tollSystemsJsonList)); + + } + + if(m_travelStepsHasBeenSet) + { + Aws::Utils::Array travelStepsJsonList(m_travelSteps.size()); + for(unsigned travelStepsIndex = 0; travelStepsIndex < travelStepsJsonList.GetLength(); ++travelStepsIndex) + { + travelStepsJsonList[travelStepsIndex].AsObject(m_travelSteps[travelStepsIndex].Jsonize()); + } + payload.WithArray("TravelSteps", std::move(travelStepsJsonList)); + + } + + if(m_truckRoadTypesHasBeenSet) + { + Aws::Utils::Array truckRoadTypesJsonList(m_truckRoadTypes.size()); + for(unsigned truckRoadTypesIndex = 0; truckRoadTypesIndex < truckRoadTypesJsonList.GetLength(); ++truckRoadTypesIndex) + { + truckRoadTypesJsonList[truckRoadTypesIndex].AsString(m_truckRoadTypes[truckRoadTypesIndex]); + } + payload.WithArray("TruckRoadTypes", std::move(truckRoadTypesJsonList)); + + } + + if(m_zonesHasBeenSet) + { + Aws::Utils::Array zonesJsonList(m_zones.size()); + for(unsigned zonesIndex = 0; zonesIndex < zonesJsonList.GetLength(); ++zonesIndex) + { + zonesJsonList[zonesIndex].AsObject(m_zones[zonesIndex].Jsonize()); + } + payload.WithArray("Zones", std::move(zonesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleLicensePlate.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleLicensePlate.cpp new file mode 100644 index 00000000000..367473b9e7d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleLicensePlate.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleLicensePlate::RouteVehicleLicensePlate() : + m_lastCharacterHasBeenSet(false) +{ +} + +RouteVehicleLicensePlate::RouteVehicleLicensePlate(JsonView jsonValue) + : RouteVehicleLicensePlate() +{ + *this = jsonValue; +} + +RouteVehicleLicensePlate& RouteVehicleLicensePlate::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LastCharacter")) + { + m_lastCharacter = jsonValue.GetString("LastCharacter"); + + m_lastCharacterHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleLicensePlate::Jsonize() const +{ + JsonValue payload; + + if(m_lastCharacterHasBeenSet) + { + payload.WithString("LastCharacter", m_lastCharacter); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleNotice.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleNotice.cpp new file mode 100644 index 00000000000..553d7787551 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleNotice.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleNotice::RouteVehicleNotice() : + m_code(RouteVehicleNoticeCode::NOT_SET), + m_codeHasBeenSet(false), + m_detailsHasBeenSet(false), + m_impact(RouteNoticeImpact::NOT_SET), + m_impactHasBeenSet(false) +{ +} + +RouteVehicleNotice::RouteVehicleNotice(JsonView jsonValue) + : RouteVehicleNotice() +{ + *this = jsonValue; +} + +RouteVehicleNotice& RouteVehicleNotice::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Code")) + { + m_code = RouteVehicleNoticeCodeMapper::GetRouteVehicleNoticeCodeForName(jsonValue.GetString("Code")); + + m_codeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Details")) + { + Aws::Utils::Array detailsJsonList = jsonValue.GetArray("Details"); + for(unsigned detailsIndex = 0; detailsIndex < detailsJsonList.GetLength(); ++detailsIndex) + { + m_details.push_back(detailsJsonList[detailsIndex].AsObject()); + } + m_detailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Impact")) + { + m_impact = RouteNoticeImpactMapper::GetRouteNoticeImpactForName(jsonValue.GetString("Impact")); + + m_impactHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleNotice::Jsonize() const +{ + JsonValue payload; + + if(m_codeHasBeenSet) + { + payload.WithString("Code", RouteVehicleNoticeCodeMapper::GetNameForRouteVehicleNoticeCode(m_code)); + } + + if(m_detailsHasBeenSet) + { + Aws::Utils::Array detailsJsonList(m_details.size()); + for(unsigned detailsIndex = 0; detailsIndex < detailsJsonList.GetLength(); ++detailsIndex) + { + detailsJsonList[detailsIndex].AsObject(m_details[detailsIndex].Jsonize()); + } + payload.WithArray("Details", std::move(detailsJsonList)); + + } + + if(m_impactHasBeenSet) + { + payload.WithString("Impact", RouteNoticeImpactMapper::GetNameForRouteNoticeImpact(m_impact)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleNoticeCode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleNoticeCode.cpp new file mode 100644 index 00000000000..fa07f0ca992 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleNoticeCode.cpp @@ -0,0 +1,247 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteVehicleNoticeCodeMapper + { + + static const int AccuratePolylineUnavailable_HASH = HashingUtils::HashString("AccuratePolylineUnavailable"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int PotentialViolatedAvoidTollRoadUsage_HASH = HashingUtils::HashString("PotentialViolatedAvoidTollRoadUsage"); + static const int PotentialViolatedCarpoolUsage_HASH = HashingUtils::HashString("PotentialViolatedCarpoolUsage"); + static const int PotentialViolatedTurnRestrictionUsage_HASH = HashingUtils::HashString("PotentialViolatedTurnRestrictionUsage"); + static const int PotentialViolatedVehicleRestrictionUsage_HASH = HashingUtils::HashString("PotentialViolatedVehicleRestrictionUsage"); + static const int PotentialViolatedZoneRestrictionUsage_HASH = HashingUtils::HashString("PotentialViolatedZoneRestrictionUsage"); + static const int SeasonalClosure_HASH = HashingUtils::HashString("SeasonalClosure"); + static const int TollsDataTemporarilyUnavailable_HASH = HashingUtils::HashString("TollsDataTemporarilyUnavailable"); + static const int TollsDataUnavailable_HASH = HashingUtils::HashString("TollsDataUnavailable"); + static const int TollTransponder_HASH = HashingUtils::HashString("TollTransponder"); + static const int ViolatedAvoidControlledAccessHighway_HASH = HashingUtils::HashString("ViolatedAvoidControlledAccessHighway"); + static const int ViolatedAvoidDifficultTurns_HASH = HashingUtils::HashString("ViolatedAvoidDifficultTurns"); + static const int ViolatedAvoidDirtRoad_HASH = HashingUtils::HashString("ViolatedAvoidDirtRoad"); + static const int ViolatedAvoidSeasonalClosure_HASH = HashingUtils::HashString("ViolatedAvoidSeasonalClosure"); + static const int ViolatedAvoidTollRoad_HASH = HashingUtils::HashString("ViolatedAvoidTollRoad"); + static const int ViolatedAvoidTollTransponder_HASH = HashingUtils::HashString("ViolatedAvoidTollTransponder"); + static const int ViolatedAvoidTruckRoadType_HASH = HashingUtils::HashString("ViolatedAvoidTruckRoadType"); + static const int ViolatedAvoidTunnel_HASH = HashingUtils::HashString("ViolatedAvoidTunnel"); + static const int ViolatedAvoidUTurns_HASH = HashingUtils::HashString("ViolatedAvoidUTurns"); + static const int ViolatedBlockedRoad_HASH = HashingUtils::HashString("ViolatedBlockedRoad"); + static const int ViolatedCarpool_HASH = HashingUtils::HashString("ViolatedCarpool"); + static const int ViolatedEmergencyGate_HASH = HashingUtils::HashString("ViolatedEmergencyGate"); + static const int ViolatedStartDirection_HASH = HashingUtils::HashString("ViolatedStartDirection"); + static const int ViolatedTurnRestriction_HASH = HashingUtils::HashString("ViolatedTurnRestriction"); + static const int ViolatedVehicleRestriction_HASH = HashingUtils::HashString("ViolatedVehicleRestriction"); + static const int ViolatedZoneRestriction_HASH = HashingUtils::HashString("ViolatedZoneRestriction"); + + + RouteVehicleNoticeCode GetRouteVehicleNoticeCodeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AccuratePolylineUnavailable_HASH) + { + return RouteVehicleNoticeCode::AccuratePolylineUnavailable; + } + else if (hashCode == Other_HASH) + { + return RouteVehicleNoticeCode::Other; + } + else if (hashCode == PotentialViolatedAvoidTollRoadUsage_HASH) + { + return RouteVehicleNoticeCode::PotentialViolatedAvoidTollRoadUsage; + } + else if (hashCode == PotentialViolatedCarpoolUsage_HASH) + { + return RouteVehicleNoticeCode::PotentialViolatedCarpoolUsage; + } + else if (hashCode == PotentialViolatedTurnRestrictionUsage_HASH) + { + return RouteVehicleNoticeCode::PotentialViolatedTurnRestrictionUsage; + } + else if (hashCode == PotentialViolatedVehicleRestrictionUsage_HASH) + { + return RouteVehicleNoticeCode::PotentialViolatedVehicleRestrictionUsage; + } + else if (hashCode == PotentialViolatedZoneRestrictionUsage_HASH) + { + return RouteVehicleNoticeCode::PotentialViolatedZoneRestrictionUsage; + } + else if (hashCode == SeasonalClosure_HASH) + { + return RouteVehicleNoticeCode::SeasonalClosure; + } + else if (hashCode == TollsDataTemporarilyUnavailable_HASH) + { + return RouteVehicleNoticeCode::TollsDataTemporarilyUnavailable; + } + else if (hashCode == TollsDataUnavailable_HASH) + { + return RouteVehicleNoticeCode::TollsDataUnavailable; + } + else if (hashCode == TollTransponder_HASH) + { + return RouteVehicleNoticeCode::TollTransponder; + } + else if (hashCode == ViolatedAvoidControlledAccessHighway_HASH) + { + return RouteVehicleNoticeCode::ViolatedAvoidControlledAccessHighway; + } + else if (hashCode == ViolatedAvoidDifficultTurns_HASH) + { + return RouteVehicleNoticeCode::ViolatedAvoidDifficultTurns; + } + else if (hashCode == ViolatedAvoidDirtRoad_HASH) + { + return RouteVehicleNoticeCode::ViolatedAvoidDirtRoad; + } + else if (hashCode == ViolatedAvoidSeasonalClosure_HASH) + { + return RouteVehicleNoticeCode::ViolatedAvoidSeasonalClosure; + } + else if (hashCode == ViolatedAvoidTollRoad_HASH) + { + return RouteVehicleNoticeCode::ViolatedAvoidTollRoad; + } + else if (hashCode == ViolatedAvoidTollTransponder_HASH) + { + return RouteVehicleNoticeCode::ViolatedAvoidTollTransponder; + } + else if (hashCode == ViolatedAvoidTruckRoadType_HASH) + { + return RouteVehicleNoticeCode::ViolatedAvoidTruckRoadType; + } + else if (hashCode == ViolatedAvoidTunnel_HASH) + { + return RouteVehicleNoticeCode::ViolatedAvoidTunnel; + } + else if (hashCode == ViolatedAvoidUTurns_HASH) + { + return RouteVehicleNoticeCode::ViolatedAvoidUTurns; + } + else if (hashCode == ViolatedBlockedRoad_HASH) + { + return RouteVehicleNoticeCode::ViolatedBlockedRoad; + } + else if (hashCode == ViolatedCarpool_HASH) + { + return RouteVehicleNoticeCode::ViolatedCarpool; + } + else if (hashCode == ViolatedEmergencyGate_HASH) + { + return RouteVehicleNoticeCode::ViolatedEmergencyGate; + } + else if (hashCode == ViolatedStartDirection_HASH) + { + return RouteVehicleNoticeCode::ViolatedStartDirection; + } + else if (hashCode == ViolatedTurnRestriction_HASH) + { + return RouteVehicleNoticeCode::ViolatedTurnRestriction; + } + else if (hashCode == ViolatedVehicleRestriction_HASH) + { + return RouteVehicleNoticeCode::ViolatedVehicleRestriction; + } + else if (hashCode == ViolatedZoneRestriction_HASH) + { + return RouteVehicleNoticeCode::ViolatedZoneRestriction; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteVehicleNoticeCode::NOT_SET; + } + + Aws::String GetNameForRouteVehicleNoticeCode(RouteVehicleNoticeCode enumValue) + { + switch(enumValue) + { + case RouteVehicleNoticeCode::NOT_SET: + return {}; + case RouteVehicleNoticeCode::AccuratePolylineUnavailable: + return "AccuratePolylineUnavailable"; + case RouteVehicleNoticeCode::Other: + return "Other"; + case RouteVehicleNoticeCode::PotentialViolatedAvoidTollRoadUsage: + return "PotentialViolatedAvoidTollRoadUsage"; + case RouteVehicleNoticeCode::PotentialViolatedCarpoolUsage: + return "PotentialViolatedCarpoolUsage"; + case RouteVehicleNoticeCode::PotentialViolatedTurnRestrictionUsage: + return "PotentialViolatedTurnRestrictionUsage"; + case RouteVehicleNoticeCode::PotentialViolatedVehicleRestrictionUsage: + return "PotentialViolatedVehicleRestrictionUsage"; + case RouteVehicleNoticeCode::PotentialViolatedZoneRestrictionUsage: + return "PotentialViolatedZoneRestrictionUsage"; + case RouteVehicleNoticeCode::SeasonalClosure: + return "SeasonalClosure"; + case RouteVehicleNoticeCode::TollsDataTemporarilyUnavailable: + return "TollsDataTemporarilyUnavailable"; + case RouteVehicleNoticeCode::TollsDataUnavailable: + return "TollsDataUnavailable"; + case RouteVehicleNoticeCode::TollTransponder: + return "TollTransponder"; + case RouteVehicleNoticeCode::ViolatedAvoidControlledAccessHighway: + return "ViolatedAvoidControlledAccessHighway"; + case RouteVehicleNoticeCode::ViolatedAvoidDifficultTurns: + return "ViolatedAvoidDifficultTurns"; + case RouteVehicleNoticeCode::ViolatedAvoidDirtRoad: + return "ViolatedAvoidDirtRoad"; + case RouteVehicleNoticeCode::ViolatedAvoidSeasonalClosure: + return "ViolatedAvoidSeasonalClosure"; + case RouteVehicleNoticeCode::ViolatedAvoidTollRoad: + return "ViolatedAvoidTollRoad"; + case RouteVehicleNoticeCode::ViolatedAvoidTollTransponder: + return "ViolatedAvoidTollTransponder"; + case RouteVehicleNoticeCode::ViolatedAvoidTruckRoadType: + return "ViolatedAvoidTruckRoadType"; + case RouteVehicleNoticeCode::ViolatedAvoidTunnel: + return "ViolatedAvoidTunnel"; + case RouteVehicleNoticeCode::ViolatedAvoidUTurns: + return "ViolatedAvoidUTurns"; + case RouteVehicleNoticeCode::ViolatedBlockedRoad: + return "ViolatedBlockedRoad"; + case RouteVehicleNoticeCode::ViolatedCarpool: + return "ViolatedCarpool"; + case RouteVehicleNoticeCode::ViolatedEmergencyGate: + return "ViolatedEmergencyGate"; + case RouteVehicleNoticeCode::ViolatedStartDirection: + return "ViolatedStartDirection"; + case RouteVehicleNoticeCode::ViolatedTurnRestriction: + return "ViolatedTurnRestriction"; + case RouteVehicleNoticeCode::ViolatedVehicleRestriction: + return "ViolatedVehicleRestriction"; + case RouteVehicleNoticeCode::ViolatedZoneRestriction: + return "ViolatedZoneRestriction"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteVehicleNoticeCodeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleNoticeDetail.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleNoticeDetail.cpp new file mode 100644 index 00000000000..e8d28fe5989 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleNoticeDetail.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleNoticeDetail::RouteVehicleNoticeDetail() : + m_titleHasBeenSet(false), + m_violatedConstraintsHasBeenSet(false) +{ +} + +RouteVehicleNoticeDetail::RouteVehicleNoticeDetail(JsonView jsonValue) + : RouteVehicleNoticeDetail() +{ + *this = jsonValue; +} + +RouteVehicleNoticeDetail& RouteVehicleNoticeDetail::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Title")) + { + m_title = jsonValue.GetString("Title"); + + m_titleHasBeenSet = true; + } + + if(jsonValue.ValueExists("ViolatedConstraints")) + { + m_violatedConstraints = jsonValue.GetObject("ViolatedConstraints"); + + m_violatedConstraintsHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleNoticeDetail::Jsonize() const +{ + JsonValue payload; + + if(m_titleHasBeenSet) + { + payload.WithString("Title", m_title); + + } + + if(m_violatedConstraintsHasBeenSet) + { + payload.WithObject("ViolatedConstraints", m_violatedConstraints.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleOverviewSummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleOverviewSummary.cpp new file mode 100644 index 00000000000..d937a54bb5f --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleOverviewSummary.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleOverviewSummary::RouteVehicleOverviewSummary() : + m_bestCaseDuration(0), + m_bestCaseDurationHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false), + m_typicalDuration(0), + m_typicalDurationHasBeenSet(false) +{ +} + +RouteVehicleOverviewSummary::RouteVehicleOverviewSummary(JsonView jsonValue) + : RouteVehicleOverviewSummary() +{ + *this = jsonValue; +} + +RouteVehicleOverviewSummary& RouteVehicleOverviewSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BestCaseDuration")) + { + m_bestCaseDuration = jsonValue.GetInt64("BestCaseDuration"); + + m_bestCaseDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("TypicalDuration")) + { + m_typicalDuration = jsonValue.GetInt64("TypicalDuration"); + + m_typicalDurationHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleOverviewSummary::Jsonize() const +{ + JsonValue payload; + + if(m_bestCaseDurationHasBeenSet) + { + payload.WithInt64("BestCaseDuration", m_bestCaseDuration); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_typicalDurationHasBeenSet) + { + payload.WithInt64("TypicalDuration", m_typicalDuration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehiclePlace.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehiclePlace.cpp new file mode 100644 index 00000000000..c72d304e566 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehiclePlace.cpp @@ -0,0 +1,132 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehiclePlace::RouteVehiclePlace() : + m_nameHasBeenSet(false), + m_originalPositionHasBeenSet(false), + m_positionHasBeenSet(false), + m_sideOfStreet(RouteSideOfStreet::NOT_SET), + m_sideOfStreetHasBeenSet(false), + m_waypointIndex(0), + m_waypointIndexHasBeenSet(false) +{ +} + +RouteVehiclePlace::RouteVehiclePlace(JsonView jsonValue) + : RouteVehiclePlace() +{ + *this = jsonValue; +} + +RouteVehiclePlace& RouteVehiclePlace::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("OriginalPosition")) + { + Aws::Utils::Array originalPositionJsonList = jsonValue.GetArray("OriginalPosition"); + for(unsigned originalPositionIndex = 0; originalPositionIndex < originalPositionJsonList.GetLength(); ++originalPositionIndex) + { + m_originalPosition.push_back(originalPositionJsonList[originalPositionIndex].AsDouble()); + } + m_originalPositionHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SideOfStreet")) + { + m_sideOfStreet = RouteSideOfStreetMapper::GetRouteSideOfStreetForName(jsonValue.GetString("SideOfStreet")); + + m_sideOfStreetHasBeenSet = true; + } + + if(jsonValue.ValueExists("WaypointIndex")) + { + m_waypointIndex = jsonValue.GetInteger("WaypointIndex"); + + m_waypointIndexHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehiclePlace::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_originalPositionHasBeenSet) + { + Aws::Utils::Array originalPositionJsonList(m_originalPosition.size()); + for(unsigned originalPositionIndex = 0; originalPositionIndex < originalPositionJsonList.GetLength(); ++originalPositionIndex) + { + originalPositionJsonList[originalPositionIndex].AsDouble(m_originalPosition[originalPositionIndex]); + } + payload.WithArray("OriginalPosition", std::move(originalPositionJsonList)); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_sideOfStreetHasBeenSet) + { + payload.WithString("SideOfStreet", RouteSideOfStreetMapper::GetNameForRouteSideOfStreet(m_sideOfStreet)); + } + + if(m_waypointIndexHasBeenSet) + { + payload.WithInteger("WaypointIndex", m_waypointIndex); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleSpan.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleSpan.cpp new file mode 100644 index 00000000000..a3616c5f417 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleSpan.cpp @@ -0,0 +1,461 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleSpan::RouteVehicleSpan() : + m_bestCaseDuration(0), + m_bestCaseDurationHasBeenSet(false), + m_carAccessHasBeenSet(false), + m_countryHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false), + m_dynamicSpeedHasBeenSet(false), + m_functionalClassification(0), + m_functionalClassificationHasBeenSet(false), + m_gate(RouteSpanGateAttribute::NOT_SET), + m_gateHasBeenSet(false), + m_geometryOffset(0), + m_geometryOffsetHasBeenSet(false), + m_incidentsHasBeenSet(false), + m_namesHasBeenSet(false), + m_noticesHasBeenSet(false), + m_railwayCrossing(RouteSpanRailwayCrossingAttribute::NOT_SET), + m_railwayCrossingHasBeenSet(false), + m_regionHasBeenSet(false), + m_roadAttributesHasBeenSet(false), + m_routeNumbersHasBeenSet(false), + m_scooterAccessHasBeenSet(false), + m_speedLimitHasBeenSet(false), + m_tollSystemsHasBeenSet(false), + m_truckAccessHasBeenSet(false), + m_truckRoadTypesHasBeenSet(false), + m_typicalDuration(0), + m_typicalDurationHasBeenSet(false), + m_zonesHasBeenSet(false) +{ +} + +RouteVehicleSpan::RouteVehicleSpan(JsonView jsonValue) + : RouteVehicleSpan() +{ + *this = jsonValue; +} + +RouteVehicleSpan& RouteVehicleSpan::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BestCaseDuration")) + { + m_bestCaseDuration = jsonValue.GetInt64("BestCaseDuration"); + + m_bestCaseDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("CarAccess")) + { + Aws::Utils::Array carAccessJsonList = jsonValue.GetArray("CarAccess"); + for(unsigned carAccessIndex = 0; carAccessIndex < carAccessJsonList.GetLength(); ++carAccessIndex) + { + m_carAccess.push_back(RouteSpanCarAccessAttributeMapper::GetRouteSpanCarAccessAttributeForName(carAccessJsonList[carAccessIndex].AsString())); + } + m_carAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("Country")) + { + m_country = jsonValue.GetString("Country"); + + m_countryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("DynamicSpeed")) + { + m_dynamicSpeed = jsonValue.GetObject("DynamicSpeed"); + + m_dynamicSpeedHasBeenSet = true; + } + + if(jsonValue.ValueExists("FunctionalClassification")) + { + m_functionalClassification = jsonValue.GetInteger("FunctionalClassification"); + + m_functionalClassificationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Gate")) + { + m_gate = RouteSpanGateAttributeMapper::GetRouteSpanGateAttributeForName(jsonValue.GetString("Gate")); + + m_gateHasBeenSet = true; + } + + if(jsonValue.ValueExists("GeometryOffset")) + { + m_geometryOffset = jsonValue.GetInteger("GeometryOffset"); + + m_geometryOffsetHasBeenSet = true; + } + + if(jsonValue.ValueExists("Incidents")) + { + Aws::Utils::Array incidentsJsonList = jsonValue.GetArray("Incidents"); + for(unsigned incidentsIndex = 0; incidentsIndex < incidentsJsonList.GetLength(); ++incidentsIndex) + { + m_incidents.push_back(incidentsJsonList[incidentsIndex].AsInteger()); + } + m_incidentsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Names")) + { + Aws::Utils::Array namesJsonList = jsonValue.GetArray("Names"); + for(unsigned namesIndex = 0; namesIndex < namesJsonList.GetLength(); ++namesIndex) + { + m_names.push_back(namesJsonList[namesIndex].AsObject()); + } + m_namesHasBeenSet = true; + } + + if(jsonValue.ValueExists("Notices")) + { + Aws::Utils::Array noticesJsonList = jsonValue.GetArray("Notices"); + for(unsigned noticesIndex = 0; noticesIndex < noticesJsonList.GetLength(); ++noticesIndex) + { + m_notices.push_back(noticesJsonList[noticesIndex].AsInteger()); + } + m_noticesHasBeenSet = true; + } + + if(jsonValue.ValueExists("RailwayCrossing")) + { + m_railwayCrossing = RouteSpanRailwayCrossingAttributeMapper::GetRouteSpanRailwayCrossingAttributeForName(jsonValue.GetString("RailwayCrossing")); + + m_railwayCrossingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Region")) + { + m_region = jsonValue.GetString("Region"); + + m_regionHasBeenSet = true; + } + + if(jsonValue.ValueExists("RoadAttributes")) + { + Aws::Utils::Array roadAttributesJsonList = jsonValue.GetArray("RoadAttributes"); + for(unsigned roadAttributesIndex = 0; roadAttributesIndex < roadAttributesJsonList.GetLength(); ++roadAttributesIndex) + { + m_roadAttributes.push_back(RouteSpanRoadAttributeMapper::GetRouteSpanRoadAttributeForName(roadAttributesJsonList[roadAttributesIndex].AsString())); + } + m_roadAttributesHasBeenSet = true; + } + + if(jsonValue.ValueExists("RouteNumbers")) + { + Aws::Utils::Array routeNumbersJsonList = jsonValue.GetArray("RouteNumbers"); + for(unsigned routeNumbersIndex = 0; routeNumbersIndex < routeNumbersJsonList.GetLength(); ++routeNumbersIndex) + { + m_routeNumbers.push_back(routeNumbersJsonList[routeNumbersIndex].AsObject()); + } + m_routeNumbersHasBeenSet = true; + } + + if(jsonValue.ValueExists("ScooterAccess")) + { + Aws::Utils::Array scooterAccessJsonList = jsonValue.GetArray("ScooterAccess"); + for(unsigned scooterAccessIndex = 0; scooterAccessIndex < scooterAccessJsonList.GetLength(); ++scooterAccessIndex) + { + m_scooterAccess.push_back(RouteSpanScooterAccessAttributeMapper::GetRouteSpanScooterAccessAttributeForName(scooterAccessJsonList[scooterAccessIndex].AsString())); + } + m_scooterAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("SpeedLimit")) + { + m_speedLimit = jsonValue.GetObject("SpeedLimit"); + + m_speedLimitHasBeenSet = true; + } + + if(jsonValue.ValueExists("TollSystems")) + { + Aws::Utils::Array tollSystemsJsonList = jsonValue.GetArray("TollSystems"); + for(unsigned tollSystemsIndex = 0; tollSystemsIndex < tollSystemsJsonList.GetLength(); ++tollSystemsIndex) + { + m_tollSystems.push_back(tollSystemsJsonList[tollSystemsIndex].AsInteger()); + } + m_tollSystemsHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckAccess")) + { + Aws::Utils::Array truckAccessJsonList = jsonValue.GetArray("TruckAccess"); + for(unsigned truckAccessIndex = 0; truckAccessIndex < truckAccessJsonList.GetLength(); ++truckAccessIndex) + { + m_truckAccess.push_back(RouteSpanTruckAccessAttributeMapper::GetRouteSpanTruckAccessAttributeForName(truckAccessJsonList[truckAccessIndex].AsString())); + } + m_truckAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckRoadTypes")) + { + Aws::Utils::Array truckRoadTypesJsonList = jsonValue.GetArray("TruckRoadTypes"); + for(unsigned truckRoadTypesIndex = 0; truckRoadTypesIndex < truckRoadTypesJsonList.GetLength(); ++truckRoadTypesIndex) + { + m_truckRoadTypes.push_back(truckRoadTypesJsonList[truckRoadTypesIndex].AsInteger()); + } + m_truckRoadTypesHasBeenSet = true; + } + + if(jsonValue.ValueExists("TypicalDuration")) + { + m_typicalDuration = jsonValue.GetInt64("TypicalDuration"); + + m_typicalDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Zones")) + { + Aws::Utils::Array zonesJsonList = jsonValue.GetArray("Zones"); + for(unsigned zonesIndex = 0; zonesIndex < zonesJsonList.GetLength(); ++zonesIndex) + { + m_zones.push_back(zonesJsonList[zonesIndex].AsInteger()); + } + m_zonesHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleSpan::Jsonize() const +{ + JsonValue payload; + + if(m_bestCaseDurationHasBeenSet) + { + payload.WithInt64("BestCaseDuration", m_bestCaseDuration); + + } + + if(m_carAccessHasBeenSet) + { + Aws::Utils::Array carAccessJsonList(m_carAccess.size()); + for(unsigned carAccessIndex = 0; carAccessIndex < carAccessJsonList.GetLength(); ++carAccessIndex) + { + carAccessJsonList[carAccessIndex].AsString(RouteSpanCarAccessAttributeMapper::GetNameForRouteSpanCarAccessAttribute(m_carAccess[carAccessIndex])); + } + payload.WithArray("CarAccess", std::move(carAccessJsonList)); + + } + + if(m_countryHasBeenSet) + { + payload.WithString("Country", m_country); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_dynamicSpeedHasBeenSet) + { + payload.WithObject("DynamicSpeed", m_dynamicSpeed.Jsonize()); + + } + + if(m_functionalClassificationHasBeenSet) + { + payload.WithInteger("FunctionalClassification", m_functionalClassification); + + } + + if(m_gateHasBeenSet) + { + payload.WithString("Gate", RouteSpanGateAttributeMapper::GetNameForRouteSpanGateAttribute(m_gate)); + } + + if(m_geometryOffsetHasBeenSet) + { + payload.WithInteger("GeometryOffset", m_geometryOffset); + + } + + if(m_incidentsHasBeenSet) + { + Aws::Utils::Array incidentsJsonList(m_incidents.size()); + for(unsigned incidentsIndex = 0; incidentsIndex < incidentsJsonList.GetLength(); ++incidentsIndex) + { + incidentsJsonList[incidentsIndex].AsInteger(m_incidents[incidentsIndex]); + } + payload.WithArray("Incidents", std::move(incidentsJsonList)); + + } + + if(m_namesHasBeenSet) + { + Aws::Utils::Array namesJsonList(m_names.size()); + for(unsigned namesIndex = 0; namesIndex < namesJsonList.GetLength(); ++namesIndex) + { + namesJsonList[namesIndex].AsObject(m_names[namesIndex].Jsonize()); + } + payload.WithArray("Names", std::move(namesJsonList)); + + } + + if(m_noticesHasBeenSet) + { + Aws::Utils::Array noticesJsonList(m_notices.size()); + for(unsigned noticesIndex = 0; noticesIndex < noticesJsonList.GetLength(); ++noticesIndex) + { + noticesJsonList[noticesIndex].AsInteger(m_notices[noticesIndex]); + } + payload.WithArray("Notices", std::move(noticesJsonList)); + + } + + if(m_railwayCrossingHasBeenSet) + { + payload.WithString("RailwayCrossing", RouteSpanRailwayCrossingAttributeMapper::GetNameForRouteSpanRailwayCrossingAttribute(m_railwayCrossing)); + } + + if(m_regionHasBeenSet) + { + payload.WithString("Region", m_region); + + } + + if(m_roadAttributesHasBeenSet) + { + Aws::Utils::Array roadAttributesJsonList(m_roadAttributes.size()); + for(unsigned roadAttributesIndex = 0; roadAttributesIndex < roadAttributesJsonList.GetLength(); ++roadAttributesIndex) + { + roadAttributesJsonList[roadAttributesIndex].AsString(RouteSpanRoadAttributeMapper::GetNameForRouteSpanRoadAttribute(m_roadAttributes[roadAttributesIndex])); + } + payload.WithArray("RoadAttributes", std::move(roadAttributesJsonList)); + + } + + if(m_routeNumbersHasBeenSet) + { + Aws::Utils::Array routeNumbersJsonList(m_routeNumbers.size()); + for(unsigned routeNumbersIndex = 0; routeNumbersIndex < routeNumbersJsonList.GetLength(); ++routeNumbersIndex) + { + routeNumbersJsonList[routeNumbersIndex].AsObject(m_routeNumbers[routeNumbersIndex].Jsonize()); + } + payload.WithArray("RouteNumbers", std::move(routeNumbersJsonList)); + + } + + if(m_scooterAccessHasBeenSet) + { + Aws::Utils::Array scooterAccessJsonList(m_scooterAccess.size()); + for(unsigned scooterAccessIndex = 0; scooterAccessIndex < scooterAccessJsonList.GetLength(); ++scooterAccessIndex) + { + scooterAccessJsonList[scooterAccessIndex].AsString(RouteSpanScooterAccessAttributeMapper::GetNameForRouteSpanScooterAccessAttribute(m_scooterAccess[scooterAccessIndex])); + } + payload.WithArray("ScooterAccess", std::move(scooterAccessJsonList)); + + } + + if(m_speedLimitHasBeenSet) + { + payload.WithObject("SpeedLimit", m_speedLimit.Jsonize()); + + } + + if(m_tollSystemsHasBeenSet) + { + Aws::Utils::Array tollSystemsJsonList(m_tollSystems.size()); + for(unsigned tollSystemsIndex = 0; tollSystemsIndex < tollSystemsJsonList.GetLength(); ++tollSystemsIndex) + { + tollSystemsJsonList[tollSystemsIndex].AsInteger(m_tollSystems[tollSystemsIndex]); + } + payload.WithArray("TollSystems", std::move(tollSystemsJsonList)); + + } + + if(m_truckAccessHasBeenSet) + { + Aws::Utils::Array truckAccessJsonList(m_truckAccess.size()); + for(unsigned truckAccessIndex = 0; truckAccessIndex < truckAccessJsonList.GetLength(); ++truckAccessIndex) + { + truckAccessJsonList[truckAccessIndex].AsString(RouteSpanTruckAccessAttributeMapper::GetNameForRouteSpanTruckAccessAttribute(m_truckAccess[truckAccessIndex])); + } + payload.WithArray("TruckAccess", std::move(truckAccessJsonList)); + + } + + if(m_truckRoadTypesHasBeenSet) + { + Aws::Utils::Array truckRoadTypesJsonList(m_truckRoadTypes.size()); + for(unsigned truckRoadTypesIndex = 0; truckRoadTypesIndex < truckRoadTypesJsonList.GetLength(); ++truckRoadTypesIndex) + { + truckRoadTypesJsonList[truckRoadTypesIndex].AsInteger(m_truckRoadTypes[truckRoadTypesIndex]); + } + payload.WithArray("TruckRoadTypes", std::move(truckRoadTypesJsonList)); + + } + + if(m_typicalDurationHasBeenSet) + { + payload.WithInt64("TypicalDuration", m_typicalDuration); + + } + + if(m_zonesHasBeenSet) + { + Aws::Utils::Array zonesJsonList(m_zones.size()); + for(unsigned zonesIndex = 0; zonesIndex < zonesJsonList.GetLength(); ++zonesIndex) + { + zonesJsonList[zonesIndex].AsInteger(m_zones[zonesIndex]); + } + payload.WithArray("Zones", std::move(zonesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleSummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleSummary.cpp new file mode 100644 index 00000000000..2b4c0eb7bd5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleSummary.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleSummary::RouteVehicleSummary() : + m_overviewHasBeenSet(false), + m_travelOnlyHasBeenSet(false) +{ +} + +RouteVehicleSummary::RouteVehicleSummary(JsonView jsonValue) + : RouteVehicleSummary() +{ + *this = jsonValue; +} + +RouteVehicleSummary& RouteVehicleSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Overview")) + { + m_overview = jsonValue.GetObject("Overview"); + + m_overviewHasBeenSet = true; + } + + if(jsonValue.ValueExists("TravelOnly")) + { + m_travelOnly = jsonValue.GetObject("TravelOnly"); + + m_travelOnlyHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleSummary::Jsonize() const +{ + JsonValue payload; + + if(m_overviewHasBeenSet) + { + payload.WithObject("Overview", m_overview.Jsonize()); + + } + + if(m_travelOnlyHasBeenSet) + { + payload.WithObject("TravelOnly", m_travelOnly.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleTravelOnlySummary.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleTravelOnlySummary.cpp new file mode 100644 index 00000000000..3057e75268b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleTravelOnlySummary.cpp @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleTravelOnlySummary::RouteVehicleTravelOnlySummary() : + m_bestCaseDuration(0), + m_bestCaseDurationHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false), + m_typicalDuration(0), + m_typicalDurationHasBeenSet(false) +{ +} + +RouteVehicleTravelOnlySummary::RouteVehicleTravelOnlySummary(JsonView jsonValue) + : RouteVehicleTravelOnlySummary() +{ + *this = jsonValue; +} + +RouteVehicleTravelOnlySummary& RouteVehicleTravelOnlySummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BestCaseDuration")) + { + m_bestCaseDuration = jsonValue.GetInt64("BestCaseDuration"); + + m_bestCaseDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("TypicalDuration")) + { + m_typicalDuration = jsonValue.GetInt64("TypicalDuration"); + + m_typicalDurationHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleTravelOnlySummary::Jsonize() const +{ + JsonValue payload; + + if(m_bestCaseDurationHasBeenSet) + { + payload.WithInt64("BestCaseDuration", m_bestCaseDuration); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_typicalDurationHasBeenSet) + { + payload.WithInt64("TypicalDuration", m_typicalDuration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleTravelStep.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleTravelStep.cpp new file mode 100644 index 00000000000..0a84e393efd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleTravelStep.cpp @@ -0,0 +1,336 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteVehicleTravelStep::RouteVehicleTravelStep() : + m_continueHighwayStepDetailsHasBeenSet(false), + m_continueStepDetailsHasBeenSet(false), + m_currentRoadHasBeenSet(false), + m_distance(0), + m_distanceHasBeenSet(false), + m_duration(0), + m_durationHasBeenSet(false), + m_enterHighwayStepDetailsHasBeenSet(false), + m_exitNumberHasBeenSet(false), + m_exitStepDetailsHasBeenSet(false), + m_geometryOffset(0), + m_geometryOffsetHasBeenSet(false), + m_instructionHasBeenSet(false), + m_keepStepDetailsHasBeenSet(false), + m_nextRoadHasBeenSet(false), + m_rampStepDetailsHasBeenSet(false), + m_roundaboutEnterStepDetailsHasBeenSet(false), + m_roundaboutExitStepDetailsHasBeenSet(false), + m_roundaboutPassStepDetailsHasBeenSet(false), + m_signpostHasBeenSet(false), + m_turnStepDetailsHasBeenSet(false), + m_type(RouteVehicleTravelStepType::NOT_SET), + m_typeHasBeenSet(false), + m_uTurnStepDetailsHasBeenSet(false) +{ +} + +RouteVehicleTravelStep::RouteVehicleTravelStep(JsonView jsonValue) + : RouteVehicleTravelStep() +{ + *this = jsonValue; +} + +RouteVehicleTravelStep& RouteVehicleTravelStep::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ContinueHighwayStepDetails")) + { + m_continueHighwayStepDetails = jsonValue.GetObject("ContinueHighwayStepDetails"); + + m_continueHighwayStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ContinueStepDetails")) + { + m_continueStepDetails = jsonValue.GetObject("ContinueStepDetails"); + + m_continueStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("CurrentRoad")) + { + m_currentRoad = jsonValue.GetObject("CurrentRoad"); + + m_currentRoadHasBeenSet = true; + } + + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("Duration")) + { + m_duration = jsonValue.GetInt64("Duration"); + + m_durationHasBeenSet = true; + } + + if(jsonValue.ValueExists("EnterHighwayStepDetails")) + { + m_enterHighwayStepDetails = jsonValue.GetObject("EnterHighwayStepDetails"); + + m_enterHighwayStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExitNumber")) + { + Aws::Utils::Array exitNumberJsonList = jsonValue.GetArray("ExitNumber"); + for(unsigned exitNumberIndex = 0; exitNumberIndex < exitNumberJsonList.GetLength(); ++exitNumberIndex) + { + m_exitNumber.push_back(exitNumberJsonList[exitNumberIndex].AsObject()); + } + m_exitNumberHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExitStepDetails")) + { + m_exitStepDetails = jsonValue.GetObject("ExitStepDetails"); + + m_exitStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("GeometryOffset")) + { + m_geometryOffset = jsonValue.GetInteger("GeometryOffset"); + + m_geometryOffsetHasBeenSet = true; + } + + if(jsonValue.ValueExists("Instruction")) + { + m_instruction = jsonValue.GetString("Instruction"); + + m_instructionHasBeenSet = true; + } + + if(jsonValue.ValueExists("KeepStepDetails")) + { + m_keepStepDetails = jsonValue.GetObject("KeepStepDetails"); + + m_keepStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("NextRoad")) + { + m_nextRoad = jsonValue.GetObject("NextRoad"); + + m_nextRoadHasBeenSet = true; + } + + if(jsonValue.ValueExists("RampStepDetails")) + { + m_rampStepDetails = jsonValue.GetObject("RampStepDetails"); + + m_rampStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("RoundaboutEnterStepDetails")) + { + m_roundaboutEnterStepDetails = jsonValue.GetObject("RoundaboutEnterStepDetails"); + + m_roundaboutEnterStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("RoundaboutExitStepDetails")) + { + m_roundaboutExitStepDetails = jsonValue.GetObject("RoundaboutExitStepDetails"); + + m_roundaboutExitStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("RoundaboutPassStepDetails")) + { + m_roundaboutPassStepDetails = jsonValue.GetObject("RoundaboutPassStepDetails"); + + m_roundaboutPassStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Signpost")) + { + m_signpost = jsonValue.GetObject("Signpost"); + + m_signpostHasBeenSet = true; + } + + if(jsonValue.ValueExists("TurnStepDetails")) + { + m_turnStepDetails = jsonValue.GetObject("TurnStepDetails"); + + m_turnStepDetailsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Type")) + { + m_type = RouteVehicleTravelStepTypeMapper::GetRouteVehicleTravelStepTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("UTurnStepDetails")) + { + m_uTurnStepDetails = jsonValue.GetObject("UTurnStepDetails"); + + m_uTurnStepDetailsHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteVehicleTravelStep::Jsonize() const +{ + JsonValue payload; + + if(m_continueHighwayStepDetailsHasBeenSet) + { + payload.WithObject("ContinueHighwayStepDetails", m_continueHighwayStepDetails.Jsonize()); + + } + + if(m_continueStepDetailsHasBeenSet) + { + payload.WithObject("ContinueStepDetails", m_continueStepDetails.Jsonize()); + + } + + if(m_currentRoadHasBeenSet) + { + payload.WithObject("CurrentRoad", m_currentRoad.Jsonize()); + + } + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_durationHasBeenSet) + { + payload.WithInt64("Duration", m_duration); + + } + + if(m_enterHighwayStepDetailsHasBeenSet) + { + payload.WithObject("EnterHighwayStepDetails", m_enterHighwayStepDetails.Jsonize()); + + } + + if(m_exitNumberHasBeenSet) + { + Aws::Utils::Array exitNumberJsonList(m_exitNumber.size()); + for(unsigned exitNumberIndex = 0; exitNumberIndex < exitNumberJsonList.GetLength(); ++exitNumberIndex) + { + exitNumberJsonList[exitNumberIndex].AsObject(m_exitNumber[exitNumberIndex].Jsonize()); + } + payload.WithArray("ExitNumber", std::move(exitNumberJsonList)); + + } + + if(m_exitStepDetailsHasBeenSet) + { + payload.WithObject("ExitStepDetails", m_exitStepDetails.Jsonize()); + + } + + if(m_geometryOffsetHasBeenSet) + { + payload.WithInteger("GeometryOffset", m_geometryOffset); + + } + + if(m_instructionHasBeenSet) + { + payload.WithString("Instruction", m_instruction); + + } + + if(m_keepStepDetailsHasBeenSet) + { + payload.WithObject("KeepStepDetails", m_keepStepDetails.Jsonize()); + + } + + if(m_nextRoadHasBeenSet) + { + payload.WithObject("NextRoad", m_nextRoad.Jsonize()); + + } + + if(m_rampStepDetailsHasBeenSet) + { + payload.WithObject("RampStepDetails", m_rampStepDetails.Jsonize()); + + } + + if(m_roundaboutEnterStepDetailsHasBeenSet) + { + payload.WithObject("RoundaboutEnterStepDetails", m_roundaboutEnterStepDetails.Jsonize()); + + } + + if(m_roundaboutExitStepDetailsHasBeenSet) + { + payload.WithObject("RoundaboutExitStepDetails", m_roundaboutExitStepDetails.Jsonize()); + + } + + if(m_roundaboutPassStepDetailsHasBeenSet) + { + payload.WithObject("RoundaboutPassStepDetails", m_roundaboutPassStepDetails.Jsonize()); + + } + + if(m_signpostHasBeenSet) + { + payload.WithObject("Signpost", m_signpost.Jsonize()); + + } + + if(m_turnStepDetailsHasBeenSet) + { + payload.WithObject("TurnStepDetails", m_turnStepDetails.Jsonize()); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("Type", RouteVehicleTravelStepTypeMapper::GetNameForRouteVehicleTravelStepType(m_type)); + } + + if(m_uTurnStepDetailsHasBeenSet) + { + payload.WithObject("UTurnStepDetails", m_uTurnStepDetails.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleTravelStepType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleTravelStepType.cpp new file mode 100644 index 00000000000..3acc661e046 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteVehicleTravelStepType.cpp @@ -0,0 +1,149 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteVehicleTravelStepTypeMapper + { + + static const int Arrive_HASH = HashingUtils::HashString("Arrive"); + static const int Continue_HASH = HashingUtils::HashString("Continue"); + static const int ContinueHighway_HASH = HashingUtils::HashString("ContinueHighway"); + static const int Depart_HASH = HashingUtils::HashString("Depart"); + static const int EnterHighway_HASH = HashingUtils::HashString("EnterHighway"); + static const int Exit_HASH = HashingUtils::HashString("Exit"); + static const int Keep_HASH = HashingUtils::HashString("Keep"); + static const int Ramp_HASH = HashingUtils::HashString("Ramp"); + static const int RoundaboutEnter_HASH = HashingUtils::HashString("RoundaboutEnter"); + static const int RoundaboutExit_HASH = HashingUtils::HashString("RoundaboutExit"); + static const int RoundaboutPass_HASH = HashingUtils::HashString("RoundaboutPass"); + static const int Turn_HASH = HashingUtils::HashString("Turn"); + static const int UTurn_HASH = HashingUtils::HashString("UTurn"); + + + RouteVehicleTravelStepType GetRouteVehicleTravelStepTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Arrive_HASH) + { + return RouteVehicleTravelStepType::Arrive; + } + else if (hashCode == Continue_HASH) + { + return RouteVehicleTravelStepType::Continue; + } + else if (hashCode == ContinueHighway_HASH) + { + return RouteVehicleTravelStepType::ContinueHighway; + } + else if (hashCode == Depart_HASH) + { + return RouteVehicleTravelStepType::Depart; + } + else if (hashCode == EnterHighway_HASH) + { + return RouteVehicleTravelStepType::EnterHighway; + } + else if (hashCode == Exit_HASH) + { + return RouteVehicleTravelStepType::Exit; + } + else if (hashCode == Keep_HASH) + { + return RouteVehicleTravelStepType::Keep; + } + else if (hashCode == Ramp_HASH) + { + return RouteVehicleTravelStepType::Ramp; + } + else if (hashCode == RoundaboutEnter_HASH) + { + return RouteVehicleTravelStepType::RoundaboutEnter; + } + else if (hashCode == RoundaboutExit_HASH) + { + return RouteVehicleTravelStepType::RoundaboutExit; + } + else if (hashCode == RoundaboutPass_HASH) + { + return RouteVehicleTravelStepType::RoundaboutPass; + } + else if (hashCode == Turn_HASH) + { + return RouteVehicleTravelStepType::Turn; + } + else if (hashCode == UTurn_HASH) + { + return RouteVehicleTravelStepType::UTurn; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteVehicleTravelStepType::NOT_SET; + } + + Aws::String GetNameForRouteVehicleTravelStepType(RouteVehicleTravelStepType enumValue) + { + switch(enumValue) + { + case RouteVehicleTravelStepType::NOT_SET: + return {}; + case RouteVehicleTravelStepType::Arrive: + return "Arrive"; + case RouteVehicleTravelStepType::Continue: + return "Continue"; + case RouteVehicleTravelStepType::ContinueHighway: + return "ContinueHighway"; + case RouteVehicleTravelStepType::Depart: + return "Depart"; + case RouteVehicleTravelStepType::EnterHighway: + return "EnterHighway"; + case RouteVehicleTravelStepType::Exit: + return "Exit"; + case RouteVehicleTravelStepType::Keep: + return "Keep"; + case RouteVehicleTravelStepType::Ramp: + return "Ramp"; + case RouteVehicleTravelStepType::RoundaboutEnter: + return "RoundaboutEnter"; + case RouteVehicleTravelStepType::RoundaboutExit: + return "RoundaboutExit"; + case RouteVehicleTravelStepType::RoundaboutPass: + return "RoundaboutPass"; + case RouteVehicleTravelStepType::Turn: + return "Turn"; + case RouteVehicleTravelStepType::UTurn: + return "UTurn"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteVehicleTravelStepTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteViolatedConstraints.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteViolatedConstraints.cpp new file mode 100644 index 00000000000..e1f9755752d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteViolatedConstraints.cpp @@ -0,0 +1,328 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteViolatedConstraints::RouteViolatedConstraints() : + m_allHazardsRestricted(false), + m_allHazardsRestrictedHasBeenSet(false), + m_axleCountHasBeenSet(false), + m_hazardousCargosHasBeenSet(false), + m_maxHeight(0), + m_maxHeightHasBeenSet(false), + m_maxKpraLength(0), + m_maxKpraLengthHasBeenSet(false), + m_maxLength(0), + m_maxLengthHasBeenSet(false), + m_maxPayloadCapacity(0), + m_maxPayloadCapacityHasBeenSet(false), + m_maxWeightHasBeenSet(false), + m_maxWeightPerAxle(0), + m_maxWeightPerAxleHasBeenSet(false), + m_maxWeightPerAxleGroupHasBeenSet(false), + m_maxWidth(0), + m_maxWidthHasBeenSet(false), + m_occupancyHasBeenSet(false), + m_restrictedTimesHasBeenSet(false), + m_timeDependent(false), + m_timeDependentHasBeenSet(false), + m_trailerCountHasBeenSet(false), + m_travelMode(false), + m_travelModeHasBeenSet(false), + m_truckRoadTypeHasBeenSet(false), + m_truckType(RouteTruckType::NOT_SET), + m_truckTypeHasBeenSet(false), + m_tunnelRestrictionCodeHasBeenSet(false) +{ +} + +RouteViolatedConstraints::RouteViolatedConstraints(JsonView jsonValue) + : RouteViolatedConstraints() +{ + *this = jsonValue; +} + +RouteViolatedConstraints& RouteViolatedConstraints::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AllHazardsRestricted")) + { + m_allHazardsRestricted = jsonValue.GetBool("AllHazardsRestricted"); + + m_allHazardsRestrictedHasBeenSet = true; + } + + if(jsonValue.ValueExists("AxleCount")) + { + m_axleCount = jsonValue.GetObject("AxleCount"); + + m_axleCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("HazardousCargos")) + { + Aws::Utils::Array hazardousCargosJsonList = jsonValue.GetArray("HazardousCargos"); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + m_hazardousCargos.push_back(RouteHazardousCargoTypeMapper::GetRouteHazardousCargoTypeForName(hazardousCargosJsonList[hazardousCargosIndex].AsString())); + } + m_hazardousCargosHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxHeight")) + { + m_maxHeight = jsonValue.GetInt64("MaxHeight"); + + m_maxHeightHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxKpraLength")) + { + m_maxKpraLength = jsonValue.GetInt64("MaxKpraLength"); + + m_maxKpraLengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxLength")) + { + m_maxLength = jsonValue.GetInt64("MaxLength"); + + m_maxLengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxPayloadCapacity")) + { + m_maxPayloadCapacity = jsonValue.GetInt64("MaxPayloadCapacity"); + + m_maxPayloadCapacityHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxWeight")) + { + m_maxWeight = jsonValue.GetObject("MaxWeight"); + + m_maxWeightHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxWeightPerAxle")) + { + m_maxWeightPerAxle = jsonValue.GetInt64("MaxWeightPerAxle"); + + m_maxWeightPerAxleHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxWeightPerAxleGroup")) + { + m_maxWeightPerAxleGroup = jsonValue.GetObject("MaxWeightPerAxleGroup"); + + m_maxWeightPerAxleGroupHasBeenSet = true; + } + + if(jsonValue.ValueExists("MaxWidth")) + { + m_maxWidth = jsonValue.GetInt64("MaxWidth"); + + m_maxWidthHasBeenSet = true; + } + + if(jsonValue.ValueExists("Occupancy")) + { + m_occupancy = jsonValue.GetObject("Occupancy"); + + m_occupancyHasBeenSet = true; + } + + if(jsonValue.ValueExists("RestrictedTimes")) + { + m_restrictedTimes = jsonValue.GetString("RestrictedTimes"); + + m_restrictedTimesHasBeenSet = true; + } + + if(jsonValue.ValueExists("TimeDependent")) + { + m_timeDependent = jsonValue.GetBool("TimeDependent"); + + m_timeDependentHasBeenSet = true; + } + + if(jsonValue.ValueExists("TrailerCount")) + { + m_trailerCount = jsonValue.GetObject("TrailerCount"); + + m_trailerCountHasBeenSet = true; + } + + if(jsonValue.ValueExists("TravelMode")) + { + m_travelMode = jsonValue.GetBool("TravelMode"); + + m_travelModeHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckRoadType")) + { + m_truckRoadType = jsonValue.GetString("TruckRoadType"); + + m_truckRoadTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckType")) + { + m_truckType = RouteTruckTypeMapper::GetRouteTruckTypeForName(jsonValue.GetString("TruckType")); + + m_truckTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("TunnelRestrictionCode")) + { + m_tunnelRestrictionCode = jsonValue.GetString("TunnelRestrictionCode"); + + m_tunnelRestrictionCodeHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteViolatedConstraints::Jsonize() const +{ + JsonValue payload; + + if(m_allHazardsRestrictedHasBeenSet) + { + payload.WithBool("AllHazardsRestricted", m_allHazardsRestricted); + + } + + if(m_axleCountHasBeenSet) + { + payload.WithObject("AxleCount", m_axleCount.Jsonize()); + + } + + if(m_hazardousCargosHasBeenSet) + { + Aws::Utils::Array hazardousCargosJsonList(m_hazardousCargos.size()); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + hazardousCargosJsonList[hazardousCargosIndex].AsString(RouteHazardousCargoTypeMapper::GetNameForRouteHazardousCargoType(m_hazardousCargos[hazardousCargosIndex])); + } + payload.WithArray("HazardousCargos", std::move(hazardousCargosJsonList)); + + } + + if(m_maxHeightHasBeenSet) + { + payload.WithInt64("MaxHeight", m_maxHeight); + + } + + if(m_maxKpraLengthHasBeenSet) + { + payload.WithInt64("MaxKpraLength", m_maxKpraLength); + + } + + if(m_maxLengthHasBeenSet) + { + payload.WithInt64("MaxLength", m_maxLength); + + } + + if(m_maxPayloadCapacityHasBeenSet) + { + payload.WithInt64("MaxPayloadCapacity", m_maxPayloadCapacity); + + } + + if(m_maxWeightHasBeenSet) + { + payload.WithObject("MaxWeight", m_maxWeight.Jsonize()); + + } + + if(m_maxWeightPerAxleHasBeenSet) + { + payload.WithInt64("MaxWeightPerAxle", m_maxWeightPerAxle); + + } + + if(m_maxWeightPerAxleGroupHasBeenSet) + { + payload.WithObject("MaxWeightPerAxleGroup", m_maxWeightPerAxleGroup.Jsonize()); + + } + + if(m_maxWidthHasBeenSet) + { + payload.WithInt64("MaxWidth", m_maxWidth); + + } + + if(m_occupancyHasBeenSet) + { + payload.WithObject("Occupancy", m_occupancy.Jsonize()); + + } + + if(m_restrictedTimesHasBeenSet) + { + payload.WithString("RestrictedTimes", m_restrictedTimes); + + } + + if(m_timeDependentHasBeenSet) + { + payload.WithBool("TimeDependent", m_timeDependent); + + } + + if(m_trailerCountHasBeenSet) + { + payload.WithObject("TrailerCount", m_trailerCount.Jsonize()); + + } + + if(m_travelModeHasBeenSet) + { + payload.WithBool("TravelMode", m_travelMode); + + } + + if(m_truckRoadTypeHasBeenSet) + { + payload.WithString("TruckRoadType", m_truckRoadType); + + } + + if(m_truckTypeHasBeenSet) + { + payload.WithString("TruckType", RouteTruckTypeMapper::GetNameForRouteTruckType(m_truckType)); + } + + if(m_tunnelRestrictionCodeHasBeenSet) + { + payload.WithString("TunnelRestrictionCode", m_tunnelRestrictionCode); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteWaypoint.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteWaypoint.cpp new file mode 100644 index 00000000000..13c39bb6752 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteWaypoint.cpp @@ -0,0 +1,170 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteWaypoint::RouteWaypoint() : + m_avoidActionsForDistance(0), + m_avoidActionsForDistanceHasBeenSet(false), + m_avoidUTurns(false), + m_avoidUTurnsHasBeenSet(false), + m_heading(0.0), + m_headingHasBeenSet(false), + m_matchingHasBeenSet(false), + m_passThrough(false), + m_passThroughHasBeenSet(false), + m_positionHasBeenSet(false), + m_sideOfStreetHasBeenSet(false), + m_stopDuration(0), + m_stopDurationHasBeenSet(false) +{ +} + +RouteWaypoint::RouteWaypoint(JsonView jsonValue) + : RouteWaypoint() +{ + *this = jsonValue; +} + +RouteWaypoint& RouteWaypoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AvoidActionsForDistance")) + { + m_avoidActionsForDistance = jsonValue.GetInt64("AvoidActionsForDistance"); + + m_avoidActionsForDistanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("AvoidUTurns")) + { + m_avoidUTurns = jsonValue.GetBool("AvoidUTurns"); + + m_avoidUTurnsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Heading")) + { + m_heading = jsonValue.GetDouble("Heading"); + + m_headingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Matching")) + { + m_matching = jsonValue.GetObject("Matching"); + + m_matchingHasBeenSet = true; + } + + if(jsonValue.ValueExists("PassThrough")) + { + m_passThrough = jsonValue.GetBool("PassThrough"); + + m_passThroughHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("SideOfStreet")) + { + m_sideOfStreet = jsonValue.GetObject("SideOfStreet"); + + m_sideOfStreetHasBeenSet = true; + } + + if(jsonValue.ValueExists("StopDuration")) + { + m_stopDuration = jsonValue.GetInt64("StopDuration"); + + m_stopDurationHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteWaypoint::Jsonize() const +{ + JsonValue payload; + + if(m_avoidActionsForDistanceHasBeenSet) + { + payload.WithInt64("AvoidActionsForDistance", m_avoidActionsForDistance); + + } + + if(m_avoidUTurnsHasBeenSet) + { + payload.WithBool("AvoidUTurns", m_avoidUTurns); + + } + + if(m_headingHasBeenSet) + { + payload.WithDouble("Heading", m_heading); + + } + + if(m_matchingHasBeenSet) + { + payload.WithObject("Matching", m_matching.Jsonize()); + + } + + if(m_passThroughHasBeenSet) + { + payload.WithBool("PassThrough", m_passThrough); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_sideOfStreetHasBeenSet) + { + payload.WithObject("SideOfStreet", m_sideOfStreet.Jsonize()); + + } + + if(m_stopDurationHasBeenSet) + { + payload.WithInt64("StopDuration", m_stopDuration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteWeightConstraint.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteWeightConstraint.cpp new file mode 100644 index 00000000000..6ebc230c48d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteWeightConstraint.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteWeightConstraint::RouteWeightConstraint() : + m_type(RouteWeightConstraintType::NOT_SET), + m_typeHasBeenSet(false), + m_value(0), + m_valueHasBeenSet(false) +{ +} + +RouteWeightConstraint::RouteWeightConstraint(JsonView jsonValue) + : RouteWeightConstraint() +{ + *this = jsonValue; +} + +RouteWeightConstraint& RouteWeightConstraint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Type")) + { + m_type = RouteWeightConstraintTypeMapper::GetRouteWeightConstraintTypeForName(jsonValue.GetString("Type")); + + m_typeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Value")) + { + m_value = jsonValue.GetInt64("Value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteWeightConstraint::Jsonize() const +{ + JsonValue payload; + + if(m_typeHasBeenSet) + { + payload.WithString("Type", RouteWeightConstraintTypeMapper::GetNameForRouteWeightConstraintType(m_type)); + } + + if(m_valueHasBeenSet) + { + payload.WithInt64("Value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteWeightConstraintType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteWeightConstraintType.cpp new file mode 100644 index 00000000000..6a41760f4de --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteWeightConstraintType.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteWeightConstraintTypeMapper + { + + static const int Current_HASH = HashingUtils::HashString("Current"); + static const int Gross_HASH = HashingUtils::HashString("Gross"); + static const int Unknown_HASH = HashingUtils::HashString("Unknown"); + + + RouteWeightConstraintType GetRouteWeightConstraintTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Current_HASH) + { + return RouteWeightConstraintType::Current; + } + else if (hashCode == Gross_HASH) + { + return RouteWeightConstraintType::Gross; + } + else if (hashCode == Unknown_HASH) + { + return RouteWeightConstraintType::Unknown; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteWeightConstraintType::NOT_SET; + } + + Aws::String GetNameForRouteWeightConstraintType(RouteWeightConstraintType enumValue) + { + switch(enumValue) + { + case RouteWeightConstraintType::NOT_SET: + return {}; + case RouteWeightConstraintType::Current: + return "Current"; + case RouteWeightConstraintType::Gross: + return "Gross"; + case RouteWeightConstraintType::Unknown: + return "Unknown"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteWeightConstraintTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteZone.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteZone.cpp new file mode 100644 index 00000000000..a801aacc32a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteZone.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +RouteZone::RouteZone() : + m_category(RouteZoneCategory::NOT_SET), + m_categoryHasBeenSet(false), + m_nameHasBeenSet(false) +{ +} + +RouteZone::RouteZone(JsonView jsonValue) + : RouteZone() +{ + *this = jsonValue; +} + +RouteZone& RouteZone::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Category")) + { + m_category = RouteZoneCategoryMapper::GetRouteZoneCategoryForName(jsonValue.GetString("Category")); + + m_categoryHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + return *this; +} + +JsonValue RouteZone::Jsonize() const +{ + JsonValue payload; + + if(m_categoryHasBeenSet) + { + payload.WithString("Category", RouteZoneCategoryMapper::GetNameForRouteZoneCategory(m_category)); + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteZoneCategory.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteZoneCategory.cpp new file mode 100644 index 00000000000..b5428e272ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RouteZoneCategory.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RouteZoneCategoryMapper + { + + static const int CongestionPricing_HASH = HashingUtils::HashString("CongestionPricing"); + static const int Environmental_HASH = HashingUtils::HashString("Environmental"); + static const int Vignette_HASH = HashingUtils::HashString("Vignette"); + + + RouteZoneCategory GetRouteZoneCategoryForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CongestionPricing_HASH) + { + return RouteZoneCategory::CongestionPricing; + } + else if (hashCode == Environmental_HASH) + { + return RouteZoneCategory::Environmental; + } + else if (hashCode == Vignette_HASH) + { + return RouteZoneCategory::Vignette; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RouteZoneCategory::NOT_SET; + } + + Aws::String GetNameForRouteZoneCategory(RouteZoneCategory enumValue) + { + switch(enumValue) + { + case RouteZoneCategory::NOT_SET: + return {}; + case RouteZoneCategory::CongestionPricing: + return "CongestionPricing"; + case RouteZoneCategory::Environmental: + return "Environmental"; + case RouteZoneCategory::Vignette: + return "Vignette"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RouteZoneCategoryMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutingObjective.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutingObjective.cpp new file mode 100644 index 00000000000..56a00e67191 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/RoutingObjective.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace RoutingObjectiveMapper + { + + static const int FastestRoute_HASH = HashingUtils::HashString("FastestRoute"); + static const int ShortestRoute_HASH = HashingUtils::HashString("ShortestRoute"); + + + RoutingObjective GetRoutingObjectiveForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FastestRoute_HASH) + { + return RoutingObjective::FastestRoute; + } + else if (hashCode == ShortestRoute_HASH) + { + return RoutingObjective::ShortestRoute; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RoutingObjective::NOT_SET; + } + + Aws::String GetNameForRoutingObjective(RoutingObjective enumValue) + { + switch(enumValue) + { + case RoutingObjective::NOT_SET: + return {}; + case RoutingObjective::FastestRoute: + return "FastestRoute"; + case RoutingObjective::ShortestRoute: + return "ShortestRoute"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RoutingObjectiveMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/SideOfStreetMatchingStrategy.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/SideOfStreetMatchingStrategy.cpp new file mode 100644 index 00000000000..178f5ea47b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/SideOfStreetMatchingStrategy.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace SideOfStreetMatchingStrategyMapper + { + + static const int AnyStreet_HASH = HashingUtils::HashString("AnyStreet"); + static const int DividedStreetOnly_HASH = HashingUtils::HashString("DividedStreetOnly"); + + + SideOfStreetMatchingStrategy GetSideOfStreetMatchingStrategyForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AnyStreet_HASH) + { + return SideOfStreetMatchingStrategy::AnyStreet; + } + else if (hashCode == DividedStreetOnly_HASH) + { + return SideOfStreetMatchingStrategy::DividedStreetOnly; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SideOfStreetMatchingStrategy::NOT_SET; + } + + Aws::String GetNameForSideOfStreetMatchingStrategy(SideOfStreetMatchingStrategy enumValue) + { + switch(enumValue) + { + case SideOfStreetMatchingStrategy::NOT_SET: + return {}; + case SideOfStreetMatchingStrategy::AnyStreet: + return "AnyStreet"; + case SideOfStreetMatchingStrategy::DividedStreetOnly: + return "DividedStreetOnly"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SideOfStreetMatchingStrategyMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/SnapToRoadsRequest.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/SnapToRoadsRequest.cpp new file mode 100644 index 00000000000..de13ce7f93a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/SnapToRoadsRequest.cpp @@ -0,0 +1,84 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::GeoRoutes::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +SnapToRoadsRequest::SnapToRoadsRequest() : + m_keyHasBeenSet(false), + m_snappedGeometryFormat(GeometryFormat::NOT_SET), + m_snappedGeometryFormatHasBeenSet(false), + m_snapRadius(0), + m_snapRadiusHasBeenSet(false), + m_tracePointsHasBeenSet(false), + m_travelMode(RoadSnapTravelMode::NOT_SET), + m_travelModeHasBeenSet(false), + m_travelModeOptionsHasBeenSet(false) +{ +} + +Aws::String SnapToRoadsRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_snappedGeometryFormatHasBeenSet) + { + payload.WithString("SnappedGeometryFormat", GeometryFormatMapper::GetNameForGeometryFormat(m_snappedGeometryFormat)); + } + + if(m_snapRadiusHasBeenSet) + { + payload.WithInt64("SnapRadius", m_snapRadius); + + } + + if(m_tracePointsHasBeenSet) + { + Aws::Utils::Array tracePointsJsonList(m_tracePoints.size()); + for(unsigned tracePointsIndex = 0; tracePointsIndex < tracePointsJsonList.GetLength(); ++tracePointsIndex) + { + tracePointsJsonList[tracePointsIndex].AsObject(m_tracePoints[tracePointsIndex].Jsonize()); + } + payload.WithArray("TracePoints", std::move(tracePointsJsonList)); + + } + + if(m_travelModeHasBeenSet) + { + payload.WithString("TravelMode", RoadSnapTravelModeMapper::GetNameForRoadSnapTravelMode(m_travelMode)); + } + + if(m_travelModeOptionsHasBeenSet) + { + payload.WithObject("TravelModeOptions", m_travelModeOptions.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +void SnapToRoadsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_keyHasBeenSet) + { + ss << m_key; + uri.AddQueryStringParameter("key", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/SnapToRoadsResult.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/SnapToRoadsResult.cpp new file mode 100644 index 00000000000..492e129b1fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/SnapToRoadsResult.cpp @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::GeoRoutes::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +SnapToRoadsResult::SnapToRoadsResult() : + m_snappedGeometryFormat(GeometryFormat::NOT_SET) +{ +} + +SnapToRoadsResult::SnapToRoadsResult(const Aws::AmazonWebServiceResult& result) + : SnapToRoadsResult() +{ + *this = result; +} + +SnapToRoadsResult& SnapToRoadsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("Notices")) + { + Aws::Utils::Array noticesJsonList = jsonValue.GetArray("Notices"); + for(unsigned noticesIndex = 0; noticesIndex < noticesJsonList.GetLength(); ++noticesIndex) + { + m_notices.push_back(noticesJsonList[noticesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("SnappedGeometry")) + { + m_snappedGeometry = jsonValue.GetObject("SnappedGeometry"); + + } + + if(jsonValue.ValueExists("SnappedGeometryFormat")) + { + m_snappedGeometryFormat = GeometryFormatMapper::GetGeometryFormatForName(jsonValue.GetString("SnappedGeometryFormat")); + + } + + if(jsonValue.ValueExists("SnappedTracePoints")) + { + Aws::Utils::Array snappedTracePointsJsonList = jsonValue.GetArray("SnappedTracePoints"); + for(unsigned snappedTracePointsIndex = 0; snappedTracePointsIndex < snappedTracePointsJsonList.GetLength(); ++snappedTracePointsIndex) + { + m_snappedTracePoints.push_back(snappedTracePointsJsonList[snappedTracePointsIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& pricingBucketIter = headers.find("x-amz-geo-pricing-bucket"); + if(pricingBucketIter != headers.end()) + { + m_pricingBucket = pricingBucketIter->second; + } + + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/TrafficUsage.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/TrafficUsage.cpp new file mode 100644 index 00000000000..3a84b2d7975 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/TrafficUsage.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace TrafficUsageMapper + { + + static const int IgnoreTrafficData_HASH = HashingUtils::HashString("IgnoreTrafficData"); + static const int UseTrafficData_HASH = HashingUtils::HashString("UseTrafficData"); + + + TrafficUsage GetTrafficUsageForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IgnoreTrafficData_HASH) + { + return TrafficUsage::IgnoreTrafficData; + } + else if (hashCode == UseTrafficData_HASH) + { + return TrafficUsage::UseTrafficData; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TrafficUsage::NOT_SET; + } + + Aws::String GetNameForTrafficUsage(TrafficUsage enumValue) + { + switch(enumValue) + { + case TrafficUsage::NOT_SET: + return {}; + case TrafficUsage::IgnoreTrafficData: + return "IgnoreTrafficData"; + case TrafficUsage::UseTrafficData: + return "UseTrafficData"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TrafficUsageMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/ValidationException.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/ValidationException.cpp new file mode 100644 index 00000000000..1c7dd01d12b --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/ValidationException.cpp @@ -0,0 +1,95 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +ValidationException::ValidationException() : + m_messageHasBeenSet(false), + m_reason(ValidationExceptionReason::NOT_SET), + m_reasonHasBeenSet(false), + m_fieldListHasBeenSet(false) +{ +} + +ValidationException::ValidationException(JsonView jsonValue) + : ValidationException() +{ + *this = jsonValue; +} + +ValidationException& ValidationException::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + if(jsonValue.ValueExists("reason")) + { + m_reason = ValidationExceptionReasonMapper::GetValidationExceptionReasonForName(jsonValue.GetString("reason")); + + m_reasonHasBeenSet = true; + } + + if(jsonValue.ValueExists("fieldList")) + { + Aws::Utils::Array fieldListJsonList = jsonValue.GetArray("fieldList"); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + m_fieldList.push_back(fieldListJsonList[fieldListIndex].AsObject()); + } + m_fieldListHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationException::Jsonize() const +{ + JsonValue payload; + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + if(m_reasonHasBeenSet) + { + payload.WithString("reason", ValidationExceptionReasonMapper::GetNameForValidationExceptionReason(m_reason)); + } + + if(m_fieldListHasBeenSet) + { + Aws::Utils::Array fieldListJsonList(m_fieldList.size()); + for(unsigned fieldListIndex = 0; fieldListIndex < fieldListJsonList.GetLength(); ++fieldListIndex) + { + fieldListJsonList[fieldListIndex].AsObject(m_fieldList[fieldListIndex].Jsonize()); + } + payload.WithArray("fieldList", std::move(fieldListJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/ValidationExceptionField.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/ValidationExceptionField.cpp new file mode 100644 index 00000000000..30cdc002a8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/ValidationExceptionField.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +ValidationExceptionField::ValidationExceptionField() : + m_nameHasBeenSet(false), + m_messageHasBeenSet(false) +{ +} + +ValidationExceptionField::ValidationExceptionField(JsonView jsonValue) + : ValidationExceptionField() +{ + *this = jsonValue; +} + +ValidationExceptionField& ValidationExceptionField::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("message")) + { + m_message = jsonValue.GetString("message"); + + m_messageHasBeenSet = true; + } + + return *this; +} + +JsonValue ValidationExceptionField::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_messageHasBeenSet) + { + payload.WithString("message", m_message); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/ValidationExceptionReason.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/ValidationExceptionReason.cpp new file mode 100644 index 00000000000..dc4c131228e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/ValidationExceptionReason.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace ValidationExceptionReasonMapper + { + + static const int UnknownOperation_HASH = HashingUtils::HashString("UnknownOperation"); + static const int Missing_HASH = HashingUtils::HashString("Missing"); + static const int CannotParse_HASH = HashingUtils::HashString("CannotParse"); + static const int FieldValidationFailed_HASH = HashingUtils::HashString("FieldValidationFailed"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int UnknownField_HASH = HashingUtils::HashString("UnknownField"); + + + ValidationExceptionReason GetValidationExceptionReasonForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == UnknownOperation_HASH) + { + return ValidationExceptionReason::UnknownOperation; + } + else if (hashCode == Missing_HASH) + { + return ValidationExceptionReason::Missing; + } + else if (hashCode == CannotParse_HASH) + { + return ValidationExceptionReason::CannotParse; + } + else if (hashCode == FieldValidationFailed_HASH) + { + return ValidationExceptionReason::FieldValidationFailed; + } + else if (hashCode == Other_HASH) + { + return ValidationExceptionReason::Other; + } + else if (hashCode == UnknownField_HASH) + { + return ValidationExceptionReason::UnknownField; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ValidationExceptionReason::NOT_SET; + } + + Aws::String GetNameForValidationExceptionReason(ValidationExceptionReason enumValue) + { + switch(enumValue) + { + case ValidationExceptionReason::NOT_SET: + return {}; + case ValidationExceptionReason::UnknownOperation: + return "UnknownOperation"; + case ValidationExceptionReason::Missing: + return "Missing"; + case ValidationExceptionReason::CannotParse: + return "CannotParse"; + case ValidationExceptionReason::FieldValidationFailed: + return "FieldValidationFailed"; + case ValidationExceptionReason::Other: + return "Other"; + case ValidationExceptionReason::UnknownField: + return "UnknownField"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ValidationExceptionReasonMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAccessHours.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAccessHours.cpp new file mode 100644 index 00000000000..ad13729bc85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAccessHours.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationAccessHours::WaypointOptimizationAccessHours() : + m_fromHasBeenSet(false), + m_toHasBeenSet(false) +{ +} + +WaypointOptimizationAccessHours::WaypointOptimizationAccessHours(JsonView jsonValue) + : WaypointOptimizationAccessHours() +{ + *this = jsonValue; +} + +WaypointOptimizationAccessHours& WaypointOptimizationAccessHours::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("From")) + { + m_from = jsonValue.GetObject("From"); + + m_fromHasBeenSet = true; + } + + if(jsonValue.ValueExists("To")) + { + m_to = jsonValue.GetObject("To"); + + m_toHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationAccessHours::Jsonize() const +{ + JsonValue payload; + + if(m_fromHasBeenSet) + { + payload.WithObject("From", m_from.Jsonize()); + + } + + if(m_toHasBeenSet) + { + payload.WithObject("To", m_to.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAccessHoursEntry.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAccessHoursEntry.cpp new file mode 100644 index 00000000000..3f2c881b592 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAccessHoursEntry.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationAccessHoursEntry::WaypointOptimizationAccessHoursEntry() : + m_dayOfWeek(DayOfWeek::NOT_SET), + m_dayOfWeekHasBeenSet(false), + m_timeOfDayHasBeenSet(false) +{ +} + +WaypointOptimizationAccessHoursEntry::WaypointOptimizationAccessHoursEntry(JsonView jsonValue) + : WaypointOptimizationAccessHoursEntry() +{ + *this = jsonValue; +} + +WaypointOptimizationAccessHoursEntry& WaypointOptimizationAccessHoursEntry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("DayOfWeek")) + { + m_dayOfWeek = DayOfWeekMapper::GetDayOfWeekForName(jsonValue.GetString("DayOfWeek")); + + m_dayOfWeekHasBeenSet = true; + } + + if(jsonValue.ValueExists("TimeOfDay")) + { + m_timeOfDay = jsonValue.GetString("TimeOfDay"); + + m_timeOfDayHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationAccessHoursEntry::Jsonize() const +{ + JsonValue payload; + + if(m_dayOfWeekHasBeenSet) + { + payload.WithString("DayOfWeek", DayOfWeekMapper::GetNameForDayOfWeek(m_dayOfWeek)); + } + + if(m_timeOfDayHasBeenSet) + { + payload.WithString("TimeOfDay", m_timeOfDay); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAvoidanceArea.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAvoidanceArea.cpp new file mode 100644 index 00000000000..1d7406a2ed7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAvoidanceArea.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationAvoidanceArea::WaypointOptimizationAvoidanceArea() : + m_geometryHasBeenSet(false) +{ +} + +WaypointOptimizationAvoidanceArea::WaypointOptimizationAvoidanceArea(JsonView jsonValue) + : WaypointOptimizationAvoidanceArea() +{ + *this = jsonValue; +} + +WaypointOptimizationAvoidanceArea& WaypointOptimizationAvoidanceArea::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Geometry")) + { + m_geometry = jsonValue.GetObject("Geometry"); + + m_geometryHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationAvoidanceArea::Jsonize() const +{ + JsonValue payload; + + if(m_geometryHasBeenSet) + { + payload.WithObject("Geometry", m_geometry.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAvoidanceAreaGeometry.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAvoidanceAreaGeometry.cpp new file mode 100644 index 00000000000..7b4706a4779 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAvoidanceAreaGeometry.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationAvoidanceAreaGeometry::WaypointOptimizationAvoidanceAreaGeometry() : + m_boundingBoxHasBeenSet(false) +{ +} + +WaypointOptimizationAvoidanceAreaGeometry::WaypointOptimizationAvoidanceAreaGeometry(JsonView jsonValue) + : WaypointOptimizationAvoidanceAreaGeometry() +{ + *this = jsonValue; +} + +WaypointOptimizationAvoidanceAreaGeometry& WaypointOptimizationAvoidanceAreaGeometry::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("BoundingBox")) + { + Aws::Utils::Array boundingBoxJsonList = jsonValue.GetArray("BoundingBox"); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + m_boundingBox.push_back(boundingBoxJsonList[boundingBoxIndex].AsDouble()); + } + m_boundingBoxHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationAvoidanceAreaGeometry::Jsonize() const +{ + JsonValue payload; + + if(m_boundingBoxHasBeenSet) + { + Aws::Utils::Array boundingBoxJsonList(m_boundingBox.size()); + for(unsigned boundingBoxIndex = 0; boundingBoxIndex < boundingBoxJsonList.GetLength(); ++boundingBoxIndex) + { + boundingBoxJsonList[boundingBoxIndex].AsDouble(m_boundingBox[boundingBoxIndex]); + } + payload.WithArray("BoundingBox", std::move(boundingBoxJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAvoidanceOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAvoidanceOptions.cpp new file mode 100644 index 00000000000..f16c06e7cf6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationAvoidanceOptions.cpp @@ -0,0 +1,172 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationAvoidanceOptions::WaypointOptimizationAvoidanceOptions() : + m_areasHasBeenSet(false), + m_carShuttleTrains(false), + m_carShuttleTrainsHasBeenSet(false), + m_controlledAccessHighways(false), + m_controlledAccessHighwaysHasBeenSet(false), + m_dirtRoads(false), + m_dirtRoadsHasBeenSet(false), + m_ferries(false), + m_ferriesHasBeenSet(false), + m_tollRoads(false), + m_tollRoadsHasBeenSet(false), + m_tunnels(false), + m_tunnelsHasBeenSet(false), + m_uTurns(false), + m_uTurnsHasBeenSet(false) +{ +} + +WaypointOptimizationAvoidanceOptions::WaypointOptimizationAvoidanceOptions(JsonView jsonValue) + : WaypointOptimizationAvoidanceOptions() +{ + *this = jsonValue; +} + +WaypointOptimizationAvoidanceOptions& WaypointOptimizationAvoidanceOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Areas")) + { + Aws::Utils::Array areasJsonList = jsonValue.GetArray("Areas"); + for(unsigned areasIndex = 0; areasIndex < areasJsonList.GetLength(); ++areasIndex) + { + m_areas.push_back(areasJsonList[areasIndex].AsObject()); + } + m_areasHasBeenSet = true; + } + + if(jsonValue.ValueExists("CarShuttleTrains")) + { + m_carShuttleTrains = jsonValue.GetBool("CarShuttleTrains"); + + m_carShuttleTrainsHasBeenSet = true; + } + + if(jsonValue.ValueExists("ControlledAccessHighways")) + { + m_controlledAccessHighways = jsonValue.GetBool("ControlledAccessHighways"); + + m_controlledAccessHighwaysHasBeenSet = true; + } + + if(jsonValue.ValueExists("DirtRoads")) + { + m_dirtRoads = jsonValue.GetBool("DirtRoads"); + + m_dirtRoadsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Ferries")) + { + m_ferries = jsonValue.GetBool("Ferries"); + + m_ferriesHasBeenSet = true; + } + + if(jsonValue.ValueExists("TollRoads")) + { + m_tollRoads = jsonValue.GetBool("TollRoads"); + + m_tollRoadsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Tunnels")) + { + m_tunnels = jsonValue.GetBool("Tunnels"); + + m_tunnelsHasBeenSet = true; + } + + if(jsonValue.ValueExists("UTurns")) + { + m_uTurns = jsonValue.GetBool("UTurns"); + + m_uTurnsHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationAvoidanceOptions::Jsonize() const +{ + JsonValue payload; + + if(m_areasHasBeenSet) + { + Aws::Utils::Array areasJsonList(m_areas.size()); + for(unsigned areasIndex = 0; areasIndex < areasJsonList.GetLength(); ++areasIndex) + { + areasJsonList[areasIndex].AsObject(m_areas[areasIndex].Jsonize()); + } + payload.WithArray("Areas", std::move(areasJsonList)); + + } + + if(m_carShuttleTrainsHasBeenSet) + { + payload.WithBool("CarShuttleTrains", m_carShuttleTrains); + + } + + if(m_controlledAccessHighwaysHasBeenSet) + { + payload.WithBool("ControlledAccessHighways", m_controlledAccessHighways); + + } + + if(m_dirtRoadsHasBeenSet) + { + payload.WithBool("DirtRoads", m_dirtRoads); + + } + + if(m_ferriesHasBeenSet) + { + payload.WithBool("Ferries", m_ferries); + + } + + if(m_tollRoadsHasBeenSet) + { + payload.WithBool("TollRoads", m_tollRoads); + + } + + if(m_tunnelsHasBeenSet) + { + payload.WithBool("Tunnels", m_tunnels); + + } + + if(m_uTurnsHasBeenSet) + { + payload.WithBool("UTurns", m_uTurns); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationConnection.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationConnection.cpp new file mode 100644 index 00000000000..663ddd6942d --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationConnection.cpp @@ -0,0 +1,133 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationConnection::WaypointOptimizationConnection() : + m_distance(0), + m_distanceHasBeenSet(false), + m_fromHasBeenSet(false), + m_restDuration(0), + m_restDurationHasBeenSet(false), + m_toHasBeenSet(false), + m_travelDuration(0), + m_travelDurationHasBeenSet(false), + m_waitDuration(0), + m_waitDurationHasBeenSet(false) +{ +} + +WaypointOptimizationConnection::WaypointOptimizationConnection(JsonView jsonValue) + : WaypointOptimizationConnection() +{ + *this = jsonValue; +} + +WaypointOptimizationConnection& WaypointOptimizationConnection::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Distance")) + { + m_distance = jsonValue.GetInt64("Distance"); + + m_distanceHasBeenSet = true; + } + + if(jsonValue.ValueExists("From")) + { + m_from = jsonValue.GetString("From"); + + m_fromHasBeenSet = true; + } + + if(jsonValue.ValueExists("RestDuration")) + { + m_restDuration = jsonValue.GetInt64("RestDuration"); + + m_restDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("To")) + { + m_to = jsonValue.GetString("To"); + + m_toHasBeenSet = true; + } + + if(jsonValue.ValueExists("TravelDuration")) + { + m_travelDuration = jsonValue.GetInt64("TravelDuration"); + + m_travelDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("WaitDuration")) + { + m_waitDuration = jsonValue.GetInt64("WaitDuration"); + + m_waitDurationHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationConnection::Jsonize() const +{ + JsonValue payload; + + if(m_distanceHasBeenSet) + { + payload.WithInt64("Distance", m_distance); + + } + + if(m_fromHasBeenSet) + { + payload.WithString("From", m_from); + + } + + if(m_restDurationHasBeenSet) + { + payload.WithInt64("RestDuration", m_restDuration); + + } + + if(m_toHasBeenSet) + { + payload.WithString("To", m_to); + + } + + if(m_travelDurationHasBeenSet) + { + payload.WithInt64("TravelDuration", m_travelDuration); + + } + + if(m_waitDurationHasBeenSet) + { + payload.WithInt64("WaitDuration", m_waitDuration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationConstraint.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationConstraint.cpp new file mode 100644 index 00000000000..ebf44e253c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationConstraint.cpp @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace WaypointOptimizationConstraintMapper + { + + static const int AccessHours_HASH = HashingUtils::HashString("AccessHours"); + static const int AppointmentTime_HASH = HashingUtils::HashString("AppointmentTime"); + static const int Before_HASH = HashingUtils::HashString("Before"); + static const int Heading_HASH = HashingUtils::HashString("Heading"); + static const int ServiceDuration_HASH = HashingUtils::HashString("ServiceDuration"); + static const int SideOfStreet_HASH = HashingUtils::HashString("SideOfStreet"); + + + WaypointOptimizationConstraint GetWaypointOptimizationConstraintForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == AccessHours_HASH) + { + return WaypointOptimizationConstraint::AccessHours; + } + else if (hashCode == AppointmentTime_HASH) + { + return WaypointOptimizationConstraint::AppointmentTime; + } + else if (hashCode == Before_HASH) + { + return WaypointOptimizationConstraint::Before; + } + else if (hashCode == Heading_HASH) + { + return WaypointOptimizationConstraint::Heading; + } + else if (hashCode == ServiceDuration_HASH) + { + return WaypointOptimizationConstraint::ServiceDuration; + } + else if (hashCode == SideOfStreet_HASH) + { + return WaypointOptimizationConstraint::SideOfStreet; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return WaypointOptimizationConstraint::NOT_SET; + } + + Aws::String GetNameForWaypointOptimizationConstraint(WaypointOptimizationConstraint enumValue) + { + switch(enumValue) + { + case WaypointOptimizationConstraint::NOT_SET: + return {}; + case WaypointOptimizationConstraint::AccessHours: + return "AccessHours"; + case WaypointOptimizationConstraint::AppointmentTime: + return "AppointmentTime"; + case WaypointOptimizationConstraint::Before: + return "Before"; + case WaypointOptimizationConstraint::Heading: + return "Heading"; + case WaypointOptimizationConstraint::ServiceDuration: + return "ServiceDuration"; + case WaypointOptimizationConstraint::SideOfStreet: + return "SideOfStreet"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace WaypointOptimizationConstraintMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationDestinationOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationDestinationOptions.cpp new file mode 100644 index 00000000000..c084c7eb014 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationDestinationOptions.cpp @@ -0,0 +1,131 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationDestinationOptions::WaypointOptimizationDestinationOptions() : + m_accessHoursHasBeenSet(false), + m_appointmentTimeHasBeenSet(false), + m_heading(0.0), + m_headingHasBeenSet(false), + m_idHasBeenSet(false), + m_serviceDuration(0), + m_serviceDurationHasBeenSet(false), + m_sideOfStreetHasBeenSet(false) +{ +} + +WaypointOptimizationDestinationOptions::WaypointOptimizationDestinationOptions(JsonView jsonValue) + : WaypointOptimizationDestinationOptions() +{ + *this = jsonValue; +} + +WaypointOptimizationDestinationOptions& WaypointOptimizationDestinationOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AccessHours")) + { + m_accessHours = jsonValue.GetObject("AccessHours"); + + m_accessHoursHasBeenSet = true; + } + + if(jsonValue.ValueExists("AppointmentTime")) + { + m_appointmentTime = jsonValue.GetString("AppointmentTime"); + + m_appointmentTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Heading")) + { + m_heading = jsonValue.GetDouble("Heading"); + + m_headingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("ServiceDuration")) + { + m_serviceDuration = jsonValue.GetInt64("ServiceDuration"); + + m_serviceDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("SideOfStreet")) + { + m_sideOfStreet = jsonValue.GetObject("SideOfStreet"); + + m_sideOfStreetHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationDestinationOptions::Jsonize() const +{ + JsonValue payload; + + if(m_accessHoursHasBeenSet) + { + payload.WithObject("AccessHours", m_accessHours.Jsonize()); + + } + + if(m_appointmentTimeHasBeenSet) + { + payload.WithString("AppointmentTime", m_appointmentTime); + + } + + if(m_headingHasBeenSet) + { + payload.WithDouble("Heading", m_heading); + + } + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_serviceDurationHasBeenSet) + { + payload.WithInt64("ServiceDuration", m_serviceDuration); + + } + + if(m_sideOfStreetHasBeenSet) + { + payload.WithObject("SideOfStreet", m_sideOfStreet.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationDriverOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationDriverOptions.cpp new file mode 100644 index 00000000000..25d43249810 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationDriverOptions.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationDriverOptions::WaypointOptimizationDriverOptions() : + m_restCyclesHasBeenSet(false), + m_restProfileHasBeenSet(false), + m_treatServiceTimeAs(WaypointOptimizationServiceTimeTreatment::NOT_SET), + m_treatServiceTimeAsHasBeenSet(false) +{ +} + +WaypointOptimizationDriverOptions::WaypointOptimizationDriverOptions(JsonView jsonValue) + : WaypointOptimizationDriverOptions() +{ + *this = jsonValue; +} + +WaypointOptimizationDriverOptions& WaypointOptimizationDriverOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RestCycles")) + { + m_restCycles = jsonValue.GetObject("RestCycles"); + + m_restCyclesHasBeenSet = true; + } + + if(jsonValue.ValueExists("RestProfile")) + { + m_restProfile = jsonValue.GetObject("RestProfile"); + + m_restProfileHasBeenSet = true; + } + + if(jsonValue.ValueExists("TreatServiceTimeAs")) + { + m_treatServiceTimeAs = WaypointOptimizationServiceTimeTreatmentMapper::GetWaypointOptimizationServiceTimeTreatmentForName(jsonValue.GetString("TreatServiceTimeAs")); + + m_treatServiceTimeAsHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationDriverOptions::Jsonize() const +{ + JsonValue payload; + + if(m_restCyclesHasBeenSet) + { + payload.WithObject("RestCycles", m_restCycles.Jsonize()); + + } + + if(m_restProfileHasBeenSet) + { + payload.WithObject("RestProfile", m_restProfile.Jsonize()); + + } + + if(m_treatServiceTimeAsHasBeenSet) + { + payload.WithString("TreatServiceTimeAs", WaypointOptimizationServiceTimeTreatmentMapper::GetNameForWaypointOptimizationServiceTimeTreatment(m_treatServiceTimeAs)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationExclusionOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationExclusionOptions.cpp new file mode 100644 index 00000000000..7521d11225c --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationExclusionOptions.cpp @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationExclusionOptions::WaypointOptimizationExclusionOptions() : + m_countriesHasBeenSet(false) +{ +} + +WaypointOptimizationExclusionOptions::WaypointOptimizationExclusionOptions(JsonView jsonValue) + : WaypointOptimizationExclusionOptions() +{ + *this = jsonValue; +} + +WaypointOptimizationExclusionOptions& WaypointOptimizationExclusionOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Countries")) + { + Aws::Utils::Array countriesJsonList = jsonValue.GetArray("Countries"); + for(unsigned countriesIndex = 0; countriesIndex < countriesJsonList.GetLength(); ++countriesIndex) + { + m_countries.push_back(countriesJsonList[countriesIndex].AsString()); + } + m_countriesHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationExclusionOptions::Jsonize() const +{ + JsonValue payload; + + if(m_countriesHasBeenSet) + { + Aws::Utils::Array countriesJsonList(m_countries.size()); + for(unsigned countriesIndex = 0; countriesIndex < countriesJsonList.GetLength(); ++countriesIndex) + { + countriesJsonList[countriesIndex].AsString(m_countries[countriesIndex]); + } + payload.WithArray("Countries", std::move(countriesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationFailedConstraint.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationFailedConstraint.cpp new file mode 100644 index 00000000000..d53ee2ec879 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationFailedConstraint.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationFailedConstraint::WaypointOptimizationFailedConstraint() : + m_constraint(WaypointOptimizationConstraint::NOT_SET), + m_constraintHasBeenSet(false), + m_reasonHasBeenSet(false) +{ +} + +WaypointOptimizationFailedConstraint::WaypointOptimizationFailedConstraint(JsonView jsonValue) + : WaypointOptimizationFailedConstraint() +{ + *this = jsonValue; +} + +WaypointOptimizationFailedConstraint& WaypointOptimizationFailedConstraint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Constraint")) + { + m_constraint = WaypointOptimizationConstraintMapper::GetWaypointOptimizationConstraintForName(jsonValue.GetString("Constraint")); + + m_constraintHasBeenSet = true; + } + + if(jsonValue.ValueExists("Reason")) + { + m_reason = jsonValue.GetString("Reason"); + + m_reasonHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationFailedConstraint::Jsonize() const +{ + JsonValue payload; + + if(m_constraintHasBeenSet) + { + payload.WithString("Constraint", WaypointOptimizationConstraintMapper::GetNameForWaypointOptimizationConstraint(m_constraint)); + } + + if(m_reasonHasBeenSet) + { + payload.WithString("Reason", m_reason); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationHazardousCargoType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationHazardousCargoType.cpp new file mode 100644 index 00000000000..d449da17b63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationHazardousCargoType.cpp @@ -0,0 +1,135 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace WaypointOptimizationHazardousCargoTypeMapper + { + + static const int Combustible_HASH = HashingUtils::HashString("Combustible"); + static const int Corrosive_HASH = HashingUtils::HashString("Corrosive"); + static const int Explosive_HASH = HashingUtils::HashString("Explosive"); + static const int Flammable_HASH = HashingUtils::HashString("Flammable"); + static const int Gas_HASH = HashingUtils::HashString("Gas"); + static const int HarmfulToWater_HASH = HashingUtils::HashString("HarmfulToWater"); + static const int Organic_HASH = HashingUtils::HashString("Organic"); + static const int Other_HASH = HashingUtils::HashString("Other"); + static const int Poison_HASH = HashingUtils::HashString("Poison"); + static const int PoisonousInhalation_HASH = HashingUtils::HashString("PoisonousInhalation"); + static const int Radioactive_HASH = HashingUtils::HashString("Radioactive"); + + + WaypointOptimizationHazardousCargoType GetWaypointOptimizationHazardousCargoTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Combustible_HASH) + { + return WaypointOptimizationHazardousCargoType::Combustible; + } + else if (hashCode == Corrosive_HASH) + { + return WaypointOptimizationHazardousCargoType::Corrosive; + } + else if (hashCode == Explosive_HASH) + { + return WaypointOptimizationHazardousCargoType::Explosive; + } + else if (hashCode == Flammable_HASH) + { + return WaypointOptimizationHazardousCargoType::Flammable; + } + else if (hashCode == Gas_HASH) + { + return WaypointOptimizationHazardousCargoType::Gas; + } + else if (hashCode == HarmfulToWater_HASH) + { + return WaypointOptimizationHazardousCargoType::HarmfulToWater; + } + else if (hashCode == Organic_HASH) + { + return WaypointOptimizationHazardousCargoType::Organic; + } + else if (hashCode == Other_HASH) + { + return WaypointOptimizationHazardousCargoType::Other; + } + else if (hashCode == Poison_HASH) + { + return WaypointOptimizationHazardousCargoType::Poison; + } + else if (hashCode == PoisonousInhalation_HASH) + { + return WaypointOptimizationHazardousCargoType::PoisonousInhalation; + } + else if (hashCode == Radioactive_HASH) + { + return WaypointOptimizationHazardousCargoType::Radioactive; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return WaypointOptimizationHazardousCargoType::NOT_SET; + } + + Aws::String GetNameForWaypointOptimizationHazardousCargoType(WaypointOptimizationHazardousCargoType enumValue) + { + switch(enumValue) + { + case WaypointOptimizationHazardousCargoType::NOT_SET: + return {}; + case WaypointOptimizationHazardousCargoType::Combustible: + return "Combustible"; + case WaypointOptimizationHazardousCargoType::Corrosive: + return "Corrosive"; + case WaypointOptimizationHazardousCargoType::Explosive: + return "Explosive"; + case WaypointOptimizationHazardousCargoType::Flammable: + return "Flammable"; + case WaypointOptimizationHazardousCargoType::Gas: + return "Gas"; + case WaypointOptimizationHazardousCargoType::HarmfulToWater: + return "HarmfulToWater"; + case WaypointOptimizationHazardousCargoType::Organic: + return "Organic"; + case WaypointOptimizationHazardousCargoType::Other: + return "Other"; + case WaypointOptimizationHazardousCargoType::Poison: + return "Poison"; + case WaypointOptimizationHazardousCargoType::PoisonousInhalation: + return "PoisonousInhalation"; + case WaypointOptimizationHazardousCargoType::Radioactive: + return "Radioactive"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace WaypointOptimizationHazardousCargoTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationImpedingWaypoint.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationImpedingWaypoint.cpp new file mode 100644 index 00000000000..555b7bd58fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationImpedingWaypoint.cpp @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationImpedingWaypoint::WaypointOptimizationImpedingWaypoint() : + m_failedConstraintsHasBeenSet(false), + m_idHasBeenSet(false), + m_positionHasBeenSet(false) +{ +} + +WaypointOptimizationImpedingWaypoint::WaypointOptimizationImpedingWaypoint(JsonView jsonValue) + : WaypointOptimizationImpedingWaypoint() +{ + *this = jsonValue; +} + +WaypointOptimizationImpedingWaypoint& WaypointOptimizationImpedingWaypoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("FailedConstraints")) + { + Aws::Utils::Array failedConstraintsJsonList = jsonValue.GetArray("FailedConstraints"); + for(unsigned failedConstraintsIndex = 0; failedConstraintsIndex < failedConstraintsJsonList.GetLength(); ++failedConstraintsIndex) + { + m_failedConstraints.push_back(failedConstraintsJsonList[failedConstraintsIndex].AsObject()); + } + m_failedConstraintsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationImpedingWaypoint::Jsonize() const +{ + JsonValue payload; + + if(m_failedConstraintsHasBeenSet) + { + Aws::Utils::Array failedConstraintsJsonList(m_failedConstraints.size()); + for(unsigned failedConstraintsIndex = 0; failedConstraintsIndex < failedConstraintsJsonList.GetLength(); ++failedConstraintsIndex) + { + failedConstraintsJsonList[failedConstraintsIndex].AsObject(m_failedConstraints[failedConstraintsIndex].Jsonize()); + } + payload.WithArray("FailedConstraints", std::move(failedConstraintsJsonList)); + + } + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationOptimizedWaypoint.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationOptimizedWaypoint.cpp new file mode 100644 index 00000000000..e840eb0a628 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationOptimizedWaypoint.cpp @@ -0,0 +1,109 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationOptimizedWaypoint::WaypointOptimizationOptimizedWaypoint() : + m_arrivalTimeHasBeenSet(false), + m_departureTimeHasBeenSet(false), + m_idHasBeenSet(false), + m_positionHasBeenSet(false) +{ +} + +WaypointOptimizationOptimizedWaypoint::WaypointOptimizationOptimizedWaypoint(JsonView jsonValue) + : WaypointOptimizationOptimizedWaypoint() +{ + *this = jsonValue; +} + +WaypointOptimizationOptimizedWaypoint& WaypointOptimizationOptimizedWaypoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("ArrivalTime")) + { + m_arrivalTime = jsonValue.GetString("ArrivalTime"); + + m_arrivalTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("DepartureTime")) + { + m_departureTime = jsonValue.GetString("DepartureTime"); + + m_departureTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationOptimizedWaypoint::Jsonize() const +{ + JsonValue payload; + + if(m_arrivalTimeHasBeenSet) + { + payload.WithString("ArrivalTime", m_arrivalTime); + + } + + if(m_departureTimeHasBeenSet) + { + payload.WithString("DepartureTime", m_departureTime); + + } + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationOriginOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationOriginOptions.cpp new file mode 100644 index 00000000000..12b22d7efe3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationOriginOptions.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationOriginOptions::WaypointOptimizationOriginOptions() : + m_idHasBeenSet(false) +{ +} + +WaypointOptimizationOriginOptions::WaypointOptimizationOriginOptions(JsonView jsonValue) + : WaypointOptimizationOriginOptions() +{ + *this = jsonValue; +} + +WaypointOptimizationOriginOptions& WaypointOptimizationOriginOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationOriginOptions::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationPedestrianOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationPedestrianOptions.cpp new file mode 100644 index 00000000000..576957968e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationPedestrianOptions.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationPedestrianOptions::WaypointOptimizationPedestrianOptions() : + m_speed(0.0), + m_speedHasBeenSet(false) +{ +} + +WaypointOptimizationPedestrianOptions::WaypointOptimizationPedestrianOptions(JsonView jsonValue) + : WaypointOptimizationPedestrianOptions() +{ + *this = jsonValue; +} + +WaypointOptimizationPedestrianOptions& WaypointOptimizationPedestrianOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Speed")) + { + m_speed = jsonValue.GetDouble("Speed"); + + m_speedHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationPedestrianOptions::Jsonize() const +{ + JsonValue payload; + + if(m_speedHasBeenSet) + { + payload.WithDouble("Speed", m_speed); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationRestCycleDurations.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationRestCycleDurations.cpp new file mode 100644 index 00000000000..b977910c223 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationRestCycleDurations.cpp @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationRestCycleDurations::WaypointOptimizationRestCycleDurations() : + m_restDuration(0), + m_restDurationHasBeenSet(false), + m_workDuration(0), + m_workDurationHasBeenSet(false) +{ +} + +WaypointOptimizationRestCycleDurations::WaypointOptimizationRestCycleDurations(JsonView jsonValue) + : WaypointOptimizationRestCycleDurations() +{ + *this = jsonValue; +} + +WaypointOptimizationRestCycleDurations& WaypointOptimizationRestCycleDurations::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RestDuration")) + { + m_restDuration = jsonValue.GetInt64("RestDuration"); + + m_restDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("WorkDuration")) + { + m_workDuration = jsonValue.GetInt64("WorkDuration"); + + m_workDurationHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationRestCycleDurations::Jsonize() const +{ + JsonValue payload; + + if(m_restDurationHasBeenSet) + { + payload.WithInt64("RestDuration", m_restDuration); + + } + + if(m_workDurationHasBeenSet) + { + payload.WithInt64("WorkDuration", m_workDuration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationRestCycles.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationRestCycles.cpp new file mode 100644 index 00000000000..deaab7868b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationRestCycles.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationRestCycles::WaypointOptimizationRestCycles() : + m_longCycleHasBeenSet(false), + m_shortCycleHasBeenSet(false) +{ +} + +WaypointOptimizationRestCycles::WaypointOptimizationRestCycles(JsonView jsonValue) + : WaypointOptimizationRestCycles() +{ + *this = jsonValue; +} + +WaypointOptimizationRestCycles& WaypointOptimizationRestCycles::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("LongCycle")) + { + m_longCycle = jsonValue.GetObject("LongCycle"); + + m_longCycleHasBeenSet = true; + } + + if(jsonValue.ValueExists("ShortCycle")) + { + m_shortCycle = jsonValue.GetObject("ShortCycle"); + + m_shortCycleHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationRestCycles::Jsonize() const +{ + JsonValue payload; + + if(m_longCycleHasBeenSet) + { + payload.WithObject("LongCycle", m_longCycle.Jsonize()); + + } + + if(m_shortCycleHasBeenSet) + { + payload.WithObject("ShortCycle", m_shortCycle.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationRestProfile.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationRestProfile.cpp new file mode 100644 index 00000000000..782e2cd5e18 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationRestProfile.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationRestProfile::WaypointOptimizationRestProfile() : + m_profileHasBeenSet(false) +{ +} + +WaypointOptimizationRestProfile::WaypointOptimizationRestProfile(JsonView jsonValue) + : WaypointOptimizationRestProfile() +{ + *this = jsonValue; +} + +WaypointOptimizationRestProfile& WaypointOptimizationRestProfile::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Profile")) + { + m_profile = jsonValue.GetString("Profile"); + + m_profileHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationRestProfile::Jsonize() const +{ + JsonValue payload; + + if(m_profileHasBeenSet) + { + payload.WithString("Profile", m_profile); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationSequencingObjective.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationSequencingObjective.cpp new file mode 100644 index 00000000000..c071a8f0a84 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationSequencingObjective.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace WaypointOptimizationSequencingObjectiveMapper + { + + static const int FastestRoute_HASH = HashingUtils::HashString("FastestRoute"); + static const int ShortestRoute_HASH = HashingUtils::HashString("ShortestRoute"); + + + WaypointOptimizationSequencingObjective GetWaypointOptimizationSequencingObjectiveForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == FastestRoute_HASH) + { + return WaypointOptimizationSequencingObjective::FastestRoute; + } + else if (hashCode == ShortestRoute_HASH) + { + return WaypointOptimizationSequencingObjective::ShortestRoute; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return WaypointOptimizationSequencingObjective::NOT_SET; + } + + Aws::String GetNameForWaypointOptimizationSequencingObjective(WaypointOptimizationSequencingObjective enumValue) + { + switch(enumValue) + { + case WaypointOptimizationSequencingObjective::NOT_SET: + return {}; + case WaypointOptimizationSequencingObjective::FastestRoute: + return "FastestRoute"; + case WaypointOptimizationSequencingObjective::ShortestRoute: + return "ShortestRoute"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace WaypointOptimizationSequencingObjectiveMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationServiceTimeTreatment.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationServiceTimeTreatment.cpp new file mode 100644 index 00000000000..b7e1521ed82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationServiceTimeTreatment.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace WaypointOptimizationServiceTimeTreatmentMapper + { + + static const int Rest_HASH = HashingUtils::HashString("Rest"); + static const int Work_HASH = HashingUtils::HashString("Work"); + + + WaypointOptimizationServiceTimeTreatment GetWaypointOptimizationServiceTimeTreatmentForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Rest_HASH) + { + return WaypointOptimizationServiceTimeTreatment::Rest; + } + else if (hashCode == Work_HASH) + { + return WaypointOptimizationServiceTimeTreatment::Work; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return WaypointOptimizationServiceTimeTreatment::NOT_SET; + } + + Aws::String GetNameForWaypointOptimizationServiceTimeTreatment(WaypointOptimizationServiceTimeTreatment enumValue) + { + switch(enumValue) + { + case WaypointOptimizationServiceTimeTreatment::NOT_SET: + return {}; + case WaypointOptimizationServiceTimeTreatment::Rest: + return "Rest"; + case WaypointOptimizationServiceTimeTreatment::Work: + return "Work"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace WaypointOptimizationServiceTimeTreatmentMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationSideOfStreetOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationSideOfStreetOptions.cpp new file mode 100644 index 00000000000..1f5181efa6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationSideOfStreetOptions.cpp @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationSideOfStreetOptions::WaypointOptimizationSideOfStreetOptions() : + m_positionHasBeenSet(false), + m_useWith(SideOfStreetMatchingStrategy::NOT_SET), + m_useWithHasBeenSet(false) +{ +} + +WaypointOptimizationSideOfStreetOptions::WaypointOptimizationSideOfStreetOptions(JsonView jsonValue) + : WaypointOptimizationSideOfStreetOptions() +{ + *this = jsonValue; +} + +WaypointOptimizationSideOfStreetOptions& WaypointOptimizationSideOfStreetOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("UseWith")) + { + m_useWith = SideOfStreetMatchingStrategyMapper::GetSideOfStreetMatchingStrategyForName(jsonValue.GetString("UseWith")); + + m_useWithHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationSideOfStreetOptions::Jsonize() const +{ + JsonValue payload; + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_useWithHasBeenSet) + { + payload.WithString("UseWith", SideOfStreetMatchingStrategyMapper::GetNameForSideOfStreetMatchingStrategy(m_useWith)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTimeBreakdown.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTimeBreakdown.cpp new file mode 100644 index 00000000000..ade820d71df --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTimeBreakdown.cpp @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationTimeBreakdown::WaypointOptimizationTimeBreakdown() : + m_restDuration(0), + m_restDurationHasBeenSet(false), + m_serviceDuration(0), + m_serviceDurationHasBeenSet(false), + m_travelDuration(0), + m_travelDurationHasBeenSet(false), + m_waitDuration(0), + m_waitDurationHasBeenSet(false) +{ +} + +WaypointOptimizationTimeBreakdown::WaypointOptimizationTimeBreakdown(JsonView jsonValue) + : WaypointOptimizationTimeBreakdown() +{ + *this = jsonValue; +} + +WaypointOptimizationTimeBreakdown& WaypointOptimizationTimeBreakdown::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("RestDuration")) + { + m_restDuration = jsonValue.GetInt64("RestDuration"); + + m_restDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("ServiceDuration")) + { + m_serviceDuration = jsonValue.GetInt64("ServiceDuration"); + + m_serviceDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("TravelDuration")) + { + m_travelDuration = jsonValue.GetInt64("TravelDuration"); + + m_travelDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("WaitDuration")) + { + m_waitDuration = jsonValue.GetInt64("WaitDuration"); + + m_waitDurationHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationTimeBreakdown::Jsonize() const +{ + JsonValue payload; + + if(m_restDurationHasBeenSet) + { + payload.WithInt64("RestDuration", m_restDuration); + + } + + if(m_serviceDurationHasBeenSet) + { + payload.WithInt64("ServiceDuration", m_serviceDuration); + + } + + if(m_travelDurationHasBeenSet) + { + payload.WithInt64("TravelDuration", m_travelDuration); + + } + + if(m_waitDurationHasBeenSet) + { + payload.WithInt64("WaitDuration", m_waitDuration); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTrafficOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTrafficOptions.cpp new file mode 100644 index 00000000000..6ec449e88e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTrafficOptions.cpp @@ -0,0 +1,59 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationTrafficOptions::WaypointOptimizationTrafficOptions() : + m_usage(TrafficUsage::NOT_SET), + m_usageHasBeenSet(false) +{ +} + +WaypointOptimizationTrafficOptions::WaypointOptimizationTrafficOptions(JsonView jsonValue) + : WaypointOptimizationTrafficOptions() +{ + *this = jsonValue; +} + +WaypointOptimizationTrafficOptions& WaypointOptimizationTrafficOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Usage")) + { + m_usage = TrafficUsageMapper::GetTrafficUsageForName(jsonValue.GetString("Usage")); + + m_usageHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationTrafficOptions::Jsonize() const +{ + JsonValue payload; + + if(m_usageHasBeenSet) + { + payload.WithString("Usage", TrafficUsageMapper::GetNameForTrafficUsage(m_usage)); + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTrailerOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTrailerOptions.cpp new file mode 100644 index 00000000000..ca1c0764302 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTrailerOptions.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationTrailerOptions::WaypointOptimizationTrailerOptions() : + m_trailerCount(0), + m_trailerCountHasBeenSet(false) +{ +} + +WaypointOptimizationTrailerOptions::WaypointOptimizationTrailerOptions(JsonView jsonValue) + : WaypointOptimizationTrailerOptions() +{ + *this = jsonValue; +} + +WaypointOptimizationTrailerOptions& WaypointOptimizationTrailerOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TrailerCount")) + { + m_trailerCount = jsonValue.GetInteger("TrailerCount"); + + m_trailerCountHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationTrailerOptions::Jsonize() const +{ + JsonValue payload; + + if(m_trailerCountHasBeenSet) + { + payload.WithInteger("TrailerCount", m_trailerCount); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTravelMode.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTravelMode.cpp new file mode 100644 index 00000000000..7ea0459d694 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTravelMode.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace WaypointOptimizationTravelModeMapper + { + + static const int Car_HASH = HashingUtils::HashString("Car"); + static const int Pedestrian_HASH = HashingUtils::HashString("Pedestrian"); + static const int Scooter_HASH = HashingUtils::HashString("Scooter"); + static const int Truck_HASH = HashingUtils::HashString("Truck"); + + + WaypointOptimizationTravelMode GetWaypointOptimizationTravelModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == Car_HASH) + { + return WaypointOptimizationTravelMode::Car; + } + else if (hashCode == Pedestrian_HASH) + { + return WaypointOptimizationTravelMode::Pedestrian; + } + else if (hashCode == Scooter_HASH) + { + return WaypointOptimizationTravelMode::Scooter; + } + else if (hashCode == Truck_HASH) + { + return WaypointOptimizationTravelMode::Truck; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return WaypointOptimizationTravelMode::NOT_SET; + } + + Aws::String GetNameForWaypointOptimizationTravelMode(WaypointOptimizationTravelMode enumValue) + { + switch(enumValue) + { + case WaypointOptimizationTravelMode::NOT_SET: + return {}; + case WaypointOptimizationTravelMode::Car: + return "Car"; + case WaypointOptimizationTravelMode::Pedestrian: + return "Pedestrian"; + case WaypointOptimizationTravelMode::Scooter: + return "Scooter"; + case WaypointOptimizationTravelMode::Truck: + return "Truck"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace WaypointOptimizationTravelModeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTravelModeOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTravelModeOptions.cpp new file mode 100644 index 00000000000..b6c4b4f6645 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTravelModeOptions.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationTravelModeOptions::WaypointOptimizationTravelModeOptions() : + m_pedestrianHasBeenSet(false), + m_truckHasBeenSet(false) +{ +} + +WaypointOptimizationTravelModeOptions::WaypointOptimizationTravelModeOptions(JsonView jsonValue) + : WaypointOptimizationTravelModeOptions() +{ + *this = jsonValue; +} + +WaypointOptimizationTravelModeOptions& WaypointOptimizationTravelModeOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Pedestrian")) + { + m_pedestrian = jsonValue.GetObject("Pedestrian"); + + m_pedestrianHasBeenSet = true; + } + + if(jsonValue.ValueExists("Truck")) + { + m_truck = jsonValue.GetObject("Truck"); + + m_truckHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationTravelModeOptions::Jsonize() const +{ + JsonValue payload; + + if(m_pedestrianHasBeenSet) + { + payload.WithObject("Pedestrian", m_pedestrian.Jsonize()); + + } + + if(m_truckHasBeenSet) + { + payload.WithObject("Truck", m_truck.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTruckOptions.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTruckOptions.cpp new file mode 100644 index 00000000000..297149de9bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTruckOptions.cpp @@ -0,0 +1,184 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationTruckOptions::WaypointOptimizationTruckOptions() : + m_grossWeight(0), + m_grossWeightHasBeenSet(false), + m_hazardousCargosHasBeenSet(false), + m_height(0), + m_heightHasBeenSet(false), + m_length(0), + m_lengthHasBeenSet(false), + m_trailerHasBeenSet(false), + m_truckType(WaypointOptimizationTruckType::NOT_SET), + m_truckTypeHasBeenSet(false), + m_tunnelRestrictionCodeHasBeenSet(false), + m_weightPerAxle(0), + m_weightPerAxleHasBeenSet(false), + m_width(0), + m_widthHasBeenSet(false) +{ +} + +WaypointOptimizationTruckOptions::WaypointOptimizationTruckOptions(JsonView jsonValue) + : WaypointOptimizationTruckOptions() +{ + *this = jsonValue; +} + +WaypointOptimizationTruckOptions& WaypointOptimizationTruckOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("GrossWeight")) + { + m_grossWeight = jsonValue.GetInt64("GrossWeight"); + + m_grossWeightHasBeenSet = true; + } + + if(jsonValue.ValueExists("HazardousCargos")) + { + Aws::Utils::Array hazardousCargosJsonList = jsonValue.GetArray("HazardousCargos"); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + m_hazardousCargos.push_back(WaypointOptimizationHazardousCargoTypeMapper::GetWaypointOptimizationHazardousCargoTypeForName(hazardousCargosJsonList[hazardousCargosIndex].AsString())); + } + m_hazardousCargosHasBeenSet = true; + } + + if(jsonValue.ValueExists("Height")) + { + m_height = jsonValue.GetInt64("Height"); + + m_heightHasBeenSet = true; + } + + if(jsonValue.ValueExists("Length")) + { + m_length = jsonValue.GetInt64("Length"); + + m_lengthHasBeenSet = true; + } + + if(jsonValue.ValueExists("Trailer")) + { + m_trailer = jsonValue.GetObject("Trailer"); + + m_trailerHasBeenSet = true; + } + + if(jsonValue.ValueExists("TruckType")) + { + m_truckType = WaypointOptimizationTruckTypeMapper::GetWaypointOptimizationTruckTypeForName(jsonValue.GetString("TruckType")); + + m_truckTypeHasBeenSet = true; + } + + if(jsonValue.ValueExists("TunnelRestrictionCode")) + { + m_tunnelRestrictionCode = jsonValue.GetString("TunnelRestrictionCode"); + + m_tunnelRestrictionCodeHasBeenSet = true; + } + + if(jsonValue.ValueExists("WeightPerAxle")) + { + m_weightPerAxle = jsonValue.GetInt64("WeightPerAxle"); + + m_weightPerAxleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Width")) + { + m_width = jsonValue.GetInt64("Width"); + + m_widthHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationTruckOptions::Jsonize() const +{ + JsonValue payload; + + if(m_grossWeightHasBeenSet) + { + payload.WithInt64("GrossWeight", m_grossWeight); + + } + + if(m_hazardousCargosHasBeenSet) + { + Aws::Utils::Array hazardousCargosJsonList(m_hazardousCargos.size()); + for(unsigned hazardousCargosIndex = 0; hazardousCargosIndex < hazardousCargosJsonList.GetLength(); ++hazardousCargosIndex) + { + hazardousCargosJsonList[hazardousCargosIndex].AsString(WaypointOptimizationHazardousCargoTypeMapper::GetNameForWaypointOptimizationHazardousCargoType(m_hazardousCargos[hazardousCargosIndex])); + } + payload.WithArray("HazardousCargos", std::move(hazardousCargosJsonList)); + + } + + if(m_heightHasBeenSet) + { + payload.WithInt64("Height", m_height); + + } + + if(m_lengthHasBeenSet) + { + payload.WithInt64("Length", m_length); + + } + + if(m_trailerHasBeenSet) + { + payload.WithObject("Trailer", m_trailer.Jsonize()); + + } + + if(m_truckTypeHasBeenSet) + { + payload.WithString("TruckType", WaypointOptimizationTruckTypeMapper::GetNameForWaypointOptimizationTruckType(m_truckType)); + } + + if(m_tunnelRestrictionCodeHasBeenSet) + { + payload.WithString("TunnelRestrictionCode", m_tunnelRestrictionCode); + + } + + if(m_weightPerAxleHasBeenSet) + { + payload.WithInt64("WeightPerAxle", m_weightPerAxle); + + } + + if(m_widthHasBeenSet) + { + payload.WithInt64("Width", m_width); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTruckType.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTruckType.cpp new file mode 100644 index 00000000000..fde39c34176 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationTruckType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace GeoRoutes + { + namespace Model + { + namespace WaypointOptimizationTruckTypeMapper + { + + static const int StraightTruck_HASH = HashingUtils::HashString("StraightTruck"); + static const int Tractor_HASH = HashingUtils::HashString("Tractor"); + + + WaypointOptimizationTruckType GetWaypointOptimizationTruckTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == StraightTruck_HASH) + { + return WaypointOptimizationTruckType::StraightTruck; + } + else if (hashCode == Tractor_HASH) + { + return WaypointOptimizationTruckType::Tractor; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return WaypointOptimizationTruckType::NOT_SET; + } + + Aws::String GetNameForWaypointOptimizationTruckType(WaypointOptimizationTruckType enumValue) + { + switch(enumValue) + { + case WaypointOptimizationTruckType::NOT_SET: + return {}; + case WaypointOptimizationTruckType::StraightTruck: + return "StraightTruck"; + case WaypointOptimizationTruckType::Tractor: + return "Tractor"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace WaypointOptimizationTruckTypeMapper + } // namespace Model + } // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationWaypoint.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationWaypoint.cpp new file mode 100644 index 00000000000..bb88495dd38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WaypointOptimizationWaypoint.cpp @@ -0,0 +1,175 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WaypointOptimizationWaypoint::WaypointOptimizationWaypoint() : + m_accessHoursHasBeenSet(false), + m_appointmentTimeHasBeenSet(false), + m_beforeHasBeenSet(false), + m_heading(0.0), + m_headingHasBeenSet(false), + m_idHasBeenSet(false), + m_positionHasBeenSet(false), + m_serviceDuration(0), + m_serviceDurationHasBeenSet(false), + m_sideOfStreetHasBeenSet(false) +{ +} + +WaypointOptimizationWaypoint::WaypointOptimizationWaypoint(JsonView jsonValue) + : WaypointOptimizationWaypoint() +{ + *this = jsonValue; +} + +WaypointOptimizationWaypoint& WaypointOptimizationWaypoint::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("AccessHours")) + { + m_accessHours = jsonValue.GetObject("AccessHours"); + + m_accessHoursHasBeenSet = true; + } + + if(jsonValue.ValueExists("AppointmentTime")) + { + m_appointmentTime = jsonValue.GetString("AppointmentTime"); + + m_appointmentTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Before")) + { + Aws::Utils::Array beforeJsonList = jsonValue.GetArray("Before"); + for(unsigned beforeIndex = 0; beforeIndex < beforeJsonList.GetLength(); ++beforeIndex) + { + m_before.push_back(beforeJsonList[beforeIndex].AsInteger()); + } + m_beforeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Heading")) + { + m_heading = jsonValue.GetDouble("Heading"); + + m_headingHasBeenSet = true; + } + + if(jsonValue.ValueExists("Id")) + { + m_id = jsonValue.GetString("Id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("Position")) + { + Aws::Utils::Array positionJsonList = jsonValue.GetArray("Position"); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + m_position.push_back(positionJsonList[positionIndex].AsDouble()); + } + m_positionHasBeenSet = true; + } + + if(jsonValue.ValueExists("ServiceDuration")) + { + m_serviceDuration = jsonValue.GetInt64("ServiceDuration"); + + m_serviceDurationHasBeenSet = true; + } + + if(jsonValue.ValueExists("SideOfStreet")) + { + m_sideOfStreet = jsonValue.GetObject("SideOfStreet"); + + m_sideOfStreetHasBeenSet = true; + } + + return *this; +} + +JsonValue WaypointOptimizationWaypoint::Jsonize() const +{ + JsonValue payload; + + if(m_accessHoursHasBeenSet) + { + payload.WithObject("AccessHours", m_accessHours.Jsonize()); + + } + + if(m_appointmentTimeHasBeenSet) + { + payload.WithString("AppointmentTime", m_appointmentTime); + + } + + if(m_beforeHasBeenSet) + { + Aws::Utils::Array beforeJsonList(m_before.size()); + for(unsigned beforeIndex = 0; beforeIndex < beforeJsonList.GetLength(); ++beforeIndex) + { + beforeJsonList[beforeIndex].AsInteger(m_before[beforeIndex]); + } + payload.WithArray("Before", std::move(beforeJsonList)); + + } + + if(m_headingHasBeenSet) + { + payload.WithDouble("Heading", m_heading); + + } + + if(m_idHasBeenSet) + { + payload.WithString("Id", m_id); + + } + + if(m_positionHasBeenSet) + { + Aws::Utils::Array positionJsonList(m_position.size()); + for(unsigned positionIndex = 0; positionIndex < positionJsonList.GetLength(); ++positionIndex) + { + positionJsonList[positionIndex].AsDouble(m_position[positionIndex]); + } + payload.WithArray("Position", std::move(positionJsonList)); + + } + + if(m_serviceDurationHasBeenSet) + { + payload.WithInt64("ServiceDuration", m_serviceDuration); + + } + + if(m_sideOfStreetHasBeenSet) + { + payload.WithObject("SideOfStreet", m_sideOfStreet.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/model/WeightPerAxleGroup.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/model/WeightPerAxleGroup.cpp new file mode 100644 index 00000000000..a58ea73f60a --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/model/WeightPerAxleGroup.cpp @@ -0,0 +1,120 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace GeoRoutes +{ +namespace Model +{ + +WeightPerAxleGroup::WeightPerAxleGroup() : + m_single(0), + m_singleHasBeenSet(false), + m_tandem(0), + m_tandemHasBeenSet(false), + m_triple(0), + m_tripleHasBeenSet(false), + m_quad(0), + m_quadHasBeenSet(false), + m_quint(0), + m_quintHasBeenSet(false) +{ +} + +WeightPerAxleGroup::WeightPerAxleGroup(JsonView jsonValue) + : WeightPerAxleGroup() +{ + *this = jsonValue; +} + +WeightPerAxleGroup& WeightPerAxleGroup::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Single")) + { + m_single = jsonValue.GetInt64("Single"); + + m_singleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Tandem")) + { + m_tandem = jsonValue.GetInt64("Tandem"); + + m_tandemHasBeenSet = true; + } + + if(jsonValue.ValueExists("Triple")) + { + m_triple = jsonValue.GetInt64("Triple"); + + m_tripleHasBeenSet = true; + } + + if(jsonValue.ValueExists("Quad")) + { + m_quad = jsonValue.GetInt64("Quad"); + + m_quadHasBeenSet = true; + } + + if(jsonValue.ValueExists("Quint")) + { + m_quint = jsonValue.GetInt64("Quint"); + + m_quintHasBeenSet = true; + } + + return *this; +} + +JsonValue WeightPerAxleGroup::Jsonize() const +{ + JsonValue payload; + + if(m_singleHasBeenSet) + { + payload.WithInt64("Single", m_single); + + } + + if(m_tandemHasBeenSet) + { + payload.WithInt64("Tandem", m_tandem); + + } + + if(m_tripleHasBeenSet) + { + payload.WithInt64("Triple", m_triple); + + } + + if(m_quadHasBeenSet) + { + payload.WithInt64("Quad", m_quad); + + } + + if(m_quintHasBeenSet) + { + payload.WithInt64("Quint", m_quint); + + } + + return payload; +} + +} // namespace Model +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h index 5e9aca2e810..ac96df7d967 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h @@ -104,8 +104,8 @@ namespace Keyspaces * each Region.

                CreateKeyspace is an asynchronous operation. * You can monitor the creation status of the new keyspace by using the * GetKeyspace operation.

                For more information, see Creating - * keyspaces in the Amazon Keyspaces Developer Guide.

                See + * href="https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.keyspaces.html">Create + * a keyspace in the Amazon Keyspaces Developer Guide.

                See * Also:

                AWS * API Reference

                @@ -139,8 +139,8 @@ namespace Keyspaces * operation, which returns the current status of the table. You can * start using a table when the status is ACTIVE.

                For more * information, see Creating - * tables in the Amazon Keyspaces Developer Guide.

                See + * href="https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.tables.html">Create + * a table in the Amazon Keyspaces Developer Guide.

                See * Also:

                AWS * API Reference

                @@ -165,6 +165,35 @@ namespace Keyspaces return SubmitAsync(&KeyspacesClient::CreateTable, request, handler, context); } + /** + *

                The CreateType operation creates a new user-defined type in the + * specified keyspace.

                For more information, see User-defined + * types (UDTs) in the Amazon Keyspaces Developer Guide.

                See + * Also:

                AWS + * API Reference

                + */ + virtual Model::CreateTypeOutcome CreateType(const Model::CreateTypeRequest& request) const; + + /** + * A Callable wrapper for CreateType that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateTypeOutcomeCallable CreateTypeCallable(const CreateTypeRequestT& request) const + { + return SubmitCallable(&KeyspacesClient::CreateType, request); + } + + /** + * An Async wrapper for CreateType that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateTypeAsync(const CreateTypeRequestT& request, const CreateTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&KeyspacesClient::CreateType, request, handler, context); + } + /** *

                The DeleteKeyspace operation deletes a keyspace and all of its * tables.

                See Also:

                The DeleteType operation deletes a user-defined type (UDT). You + * can only delete a type that is not used in a table or another UDT. + *

                See Also:

                AWS + * API Reference

                + */ + virtual Model::DeleteTypeOutcome DeleteType(const Model::DeleteTypeRequest& request) const; + + /** + * A Callable wrapper for DeleteType that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteTypeOutcomeCallable DeleteTypeCallable(const DeleteTypeRequestT& request) const + { + return SubmitCallable(&KeyspacesClient::DeleteType, request); + } + + /** + * An Async wrapper for DeleteType that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteTypeAsync(const DeleteTypeRequestT& request, const DeleteTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&KeyspacesClient::DeleteType, request, handler, context); + } + /** *

                Returns the name and the Amazon Resource Name (ARN) of the specified * table.

                See Also:

                Returns information about the table, including the table's name and current * status, the keyspace name, configuration settings, and metadata.

                To read - * table metadata using GetTable, Select action - * permissions for the table and system tables are required to complete the - * operation.

                See Also:

                GetTable, the IAM principal needs + * Select action permissions for the table and the system + * keyspace.

                See Also:

                AWS * API Reference

                */ @@ -320,7 +376,38 @@ namespace Keyspaces } /** - *

                Returns a list of keyspaces.

                See Also:

                The GetType operation returns information about the type, for + * example the field definitions, the timestamp when the type was last modified, + * the level of nesting, the status, and details about if the type is used in other + * types and tables.

                To read keyspace metadata using GetType, + * the IAM principal needs Select action permissions for the system + * keyspace.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::GetTypeOutcome GetType(const Model::GetTypeRequest& request) const; + + /** + * A Callable wrapper for GetType that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetTypeOutcomeCallable GetTypeCallable(const GetTypeRequestT& request) const + { + return SubmitCallable(&KeyspacesClient::GetType, request); + } + + /** + * An Async wrapper for GetType that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetTypeAsync(const GetTypeRequestT& request, const GetTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&KeyspacesClient::GetType, request, handler, context); + } + + /** + *

                The ListKeyspaces operation returns a list of + * keyspaces.

                See Also:

                AWS * API Reference

                */ @@ -345,8 +432,10 @@ namespace Keyspaces } /** - *

                Returns a list of tables for a specified keyspace.

                See Also:

                - * The ListTables operation returns a list of tables for a + * specified keyspace.

                To read keyspace metadata using + * ListTables, the IAM principal needs Select action + * permissions for the system keyspace.

                See Also:

                AWS * API Reference

                */ @@ -372,7 +461,10 @@ namespace Keyspaces /** *

                Returns a list of all tags associated with the specified Amazon Keyspaces - * resource.

                See Also:

                To read keyspace metadata using + * ListTagsForResource, the IAM principal needs Select + * action permissions for the specified resource and the system + * keyspace.

                See Also:

                AWS * API Reference

                */ @@ -396,6 +488,34 @@ namespace Keyspaces return SubmitAsync(&KeyspacesClient::ListTagsForResource, request, handler, context); } + /** + *

                The ListTypes operation returns a list of types for a specified + * keyspace.

                To read keyspace metadata using ListTypes, the + * IAM principal needs Select action permissions for the system + * keyspace.

                See Also:

                AWS + * API Reference

                + */ + virtual Model::ListTypesOutcome ListTypes(const Model::ListTypesRequest& request) const; + + /** + * A Callable wrapper for ListTypes that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListTypesOutcomeCallable ListTypesCallable(const ListTypesRequestT& request) const + { + return SubmitCallable(&KeyspacesClient::ListTypes, request); + } + + /** + * An Async wrapper for ListTypes that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListTypesAsync(const ListTypesRequestT& request, const ListTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&KeyspacesClient::ListTypes, request, handler, context); + } + /** *

                Restores the table to the specified point in time within the * earliest_restorable_timestamp and the current time. For more diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h index a7361d35fdb..65200ca2712 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h @@ -20,14 +20,18 @@ /* Service model headers required in KeyspacesClient header */ #include #include +#include #include #include +#include #include #include #include +#include #include #include #include +#include #include #include #include @@ -75,14 +79,18 @@ namespace Aws /* Service model forward declarations required in KeyspacesClient header */ class CreateKeyspaceRequest; class CreateTableRequest; + class CreateTypeRequest; class DeleteKeyspaceRequest; class DeleteTableRequest; + class DeleteTypeRequest; class GetKeyspaceRequest; class GetTableRequest; class GetTableAutoScalingSettingsRequest; + class GetTypeRequest; class ListKeyspacesRequest; class ListTablesRequest; class ListTagsForResourceRequest; + class ListTypesRequest; class RestoreTableRequest; class TagResourceRequest; class UntagResourceRequest; @@ -92,14 +100,18 @@ namespace Aws /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome CreateKeyspaceOutcome; typedef Aws::Utils::Outcome CreateTableOutcome; + typedef Aws::Utils::Outcome CreateTypeOutcome; typedef Aws::Utils::Outcome DeleteKeyspaceOutcome; typedef Aws::Utils::Outcome DeleteTableOutcome; + typedef Aws::Utils::Outcome DeleteTypeOutcome; typedef Aws::Utils::Outcome GetKeyspaceOutcome; typedef Aws::Utils::Outcome GetTableOutcome; typedef Aws::Utils::Outcome GetTableAutoScalingSettingsOutcome; + typedef Aws::Utils::Outcome GetTypeOutcome; typedef Aws::Utils::Outcome ListKeyspacesOutcome; typedef Aws::Utils::Outcome ListTablesOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; + typedef Aws::Utils::Outcome ListTypesOutcome; typedef Aws::Utils::Outcome RestoreTableOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; @@ -109,14 +121,18 @@ namespace Aws /* Service model Outcome callable definitions */ typedef std::future CreateKeyspaceOutcomeCallable; typedef std::future CreateTableOutcomeCallable; + typedef std::future CreateTypeOutcomeCallable; typedef std::future DeleteKeyspaceOutcomeCallable; typedef std::future DeleteTableOutcomeCallable; + typedef std::future DeleteTypeOutcomeCallable; typedef std::future GetKeyspaceOutcomeCallable; typedef std::future GetTableOutcomeCallable; typedef std::future GetTableAutoScalingSettingsOutcomeCallable; + typedef std::future GetTypeOutcomeCallable; typedef std::future ListKeyspacesOutcomeCallable; typedef std::future ListTablesOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; + typedef std::future ListTypesOutcomeCallable; typedef std::future RestoreTableOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; @@ -129,14 +145,18 @@ namespace Aws /* Service model async handlers definitions */ typedef std::function&) > CreateKeyspaceResponseReceivedHandler; typedef std::function&) > CreateTableResponseReceivedHandler; + typedef std::function&) > CreateTypeResponseReceivedHandler; typedef std::function&) > DeleteKeyspaceResponseReceivedHandler; typedef std::function&) > DeleteTableResponseReceivedHandler; + typedef std::function&) > DeleteTypeResponseReceivedHandler; typedef std::function&) > GetKeyspaceResponseReceivedHandler; typedef std::function&) > GetTableResponseReceivedHandler; typedef std::function&) > GetTableAutoScalingSettingsResponseReceivedHandler; + typedef std::function&) > GetTypeResponseReceivedHandler; typedef std::function&) > ListKeyspacesResponseReceivedHandler; typedef std::function&) > ListTablesResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; + typedef std::function&) > ListTypesResponseReceivedHandler; typedef std::function&) > RestoreTableResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/CreateTypeRequest.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/CreateTypeRequest.h new file mode 100644 index 00000000000..21218460c80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/CreateTypeRequest.h @@ -0,0 +1,103 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + + /** + */ + class CreateTypeRequest : public KeyspacesRequest + { + public: + AWS_KEYSPACES_API CreateTypeRequest(); + + // 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 "CreateType"; } + + AWS_KEYSPACES_API Aws::String SerializePayload() const override; + + AWS_KEYSPACES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                The name of the keyspace.

                + */ + inline const Aws::String& GetKeyspaceName() const{ return m_keyspaceName; } + inline bool KeyspaceNameHasBeenSet() const { return m_keyspaceNameHasBeenSet; } + inline void SetKeyspaceName(const Aws::String& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = value; } + inline void SetKeyspaceName(Aws::String&& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = std::move(value); } + inline void SetKeyspaceName(const char* value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName.assign(value); } + inline CreateTypeRequest& WithKeyspaceName(const Aws::String& value) { SetKeyspaceName(value); return *this;} + inline CreateTypeRequest& WithKeyspaceName(Aws::String&& value) { SetKeyspaceName(std::move(value)); return *this;} + inline CreateTypeRequest& WithKeyspaceName(const char* value) { SetKeyspaceName(value); return *this;} + ///@} + + ///@{ + /** + *

                The name of the user-defined type.

                UDT names must contain 48 + * characters or less, must begin with an alphabetic character, and can only + * contain alpha-numeric characters and underscores. Amazon Keyspaces converts + * upper case characters automatically into lower case characters.

                + *

                Alternatively, you can declare a UDT name in double quotes. When declaring a + * UDT name inside double quotes, Amazon Keyspaces preserves upper casing and + * allows special characters.

                You can also use double quotes as part of the + * name when you create the UDT, but you must escape each double quote character + * with an additional double quote character.

                + */ + inline const Aws::String& GetTypeName() const{ return m_typeName; } + inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; } + inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; } + inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); } + inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); } + inline CreateTypeRequest& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} + inline CreateTypeRequest& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} + inline CreateTypeRequest& WithTypeName(const char* value) { SetTypeName(value); return *this;} + ///@} + + ///@{ + /** + *

                The field definitions, consisting of names and types, that define this type. + *

                + */ + inline const Aws::Vector& GetFieldDefinitions() const{ return m_fieldDefinitions; } + inline bool FieldDefinitionsHasBeenSet() const { return m_fieldDefinitionsHasBeenSet; } + inline void SetFieldDefinitions(const Aws::Vector& value) { m_fieldDefinitionsHasBeenSet = true; m_fieldDefinitions = value; } + inline void SetFieldDefinitions(Aws::Vector&& value) { m_fieldDefinitionsHasBeenSet = true; m_fieldDefinitions = std::move(value); } + inline CreateTypeRequest& WithFieldDefinitions(const Aws::Vector& value) { SetFieldDefinitions(value); return *this;} + inline CreateTypeRequest& WithFieldDefinitions(Aws::Vector&& value) { SetFieldDefinitions(std::move(value)); return *this;} + inline CreateTypeRequest& AddFieldDefinitions(const FieldDefinition& value) { m_fieldDefinitionsHasBeenSet = true; m_fieldDefinitions.push_back(value); return *this; } + inline CreateTypeRequest& AddFieldDefinitions(FieldDefinition&& value) { m_fieldDefinitionsHasBeenSet = true; m_fieldDefinitions.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_keyspaceName; + bool m_keyspaceNameHasBeenSet = false; + + Aws::String m_typeName; + bool m_typeNameHasBeenSet = false; + + Aws::Vector m_fieldDefinitions; + bool m_fieldDefinitionsHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/CreateTypeResult.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/CreateTypeResult.h new file mode 100644 index 00000000000..7f6d2bad518 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/CreateTypeResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + class CreateTypeResult + { + public: + AWS_KEYSPACES_API CreateTypeResult(); + AWS_KEYSPACES_API CreateTypeResult(const Aws::AmazonWebServiceResult& result); + AWS_KEYSPACES_API CreateTypeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The unique identifier of the keyspace that contains the new type in the + * format of an Amazon Resource Name (ARN).

                + */ + inline const Aws::String& GetKeyspaceArn() const{ return m_keyspaceArn; } + inline void SetKeyspaceArn(const Aws::String& value) { m_keyspaceArn = value; } + inline void SetKeyspaceArn(Aws::String&& value) { m_keyspaceArn = std::move(value); } + inline void SetKeyspaceArn(const char* value) { m_keyspaceArn.assign(value); } + inline CreateTypeResult& WithKeyspaceArn(const Aws::String& value) { SetKeyspaceArn(value); return *this;} + inline CreateTypeResult& WithKeyspaceArn(Aws::String&& value) { SetKeyspaceArn(std::move(value)); return *this;} + inline CreateTypeResult& WithKeyspaceArn(const char* value) { SetKeyspaceArn(value); return *this;} + ///@} + + ///@{ + /** + *

                The formatted name of the user-defined type that was created. Note that + * Amazon Keyspaces requires the formatted name of the type for other operations, + * for example GetType.

                + */ + inline const Aws::String& GetTypeName() const{ return m_typeName; } + inline void SetTypeName(const Aws::String& value) { m_typeName = value; } + inline void SetTypeName(Aws::String&& value) { m_typeName = std::move(value); } + inline void SetTypeName(const char* value) { m_typeName.assign(value); } + inline CreateTypeResult& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} + inline CreateTypeResult& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} + inline CreateTypeResult& WithTypeName(const char* value) { SetTypeName(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 CreateTypeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateTypeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateTypeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_keyspaceArn; + + Aws::String m_typeName; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/DeleteTypeRequest.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/DeleteTypeRequest.h new file mode 100644 index 00000000000..eb8bb8db540 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/DeleteTypeRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + + /** + */ + class DeleteTypeRequest : public KeyspacesRequest + { + public: + AWS_KEYSPACES_API DeleteTypeRequest(); + + // 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 "DeleteType"; } + + AWS_KEYSPACES_API Aws::String SerializePayload() const override; + + AWS_KEYSPACES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                The name of the keyspace of the to be deleted type.

                + */ + inline const Aws::String& GetKeyspaceName() const{ return m_keyspaceName; } + inline bool KeyspaceNameHasBeenSet() const { return m_keyspaceNameHasBeenSet; } + inline void SetKeyspaceName(const Aws::String& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = value; } + inline void SetKeyspaceName(Aws::String&& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = std::move(value); } + inline void SetKeyspaceName(const char* value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName.assign(value); } + inline DeleteTypeRequest& WithKeyspaceName(const Aws::String& value) { SetKeyspaceName(value); return *this;} + inline DeleteTypeRequest& WithKeyspaceName(Aws::String&& value) { SetKeyspaceName(std::move(value)); return *this;} + inline DeleteTypeRequest& WithKeyspaceName(const char* value) { SetKeyspaceName(value); return *this;} + ///@} + + ///@{ + /** + *

                The name of the type to be deleted.

                + */ + inline const Aws::String& GetTypeName() const{ return m_typeName; } + inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; } + inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; } + inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); } + inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); } + inline DeleteTypeRequest& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} + inline DeleteTypeRequest& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} + inline DeleteTypeRequest& WithTypeName(const char* value) { SetTypeName(value); return *this;} + ///@} + private: + + Aws::String m_keyspaceName; + bool m_keyspaceNameHasBeenSet = false; + + Aws::String m_typeName; + bool m_typeNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/DeleteTypeResult.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/DeleteTypeResult.h new file mode 100644 index 00000000000..bff9cfd2e67 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/DeleteTypeResult.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + class DeleteTypeResult + { + public: + AWS_KEYSPACES_API DeleteTypeResult(); + AWS_KEYSPACES_API DeleteTypeResult(const Aws::AmazonWebServiceResult& result); + AWS_KEYSPACES_API DeleteTypeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The unique identifier of the keyspace from which the type was deleted in the + * format of an Amazon Resource Name (ARN).

                + */ + inline const Aws::String& GetKeyspaceArn() const{ return m_keyspaceArn; } + inline void SetKeyspaceArn(const Aws::String& value) { m_keyspaceArn = value; } + inline void SetKeyspaceArn(Aws::String&& value) { m_keyspaceArn = std::move(value); } + inline void SetKeyspaceArn(const char* value) { m_keyspaceArn.assign(value); } + inline DeleteTypeResult& WithKeyspaceArn(const Aws::String& value) { SetKeyspaceArn(value); return *this;} + inline DeleteTypeResult& WithKeyspaceArn(Aws::String&& value) { SetKeyspaceArn(std::move(value)); return *this;} + inline DeleteTypeResult& WithKeyspaceArn(const char* value) { SetKeyspaceArn(value); return *this;} + ///@} + + ///@{ + /** + *

                The name of the type that was deleted.

                + */ + inline const Aws::String& GetTypeName() const{ return m_typeName; } + inline void SetTypeName(const Aws::String& value) { m_typeName = value; } + inline void SetTypeName(Aws::String&& value) { m_typeName = std::move(value); } + inline void SetTypeName(const char* value) { m_typeName.assign(value); } + inline DeleteTypeResult& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} + inline DeleteTypeResult& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} + inline DeleteTypeResult& WithTypeName(const char* value) { SetTypeName(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 DeleteTypeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteTypeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteTypeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_keyspaceArn; + + Aws::String m_typeName; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/FieldDefinition.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/FieldDefinition.h new file mode 100644 index 00000000000..b834a400fe9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/FieldDefinition.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + + /** + *

                A field definition consists out of a name and a type.

                See + * Also:

                AWS + * API Reference

                + */ + class FieldDefinition + { + public: + AWS_KEYSPACES_API FieldDefinition(); + AWS_KEYSPACES_API FieldDefinition(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API FieldDefinition& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_KEYSPACES_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                The identifier.

                + */ + 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 FieldDefinition& WithName(const Aws::String& value) { SetName(value); return *this;} + inline FieldDefinition& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline FieldDefinition& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                Any supported Cassandra data type, including collections and other + * user-defined types that are contained in the same keyspace.

                For more + * information, see Cassandra + * data type support in the Amazon Keyspaces Developer Guide.

                + */ + inline const Aws::String& GetType() const{ return m_type; } + inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } + inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } + inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } + inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } + inline FieldDefinition& WithType(const Aws::String& value) { SetType(value); return *this;} + inline FieldDefinition& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} + inline FieldDefinition& WithType(const char* value) { SetType(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_type; + bool m_typeHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTypeRequest.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTypeRequest.h new file mode 100644 index 00000000000..83ef4ec6239 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTypeRequest.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + + /** + */ + class GetTypeRequest : public KeyspacesRequest + { + public: + AWS_KEYSPACES_API GetTypeRequest(); + + // 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 "GetType"; } + + AWS_KEYSPACES_API Aws::String SerializePayload() const override; + + AWS_KEYSPACES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                The name of the keyspace that contains this type.

                + */ + inline const Aws::String& GetKeyspaceName() const{ return m_keyspaceName; } + inline bool KeyspaceNameHasBeenSet() const { return m_keyspaceNameHasBeenSet; } + inline void SetKeyspaceName(const Aws::String& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = value; } + inline void SetKeyspaceName(Aws::String&& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = std::move(value); } + inline void SetKeyspaceName(const char* value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName.assign(value); } + inline GetTypeRequest& WithKeyspaceName(const Aws::String& value) { SetKeyspaceName(value); return *this;} + inline GetTypeRequest& WithKeyspaceName(Aws::String&& value) { SetKeyspaceName(std::move(value)); return *this;} + inline GetTypeRequest& WithKeyspaceName(const char* value) { SetKeyspaceName(value); return *this;} + ///@} + + ///@{ + /** + *

                The formatted name of the type. For example, if the name of the type was + * created without double quotes, Amazon Keyspaces saved the name in lower-case + * characters. If the name was created in double quotes, you must use double quotes + * to specify the type name.

                + */ + inline const Aws::String& GetTypeName() const{ return m_typeName; } + inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; } + inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; } + inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); } + inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); } + inline GetTypeRequest& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} + inline GetTypeRequest& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} + inline GetTypeRequest& WithTypeName(const char* value) { SetTypeName(value); return *this;} + ///@} + private: + + Aws::String m_keyspaceName; + bool m_keyspaceNameHasBeenSet = false; + + Aws::String m_typeName; + bool m_typeNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTypeResult.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTypeResult.h new file mode 100644 index 00000000000..d70ecefd777 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/GetTypeResult.h @@ -0,0 +1,186 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + class GetTypeResult + { + public: + AWS_KEYSPACES_API GetTypeResult(); + AWS_KEYSPACES_API GetTypeResult(const Aws::AmazonWebServiceResult& result); + AWS_KEYSPACES_API GetTypeResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The name of the keyspace that contains this type.

                + */ + inline const Aws::String& GetKeyspaceName() const{ return m_keyspaceName; } + inline void SetKeyspaceName(const Aws::String& value) { m_keyspaceName = value; } + inline void SetKeyspaceName(Aws::String&& value) { m_keyspaceName = std::move(value); } + inline void SetKeyspaceName(const char* value) { m_keyspaceName.assign(value); } + inline GetTypeResult& WithKeyspaceName(const Aws::String& value) { SetKeyspaceName(value); return *this;} + inline GetTypeResult& WithKeyspaceName(Aws::String&& value) { SetKeyspaceName(std::move(value)); return *this;} + inline GetTypeResult& WithKeyspaceName(const char* value) { SetKeyspaceName(value); return *this;} + ///@} + + ///@{ + /** + *

                The name of the type.

                + */ + inline const Aws::String& GetTypeName() const{ return m_typeName; } + inline void SetTypeName(const Aws::String& value) { m_typeName = value; } + inline void SetTypeName(Aws::String&& value) { m_typeName = std::move(value); } + inline void SetTypeName(const char* value) { m_typeName.assign(value); } + inline GetTypeResult& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} + inline GetTypeResult& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} + inline GetTypeResult& WithTypeName(const char* value) { SetTypeName(value); return *this;} + ///@} + + ///@{ + /** + *

                The names and types that define this type.

                + */ + inline const Aws::Vector& GetFieldDefinitions() const{ return m_fieldDefinitions; } + inline void SetFieldDefinitions(const Aws::Vector& value) { m_fieldDefinitions = value; } + inline void SetFieldDefinitions(Aws::Vector&& value) { m_fieldDefinitions = std::move(value); } + inline GetTypeResult& WithFieldDefinitions(const Aws::Vector& value) { SetFieldDefinitions(value); return *this;} + inline GetTypeResult& WithFieldDefinitions(Aws::Vector&& value) { SetFieldDefinitions(std::move(value)); return *this;} + inline GetTypeResult& AddFieldDefinitions(const FieldDefinition& value) { m_fieldDefinitions.push_back(value); return *this; } + inline GetTypeResult& AddFieldDefinitions(FieldDefinition&& value) { m_fieldDefinitions.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                The timestamp that shows when this type was last modified.

                + */ + inline const Aws::Utils::DateTime& GetLastModifiedTimestamp() const{ return m_lastModifiedTimestamp; } + inline void SetLastModifiedTimestamp(const Aws::Utils::DateTime& value) { m_lastModifiedTimestamp = value; } + inline void SetLastModifiedTimestamp(Aws::Utils::DateTime&& value) { m_lastModifiedTimestamp = std::move(value); } + inline GetTypeResult& WithLastModifiedTimestamp(const Aws::Utils::DateTime& value) { SetLastModifiedTimestamp(value); return *this;} + inline GetTypeResult& WithLastModifiedTimestamp(Aws::Utils::DateTime&& value) { SetLastModifiedTimestamp(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The status of this type.

                + */ + inline const TypeStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const TypeStatus& value) { m_status = value; } + inline void SetStatus(TypeStatus&& value) { m_status = std::move(value); } + inline GetTypeResult& WithStatus(const TypeStatus& value) { SetStatus(value); return *this;} + inline GetTypeResult& WithStatus(TypeStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                The tables that use this type.

                + */ + inline const Aws::Vector& GetDirectReferringTables() const{ return m_directReferringTables; } + inline void SetDirectReferringTables(const Aws::Vector& value) { m_directReferringTables = value; } + inline void SetDirectReferringTables(Aws::Vector&& value) { m_directReferringTables = std::move(value); } + inline GetTypeResult& WithDirectReferringTables(const Aws::Vector& value) { SetDirectReferringTables(value); return *this;} + inline GetTypeResult& WithDirectReferringTables(Aws::Vector&& value) { SetDirectReferringTables(std::move(value)); return *this;} + inline GetTypeResult& AddDirectReferringTables(const Aws::String& value) { m_directReferringTables.push_back(value); return *this; } + inline GetTypeResult& AddDirectReferringTables(Aws::String&& value) { m_directReferringTables.push_back(std::move(value)); return *this; } + inline GetTypeResult& AddDirectReferringTables(const char* value) { m_directReferringTables.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The types that use this type.

                + */ + inline const Aws::Vector& GetDirectParentTypes() const{ return m_directParentTypes; } + inline void SetDirectParentTypes(const Aws::Vector& value) { m_directParentTypes = value; } + inline void SetDirectParentTypes(Aws::Vector&& value) { m_directParentTypes = std::move(value); } + inline GetTypeResult& WithDirectParentTypes(const Aws::Vector& value) { SetDirectParentTypes(value); return *this;} + inline GetTypeResult& WithDirectParentTypes(Aws::Vector&& value) { SetDirectParentTypes(std::move(value)); return *this;} + inline GetTypeResult& AddDirectParentTypes(const Aws::String& value) { m_directParentTypes.push_back(value); return *this; } + inline GetTypeResult& AddDirectParentTypes(Aws::String&& value) { m_directParentTypes.push_back(std::move(value)); return *this; } + inline GetTypeResult& AddDirectParentTypes(const char* value) { m_directParentTypes.push_back(value); return *this; } + ///@} + + ///@{ + /** + *

                The level of nesting implemented for this type.

                + */ + inline int GetMaxNestingDepth() const{ return m_maxNestingDepth; } + inline void SetMaxNestingDepth(int value) { m_maxNestingDepth = value; } + inline GetTypeResult& WithMaxNestingDepth(int value) { SetMaxNestingDepth(value); return *this;} + ///@} + + ///@{ + /** + *

                The unique identifier of the keyspace that contains this type in the format + * of an Amazon Resource Name (ARN).

                + */ + inline const Aws::String& GetKeyspaceArn() const{ return m_keyspaceArn; } + inline void SetKeyspaceArn(const Aws::String& value) { m_keyspaceArn = value; } + inline void SetKeyspaceArn(Aws::String&& value) { m_keyspaceArn = std::move(value); } + inline void SetKeyspaceArn(const char* value) { m_keyspaceArn.assign(value); } + inline GetTypeResult& WithKeyspaceArn(const Aws::String& value) { SetKeyspaceArn(value); return *this;} + inline GetTypeResult& WithKeyspaceArn(Aws::String&& value) { SetKeyspaceArn(std::move(value)); return *this;} + inline GetTypeResult& WithKeyspaceArn(const char* value) { SetKeyspaceArn(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 GetTypeResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetTypeResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetTypeResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_keyspaceName; + + Aws::String m_typeName; + + Aws::Vector m_fieldDefinitions; + + Aws::Utils::DateTime m_lastModifiedTimestamp; + + TypeStatus m_status; + + Aws::Vector m_directReferringTables; + + Aws::Vector m_directParentTypes; + + int m_maxNestingDepth; + + Aws::String m_keyspaceArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ListTypesRequest.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ListTypesRequest.h new file mode 100644 index 00000000000..7d14060a0df --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ListTypesRequest.h @@ -0,0 +1,92 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + + /** + */ + class ListTypesRequest : public KeyspacesRequest + { + public: + AWS_KEYSPACES_API ListTypesRequest(); + + // 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 "ListTypes"; } + + AWS_KEYSPACES_API Aws::String SerializePayload() const override; + + AWS_KEYSPACES_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

                The pagination token. To resume pagination, provide the + * NextToken value as an argument of a subsequent API invocation.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListTypesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListTypesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListTypesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

                The total number of types to return in the output. If the total number of + * types available is more than the value specified, a NextToken is + * provided in the output. To resume pagination, provide the NextToken + * value as an argument of a subsequent API invocation.

                + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListTypesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + + ///@{ + /** + *

                The name of the keyspace that contains the listed types.

                + */ + inline const Aws::String& GetKeyspaceName() const{ return m_keyspaceName; } + inline bool KeyspaceNameHasBeenSet() const { return m_keyspaceNameHasBeenSet; } + inline void SetKeyspaceName(const Aws::String& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = value; } + inline void SetKeyspaceName(Aws::String&& value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName = std::move(value); } + inline void SetKeyspaceName(const char* value) { m_keyspaceNameHasBeenSet = true; m_keyspaceName.assign(value); } + inline ListTypesRequest& WithKeyspaceName(const Aws::String& value) { SetKeyspaceName(value); return *this;} + inline ListTypesRequest& WithKeyspaceName(Aws::String&& value) { SetKeyspaceName(std::move(value)); return *this;} + inline ListTypesRequest& WithKeyspaceName(const char* value) { SetKeyspaceName(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + + Aws::String m_keyspaceName; + bool m_keyspaceNameHasBeenSet = false; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ListTypesResult.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ListTypesResult.h new file mode 100644 index 00000000000..4d10565fce2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ListTypesResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace Keyspaces +{ +namespace Model +{ + class ListTypesResult + { + public: + AWS_KEYSPACES_API ListTypesResult(); + AWS_KEYSPACES_API ListTypesResult(const Aws::AmazonWebServiceResult& result); + AWS_KEYSPACES_API ListTypesResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                The pagination token. To resume pagination, provide the + * NextToken value as an argument of a subsequent API invocation.

                + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListTypesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListTypesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListTypesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

                The list of types contained in the specified keyspace.

                + */ + inline const Aws::Vector& GetTypes() const{ return m_types; } + inline void SetTypes(const Aws::Vector& value) { m_types = value; } + inline void SetTypes(Aws::Vector&& value) { m_types = std::move(value); } + inline ListTypesResult& WithTypes(const Aws::Vector& value) { SetTypes(value); return *this;} + inline ListTypesResult& WithTypes(Aws::Vector&& value) { SetTypes(std::move(value)); return *this;} + inline ListTypesResult& AddTypes(const Aws::String& value) { m_types.push_back(value); return *this; } + inline ListTypesResult& AddTypes(Aws::String&& value) { m_types.push_back(std::move(value)); return *this; } + inline ListTypesResult& AddTypes(const char* value) { m_types.push_back(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 ListTypesResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListTypesResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListTypesResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_types; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ResourceNotFoundException.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ResourceNotFoundException.h index a192338f037..6d5a1219ffd 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ResourceNotFoundException.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/ResourceNotFoundException.h @@ -24,8 +24,8 @@ namespace Model { /** - *

                The operation tried to access a keyspace or table that doesn't exist. The - * resource might not be specified correctly, or its status might not be + *

                The operation tried to access a keyspace, table, or type that doesn't exist. + * The resource might not be specified correctly, or its status might not be * ACTIVE.

                See Also:

                AWS * API Reference

                @@ -55,8 +55,8 @@ namespace Model ///@{ /** - *

                The unique identifier in the format of Amazon Resource Name (ARN), for the - * resource not found.

                + *

                The unique identifier in the format of Amazon Resource Name (ARN) for the + * resource could't be found.

                */ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/TypeStatus.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/TypeStatus.h new file mode 100644 index 00000000000..a54a914a646 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/model/TypeStatus.h @@ -0,0 +1,33 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + enum class TypeStatus + { + NOT_SET, + ACTIVE, + CREATING, + DELETING, + RESTORING + }; + +namespace TypeStatusMapper +{ +AWS_KEYSPACES_API TypeStatus GetTypeStatusForName(const Aws::String& name); + +AWS_KEYSPACES_API Aws::String GetNameForTypeStatus(TypeStatus value); +} // namespace TypeStatusMapper +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp index d227e237d1e..9fd29e5d0ce 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp +++ b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp @@ -23,14 +23,18 @@ #include #include #include +#include #include #include +#include #include #include #include +#include #include #include #include +#include #include #include #include @@ -230,6 +234,32 @@ CreateTableOutcome KeyspacesClient::CreateTable(const CreateTableRequest& reques {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateTypeOutcome KeyspacesClient::CreateType(const CreateTypeRequest& request) const +{ + AWS_OPERATION_GUARD(CreateType); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateType, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateType, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateType, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateType", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateTypeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateType, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateTypeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteKeyspaceOutcome KeyspacesClient::DeleteKeyspace(const DeleteKeyspaceRequest& request) const { AWS_OPERATION_GUARD(DeleteKeyspace); @@ -282,6 +312,32 @@ DeleteTableOutcome KeyspacesClient::DeleteTable(const DeleteTableRequest& reques {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteTypeOutcome KeyspacesClient::DeleteType(const DeleteTypeRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteType); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteType, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteType, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteType, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteType", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteTypeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteType, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteTypeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetKeyspaceOutcome KeyspacesClient::GetKeyspace(const GetKeyspaceRequest& request) const { AWS_OPERATION_GUARD(GetKeyspace); @@ -360,6 +416,32 @@ GetTableAutoScalingSettingsOutcome KeyspacesClient::GetTableAutoScalingSettings( {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetTypeOutcome KeyspacesClient::GetType(const GetTypeRequest& request) const +{ + AWS_OPERATION_GUARD(GetType); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetType, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetType, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetType, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetType", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetTypeOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetType, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetTypeOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListKeyspacesOutcome KeyspacesClient::ListKeyspaces(const ListKeyspacesRequest& request) const { AWS_OPERATION_GUARD(ListKeyspaces); @@ -438,6 +520,32 @@ ListTagsForResourceOutcome KeyspacesClient::ListTagsForResource(const ListTagsFo {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListTypesOutcome KeyspacesClient::ListTypes(const ListTypesRequest& request) const +{ + AWS_OPERATION_GUARD(ListTypes); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListTypes, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListTypes", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListTypesOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListTypes, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListTypesOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + RestoreTableOutcome KeyspacesClient::RestoreTable(const RestoreTableRequest& request) const { AWS_OPERATION_GUARD(RestoreTable); diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/CreateTypeRequest.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/CreateTypeRequest.cpp new file mode 100644 index 00000000000..1ca92402ec7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/CreateTypeRequest.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Keyspaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateTypeRequest::CreateTypeRequest() : + m_keyspaceNameHasBeenSet(false), + m_typeNameHasBeenSet(false), + m_fieldDefinitionsHasBeenSet(false) +{ +} + +Aws::String CreateTypeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_keyspaceNameHasBeenSet) + { + payload.WithString("keyspaceName", m_keyspaceName); + + } + + if(m_typeNameHasBeenSet) + { + payload.WithString("typeName", m_typeName); + + } + + if(m_fieldDefinitionsHasBeenSet) + { + Aws::Utils::Array fieldDefinitionsJsonList(m_fieldDefinitions.size()); + for(unsigned fieldDefinitionsIndex = 0; fieldDefinitionsIndex < fieldDefinitionsJsonList.GetLength(); ++fieldDefinitionsIndex) + { + fieldDefinitionsJsonList[fieldDefinitionsIndex].AsObject(m_fieldDefinitions[fieldDefinitionsIndex].Jsonize()); + } + payload.WithArray("fieldDefinitions", std::move(fieldDefinitionsJsonList)); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateTypeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "KeyspacesService.CreateType")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/CreateTypeResult.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/CreateTypeResult.cpp new file mode 100644 index 00000000000..2236f5e50ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/CreateTypeResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Keyspaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateTypeResult::CreateTypeResult() +{ +} + +CreateTypeResult::CreateTypeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateTypeResult& CreateTypeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("keyspaceArn")) + { + m_keyspaceArn = jsonValue.GetString("keyspaceArn"); + + } + + if(jsonValue.ValueExists("typeName")) + { + m_typeName = jsonValue.GetString("typeName"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/DeleteTypeRequest.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/DeleteTypeRequest.cpp new file mode 100644 index 00000000000..da16507f3ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/DeleteTypeRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Keyspaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteTypeRequest::DeleteTypeRequest() : + m_keyspaceNameHasBeenSet(false), + m_typeNameHasBeenSet(false) +{ +} + +Aws::String DeleteTypeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_keyspaceNameHasBeenSet) + { + payload.WithString("keyspaceName", m_keyspaceName); + + } + + if(m_typeNameHasBeenSet) + { + payload.WithString("typeName", m_typeName); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteTypeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "KeyspacesService.DeleteType")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/DeleteTypeResult.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/DeleteTypeResult.cpp new file mode 100644 index 00000000000..e0a27b1d7e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/DeleteTypeResult.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Keyspaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteTypeResult::DeleteTypeResult() +{ +} + +DeleteTypeResult::DeleteTypeResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteTypeResult& DeleteTypeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("keyspaceArn")) + { + m_keyspaceArn = jsonValue.GetString("keyspaceArn"); + + } + + if(jsonValue.ValueExists("typeName")) + { + m_typeName = jsonValue.GetString("typeName"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/FieldDefinition.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/FieldDefinition.cpp new file mode 100644 index 00000000000..df29767b950 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/FieldDefinition.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace Keyspaces +{ +namespace Model +{ + +FieldDefinition::FieldDefinition() : + m_nameHasBeenSet(false), + m_typeHasBeenSet(false) +{ +} + +FieldDefinition::FieldDefinition(JsonView jsonValue) + : FieldDefinition() +{ + *this = jsonValue; +} + +FieldDefinition& FieldDefinition::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("type")) + { + m_type = jsonValue.GetString("type"); + + m_typeHasBeenSet = true; + } + + return *this; +} + +JsonValue FieldDefinition::Jsonize() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_typeHasBeenSet) + { + payload.WithString("type", m_type); + + } + + return payload; +} + +} // namespace Model +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTypeRequest.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTypeRequest.cpp new file mode 100644 index 00000000000..64f46505d0a --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTypeRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Keyspaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetTypeRequest::GetTypeRequest() : + m_keyspaceNameHasBeenSet(false), + m_typeNameHasBeenSet(false) +{ +} + +Aws::String GetTypeRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_keyspaceNameHasBeenSet) + { + payload.WithString("keyspaceName", m_keyspaceName); + + } + + if(m_typeNameHasBeenSet) + { + payload.WithString("typeName", m_typeName); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetTypeRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "KeyspacesService.GetType")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTypeResult.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTypeResult.cpp new file mode 100644 index 00000000000..9b75ce377a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/GetTypeResult.cpp @@ -0,0 +1,108 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Keyspaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetTypeResult::GetTypeResult() : + m_status(TypeStatus::NOT_SET), + m_maxNestingDepth(0) +{ +} + +GetTypeResult::GetTypeResult(const Aws::AmazonWebServiceResult& result) + : GetTypeResult() +{ + *this = result; +} + +GetTypeResult& GetTypeResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("keyspaceName")) + { + m_keyspaceName = jsonValue.GetString("keyspaceName"); + + } + + if(jsonValue.ValueExists("typeName")) + { + m_typeName = jsonValue.GetString("typeName"); + + } + + if(jsonValue.ValueExists("fieldDefinitions")) + { + Aws::Utils::Array fieldDefinitionsJsonList = jsonValue.GetArray("fieldDefinitions"); + for(unsigned fieldDefinitionsIndex = 0; fieldDefinitionsIndex < fieldDefinitionsJsonList.GetLength(); ++fieldDefinitionsIndex) + { + m_fieldDefinitions.push_back(fieldDefinitionsJsonList[fieldDefinitionsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("lastModifiedTimestamp")) + { + m_lastModifiedTimestamp = jsonValue.GetDouble("lastModifiedTimestamp"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = TypeStatusMapper::GetTypeStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("directReferringTables")) + { + Aws::Utils::Array directReferringTablesJsonList = jsonValue.GetArray("directReferringTables"); + for(unsigned directReferringTablesIndex = 0; directReferringTablesIndex < directReferringTablesJsonList.GetLength(); ++directReferringTablesIndex) + { + m_directReferringTables.push_back(directReferringTablesJsonList[directReferringTablesIndex].AsString()); + } + } + + if(jsonValue.ValueExists("directParentTypes")) + { + Aws::Utils::Array directParentTypesJsonList = jsonValue.GetArray("directParentTypes"); + for(unsigned directParentTypesIndex = 0; directParentTypesIndex < directParentTypesJsonList.GetLength(); ++directParentTypesIndex) + { + m_directParentTypes.push_back(directParentTypesJsonList[directParentTypesIndex].AsString()); + } + } + + if(jsonValue.ValueExists("maxNestingDepth")) + { + m_maxNestingDepth = jsonValue.GetInteger("maxNestingDepth"); + + } + + if(jsonValue.ValueExists("keyspaceArn")) + { + m_keyspaceArn = jsonValue.GetString("keyspaceArn"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/ListTypesRequest.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/ListTypesRequest.cpp new file mode 100644 index 00000000000..f597dfd4ac4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/ListTypesRequest.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Keyspaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListTypesRequest::ListTypesRequest() : + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false), + m_keyspaceNameHasBeenSet(false) +{ +} + +Aws::String ListTypesRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nextTokenHasBeenSet) + { + payload.WithString("nextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("maxResults", m_maxResults); + + } + + if(m_keyspaceNameHasBeenSet) + { + payload.WithString("keyspaceName", m_keyspaceName); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListTypesRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "KeyspacesService.ListTypes")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/ListTypesResult.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/ListTypesResult.cpp new file mode 100644 index 00000000000..79ed869f71a --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/ListTypesResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::Keyspaces::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListTypesResult::ListTypesResult() +{ +} + +ListTypesResult::ListTypesResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListTypesResult& ListTypesResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + if(jsonValue.ValueExists("types")) + { + Aws::Utils::Array typesJsonList = jsonValue.GetArray("types"); + for(unsigned typesIndex = 0; typesIndex < typesJsonList.GetLength(); ++typesIndex) + { + m_types.push_back(typesJsonList[typesIndex].AsString()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/model/TypeStatus.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/model/TypeStatus.cpp new file mode 100644 index 00000000000..3f3126a05f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/model/TypeStatus.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace Keyspaces + { + namespace Model + { + namespace TypeStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int RESTORING_HASH = HashingUtils::HashString("RESTORING"); + + + TypeStatus GetTypeStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return TypeStatus::ACTIVE; + } + else if (hashCode == CREATING_HASH) + { + return TypeStatus::CREATING; + } + else if (hashCode == DELETING_HASH) + { + return TypeStatus::DELETING; + } + else if (hashCode == RESTORING_HASH) + { + return TypeStatus::RESTORING; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return TypeStatus::NOT_SET; + } + + Aws::String GetNameForTypeStatus(TypeStatus enumValue) + { + switch(enumValue) + { + case TypeStatus::NOT_SET: + return {}; + case TypeStatus::ACTIVE: + return "ACTIVE"; + case TypeStatus::CREATING: + return "CREATING"; + case TypeStatus::DELETING: + return "DELETING"; + case TypeStatus::RESTORING: + return "RESTORING"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace TypeStatusMapper + } // namespace Model + } // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h index 48f762a406f..6f47179c8dd 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h @@ -39,9 +39,7 @@ namespace NetworkFirewall * traffic at the perimeter of your VPC. This includes filtering traffic going to * and coming from an internet gateway, NAT gateway, or over VPN or Direct Connect. * Network Firewall uses rules that are compatible with Suricata, a free, open - * source network analysis and threat detection engine. Network Firewall supports - * Suricata version 6.0.9. For information about Suricata, see the Suricata website.

                You can use Network + * source network analysis and threat detection engine.

                You can use Network * Firewall to monitor and protect your VPC traffic in a number of ways. The * following are just a few examples:

                • Allow domains or IP * addresses for known Amazon Web Services service endpoints, such as Amazon S3, diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/FlowTimeouts.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/FlowTimeouts.h new file mode 100644 index 00000000000..2419b73124a --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/FlowTimeouts.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace NetworkFirewall +{ +namespace Model +{ + + /** + *

                  Describes the amount of time that can pass without any traffic sent through + * the firewall before the firewall determines that the connection is idle and + * Network Firewall removes the flow entry from its flow table. Existing + * connections and flows are not impacted when you update this value. Only new + * connections after you update this value are impacted.

                  See Also:

                  + * AWS + * API Reference

                  + */ + class FlowTimeouts + { + public: + AWS_NETWORKFIREWALL_API FlowTimeouts(); + AWS_NETWORKFIREWALL_API FlowTimeouts(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFIREWALL_API FlowTimeouts& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_NETWORKFIREWALL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  The number of seconds that can pass without any TCP traffic sent through the + * firewall before the firewall determines that the connection is idle. After the + * idle timeout passes, data packets are dropped, however, the next TCP SYN packet + * is considered a new flow and is processed by the firewall. Clients or targets + * can use TCP keepalive packets to reset the idle timeout.

                  You can define + * the TcpIdleTimeoutSeconds value to be between 60 and 6000 seconds. + * If no value is provided, it defaults to 350 seconds.

                  + */ + inline int GetTcpIdleTimeoutSeconds() const{ return m_tcpIdleTimeoutSeconds; } + inline bool TcpIdleTimeoutSecondsHasBeenSet() const { return m_tcpIdleTimeoutSecondsHasBeenSet; } + inline void SetTcpIdleTimeoutSeconds(int value) { m_tcpIdleTimeoutSecondsHasBeenSet = true; m_tcpIdleTimeoutSeconds = value; } + inline FlowTimeouts& WithTcpIdleTimeoutSeconds(int value) { SetTcpIdleTimeoutSeconds(value); return *this;} + ///@} + private: + + int m_tcpIdleTimeoutSeconds; + bool m_tcpIdleTimeoutSecondsHasBeenSet = false; + }; + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulEngineOptions.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulEngineOptions.h index af17f6b70ef..54a10977c5d 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulEngineOptions.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/model/StatefulEngineOptions.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -91,6 +92,19 @@ namespace Model inline StatefulEngineOptions& WithStreamExceptionPolicy(const StreamExceptionPolicy& value) { SetStreamExceptionPolicy(value); return *this;} inline StatefulEngineOptions& WithStreamExceptionPolicy(StreamExceptionPolicy&& value) { SetStreamExceptionPolicy(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

                  Configures the amount of time that can pass without any traffic sent through + * the firewall before the firewall determines that the connection is idle.

                  + */ + inline const FlowTimeouts& GetFlowTimeouts() const{ return m_flowTimeouts; } + inline bool FlowTimeoutsHasBeenSet() const { return m_flowTimeoutsHasBeenSet; } + inline void SetFlowTimeouts(const FlowTimeouts& value) { m_flowTimeoutsHasBeenSet = true; m_flowTimeouts = value; } + inline void SetFlowTimeouts(FlowTimeouts&& value) { m_flowTimeoutsHasBeenSet = true; m_flowTimeouts = std::move(value); } + inline StatefulEngineOptions& WithFlowTimeouts(const FlowTimeouts& value) { SetFlowTimeouts(value); return *this;} + inline StatefulEngineOptions& WithFlowTimeouts(FlowTimeouts&& value) { SetFlowTimeouts(std::move(value)); return *this;} + ///@} private: RuleOrder m_ruleOrder; @@ -98,6 +112,9 @@ namespace Model StreamExceptionPolicy m_streamExceptionPolicy; bool m_streamExceptionPolicyHasBeenSet = false; + + FlowTimeouts m_flowTimeouts; + bool m_flowTimeoutsHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/FlowTimeouts.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/FlowTimeouts.cpp new file mode 100644 index 00000000000..19f9ab6b6ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/FlowTimeouts.cpp @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace NetworkFirewall +{ +namespace Model +{ + +FlowTimeouts::FlowTimeouts() : + m_tcpIdleTimeoutSeconds(0), + m_tcpIdleTimeoutSecondsHasBeenSet(false) +{ +} + +FlowTimeouts::FlowTimeouts(JsonView jsonValue) + : FlowTimeouts() +{ + *this = jsonValue; +} + +FlowTimeouts& FlowTimeouts::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("TcpIdleTimeoutSeconds")) + { + m_tcpIdleTimeoutSeconds = jsonValue.GetInteger("TcpIdleTimeoutSeconds"); + + m_tcpIdleTimeoutSecondsHasBeenSet = true; + } + + return *this; +} + +JsonValue FlowTimeouts::Jsonize() const +{ + JsonValue payload; + + if(m_tcpIdleTimeoutSecondsHasBeenSet) + { + payload.WithInteger("TcpIdleTimeoutSeconds", m_tcpIdleTimeoutSeconds); + + } + + return payload; +} + +} // namespace Model +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulEngineOptions.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulEngineOptions.cpp index a774f5d7578..2d0acb3e392 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulEngineOptions.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/model/StatefulEngineOptions.cpp @@ -22,7 +22,8 @@ StatefulEngineOptions::StatefulEngineOptions() : m_ruleOrder(RuleOrder::NOT_SET), m_ruleOrderHasBeenSet(false), m_streamExceptionPolicy(StreamExceptionPolicy::NOT_SET), - m_streamExceptionPolicyHasBeenSet(false) + m_streamExceptionPolicyHasBeenSet(false), + m_flowTimeoutsHasBeenSet(false) { } @@ -48,6 +49,13 @@ StatefulEngineOptions& StatefulEngineOptions::operator =(JsonView jsonValue) m_streamExceptionPolicyHasBeenSet = true; } + if(jsonValue.ValueExists("FlowTimeouts")) + { + m_flowTimeouts = jsonValue.GetObject("FlowTimeouts"); + + m_flowTimeoutsHasBeenSet = true; + } + return *this; } @@ -65,6 +73,12 @@ JsonValue StatefulEngineOptions::Jsonize() const payload.WithString("StreamExceptionPolicy", StreamExceptionPolicyMapper::GetNameForStreamExceptionPolicy(m_streamExceptionPolicy)); } + if(m_flowTimeoutsHasBeenSet) + { + payload.WithObject("FlowTimeouts", m_flowTimeouts.Jsonize()); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h index 49d089e4fda..6af4ab42868 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h @@ -278,6 +278,31 @@ namespace OpenSearchService return SubmitAsync(&OpenSearchServiceClient::CancelServiceSoftwareUpdate, request, handler, context); } + /** + *

                  Creates an OpenSearch Application.

                  See Also:

                  AWS + * API Reference

                  + */ + virtual Model::CreateApplicationOutcome CreateApplication(const Model::CreateApplicationRequest& request) const; + + /** + * A Callable wrapper for CreateApplication that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateApplicationOutcomeCallable CreateApplicationCallable(const CreateApplicationRequestT& request) const + { + return SubmitCallable(&OpenSearchServiceClient::CreateApplication, request); + } + + /** + * An Async wrapper for CreateApplication that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateApplicationAsync(const CreateApplicationRequestT& request, const CreateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&OpenSearchServiceClient::CreateApplication, request, handler, context); + } + /** *

                  Creates an Amazon OpenSearch Service domain. For more information, see Creating @@ -388,6 +413,31 @@ namespace OpenSearchService return SubmitAsync(&OpenSearchServiceClient::CreateVpcEndpoint, request, handler, context); } + /** + *

                  Deletes an existing OpenSearch Application.

                  See Also:

                  AWS + * API Reference

                  + */ + virtual Model::DeleteApplicationOutcome DeleteApplication(const Model::DeleteApplicationRequest& request) const; + + /** + * A Callable wrapper for DeleteApplication that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteApplicationOutcomeCallable DeleteApplicationCallable(const DeleteApplicationRequestT& request) const + { + return SubmitCallable(&OpenSearchServiceClient::DeleteApplication, request); + } + + /** + * An Async wrapper for DeleteApplication that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteApplicationAsync(const DeleteApplicationRequestT& request, const DeleteApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&OpenSearchServiceClient::DeleteApplication, request, handler, context); + } + /** *

                  Deletes a direct-query data source. For more information, see Deleting @@ -993,6 +1043,32 @@ namespace OpenSearchService return SubmitAsync(&OpenSearchServiceClient::DissociatePackage, request, handler, context); } + /** + *

                  Check the configuration and status of an existing OpenSearch + * Application.

                  See Also:

                  AWS + * API Reference

                  + */ + virtual Model::GetApplicationOutcome GetApplication(const Model::GetApplicationRequest& request) const; + + /** + * A Callable wrapper for GetApplication that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetApplicationOutcomeCallable GetApplicationCallable(const GetApplicationRequestT& request) const + { + return SubmitCallable(&OpenSearchServiceClient::GetApplication, request); + } + + /** + * An Async wrapper for GetApplication that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetApplicationAsync(const GetApplicationRequestT& request, const GetApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&OpenSearchServiceClient::GetApplication, request, handler, context); + } + /** *

                  Returns a map of OpenSearch or Elasticsearch versions and the versions you * can upgrade them to.

                  See Also:

                  List all OpenSearch Applications under your account.

                  See Also:

                  + *
                  AWS + * API Reference

                  + */ + virtual Model::ListApplicationsOutcome ListApplications(const Model::ListApplicationsRequest& request = {}) const; + + /** + * A Callable wrapper for ListApplications that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListApplicationsOutcomeCallable ListApplicationsCallable(const ListApplicationsRequestT& request = {}) const + { + return SubmitCallable(&OpenSearchServiceClient::ListApplications, request); + } + + /** + * An Async wrapper for ListApplications that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListApplicationsAsync(const ListApplicationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListApplicationsRequestT& request = {}) const + { + return SubmitAsync(&OpenSearchServiceClient::ListApplications, request, handler, context); + } + /** *

                  Lists direct-query data sources for a specific domain. For more information, * see For more information, see Update the OpenSearch Application.

                  See Also:

                  AWS + * API Reference

                  + */ + virtual Model::UpdateApplicationOutcome UpdateApplication(const Model::UpdateApplicationRequest& request) const; + + /** + * A Callable wrapper for UpdateApplication that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::UpdateApplicationOutcomeCallable UpdateApplicationCallable(const UpdateApplicationRequestT& request) const + { + return SubmitCallable(&OpenSearchServiceClient::UpdateApplication, request); + } + + /** + * An Async wrapper for UpdateApplication that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void UpdateApplicationAsync(const UpdateApplicationRequestT& request, const UpdateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&OpenSearchServiceClient::UpdateApplication, request, handler, context); + } + /** *

                  Updates a direct-query data source. For more information, see Working diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceServiceClientModel.h index 18f9c87d369..c228fde8ca1 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceServiceClientModel.h @@ -24,10 +24,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -50,12 +52,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -73,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -81,6 +86,7 @@ #include #include #include +#include #include #include #include @@ -136,10 +142,12 @@ namespace Aws class AuthorizeVpcEndpointAccessRequest; class CancelDomainConfigChangeRequest; class CancelServiceSoftwareUpdateRequest; + class CreateApplicationRequest; class CreateDomainRequest; class CreateOutboundConnectionRequest; class CreatePackageRequest; class CreateVpcEndpointRequest; + class DeleteApplicationRequest; class DeleteDataSourceRequest; class DeleteDomainRequest; class DeleteInboundConnectionRequest; @@ -162,12 +170,14 @@ namespace Aws class DescribeReservedInstancesRequest; class DescribeVpcEndpointsRequest; class DissociatePackageRequest; + class GetApplicationRequest; class GetCompatibleVersionsRequest; class GetDataSourceRequest; class GetDomainMaintenanceStatusRequest; class GetPackageVersionHistoryRequest; class GetUpgradeHistoryRequest; class GetUpgradeStatusRequest; + class ListApplicationsRequest; class ListDataSourcesRequest; class ListDomainMaintenancesRequest; class ListDomainNamesRequest; @@ -186,6 +196,7 @@ namespace Aws class RevokeVpcEndpointAccessRequest; class StartDomainMaintenanceRequest; class StartServiceSoftwareUpdateRequest; + class UpdateApplicationRequest; class UpdateDataSourceRequest; class UpdateDomainConfigRequest; class UpdatePackageRequest; @@ -202,10 +213,12 @@ namespace Aws typedef Aws::Utils::Outcome AuthorizeVpcEndpointAccessOutcome; typedef Aws::Utils::Outcome CancelDomainConfigChangeOutcome; typedef Aws::Utils::Outcome CancelServiceSoftwareUpdateOutcome; + typedef Aws::Utils::Outcome CreateApplicationOutcome; typedef Aws::Utils::Outcome CreateDomainOutcome; typedef Aws::Utils::Outcome CreateOutboundConnectionOutcome; typedef Aws::Utils::Outcome CreatePackageOutcome; typedef Aws::Utils::Outcome CreateVpcEndpointOutcome; + typedef Aws::Utils::Outcome DeleteApplicationOutcome; typedef Aws::Utils::Outcome DeleteDataSourceOutcome; typedef Aws::Utils::Outcome DeleteDomainOutcome; typedef Aws::Utils::Outcome DeleteInboundConnectionOutcome; @@ -228,12 +241,14 @@ namespace Aws typedef Aws::Utils::Outcome DescribeReservedInstancesOutcome; typedef Aws::Utils::Outcome DescribeVpcEndpointsOutcome; typedef Aws::Utils::Outcome DissociatePackageOutcome; + typedef Aws::Utils::Outcome GetApplicationOutcome; typedef Aws::Utils::Outcome GetCompatibleVersionsOutcome; typedef Aws::Utils::Outcome GetDataSourceOutcome; typedef Aws::Utils::Outcome GetDomainMaintenanceStatusOutcome; typedef Aws::Utils::Outcome GetPackageVersionHistoryOutcome; typedef Aws::Utils::Outcome GetUpgradeHistoryOutcome; typedef Aws::Utils::Outcome GetUpgradeStatusOutcome; + typedef Aws::Utils::Outcome ListApplicationsOutcome; typedef Aws::Utils::Outcome ListDataSourcesOutcome; typedef Aws::Utils::Outcome ListDomainMaintenancesOutcome; typedef Aws::Utils::Outcome ListDomainNamesOutcome; @@ -252,6 +267,7 @@ namespace Aws typedef Aws::Utils::Outcome RevokeVpcEndpointAccessOutcome; typedef Aws::Utils::Outcome StartDomainMaintenanceOutcome; typedef Aws::Utils::Outcome StartServiceSoftwareUpdateOutcome; + typedef Aws::Utils::Outcome UpdateApplicationOutcome; typedef Aws::Utils::Outcome UpdateDataSourceOutcome; typedef Aws::Utils::Outcome UpdateDomainConfigOutcome; typedef Aws::Utils::Outcome UpdatePackageOutcome; @@ -268,10 +284,12 @@ namespace Aws typedef std::future AuthorizeVpcEndpointAccessOutcomeCallable; typedef std::future CancelDomainConfigChangeOutcomeCallable; typedef std::future CancelServiceSoftwareUpdateOutcomeCallable; + typedef std::future CreateApplicationOutcomeCallable; typedef std::future CreateDomainOutcomeCallable; typedef std::future CreateOutboundConnectionOutcomeCallable; typedef std::future CreatePackageOutcomeCallable; typedef std::future CreateVpcEndpointOutcomeCallable; + typedef std::future DeleteApplicationOutcomeCallable; typedef std::future DeleteDataSourceOutcomeCallable; typedef std::future DeleteDomainOutcomeCallable; typedef std::future DeleteInboundConnectionOutcomeCallable; @@ -294,12 +312,14 @@ namespace Aws typedef std::future DescribeReservedInstancesOutcomeCallable; typedef std::future DescribeVpcEndpointsOutcomeCallable; typedef std::future DissociatePackageOutcomeCallable; + typedef std::future GetApplicationOutcomeCallable; typedef std::future GetCompatibleVersionsOutcomeCallable; typedef std::future GetDataSourceOutcomeCallable; typedef std::future GetDomainMaintenanceStatusOutcomeCallable; typedef std::future GetPackageVersionHistoryOutcomeCallable; typedef std::future GetUpgradeHistoryOutcomeCallable; typedef std::future GetUpgradeStatusOutcomeCallable; + typedef std::future ListApplicationsOutcomeCallable; typedef std::future ListDataSourcesOutcomeCallable; typedef std::future ListDomainMaintenancesOutcomeCallable; typedef std::future ListDomainNamesOutcomeCallable; @@ -318,6 +338,7 @@ namespace Aws typedef std::future RevokeVpcEndpointAccessOutcomeCallable; typedef std::future StartDomainMaintenanceOutcomeCallable; typedef std::future StartServiceSoftwareUpdateOutcomeCallable; + typedef std::future UpdateApplicationOutcomeCallable; typedef std::future UpdateDataSourceOutcomeCallable; typedef std::future UpdateDomainConfigOutcomeCallable; typedef std::future UpdatePackageOutcomeCallable; @@ -337,10 +358,12 @@ namespace Aws typedef std::function&) > AuthorizeVpcEndpointAccessResponseReceivedHandler; typedef std::function&) > CancelDomainConfigChangeResponseReceivedHandler; typedef std::function&) > CancelServiceSoftwareUpdateResponseReceivedHandler; + typedef std::function&) > CreateApplicationResponseReceivedHandler; typedef std::function&) > CreateDomainResponseReceivedHandler; typedef std::function&) > CreateOutboundConnectionResponseReceivedHandler; typedef std::function&) > CreatePackageResponseReceivedHandler; typedef std::function&) > CreateVpcEndpointResponseReceivedHandler; + typedef std::function&) > DeleteApplicationResponseReceivedHandler; typedef std::function&) > DeleteDataSourceResponseReceivedHandler; typedef std::function&) > DeleteDomainResponseReceivedHandler; typedef std::function&) > DeleteInboundConnectionResponseReceivedHandler; @@ -363,12 +386,14 @@ namespace Aws typedef std::function&) > DescribeReservedInstancesResponseReceivedHandler; typedef std::function&) > DescribeVpcEndpointsResponseReceivedHandler; typedef std::function&) > DissociatePackageResponseReceivedHandler; + typedef std::function&) > GetApplicationResponseReceivedHandler; typedef std::function&) > GetCompatibleVersionsResponseReceivedHandler; typedef std::function&) > GetDataSourceResponseReceivedHandler; typedef std::function&) > GetDomainMaintenanceStatusResponseReceivedHandler; typedef std::function&) > GetPackageVersionHistoryResponseReceivedHandler; typedef std::function&) > GetUpgradeHistoryResponseReceivedHandler; typedef std::function&) > GetUpgradeStatusResponseReceivedHandler; + typedef std::function&) > ListApplicationsResponseReceivedHandler; typedef std::function&) > ListDataSourcesResponseReceivedHandler; typedef std::function&) > ListDomainMaintenancesResponseReceivedHandler; typedef std::function&) > ListDomainNamesResponseReceivedHandler; @@ -387,6 +412,7 @@ namespace Aws typedef std::function&) > RevokeVpcEndpointAccessResponseReceivedHandler; typedef std::function&) > StartDomainMaintenanceResponseReceivedHandler; typedef std::function&) > StartServiceSoftwareUpdateResponseReceivedHandler; + typedef std::function&) > UpdateApplicationResponseReceivedHandler; typedef std::function&) > UpdateDataSourceResponseReceivedHandler; typedef std::function&) > UpdateDomainConfigResponseReceivedHandler; typedef std::function&) > UpdatePackageResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AWSServicePrincipal.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AWSServicePrincipal.h new file mode 100644 index 00000000000..064d31bb3b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AWSServicePrincipal.h @@ -0,0 +1,30 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + enum class AWSServicePrincipal + { + NOT_SET, + application_opensearchservice_amazonaws_com + }; + +namespace AWSServicePrincipalMapper +{ +AWS_OPENSEARCHSERVICE_API AWSServicePrincipal GetAWSServicePrincipalForName(const Aws::String& name); + +AWS_OPENSEARCHSERVICE_API Aws::String GetNameForAWSServicePrincipal(AWSServicePrincipal value); +} // namespace AWSServicePrincipalMapper +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AppConfig.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AppConfig.h new file mode 100644 index 00000000000..d3692171380 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AppConfig.h @@ -0,0 +1,78 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

                  Configurations of the OpenSearch Application.

                  See Also:

                  AWS + * API Reference

                  + */ + class AppConfig + { + public: + AWS_OPENSEARCHSERVICE_API AppConfig(); + AWS_OPENSEARCHSERVICE_API AppConfig(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API AppConfig& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  Specify the item to configure, such as admin role for the OpenSearch + * Application.

                  + */ + inline const AppConfigType& GetKey() const{ return m_key; } + inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } + inline void SetKey(const AppConfigType& value) { m_keyHasBeenSet = true; m_key = value; } + inline void SetKey(AppConfigType&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } + inline AppConfig& WithKey(const AppConfigType& value) { SetKey(value); return *this;} + inline AppConfig& WithKey(AppConfigType&& value) { SetKey(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  Specifies the value to configure for the key, such as an IAM user ARN.

                  + */ + 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 AppConfig& WithValue(const Aws::String& value) { SetValue(value); return *this;} + inline AppConfig& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} + inline AppConfig& WithValue(const char* value) { SetValue(value); return *this;} + ///@} + private: + + AppConfigType m_key; + bool m_keyHasBeenSet = false; + + Aws::String m_value; + bool m_valueHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AppConfigType.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AppConfigType.h new file mode 100644 index 00000000000..367b54f159a --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AppConfigType.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + enum class AppConfigType + { + NOT_SET, + opensearchDashboards_dashboardAdmin_users, + opensearchDashboards_dashboardAdmin_groups + }; + +namespace AppConfigTypeMapper +{ +AWS_OPENSEARCHSERVICE_API AppConfigType GetAppConfigTypeForName(const Aws::String& name); + +AWS_OPENSEARCHSERVICE_API Aws::String GetNameForAppConfigType(AppConfigType value); +} // namespace AppConfigTypeMapper +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ApplicationStatus.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ApplicationStatus.h new file mode 100644 index 00000000000..29088a3818e --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ApplicationStatus.h @@ -0,0 +1,34 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + enum class ApplicationStatus + { + NOT_SET, + CREATING, + UPDATING, + DELETING, + ACTIVE, + FAILED + }; + +namespace ApplicationStatusMapper +{ +AWS_OPENSEARCHSERVICE_API ApplicationStatus GetApplicationStatusForName(const Aws::String& name); + +AWS_OPENSEARCHSERVICE_API Aws::String GetNameForApplicationStatus(ApplicationStatus value); +} // namespace ApplicationStatusMapper +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ApplicationSummary.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ApplicationSummary.h new file mode 100644 index 00000000000..7e247e48802 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ApplicationSummary.h @@ -0,0 +1,160 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

                  Basic information of the OpenSearch Application.

                  See Also:

                  + * AWS + * API Reference

                  + */ + class ApplicationSummary + { + public: + AWS_OPENSEARCHSERVICE_API ApplicationSummary(); + AWS_OPENSEARCHSERVICE_API ApplicationSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API ApplicationSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  Unique identifier for an OpenSearch application.

                  + */ + 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 ApplicationSummary& WithId(const Aws::String& value) { SetId(value); return *this;} + inline ApplicationSummary& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline ApplicationSummary& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetArn() const{ return m_arn; } + inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } + inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } + inline ApplicationSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline ApplicationSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline ApplicationSummary& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

                  Name of an OpenSearch Application.

                  + */ + 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 ApplicationSummary& WithName(const Aws::String& value) { SetName(value); return *this;} + inline ApplicationSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline ApplicationSummary& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                  Endpoint URL of an OpenSearch Application.

                  + */ + inline const Aws::String& GetEndpoint() const{ return m_endpoint; } + inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } + inline void SetEndpoint(const Aws::String& value) { m_endpointHasBeenSet = true; m_endpoint = value; } + inline void SetEndpoint(Aws::String&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); } + inline void SetEndpoint(const char* value) { m_endpointHasBeenSet = true; m_endpoint.assign(value); } + inline ApplicationSummary& WithEndpoint(const Aws::String& value) { SetEndpoint(value); return *this;} + inline ApplicationSummary& WithEndpoint(Aws::String&& value) { SetEndpoint(std::move(value)); return *this;} + inline ApplicationSummary& WithEndpoint(const char* value) { SetEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

                  Status of an OpenSearch Application. Possible values are + * CREATING, UPDATING, DELETING, + * FAILED, ACTIVE, and DELETED.

                  + */ + inline const ApplicationStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const ApplicationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(ApplicationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline ApplicationSummary& WithStatus(const ApplicationStatus& value) { SetStatus(value); return *this;} + inline ApplicationSummary& WithStatus(ApplicationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  Timestamp at which an OpenSearch Application was created.

                  + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } + inline ApplicationSummary& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline ApplicationSummary& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  Timestamp at which an OpenSearch Application was last updated.

                  + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = std::move(value); } + inline ApplicationSummary& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline ApplicationSummary& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::String m_arn; + bool m_arnHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_endpoint; + bool m_endpointHasBeenSet = false; + + ApplicationStatus m_status; + bool m_statusHasBeenSet = false; + + Aws::Utils::DateTime m_createdAt; + bool m_createdAtHasBeenSet = false; + + Aws::Utils::DateTime m_lastUpdatedAt; + bool m_lastUpdatedAtHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AuthorizeVpcEndpointAccessRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AuthorizeVpcEndpointAccessRequest.h index 0c7f842bd71..4f73eb1b001 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AuthorizeVpcEndpointAccessRequest.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/AuthorizeVpcEndpointAccessRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -59,6 +60,18 @@ namespace Model inline AuthorizeVpcEndpointAccessRequest& WithAccount(Aws::String&& value) { SetAccount(std::move(value)); return *this;} inline AuthorizeVpcEndpointAccessRequest& WithAccount(const char* value) { SetAccount(value); return *this;} ///@} + + ///@{ + /** + *

                  The Amazon Web Services service SP to grant access to.

                  + */ + inline const AWSServicePrincipal& GetService() const{ return m_service; } + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + inline void SetService(const AWSServicePrincipal& value) { m_serviceHasBeenSet = true; m_service = value; } + inline void SetService(AWSServicePrincipal&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + inline AuthorizeVpcEndpointAccessRequest& WithService(const AWSServicePrincipal& value) { SetService(value); return *this;} + inline AuthorizeVpcEndpointAccessRequest& WithService(AWSServicePrincipal&& value) { SetService(std::move(value)); return *this;} + ///@} private: Aws::String m_domainName; @@ -66,6 +79,9 @@ namespace Model Aws::String m_account; bool m_accountHasBeenSet = false; + + AWSServicePrincipal m_service; + bool m_serviceHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CreateApplicationRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CreateApplicationRequest.h new file mode 100644 index 00000000000..ea7c1ae97d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CreateApplicationRequest.h @@ -0,0 +1,147 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + + /** + */ + class CreateApplicationRequest : public OpenSearchServiceRequest + { + public: + AWS_OPENSEARCHSERVICE_API CreateApplicationRequest(); + + // 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 "CreateApplication"; } + + AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                  A unique client idempotency token. It will be auto generated if not + * provided.

                  + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateApplicationRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateApplicationRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateApplicationRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + + ///@{ + /** + *

                  Name of the OpenSearch Appication to create. Application names are unique + * across the applications owned by an account within an Amazon Web Services + * Region.

                  + */ + 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 CreateApplicationRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateApplicationRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateApplicationRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                  Data sources to be associated with the OpenSearch Application.

                  + */ + inline const Aws::Vector& GetDataSources() const{ return m_dataSources; } + inline bool DataSourcesHasBeenSet() const { return m_dataSourcesHasBeenSet; } + inline void SetDataSources(const Aws::Vector& value) { m_dataSourcesHasBeenSet = true; m_dataSources = value; } + inline void SetDataSources(Aws::Vector&& value) { m_dataSourcesHasBeenSet = true; m_dataSources = std::move(value); } + inline CreateApplicationRequest& WithDataSources(const Aws::Vector& value) { SetDataSources(value); return *this;} + inline CreateApplicationRequest& WithDataSources(Aws::Vector&& value) { SetDataSources(std::move(value)); return *this;} + inline CreateApplicationRequest& AddDataSources(const DataSource& value) { m_dataSourcesHasBeenSet = true; m_dataSources.push_back(value); return *this; } + inline CreateApplicationRequest& AddDataSources(DataSource&& value) { m_dataSourcesHasBeenSet = true; m_dataSources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                  Settings of IAM Identity Center for the OpenSearch Application.

                  + */ + inline const IamIdentityCenterOptionsInput& GetIamIdentityCenterOptions() const{ return m_iamIdentityCenterOptions; } + inline bool IamIdentityCenterOptionsHasBeenSet() const { return m_iamIdentityCenterOptionsHasBeenSet; } + inline void SetIamIdentityCenterOptions(const IamIdentityCenterOptionsInput& value) { m_iamIdentityCenterOptionsHasBeenSet = true; m_iamIdentityCenterOptions = value; } + inline void SetIamIdentityCenterOptions(IamIdentityCenterOptionsInput&& value) { m_iamIdentityCenterOptionsHasBeenSet = true; m_iamIdentityCenterOptions = std::move(value); } + inline CreateApplicationRequest& WithIamIdentityCenterOptions(const IamIdentityCenterOptionsInput& value) { SetIamIdentityCenterOptions(value); return *this;} + inline CreateApplicationRequest& WithIamIdentityCenterOptions(IamIdentityCenterOptionsInput&& value) { SetIamIdentityCenterOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  Configurations of the OpenSearch Application, inlcuding admin + * configuration.

                  + */ + inline const Aws::Vector& GetAppConfigs() const{ return m_appConfigs; } + inline bool AppConfigsHasBeenSet() const { return m_appConfigsHasBeenSet; } + inline void SetAppConfigs(const Aws::Vector& value) { m_appConfigsHasBeenSet = true; m_appConfigs = value; } + inline void SetAppConfigs(Aws::Vector&& value) { m_appConfigsHasBeenSet = true; m_appConfigs = std::move(value); } + inline CreateApplicationRequest& WithAppConfigs(const Aws::Vector& value) { SetAppConfigs(value); return *this;} + inline CreateApplicationRequest& WithAppConfigs(Aws::Vector&& value) { SetAppConfigs(std::move(value)); return *this;} + inline CreateApplicationRequest& AddAppConfigs(const AppConfig& value) { m_appConfigsHasBeenSet = true; m_appConfigs.push_back(value); return *this; } + inline CreateApplicationRequest& AddAppConfigs(AppConfig&& value) { m_appConfigsHasBeenSet = true; m_appConfigs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTagList() const{ return m_tagList; } + inline bool TagListHasBeenSet() const { return m_tagListHasBeenSet; } + inline void SetTagList(const Aws::Vector& value) { m_tagListHasBeenSet = true; m_tagList = value; } + inline void SetTagList(Aws::Vector&& value) { m_tagListHasBeenSet = true; m_tagList = std::move(value); } + inline CreateApplicationRequest& WithTagList(const Aws::Vector& value) { SetTagList(value); return *this;} + inline CreateApplicationRequest& WithTagList(Aws::Vector&& value) { SetTagList(std::move(value)); return *this;} + inline CreateApplicationRequest& AddTagList(const Tag& value) { m_tagListHasBeenSet = true; m_tagList.push_back(value); return *this; } + inline CreateApplicationRequest& AddTagList(Tag&& value) { m_tagListHasBeenSet = true; m_tagList.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Vector m_dataSources; + bool m_dataSourcesHasBeenSet = false; + + IamIdentityCenterOptionsInput m_iamIdentityCenterOptions; + bool m_iamIdentityCenterOptionsHasBeenSet = false; + + Aws::Vector m_appConfigs; + bool m_appConfigsHasBeenSet = false; + + Aws::Vector m_tagList; + bool m_tagListHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CreateApplicationResult.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CreateApplicationResult.h new file mode 100644 index 00000000000..cd2ef1f22c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CreateApplicationResult.h @@ -0,0 +1,171 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + class CreateApplicationResult + { + public: + AWS_OPENSEARCHSERVICE_API CreateApplicationResult(); + AWS_OPENSEARCHSERVICE_API CreateApplicationResult(const Aws::AmazonWebServiceResult& result); + AWS_OPENSEARCHSERVICE_API CreateApplicationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                  Unique identifier for the created OpenSearch Application.

                  + */ + 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 CreateApplicationResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline CreateApplicationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline CreateApplicationResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

                  Name of the created OpenSearch Application.

                  + */ + 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 CreateApplicationResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateApplicationResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateApplicationResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline CreateApplicationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline CreateApplicationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline CreateApplicationResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

                  Data sources associated with the created OpenSearch Application.

                  + */ + inline const Aws::Vector& GetDataSources() const{ return m_dataSources; } + inline void SetDataSources(const Aws::Vector& value) { m_dataSources = value; } + inline void SetDataSources(Aws::Vector&& value) { m_dataSources = std::move(value); } + inline CreateApplicationResult& WithDataSources(const Aws::Vector& value) { SetDataSources(value); return *this;} + inline CreateApplicationResult& WithDataSources(Aws::Vector&& value) { SetDataSources(std::move(value)); return *this;} + inline CreateApplicationResult& AddDataSources(const DataSource& value) { m_dataSources.push_back(value); return *this; } + inline CreateApplicationResult& AddDataSources(DataSource&& value) { m_dataSources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                  Settings of IAM Identity Center for the created OpenSearch Application.

                  + */ + inline const IamIdentityCenterOptions& GetIamIdentityCenterOptions() const{ return m_iamIdentityCenterOptions; } + inline void SetIamIdentityCenterOptions(const IamIdentityCenterOptions& value) { m_iamIdentityCenterOptions = value; } + inline void SetIamIdentityCenterOptions(IamIdentityCenterOptions&& value) { m_iamIdentityCenterOptions = std::move(value); } + inline CreateApplicationResult& WithIamIdentityCenterOptions(const IamIdentityCenterOptions& value) { SetIamIdentityCenterOptions(value); return *this;} + inline CreateApplicationResult& WithIamIdentityCenterOptions(IamIdentityCenterOptions&& value) { SetIamIdentityCenterOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  Configurations of the OpenSearch Application, inlcuding admin + * configuration.

                  + */ + inline const Aws::Vector& GetAppConfigs() const{ return m_appConfigs; } + inline void SetAppConfigs(const Aws::Vector& value) { m_appConfigs = value; } + inline void SetAppConfigs(Aws::Vector&& value) { m_appConfigs = std::move(value); } + inline CreateApplicationResult& WithAppConfigs(const Aws::Vector& value) { SetAppConfigs(value); return *this;} + inline CreateApplicationResult& WithAppConfigs(Aws::Vector&& value) { SetAppConfigs(std::move(value)); return *this;} + inline CreateApplicationResult& AddAppConfigs(const AppConfig& value) { m_appConfigs.push_back(value); return *this; } + inline CreateApplicationResult& AddAppConfigs(AppConfig&& value) { m_appConfigs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::Vector& GetTagList() const{ return m_tagList; } + inline void SetTagList(const Aws::Vector& value) { m_tagList = value; } + inline void SetTagList(Aws::Vector&& value) { m_tagList = std::move(value); } + inline CreateApplicationResult& WithTagList(const Aws::Vector& value) { SetTagList(value); return *this;} + inline CreateApplicationResult& WithTagList(Aws::Vector&& value) { SetTagList(std::move(value)); return *this;} + inline CreateApplicationResult& AddTagList(const Tag& value) { m_tagList.push_back(value); return *this; } + inline CreateApplicationResult& AddTagList(Tag&& value) { m_tagList.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                  Timestamp when the OpenSearch Application was created.

                  + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline CreateApplicationResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline CreateApplicationResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(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 CreateApplicationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateApplicationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateApplicationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_id; + + Aws::String m_name; + + Aws::String m_arn; + + Aws::Vector m_dataSources; + + IamIdentityCenterOptions m_iamIdentityCenterOptions; + + Aws::Vector m_appConfigs; + + Aws::Vector m_tagList; + + Aws::Utils::DateTime m_createdAt; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CreateDomainRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CreateDomainRequest.h index 3a66a82a27f..7c7312225c4 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CreateDomainRequest.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/CreateDomainRequest.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -288,6 +289,18 @@ namespace Model inline CreateDomainRequest& WithAdvancedSecurityOptions(AdvancedSecurityOptionsInput&& value) { SetAdvancedSecurityOptions(std::move(value)); return *this;} ///@} + ///@{ + /** + *

                  Options for IAM Identity Center Option control for the domain.

                  + */ + inline const IdentityCenterOptionsInput& GetIdentityCenterOptions() const{ return m_identityCenterOptions; } + inline bool IdentityCenterOptionsHasBeenSet() const { return m_identityCenterOptionsHasBeenSet; } + inline void SetIdentityCenterOptions(const IdentityCenterOptionsInput& value) { m_identityCenterOptionsHasBeenSet = true; m_identityCenterOptions = value; } + inline void SetIdentityCenterOptions(IdentityCenterOptionsInput&& value) { m_identityCenterOptionsHasBeenSet = true; m_identityCenterOptions = std::move(value); } + inline CreateDomainRequest& WithIdentityCenterOptions(const IdentityCenterOptionsInput& value) { SetIdentityCenterOptions(value); return *this;} + inline CreateDomainRequest& WithIdentityCenterOptions(IdentityCenterOptionsInput&& value) { SetIdentityCenterOptions(std::move(value)); return *this;} + ///@} + ///@{ /** *

                  List of tags to add to the domain upon creation.

                  @@ -400,6 +413,9 @@ namespace Model AdvancedSecurityOptionsInput m_advancedSecurityOptions; bool m_advancedSecurityOptionsHasBeenSet = false; + IdentityCenterOptionsInput m_identityCenterOptions; + bool m_identityCenterOptionsHasBeenSet = false; + Aws::Vector m_tagList; bool m_tagListHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DataSource.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DataSource.h new file mode 100644 index 00000000000..85145afe697 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DataSource.h @@ -0,0 +1,77 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

                  Data sources that are associated with an OpenSearch Application. + *

                  See Also:

                  AWS + * API Reference

                  + */ + class DataSource + { + public: + AWS_OPENSEARCHSERVICE_API DataSource(); + AWS_OPENSEARCHSERVICE_API DataSource(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API DataSource& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + + inline const Aws::String& GetDataSourceArn() const{ return m_dataSourceArn; } + inline bool DataSourceArnHasBeenSet() const { return m_dataSourceArnHasBeenSet; } + inline void SetDataSourceArn(const Aws::String& value) { m_dataSourceArnHasBeenSet = true; m_dataSourceArn = value; } + inline void SetDataSourceArn(Aws::String&& value) { m_dataSourceArnHasBeenSet = true; m_dataSourceArn = std::move(value); } + inline void SetDataSourceArn(const char* value) { m_dataSourceArnHasBeenSet = true; m_dataSourceArn.assign(value); } + inline DataSource& WithDataSourceArn(const Aws::String& value) { SetDataSourceArn(value); return *this;} + inline DataSource& WithDataSourceArn(Aws::String&& value) { SetDataSourceArn(std::move(value)); return *this;} + inline DataSource& WithDataSourceArn(const char* value) { SetDataSourceArn(value); return *this;} + ///@} + + ///@{ + /** + *

                  Detailed description of a data source.

                  + */ + inline const Aws::String& GetDataSourceDescription() const{ return m_dataSourceDescription; } + inline bool DataSourceDescriptionHasBeenSet() const { return m_dataSourceDescriptionHasBeenSet; } + inline void SetDataSourceDescription(const Aws::String& value) { m_dataSourceDescriptionHasBeenSet = true; m_dataSourceDescription = value; } + inline void SetDataSourceDescription(Aws::String&& value) { m_dataSourceDescriptionHasBeenSet = true; m_dataSourceDescription = std::move(value); } + inline void SetDataSourceDescription(const char* value) { m_dataSourceDescriptionHasBeenSet = true; m_dataSourceDescription.assign(value); } + inline DataSource& WithDataSourceDescription(const Aws::String& value) { SetDataSourceDescription(value); return *this;} + inline DataSource& WithDataSourceDescription(Aws::String&& value) { SetDataSourceDescription(std::move(value)); return *this;} + inline DataSource& WithDataSourceDescription(const char* value) { SetDataSourceDescription(value); return *this;} + ///@} + private: + + Aws::String m_dataSourceArn; + bool m_dataSourceArnHasBeenSet = false; + + Aws::String m_dataSourceDescription; + bool m_dataSourceDescriptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DeleteApplicationRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DeleteApplicationRequest.h new file mode 100644 index 00000000000..9b06f945d23 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DeleteApplicationRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + + /** + */ + class DeleteApplicationRequest : public OpenSearchServiceRequest + { + public: + AWS_OPENSEARCHSERVICE_API DeleteApplicationRequest(); + + // 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 "DeleteApplication"; } + + AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                  Unique identifier for the OpenSearch Application that you want to delete.

                  + */ + 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 DeleteApplicationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + inline DeleteApplicationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline DeleteApplicationRequest& WithId(const char* value) { SetId(value); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DeleteApplicationResult.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DeleteApplicationResult.h new file mode 100644 index 00000000000..8503e3fce66 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DeleteApplicationResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + class DeleteApplicationResult + { + public: + AWS_OPENSEARCHSERVICE_API DeleteApplicationResult(); + AWS_OPENSEARCHSERVICE_API DeleteApplicationResult(const Aws::AmazonWebServiceResult& result); + AWS_OPENSEARCHSERVICE_API DeleteApplicationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + 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 DeleteApplicationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteApplicationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteApplicationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DomainConfig.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DomainConfig.h index 49412d5a09b..6d73fba9b5a 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DomainConfig.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DomainConfig.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -235,6 +236,18 @@ namespace Model inline DomainConfig& WithAdvancedSecurityOptions(AdvancedSecurityOptionsStatus&& value) { SetAdvancedSecurityOptions(std::move(value)); return *this;} ///@} + ///@{ + /** + *

                  Container for IAM Identity Center Option control for the domain.

                  + */ + inline const IdentityCenterOptionsStatus& GetIdentityCenterOptions() const{ return m_identityCenterOptions; } + inline bool IdentityCenterOptionsHasBeenSet() const { return m_identityCenterOptionsHasBeenSet; } + inline void SetIdentityCenterOptions(const IdentityCenterOptionsStatus& value) { m_identityCenterOptionsHasBeenSet = true; m_identityCenterOptions = value; } + inline void SetIdentityCenterOptions(IdentityCenterOptionsStatus&& value) { m_identityCenterOptionsHasBeenSet = true; m_identityCenterOptions = std::move(value); } + inline DomainConfig& WithIdentityCenterOptions(const IdentityCenterOptionsStatus& value) { SetIdentityCenterOptions(value); return *this;} + inline DomainConfig& WithIdentityCenterOptions(IdentityCenterOptionsStatus&& value) { SetIdentityCenterOptions(std::move(value)); return *this;} + ///@} + ///@{ /** *

                  Container for Auto-Tune settings for the domain.

                  @@ -355,6 +368,9 @@ namespace Model AdvancedSecurityOptionsStatus m_advancedSecurityOptions; bool m_advancedSecurityOptionsHasBeenSet = false; + IdentityCenterOptionsStatus m_identityCenterOptions; + bool m_identityCenterOptionsHasBeenSet = false; + AutoTuneOptionsStatus m_autoTuneOptions; bool m_autoTuneOptionsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DomainStatus.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DomainStatus.h index 41cc2d929dc..7dc04d55ce7 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DomainStatus.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/DomainStatus.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -422,6 +423,18 @@ namespace Model inline DomainStatus& WithAdvancedSecurityOptions(AdvancedSecurityOptions&& value) { SetAdvancedSecurityOptions(std::move(value)); return *this;} ///@} + ///@{ + /** + *

                  Container for IAM Identity Center Option control for the domain.

                  + */ + inline const IdentityCenterOptions& GetIdentityCenterOptions() const{ return m_identityCenterOptions; } + inline bool IdentityCenterOptionsHasBeenSet() const { return m_identityCenterOptionsHasBeenSet; } + inline void SetIdentityCenterOptions(const IdentityCenterOptions& value) { m_identityCenterOptionsHasBeenSet = true; m_identityCenterOptions = value; } + inline void SetIdentityCenterOptions(IdentityCenterOptions&& value) { m_identityCenterOptionsHasBeenSet = true; m_identityCenterOptions = std::move(value); } + inline DomainStatus& WithIdentityCenterOptions(const IdentityCenterOptions& value) { SetIdentityCenterOptions(value); return *this;} + inline DomainStatus& WithIdentityCenterOptions(IdentityCenterOptions&& value) { SetIdentityCenterOptions(std::move(value)); return *this;} + ///@} + ///@{ /** *

                  Auto-Tune settings for the domain.

                  @@ -590,6 +603,9 @@ namespace Model AdvancedSecurityOptions m_advancedSecurityOptions; bool m_advancedSecurityOptionsHasBeenSet = false; + IdentityCenterOptions m_identityCenterOptions; + bool m_identityCenterOptionsHasBeenSet = false; + AutoTuneOptionsOutput m_autoTuneOptions; bool m_autoTuneOptionsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetApplicationRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetApplicationRequest.h new file mode 100644 index 00000000000..1348b376075 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetApplicationRequest.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + + /** + */ + class GetApplicationRequest : public OpenSearchServiceRequest + { + public: + AWS_OPENSEARCHSERVICE_API GetApplicationRequest(); + + // 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 "GetApplication"; } + + AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                  Unique identifier of the checked OpenSearch Application.

                  + */ + 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 GetApplicationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + inline GetApplicationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline GetApplicationRequest& WithId(const char* value) { SetId(value); return *this;} + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetApplicationResult.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetApplicationResult.h new file mode 100644 index 00000000000..872ae48fd12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/GetApplicationResult.h @@ -0,0 +1,200 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + class GetApplicationResult + { + public: + AWS_OPENSEARCHSERVICE_API GetApplicationResult(); + AWS_OPENSEARCHSERVICE_API GetApplicationResult(const Aws::AmazonWebServiceResult& result); + AWS_OPENSEARCHSERVICE_API GetApplicationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                  Unique identifier of the checked OpenSearch Application.

                  + */ + 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 GetApplicationResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline GetApplicationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline GetApplicationResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline GetApplicationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline GetApplicationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline GetApplicationResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

                  Name of the checked OpenSearch Application.

                  + */ + 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 GetApplicationResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline GetApplicationResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline GetApplicationResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

                  Endpoint URL of the checked OpenSearch Application.

                  + */ + inline const Aws::String& GetEndpoint() const{ return m_endpoint; } + inline void SetEndpoint(const Aws::String& value) { m_endpoint = value; } + inline void SetEndpoint(Aws::String&& value) { m_endpoint = std::move(value); } + inline void SetEndpoint(const char* value) { m_endpoint.assign(value); } + inline GetApplicationResult& WithEndpoint(const Aws::String& value) { SetEndpoint(value); return *this;} + inline GetApplicationResult& WithEndpoint(Aws::String&& value) { SetEndpoint(std::move(value)); return *this;} + inline GetApplicationResult& WithEndpoint(const char* value) { SetEndpoint(value); return *this;} + ///@} + + ///@{ + /** + *

                  Current status of the checked OpenSearch Application. Possible values are + * CREATING, UPDATING, DELETING, + * FAILED, ACTIVE, and DELETED.

                  + */ + inline const ApplicationStatus& GetStatus() const{ return m_status; } + inline void SetStatus(const ApplicationStatus& value) { m_status = value; } + inline void SetStatus(ApplicationStatus&& value) { m_status = std::move(value); } + inline GetApplicationResult& WithStatus(const ApplicationStatus& value) { SetStatus(value); return *this;} + inline GetApplicationResult& WithStatus(ApplicationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  IAM Identity Center settings for the checked OpenSearch Application.

                  + */ + inline const IamIdentityCenterOptions& GetIamIdentityCenterOptions() const{ return m_iamIdentityCenterOptions; } + inline void SetIamIdentityCenterOptions(const IamIdentityCenterOptions& value) { m_iamIdentityCenterOptions = value; } + inline void SetIamIdentityCenterOptions(IamIdentityCenterOptions&& value) { m_iamIdentityCenterOptions = std::move(value); } + inline GetApplicationResult& WithIamIdentityCenterOptions(const IamIdentityCenterOptions& value) { SetIamIdentityCenterOptions(value); return *this;} + inline GetApplicationResult& WithIamIdentityCenterOptions(IamIdentityCenterOptions&& value) { SetIamIdentityCenterOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  Associated data sources to the checked OpenSearch Application.

                  + */ + inline const Aws::Vector& GetDataSources() const{ return m_dataSources; } + inline void SetDataSources(const Aws::Vector& value) { m_dataSources = value; } + inline void SetDataSources(Aws::Vector&& value) { m_dataSources = std::move(value); } + inline GetApplicationResult& WithDataSources(const Aws::Vector& value) { SetDataSources(value); return *this;} + inline GetApplicationResult& WithDataSources(Aws::Vector&& value) { SetDataSources(std::move(value)); return *this;} + inline GetApplicationResult& AddDataSources(const DataSource& value) { m_dataSources.push_back(value); return *this; } + inline GetApplicationResult& AddDataSources(DataSource&& value) { m_dataSources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                  App configurations of the checked OpenSearch Application.

                  + */ + inline const Aws::Vector& GetAppConfigs() const{ return m_appConfigs; } + inline void SetAppConfigs(const Aws::Vector& value) { m_appConfigs = value; } + inline void SetAppConfigs(Aws::Vector&& value) { m_appConfigs = std::move(value); } + inline GetApplicationResult& WithAppConfigs(const Aws::Vector& value) { SetAppConfigs(value); return *this;} + inline GetApplicationResult& WithAppConfigs(Aws::Vector&& value) { SetAppConfigs(std::move(value)); return *this;} + inline GetApplicationResult& AddAppConfigs(const AppConfig& value) { m_appConfigs.push_back(value); return *this; } + inline GetApplicationResult& AddAppConfigs(AppConfig&& value) { m_appConfigs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                  Timestamp at which the checked OpenSearch Application was created.

                  + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline GetApplicationResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline GetApplicationResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  Timestamp at which the checked OpenSearch Application was last updated.

                  + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAt = std::move(value); } + inline GetApplicationResult& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline GetApplicationResult& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(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 GetApplicationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetApplicationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetApplicationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_id; + + Aws::String m_arn; + + Aws::String m_name; + + Aws::String m_endpoint; + + ApplicationStatus m_status; + + IamIdentityCenterOptions m_iamIdentityCenterOptions; + + Aws::Vector m_dataSources; + + Aws::Vector m_appConfigs; + + Aws::Utils::DateTime m_createdAt; + + Aws::Utils::DateTime m_lastUpdatedAt; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IamIdentityCenterOptions.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IamIdentityCenterOptions.h new file mode 100644 index 00000000000..adde84ed980 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IamIdentityCenterOptions.h @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

                  Settings for IAM Identity Center for an OpenSearch Application.

                  See + * Also:

                  AWS + * API Reference

                  + */ + class IamIdentityCenterOptions + { + public: + AWS_OPENSEARCHSERVICE_API IamIdentityCenterOptions(); + AWS_OPENSEARCHSERVICE_API IamIdentityCenterOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API IamIdentityCenterOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  IAM Identity Center is enabled for the OpenSearch Application.

                  + */ + 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 IamIdentityCenterOptions& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetIamIdentityCenterInstanceArn() const{ return m_iamIdentityCenterInstanceArn; } + inline bool IamIdentityCenterInstanceArnHasBeenSet() const { return m_iamIdentityCenterInstanceArnHasBeenSet; } + inline void SetIamIdentityCenterInstanceArn(const Aws::String& value) { m_iamIdentityCenterInstanceArnHasBeenSet = true; m_iamIdentityCenterInstanceArn = value; } + inline void SetIamIdentityCenterInstanceArn(Aws::String&& value) { m_iamIdentityCenterInstanceArnHasBeenSet = true; m_iamIdentityCenterInstanceArn = std::move(value); } + inline void SetIamIdentityCenterInstanceArn(const char* value) { m_iamIdentityCenterInstanceArnHasBeenSet = true; m_iamIdentityCenterInstanceArn.assign(value); } + inline IamIdentityCenterOptions& WithIamIdentityCenterInstanceArn(const Aws::String& value) { SetIamIdentityCenterInstanceArn(value); return *this;} + inline IamIdentityCenterOptions& WithIamIdentityCenterInstanceArn(Aws::String&& value) { SetIamIdentityCenterInstanceArn(std::move(value)); return *this;} + inline IamIdentityCenterOptions& WithIamIdentityCenterInstanceArn(const char* value) { SetIamIdentityCenterInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

                  Amazon Resource Name of the IAM Identity Center's Application created for the + * OpenSearch Application after enabling IAM Identity Center.

                  + */ + inline const Aws::String& GetIamRoleForIdentityCenterApplicationArn() const{ return m_iamRoleForIdentityCenterApplicationArn; } + inline bool IamRoleForIdentityCenterApplicationArnHasBeenSet() const { return m_iamRoleForIdentityCenterApplicationArnHasBeenSet; } + inline void SetIamRoleForIdentityCenterApplicationArn(const Aws::String& value) { m_iamRoleForIdentityCenterApplicationArnHasBeenSet = true; m_iamRoleForIdentityCenterApplicationArn = value; } + inline void SetIamRoleForIdentityCenterApplicationArn(Aws::String&& value) { m_iamRoleForIdentityCenterApplicationArnHasBeenSet = true; m_iamRoleForIdentityCenterApplicationArn = std::move(value); } + inline void SetIamRoleForIdentityCenterApplicationArn(const char* value) { m_iamRoleForIdentityCenterApplicationArnHasBeenSet = true; m_iamRoleForIdentityCenterApplicationArn.assign(value); } + inline IamIdentityCenterOptions& WithIamRoleForIdentityCenterApplicationArn(const Aws::String& value) { SetIamRoleForIdentityCenterApplicationArn(value); return *this;} + inline IamIdentityCenterOptions& WithIamRoleForIdentityCenterApplicationArn(Aws::String&& value) { SetIamRoleForIdentityCenterApplicationArn(std::move(value)); return *this;} + inline IamIdentityCenterOptions& WithIamRoleForIdentityCenterApplicationArn(const char* value) { SetIamRoleForIdentityCenterApplicationArn(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetIamIdentityCenterApplicationArn() const{ return m_iamIdentityCenterApplicationArn; } + inline bool IamIdentityCenterApplicationArnHasBeenSet() const { return m_iamIdentityCenterApplicationArnHasBeenSet; } + inline void SetIamIdentityCenterApplicationArn(const Aws::String& value) { m_iamIdentityCenterApplicationArnHasBeenSet = true; m_iamIdentityCenterApplicationArn = value; } + inline void SetIamIdentityCenterApplicationArn(Aws::String&& value) { m_iamIdentityCenterApplicationArnHasBeenSet = true; m_iamIdentityCenterApplicationArn = std::move(value); } + inline void SetIamIdentityCenterApplicationArn(const char* value) { m_iamIdentityCenterApplicationArnHasBeenSet = true; m_iamIdentityCenterApplicationArn.assign(value); } + inline IamIdentityCenterOptions& WithIamIdentityCenterApplicationArn(const Aws::String& value) { SetIamIdentityCenterApplicationArn(value); return *this;} + inline IamIdentityCenterOptions& WithIamIdentityCenterApplicationArn(Aws::String&& value) { SetIamIdentityCenterApplicationArn(std::move(value)); return *this;} + inline IamIdentityCenterOptions& WithIamIdentityCenterApplicationArn(const char* value) { SetIamIdentityCenterApplicationArn(value); return *this;} + ///@} + private: + + bool m_enabled; + bool m_enabledHasBeenSet = false; + + Aws::String m_iamIdentityCenterInstanceArn; + bool m_iamIdentityCenterInstanceArnHasBeenSet = false; + + Aws::String m_iamRoleForIdentityCenterApplicationArn; + bool m_iamRoleForIdentityCenterApplicationArnHasBeenSet = false; + + Aws::String m_iamIdentityCenterApplicationArn; + bool m_iamIdentityCenterApplicationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IamIdentityCenterOptionsInput.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IamIdentityCenterOptionsInput.h new file mode 100644 index 00000000000..932a75d2ead --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IamIdentityCenterOptionsInput.h @@ -0,0 +1,89 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

                  Settings for IAM Identity Center.

                  See Also:

                  AWS + * API Reference

                  + */ + class IamIdentityCenterOptionsInput + { + public: + AWS_OPENSEARCHSERVICE_API IamIdentityCenterOptionsInput(); + AWS_OPENSEARCHSERVICE_API IamIdentityCenterOptionsInput(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API IamIdentityCenterOptionsInput& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  Enable/disable settings for IAM Identity Center.

                  + */ + 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 IamIdentityCenterOptionsInput& WithEnabled(bool value) { SetEnabled(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetIamIdentityCenterInstanceArn() const{ return m_iamIdentityCenterInstanceArn; } + inline bool IamIdentityCenterInstanceArnHasBeenSet() const { return m_iamIdentityCenterInstanceArnHasBeenSet; } + inline void SetIamIdentityCenterInstanceArn(const Aws::String& value) { m_iamIdentityCenterInstanceArnHasBeenSet = true; m_iamIdentityCenterInstanceArn = value; } + inline void SetIamIdentityCenterInstanceArn(Aws::String&& value) { m_iamIdentityCenterInstanceArnHasBeenSet = true; m_iamIdentityCenterInstanceArn = std::move(value); } + inline void SetIamIdentityCenterInstanceArn(const char* value) { m_iamIdentityCenterInstanceArnHasBeenSet = true; m_iamIdentityCenterInstanceArn.assign(value); } + inline IamIdentityCenterOptionsInput& WithIamIdentityCenterInstanceArn(const Aws::String& value) { SetIamIdentityCenterInstanceArn(value); return *this;} + inline IamIdentityCenterOptionsInput& WithIamIdentityCenterInstanceArn(Aws::String&& value) { SetIamIdentityCenterInstanceArn(std::move(value)); return *this;} + inline IamIdentityCenterOptionsInput& WithIamIdentityCenterInstanceArn(const char* value) { SetIamIdentityCenterInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

                  Amazon Resource Name of IAM Identity Center's application.

                  + */ + inline const Aws::String& GetIamRoleForIdentityCenterApplicationArn() const{ return m_iamRoleForIdentityCenterApplicationArn; } + inline bool IamRoleForIdentityCenterApplicationArnHasBeenSet() const { return m_iamRoleForIdentityCenterApplicationArnHasBeenSet; } + inline void SetIamRoleForIdentityCenterApplicationArn(const Aws::String& value) { m_iamRoleForIdentityCenterApplicationArnHasBeenSet = true; m_iamRoleForIdentityCenterApplicationArn = value; } + inline void SetIamRoleForIdentityCenterApplicationArn(Aws::String&& value) { m_iamRoleForIdentityCenterApplicationArnHasBeenSet = true; m_iamRoleForIdentityCenterApplicationArn = std::move(value); } + inline void SetIamRoleForIdentityCenterApplicationArn(const char* value) { m_iamRoleForIdentityCenterApplicationArnHasBeenSet = true; m_iamRoleForIdentityCenterApplicationArn.assign(value); } + inline IamIdentityCenterOptionsInput& WithIamRoleForIdentityCenterApplicationArn(const Aws::String& value) { SetIamRoleForIdentityCenterApplicationArn(value); return *this;} + inline IamIdentityCenterOptionsInput& WithIamRoleForIdentityCenterApplicationArn(Aws::String&& value) { SetIamRoleForIdentityCenterApplicationArn(std::move(value)); return *this;} + inline IamIdentityCenterOptionsInput& WithIamRoleForIdentityCenterApplicationArn(const char* value) { SetIamRoleForIdentityCenterApplicationArn(value); return *this;} + ///@} + private: + + bool m_enabled; + bool m_enabledHasBeenSet = false; + + Aws::String m_iamIdentityCenterInstanceArn; + bool m_iamIdentityCenterInstanceArnHasBeenSet = false; + + Aws::String m_iamRoleForIdentityCenterApplicationArn; + bool m_iamRoleForIdentityCenterApplicationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IdentityCenterOptions.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IdentityCenterOptions.h new file mode 100644 index 00000000000..c46bd4fa0ce --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IdentityCenterOptions.h @@ -0,0 +1,145 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

                  Container for IAM Identity Center Options settings.

                  See Also:

                  + * AWS + * API Reference

                  + */ + class IdentityCenterOptions + { + public: + AWS_OPENSEARCHSERVICE_API IdentityCenterOptions(); + AWS_OPENSEARCHSERVICE_API IdentityCenterOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API IdentityCenterOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  True to enable IAM Identity Center for API access in Amazon OpenSearch + * Service.

                  + */ + inline bool GetEnabledAPIAccess() const{ return m_enabledAPIAccess; } + inline bool EnabledAPIAccessHasBeenSet() const { return m_enabledAPIAccessHasBeenSet; } + inline void SetEnabledAPIAccess(bool value) { m_enabledAPIAccessHasBeenSet = true; m_enabledAPIAccess = value; } + inline IdentityCenterOptions& WithEnabledAPIAccess(bool value) { SetEnabledAPIAccess(value); return *this;} + ///@} + + ///@{ + /** + *

                  The ARN for IAM Identity Center Instance.

                  + */ + inline const Aws::String& GetIdentityCenterInstanceARN() const{ return m_identityCenterInstanceARN; } + inline bool IdentityCenterInstanceARNHasBeenSet() const { return m_identityCenterInstanceARNHasBeenSet; } + inline void SetIdentityCenterInstanceARN(const Aws::String& value) { m_identityCenterInstanceARNHasBeenSet = true; m_identityCenterInstanceARN = value; } + inline void SetIdentityCenterInstanceARN(Aws::String&& value) { m_identityCenterInstanceARNHasBeenSet = true; m_identityCenterInstanceARN = std::move(value); } + inline void SetIdentityCenterInstanceARN(const char* value) { m_identityCenterInstanceARNHasBeenSet = true; m_identityCenterInstanceARN.assign(value); } + inline IdentityCenterOptions& WithIdentityCenterInstanceARN(const Aws::String& value) { SetIdentityCenterInstanceARN(value); return *this;} + inline IdentityCenterOptions& WithIdentityCenterInstanceARN(Aws::String&& value) { SetIdentityCenterInstanceARN(std::move(value)); return *this;} + inline IdentityCenterOptions& WithIdentityCenterInstanceARN(const char* value) { SetIdentityCenterInstanceARN(value); return *this;} + ///@} + + ///@{ + /** + *

                  Specify the attribute that contains the subject (username, userID, email) of + * IAM Identity Center.

                  + */ + inline const SubjectKeyIdCOption& GetSubjectKey() const{ return m_subjectKey; } + inline bool SubjectKeyHasBeenSet() const { return m_subjectKeyHasBeenSet; } + inline void SetSubjectKey(const SubjectKeyIdCOption& value) { m_subjectKeyHasBeenSet = true; m_subjectKey = value; } + inline void SetSubjectKey(SubjectKeyIdCOption&& value) { m_subjectKeyHasBeenSet = true; m_subjectKey = std::move(value); } + inline IdentityCenterOptions& WithSubjectKey(const SubjectKeyIdCOption& value) { SetSubjectKey(value); return *this;} + inline IdentityCenterOptions& WithSubjectKey(SubjectKeyIdCOption&& value) { SetSubjectKey(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  Specify the attribute that contains the backend role (groupName, groupID) of + * IAM Identity Center

                  + */ + inline const RolesKeyIdCOption& GetRolesKey() const{ return m_rolesKey; } + inline bool RolesKeyHasBeenSet() const { return m_rolesKeyHasBeenSet; } + inline void SetRolesKey(const RolesKeyIdCOption& value) { m_rolesKeyHasBeenSet = true; m_rolesKey = value; } + inline void SetRolesKey(RolesKeyIdCOption&& value) { m_rolesKeyHasBeenSet = true; m_rolesKey = std::move(value); } + inline IdentityCenterOptions& WithRolesKey(const RolesKeyIdCOption& value) { SetRolesKey(value); return *this;} + inline IdentityCenterOptions& WithRolesKey(RolesKeyIdCOption&& value) { SetRolesKey(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  The ARN for IAM Identity Center Application which will integrate with Amazon + * OpenSearch Service.

                  + */ + inline const Aws::String& GetIdentityCenterApplicationARN() const{ return m_identityCenterApplicationARN; } + inline bool IdentityCenterApplicationARNHasBeenSet() const { return m_identityCenterApplicationARNHasBeenSet; } + inline void SetIdentityCenterApplicationARN(const Aws::String& value) { m_identityCenterApplicationARNHasBeenSet = true; m_identityCenterApplicationARN = value; } + inline void SetIdentityCenterApplicationARN(Aws::String&& value) { m_identityCenterApplicationARNHasBeenSet = true; m_identityCenterApplicationARN = std::move(value); } + inline void SetIdentityCenterApplicationARN(const char* value) { m_identityCenterApplicationARNHasBeenSet = true; m_identityCenterApplicationARN.assign(value); } + inline IdentityCenterOptions& WithIdentityCenterApplicationARN(const Aws::String& value) { SetIdentityCenterApplicationARN(value); return *this;} + inline IdentityCenterOptions& WithIdentityCenterApplicationARN(Aws::String&& value) { SetIdentityCenterApplicationARN(std::move(value)); return *this;} + inline IdentityCenterOptions& WithIdentityCenterApplicationARN(const char* value) { SetIdentityCenterApplicationARN(value); return *this;} + ///@} + + ///@{ + /** + *

                  The ID of IAM Identity Store.

                  + */ + inline const Aws::String& GetIdentityStoreId() const{ return m_identityStoreId; } + inline bool IdentityStoreIdHasBeenSet() const { return m_identityStoreIdHasBeenSet; } + inline void SetIdentityStoreId(const Aws::String& value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId = value; } + inline void SetIdentityStoreId(Aws::String&& value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId = std::move(value); } + inline void SetIdentityStoreId(const char* value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId.assign(value); } + inline IdentityCenterOptions& WithIdentityStoreId(const Aws::String& value) { SetIdentityStoreId(value); return *this;} + inline IdentityCenterOptions& WithIdentityStoreId(Aws::String&& value) { SetIdentityStoreId(std::move(value)); return *this;} + inline IdentityCenterOptions& WithIdentityStoreId(const char* value) { SetIdentityStoreId(value); return *this;} + ///@} + private: + + bool m_enabledAPIAccess; + bool m_enabledAPIAccessHasBeenSet = false; + + Aws::String m_identityCenterInstanceARN; + bool m_identityCenterInstanceARNHasBeenSet = false; + + SubjectKeyIdCOption m_subjectKey; + bool m_subjectKeyHasBeenSet = false; + + RolesKeyIdCOption m_rolesKey; + bool m_rolesKeyHasBeenSet = false; + + Aws::String m_identityCenterApplicationARN; + bool m_identityCenterApplicationARNHasBeenSet = false; + + Aws::String m_identityStoreId; + bool m_identityStoreIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IdentityCenterOptionsInput.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IdentityCenterOptionsInput.h new file mode 100644 index 00000000000..b255e0ddd91 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IdentityCenterOptionsInput.h @@ -0,0 +1,111 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

                  Container for IAM Identity Center Options settings.

                  See Also:

                  + * AWS + * API Reference

                  + */ + class IdentityCenterOptionsInput + { + public: + AWS_OPENSEARCHSERVICE_API IdentityCenterOptionsInput(); + AWS_OPENSEARCHSERVICE_API IdentityCenterOptionsInput(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API IdentityCenterOptionsInput& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  True to enable IAM Identity Center for API access in Amazon OpenSearch + * Service.

                  + */ + inline bool GetEnabledAPIAccess() const{ return m_enabledAPIAccess; } + inline bool EnabledAPIAccessHasBeenSet() const { return m_enabledAPIAccessHasBeenSet; } + inline void SetEnabledAPIAccess(bool value) { m_enabledAPIAccessHasBeenSet = true; m_enabledAPIAccess = value; } + inline IdentityCenterOptionsInput& WithEnabledAPIAccess(bool value) { SetEnabledAPIAccess(value); return *this;} + ///@} + + ///@{ + /** + *

                  The ARN for IAM Identity Center Instance which will be used for IAM Identity + * Center Application creation.

                  + */ + inline const Aws::String& GetIdentityCenterInstanceARN() const{ return m_identityCenterInstanceARN; } + inline bool IdentityCenterInstanceARNHasBeenSet() const { return m_identityCenterInstanceARNHasBeenSet; } + inline void SetIdentityCenterInstanceARN(const Aws::String& value) { m_identityCenterInstanceARNHasBeenSet = true; m_identityCenterInstanceARN = value; } + inline void SetIdentityCenterInstanceARN(Aws::String&& value) { m_identityCenterInstanceARNHasBeenSet = true; m_identityCenterInstanceARN = std::move(value); } + inline void SetIdentityCenterInstanceARN(const char* value) { m_identityCenterInstanceARNHasBeenSet = true; m_identityCenterInstanceARN.assign(value); } + inline IdentityCenterOptionsInput& WithIdentityCenterInstanceARN(const Aws::String& value) { SetIdentityCenterInstanceARN(value); return *this;} + inline IdentityCenterOptionsInput& WithIdentityCenterInstanceARN(Aws::String&& value) { SetIdentityCenterInstanceARN(std::move(value)); return *this;} + inline IdentityCenterOptionsInput& WithIdentityCenterInstanceARN(const char* value) { SetIdentityCenterInstanceARN(value); return *this;} + ///@} + + ///@{ + /** + *

                  Specify the attribute that contains the subject (username, userID, email) of + * IAM Identity Center.

                  + */ + inline const SubjectKeyIdCOption& GetSubjectKey() const{ return m_subjectKey; } + inline bool SubjectKeyHasBeenSet() const { return m_subjectKeyHasBeenSet; } + inline void SetSubjectKey(const SubjectKeyIdCOption& value) { m_subjectKeyHasBeenSet = true; m_subjectKey = value; } + inline void SetSubjectKey(SubjectKeyIdCOption&& value) { m_subjectKeyHasBeenSet = true; m_subjectKey = std::move(value); } + inline IdentityCenterOptionsInput& WithSubjectKey(const SubjectKeyIdCOption& value) { SetSubjectKey(value); return *this;} + inline IdentityCenterOptionsInput& WithSubjectKey(SubjectKeyIdCOption&& value) { SetSubjectKey(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  Specify the attribute that contains the backend role (groupName, groupID) of + * IAM Identity Center

                  + */ + inline const RolesKeyIdCOption& GetRolesKey() const{ return m_rolesKey; } + inline bool RolesKeyHasBeenSet() const { return m_rolesKeyHasBeenSet; } + inline void SetRolesKey(const RolesKeyIdCOption& value) { m_rolesKeyHasBeenSet = true; m_rolesKey = value; } + inline void SetRolesKey(RolesKeyIdCOption&& value) { m_rolesKeyHasBeenSet = true; m_rolesKey = std::move(value); } + inline IdentityCenterOptionsInput& WithRolesKey(const RolesKeyIdCOption& value) { SetRolesKey(value); return *this;} + inline IdentityCenterOptionsInput& WithRolesKey(RolesKeyIdCOption&& value) { SetRolesKey(std::move(value)); return *this;} + ///@} + private: + + bool m_enabledAPIAccess; + bool m_enabledAPIAccessHasBeenSet = false; + + Aws::String m_identityCenterInstanceARN; + bool m_identityCenterInstanceARNHasBeenSet = false; + + SubjectKeyIdCOption m_subjectKey; + bool m_subjectKeyHasBeenSet = false; + + RolesKeyIdCOption m_rolesKey; + bool m_rolesKeyHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IdentityCenterOptionsStatus.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IdentityCenterOptionsStatus.h new file mode 100644 index 00000000000..74da97fbbda --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/IdentityCenterOptionsStatus.h @@ -0,0 +1,76 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + + /** + *

                  The status of IAM Identity Center Options settings for a + * domain.

                  See Also:

                  AWS + * API Reference

                  + */ + class IdentityCenterOptionsStatus + { + public: + AWS_OPENSEARCHSERVICE_API IdentityCenterOptionsStatus(); + AWS_OPENSEARCHSERVICE_API IdentityCenterOptionsStatus(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API IdentityCenterOptionsStatus& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  Container for IAM Identity Center Options settings.

                  + */ + inline const IdentityCenterOptions& GetOptions() const{ return m_options; } + inline bool OptionsHasBeenSet() const { return m_optionsHasBeenSet; } + inline void SetOptions(const IdentityCenterOptions& value) { m_optionsHasBeenSet = true; m_options = value; } + inline void SetOptions(IdentityCenterOptions&& value) { m_optionsHasBeenSet = true; m_options = std::move(value); } + inline IdentityCenterOptionsStatus& WithOptions(const IdentityCenterOptions& value) { SetOptions(value); return *this;} + inline IdentityCenterOptionsStatus& WithOptions(IdentityCenterOptions&& value) { SetOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  The status of IAM Identity Center Options settings for a domain.

                  + */ + inline const OptionStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const OptionStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(OptionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline IdentityCenterOptionsStatus& WithStatus(const OptionStatus& value) { SetStatus(value); return *this;} + inline IdentityCenterOptionsStatus& WithStatus(OptionStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + IdentityCenterOptions m_options; + bool m_optionsHasBeenSet = false; + + OptionStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListApplicationsRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListApplicationsRequest.h new file mode 100644 index 00000000000..368a236d64c --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListApplicationsRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Http +{ + class URI; +} //namespace Http +namespace OpenSearchService +{ +namespace Model +{ + + /** + */ + class ListApplicationsRequest : public OpenSearchServiceRequest + { + public: + AWS_OPENSEARCHSERVICE_API ListApplicationsRequest(); + + // 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 "ListApplications"; } + + AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; + + AWS_OPENSEARCHSERVICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; + + + ///@{ + + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListApplicationsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListApplicationsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListApplicationsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

                  OpenSearch Application Status can be used as filters for the listing request. + * Possible values are CREATING, UPDATING, + * DELETING, FAILED, ACTIVE, and + * DELETED.

                  + */ + inline const Aws::Vector& GetStatuses() const{ return m_statuses; } + inline bool StatusesHasBeenSet() const { return m_statusesHasBeenSet; } + inline void SetStatuses(const Aws::Vector& value) { m_statusesHasBeenSet = true; m_statuses = value; } + inline void SetStatuses(Aws::Vector&& value) { m_statusesHasBeenSet = true; m_statuses = std::move(value); } + inline ListApplicationsRequest& WithStatuses(const Aws::Vector& value) { SetStatuses(value); return *this;} + inline ListApplicationsRequest& WithStatuses(Aws::Vector&& value) { SetStatuses(std::move(value)); return *this;} + inline ListApplicationsRequest& AddStatuses(const ApplicationStatus& value) { m_statusesHasBeenSet = true; m_statuses.push_back(value); return *this; } + inline ListApplicationsRequest& AddStatuses(ApplicationStatus&& value) { m_statusesHasBeenSet = true; m_statuses.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListApplicationsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + Aws::Vector m_statuses; + bool m_statusesHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListApplicationsResult.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListApplicationsResult.h new file mode 100644 index 00000000000..044f2734f89 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/ListApplicationsResult.h @@ -0,0 +1,83 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + class ListApplicationsResult + { + public: + AWS_OPENSEARCHSERVICE_API ListApplicationsResult(); + AWS_OPENSEARCHSERVICE_API ListApplicationsResult(const Aws::AmazonWebServiceResult& result); + AWS_OPENSEARCHSERVICE_API ListApplicationsResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                  Summary of the OpenSearch Applications, including ID, ARN, name, endpoint, + * status, create time and last update time.

                  + */ + inline const Aws::Vector& GetApplicationSummaries() const{ return m_applicationSummaries; } + inline void SetApplicationSummaries(const Aws::Vector& value) { m_applicationSummaries = value; } + inline void SetApplicationSummaries(Aws::Vector&& value) { m_applicationSummaries = std::move(value); } + inline ListApplicationsResult& WithApplicationSummaries(const Aws::Vector& value) { SetApplicationSummaries(value); return *this;} + inline ListApplicationsResult& WithApplicationSummaries(Aws::Vector&& value) { SetApplicationSummaries(std::move(value)); return *this;} + inline ListApplicationsResult& AddApplicationSummaries(const ApplicationSummary& value) { m_applicationSummaries.push_back(value); return *this; } + inline ListApplicationsResult& AddApplicationSummaries(ApplicationSummary&& value) { m_applicationSummaries.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListApplicationsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListApplicationsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListApplicationsResult& WithNextToken(const char* value) { SetNextToken(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 ListApplicationsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListApplicationsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListApplicationsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::Vector m_applicationSummaries; + + Aws::String m_nextToken; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/RevokeVpcEndpointAccessRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/RevokeVpcEndpointAccessRequest.h index 62f07102ca7..60fa1ece9a4 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/RevokeVpcEndpointAccessRequest.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/RevokeVpcEndpointAccessRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include namespace Aws @@ -59,6 +60,18 @@ namespace Model inline RevokeVpcEndpointAccessRequest& WithAccount(Aws::String&& value) { SetAccount(std::move(value)); return *this;} inline RevokeVpcEndpointAccessRequest& WithAccount(const char* value) { SetAccount(value); return *this;} ///@} + + ///@{ + /** + *

                  The service SP to revoke access from.

                  + */ + inline const AWSServicePrincipal& GetService() const{ return m_service; } + inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } + inline void SetService(const AWSServicePrincipal& value) { m_serviceHasBeenSet = true; m_service = value; } + inline void SetService(AWSServicePrincipal&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } + inline RevokeVpcEndpointAccessRequest& WithService(const AWSServicePrincipal& value) { SetService(value); return *this;} + inline RevokeVpcEndpointAccessRequest& WithService(AWSServicePrincipal&& value) { SetService(std::move(value)); return *this;} + ///@} private: Aws::String m_domainName; @@ -66,6 +79,9 @@ namespace Model Aws::String m_account; bool m_accountHasBeenSet = false; + + AWSServicePrincipal m_service; + bool m_serviceHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/RolesKeyIdCOption.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/RolesKeyIdCOption.h new file mode 100644 index 00000000000..0d70caffd8f --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/RolesKeyIdCOption.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + enum class RolesKeyIdCOption + { + NOT_SET, + GroupName, + GroupId + }; + +namespace RolesKeyIdCOptionMapper +{ +AWS_OPENSEARCHSERVICE_API RolesKeyIdCOption GetRolesKeyIdCOptionForName(const Aws::String& name); + +AWS_OPENSEARCHSERVICE_API Aws::String GetNameForRolesKeyIdCOption(RolesKeyIdCOption value); +} // namespace RolesKeyIdCOptionMapper +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/SubjectKeyIdCOption.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/SubjectKeyIdCOption.h new file mode 100644 index 00000000000..5754c0d908c --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/SubjectKeyIdCOption.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + enum class SubjectKeyIdCOption + { + NOT_SET, + UserName, + UserId, + Email + }; + +namespace SubjectKeyIdCOptionMapper +{ +AWS_OPENSEARCHSERVICE_API SubjectKeyIdCOption GetSubjectKeyIdCOptionForName(const Aws::String& name); + +AWS_OPENSEARCHSERVICE_API Aws::String GetNameForSubjectKeyIdCOption(SubjectKeyIdCOption value); +} // namespace SubjectKeyIdCOptionMapper +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateApplicationRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateApplicationRequest.h new file mode 100644 index 00000000000..cc72a59d933 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateApplicationRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + + /** + */ + class UpdateApplicationRequest : public OpenSearchServiceRequest + { + public: + AWS_OPENSEARCHSERVICE_API UpdateApplicationRequest(); + + // 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 "UpdateApplication"; } + + AWS_OPENSEARCHSERVICE_API Aws::String SerializePayload() const override; + + + ///@{ + /** + *

                  Unique identifier of the OpenSearch Application to be updated.

                  + */ + 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 UpdateApplicationRequest& WithId(const Aws::String& value) { SetId(value); return *this;} + inline UpdateApplicationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline UpdateApplicationRequest& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

                  Data sources to be associated with the OpenSearch Application.

                  + */ + inline const Aws::Vector& GetDataSources() const{ return m_dataSources; } + inline bool DataSourcesHasBeenSet() const { return m_dataSourcesHasBeenSet; } + inline void SetDataSources(const Aws::Vector& value) { m_dataSourcesHasBeenSet = true; m_dataSources = value; } + inline void SetDataSources(Aws::Vector&& value) { m_dataSourcesHasBeenSet = true; m_dataSources = std::move(value); } + inline UpdateApplicationRequest& WithDataSources(const Aws::Vector& value) { SetDataSources(value); return *this;} + inline UpdateApplicationRequest& WithDataSources(Aws::Vector&& value) { SetDataSources(std::move(value)); return *this;} + inline UpdateApplicationRequest& AddDataSources(const DataSource& value) { m_dataSourcesHasBeenSet = true; m_dataSources.push_back(value); return *this; } + inline UpdateApplicationRequest& AddDataSources(DataSource&& value) { m_dataSourcesHasBeenSet = true; m_dataSources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                  Configurations to be changed for the OpenSearch Application.

                  + */ + inline const Aws::Vector& GetAppConfigs() const{ return m_appConfigs; } + inline bool AppConfigsHasBeenSet() const { return m_appConfigsHasBeenSet; } + inline void SetAppConfigs(const Aws::Vector& value) { m_appConfigsHasBeenSet = true; m_appConfigs = value; } + inline void SetAppConfigs(Aws::Vector&& value) { m_appConfigsHasBeenSet = true; m_appConfigs = std::move(value); } + inline UpdateApplicationRequest& WithAppConfigs(const Aws::Vector& value) { SetAppConfigs(value); return *this;} + inline UpdateApplicationRequest& WithAppConfigs(Aws::Vector&& value) { SetAppConfigs(std::move(value)); return *this;} + inline UpdateApplicationRequest& AddAppConfigs(const AppConfig& value) { m_appConfigsHasBeenSet = true; m_appConfigs.push_back(value); return *this; } + inline UpdateApplicationRequest& AddAppConfigs(AppConfig&& value) { m_appConfigsHasBeenSet = true; m_appConfigs.push_back(std::move(value)); return *this; } + ///@} + private: + + Aws::String m_id; + bool m_idHasBeenSet = false; + + Aws::Vector m_dataSources; + bool m_dataSourcesHasBeenSet = false; + + Aws::Vector m_appConfigs; + bool m_appConfigsHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateApplicationResult.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateApplicationResult.h new file mode 100644 index 00000000000..2da939d74d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateApplicationResult.h @@ -0,0 +1,169 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace OpenSearchService +{ +namespace Model +{ + class UpdateApplicationResult + { + public: + AWS_OPENSEARCHSERVICE_API UpdateApplicationResult(); + AWS_OPENSEARCHSERVICE_API UpdateApplicationResult(const Aws::AmazonWebServiceResult& result); + AWS_OPENSEARCHSERVICE_API UpdateApplicationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

                  Unique identifier of the updated OpenSearch Application.

                  + */ + 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 UpdateApplicationResult& WithId(const Aws::String& value) { SetId(value); return *this;} + inline UpdateApplicationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} + inline UpdateApplicationResult& WithId(const char* value) { SetId(value); return *this;} + ///@} + + ///@{ + /** + *

                  Name of the updated OpenSearch Application.

                  + */ + 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 UpdateApplicationResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline UpdateApplicationResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline UpdateApplicationResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + + inline const Aws::String& GetArn() const{ return m_arn; } + inline void SetArn(const Aws::String& value) { m_arn = value; } + inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } + inline void SetArn(const char* value) { m_arn.assign(value); } + inline UpdateApplicationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} + inline UpdateApplicationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} + inline UpdateApplicationResult& WithArn(const char* value) { SetArn(value); return *this;} + ///@} + + ///@{ + /** + *

                  Data sources associated with the updated OpenSearch Application.

                  + */ + inline const Aws::Vector& GetDataSources() const{ return m_dataSources; } + inline void SetDataSources(const Aws::Vector& value) { m_dataSources = value; } + inline void SetDataSources(Aws::Vector&& value) { m_dataSources = std::move(value); } + inline UpdateApplicationResult& WithDataSources(const Aws::Vector& value) { SetDataSources(value); return *this;} + inline UpdateApplicationResult& WithDataSources(Aws::Vector&& value) { SetDataSources(std::move(value)); return *this;} + inline UpdateApplicationResult& AddDataSources(const DataSource& value) { m_dataSources.push_back(value); return *this; } + inline UpdateApplicationResult& AddDataSources(DataSource&& value) { m_dataSources.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                  IAM Identity Center settings for the updated OpenSearch Application.

                  + */ + inline const IamIdentityCenterOptions& GetIamIdentityCenterOptions() const{ return m_iamIdentityCenterOptions; } + inline void SetIamIdentityCenterOptions(const IamIdentityCenterOptions& value) { m_iamIdentityCenterOptions = value; } + inline void SetIamIdentityCenterOptions(IamIdentityCenterOptions&& value) { m_iamIdentityCenterOptions = std::move(value); } + inline UpdateApplicationResult& WithIamIdentityCenterOptions(const IamIdentityCenterOptions& value) { SetIamIdentityCenterOptions(value); return *this;} + inline UpdateApplicationResult& WithIamIdentityCenterOptions(IamIdentityCenterOptions&& value) { SetIamIdentityCenterOptions(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  Configurations for the updated OpenSearch Application.

                  + */ + inline const Aws::Vector& GetAppConfigs() const{ return m_appConfigs; } + inline void SetAppConfigs(const Aws::Vector& value) { m_appConfigs = value; } + inline void SetAppConfigs(Aws::Vector&& value) { m_appConfigs = std::move(value); } + inline UpdateApplicationResult& WithAppConfigs(const Aws::Vector& value) { SetAppConfigs(value); return *this;} + inline UpdateApplicationResult& WithAppConfigs(Aws::Vector&& value) { SetAppConfigs(std::move(value)); return *this;} + inline UpdateApplicationResult& AddAppConfigs(const AppConfig& value) { m_appConfigs.push_back(value); return *this; } + inline UpdateApplicationResult& AddAppConfigs(AppConfig&& value) { m_appConfigs.push_back(std::move(value)); return *this; } + ///@} + + ///@{ + /** + *

                  Timestamp at which the OpenSearch Application was created.

                  + */ + inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } + inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } + inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } + inline UpdateApplicationResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} + inline UpdateApplicationResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  Timestamp at which the OpenSearch Application was last updated.

                  + */ + inline const Aws::Utils::DateTime& GetLastUpdatedAt() const{ return m_lastUpdatedAt; } + inline void SetLastUpdatedAt(const Aws::Utils::DateTime& value) { m_lastUpdatedAt = value; } + inline void SetLastUpdatedAt(Aws::Utils::DateTime&& value) { m_lastUpdatedAt = std::move(value); } + inline UpdateApplicationResult& WithLastUpdatedAt(const Aws::Utils::DateTime& value) { SetLastUpdatedAt(value); return *this;} + inline UpdateApplicationResult& WithLastUpdatedAt(Aws::Utils::DateTime&& value) { SetLastUpdatedAt(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 UpdateApplicationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline UpdateApplicationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline UpdateApplicationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_id; + + Aws::String m_name; + + Aws::String m_arn; + + Aws::Vector m_dataSources; + + IamIdentityCenterOptions m_iamIdentityCenterOptions; + + Aws::Vector m_appConfigs; + + Aws::Utils::DateTime m_createdAt; + + Aws::Utils::DateTime m_lastUpdatedAt; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDomainConfigRequest.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDomainConfigRequest.h index eaf0def674c..fa6945148dc 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDomainConfigRequest.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/model/UpdateDomainConfigRequest.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -264,6 +265,16 @@ namespace Model inline UpdateDomainConfigRequest& WithAdvancedSecurityOptions(AdvancedSecurityOptionsInput&& value) { SetAdvancedSecurityOptions(std::move(value)); return *this;} ///@} + ///@{ + + inline const IdentityCenterOptionsInput& GetIdentityCenterOptions() const{ return m_identityCenterOptions; } + inline bool IdentityCenterOptionsHasBeenSet() const { return m_identityCenterOptionsHasBeenSet; } + inline void SetIdentityCenterOptions(const IdentityCenterOptionsInput& value) { m_identityCenterOptionsHasBeenSet = true; m_identityCenterOptions = value; } + inline void SetIdentityCenterOptions(IdentityCenterOptionsInput&& value) { m_identityCenterOptionsHasBeenSet = true; m_identityCenterOptions = std::move(value); } + inline UpdateDomainConfigRequest& WithIdentityCenterOptions(const IdentityCenterOptionsInput& value) { SetIdentityCenterOptions(value); return *this;} + inline UpdateDomainConfigRequest& WithIdentityCenterOptions(IdentityCenterOptionsInput&& value) { SetIdentityCenterOptions(std::move(value)); return *this;} + ///@} + ///@{ /** *

                  Options for Auto-Tune.

                  @@ -385,6 +396,9 @@ namespace Model AdvancedSecurityOptionsInput m_advancedSecurityOptions; bool m_advancedSecurityOptionsHasBeenSet = false; + IdentityCenterOptionsInput m_identityCenterOptions; + bool m_identityCenterOptionsHasBeenSet = false; + AutoTuneOptions m_autoTuneOptions; bool m_autoTuneOptionsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp b/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp index 2c78deaee60..6bca63a1bf0 100644 --- a/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp @@ -28,10 +28,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -54,12 +56,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -78,6 +82,7 @@ #include #include #include +#include #include #include #include @@ -456,6 +461,33 @@ CancelServiceSoftwareUpdateOutcome OpenSearchServiceClient::CancelServiceSoftwar {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateApplicationOutcome OpenSearchServiceClient::CreateApplication(const CreateApplicationRequest& request) const +{ + AWS_OPERATION_GUARD(CreateApplication); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateApplication", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateApplicationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/2021-01-01/opensearch/application"); + return CreateApplicationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateDomainOutcome OpenSearchServiceClient::CreateDomain(const CreateDomainRequest& request) const { AWS_OPERATION_GUARD(CreateDomain); @@ -564,6 +596,39 @@ CreateVpcEndpointOutcome OpenSearchServiceClient::CreateVpcEndpoint(const Create {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteApplicationOutcome OpenSearchServiceClient::DeleteApplication(const DeleteApplicationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteApplication); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("DeleteApplication", "Required field: Id, is not set"); + return DeleteApplicationOutcome(Aws::Client::AWSError(OpenSearchServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteApplication", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteApplicationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/2021-01-01/opensearch/application/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return DeleteApplicationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteDataSourceOutcome OpenSearchServiceClient::DeleteDataSource(const DeleteDataSourceRequest& request) const { AWS_OPERATION_GUARD(DeleteDataSource); @@ -1273,6 +1338,39 @@ DissociatePackageOutcome OpenSearchServiceClient::DissociatePackage(const Dissoc {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetApplicationOutcome OpenSearchServiceClient::GetApplication(const GetApplicationRequest& request) const +{ + AWS_OPERATION_GUARD(GetApplication); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("GetApplication", "Required field: Id, is not set"); + return GetApplicationOutcome(Aws::Client::AWSError(OpenSearchServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetApplication", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetApplicationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/2021-01-01/opensearch/application/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return GetApplicationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + GetCompatibleVersionsOutcome OpenSearchServiceClient::GetCompatibleVersions(const GetCompatibleVersionsRequest& request) const { AWS_OPERATION_GUARD(GetCompatibleVersions); @@ -1481,6 +1579,33 @@ GetUpgradeStatusOutcome OpenSearchServiceClient::GetUpgradeStatus(const GetUpgra {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListApplicationsOutcome OpenSearchServiceClient::ListApplications(const ListApplicationsRequest& request) const +{ + AWS_OPERATION_GUARD(ListApplications); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListApplications, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListApplications, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListApplications, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListApplications", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListApplicationsOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListApplications, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/2021-01-01/opensearch/list-applications"); + return ListApplicationsOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListDataSourcesOutcome OpenSearchServiceClient::ListDataSources(const ListDataSourcesRequest& request) const { AWS_OPERATION_GUARD(ListDataSources); @@ -2048,6 +2173,39 @@ StartServiceSoftwareUpdateOutcome OpenSearchServiceClient::StartServiceSoftwareU {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +UpdateApplicationOutcome OpenSearchServiceClient::UpdateApplication(const UpdateApplicationRequest& request) const +{ + AWS_OPERATION_GUARD(UpdateApplication); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, UpdateApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + if (!request.IdHasBeenSet()) + { + AWS_LOGSTREAM_ERROR("UpdateApplication", "Required field: Id, is not set"); + return UpdateApplicationOutcome(Aws::Client::AWSError(OpenSearchServiceErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [Id]", false)); + } + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, UpdateApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, UpdateApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".UpdateApplication", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> UpdateApplicationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, UpdateApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + endpointResolutionOutcome.GetResult().AddPathSegments("/2021-01-01/opensearch/application/"); + endpointResolutionOutcome.GetResult().AddPathSegment(request.GetId()); + return UpdateApplicationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_PUT, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + UpdateDataSourceOutcome OpenSearchServiceClient::UpdateDataSource(const UpdateDataSourceRequest& request) const { AWS_OPERATION_GUARD(UpdateDataSource); diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/AWSServicePrincipal.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/AWSServicePrincipal.cpp new file mode 100644 index 00000000000..286c4449027 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/AWSServicePrincipal.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace OpenSearchService + { + namespace Model + { + namespace AWSServicePrincipalMapper + { + + static const int application_opensearchservice_amazonaws_com_HASH = HashingUtils::HashString("application.opensearchservice.amazonaws.com"); + + + AWSServicePrincipal GetAWSServicePrincipalForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == application_opensearchservice_amazonaws_com_HASH) + { + return AWSServicePrincipal::application_opensearchservice_amazonaws_com; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AWSServicePrincipal::NOT_SET; + } + + Aws::String GetNameForAWSServicePrincipal(AWSServicePrincipal enumValue) + { + switch(enumValue) + { + case AWSServicePrincipal::NOT_SET: + return {}; + case AWSServicePrincipal::application_opensearchservice_amazonaws_com: + return "application.opensearchservice.amazonaws.com"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AWSServicePrincipalMapper + } // namespace Model + } // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/AppConfig.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/AppConfig.cpp new file mode 100644 index 00000000000..5a294069690 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/AppConfig.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +AppConfig::AppConfig() : + m_key(AppConfigType::NOT_SET), + m_keyHasBeenSet(false), + m_valueHasBeenSet(false) +{ +} + +AppConfig::AppConfig(JsonView jsonValue) + : AppConfig() +{ + *this = jsonValue; +} + +AppConfig& AppConfig::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("key")) + { + m_key = AppConfigTypeMapper::GetAppConfigTypeForName(jsonValue.GetString("key")); + + m_keyHasBeenSet = true; + } + + if(jsonValue.ValueExists("value")) + { + m_value = jsonValue.GetString("value"); + + m_valueHasBeenSet = true; + } + + return *this; +} + +JsonValue AppConfig::Jsonize() const +{ + JsonValue payload; + + if(m_keyHasBeenSet) + { + payload.WithString("key", AppConfigTypeMapper::GetNameForAppConfigType(m_key)); + } + + if(m_valueHasBeenSet) + { + payload.WithString("value", m_value); + + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/AppConfigType.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/AppConfigType.cpp new file mode 100644 index 00000000000..8fbf990ef36 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/AppConfigType.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace OpenSearchService + { + namespace Model + { + namespace AppConfigTypeMapper + { + + static const int opensearchDashboards_dashboardAdmin_users_HASH = HashingUtils::HashString("opensearchDashboards.dashboardAdmin.users"); + static const int opensearchDashboards_dashboardAdmin_groups_HASH = HashingUtils::HashString("opensearchDashboards.dashboardAdmin.groups"); + + + AppConfigType GetAppConfigTypeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == opensearchDashboards_dashboardAdmin_users_HASH) + { + return AppConfigType::opensearchDashboards_dashboardAdmin_users; + } + else if (hashCode == opensearchDashboards_dashboardAdmin_groups_HASH) + { + return AppConfigType::opensearchDashboards_dashboardAdmin_groups; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return AppConfigType::NOT_SET; + } + + Aws::String GetNameForAppConfigType(AppConfigType enumValue) + { + switch(enumValue) + { + case AppConfigType::NOT_SET: + return {}; + case AppConfigType::opensearchDashboards_dashboardAdmin_users: + return "opensearchDashboards.dashboardAdmin.users"; + case AppConfigType::opensearchDashboards_dashboardAdmin_groups: + return "opensearchDashboards.dashboardAdmin.groups"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace AppConfigTypeMapper + } // namespace Model + } // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/ApplicationStatus.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/ApplicationStatus.cpp new file mode 100644 index 00000000000..e525010b15a --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/ApplicationStatus.cpp @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace OpenSearchService + { + namespace Model + { + namespace ApplicationStatusMapper + { + + static const int CREATING_HASH = HashingUtils::HashString("CREATING"); + static const int UPDATING_HASH = HashingUtils::HashString("UPDATING"); + static const int DELETING_HASH = HashingUtils::HashString("DELETING"); + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int FAILED_HASH = HashingUtils::HashString("FAILED"); + + + ApplicationStatus GetApplicationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == CREATING_HASH) + { + return ApplicationStatus::CREATING; + } + else if (hashCode == UPDATING_HASH) + { + return ApplicationStatus::UPDATING; + } + else if (hashCode == DELETING_HASH) + { + return ApplicationStatus::DELETING; + } + else if (hashCode == ACTIVE_HASH) + { + return ApplicationStatus::ACTIVE; + } + else if (hashCode == FAILED_HASH) + { + return ApplicationStatus::FAILED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return ApplicationStatus::NOT_SET; + } + + Aws::String GetNameForApplicationStatus(ApplicationStatus enumValue) + { + switch(enumValue) + { + case ApplicationStatus::NOT_SET: + return {}; + case ApplicationStatus::CREATING: + return "CREATING"; + case ApplicationStatus::UPDATING: + return "UPDATING"; + case ApplicationStatus::DELETING: + return "DELETING"; + case ApplicationStatus::ACTIVE: + return "ACTIVE"; + case ApplicationStatus::FAILED: + return "FAILED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace ApplicationStatusMapper + } // namespace Model + } // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/ApplicationSummary.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/ApplicationSummary.cpp new file mode 100644 index 00000000000..dd470cb138b --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/ApplicationSummary.cpp @@ -0,0 +1,141 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +ApplicationSummary::ApplicationSummary() : + m_idHasBeenSet(false), + m_arnHasBeenSet(false), + m_nameHasBeenSet(false), + m_endpointHasBeenSet(false), + m_status(ApplicationStatus::NOT_SET), + m_statusHasBeenSet(false), + m_createdAtHasBeenSet(false), + m_lastUpdatedAtHasBeenSet(false) +{ +} + +ApplicationSummary::ApplicationSummary(JsonView jsonValue) + : ApplicationSummary() +{ + *this = jsonValue; +} + +ApplicationSummary& ApplicationSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + m_idHasBeenSet = true; + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + m_arnHasBeenSet = true; + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("endpoint")) + { + m_endpoint = jsonValue.GetString("endpoint"); + + m_endpointHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = ApplicationStatusMapper::GetApplicationStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + m_createdAtHasBeenSet = true; + } + + if(jsonValue.ValueExists("lastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("lastUpdatedAt"); + + m_lastUpdatedAtHasBeenSet = true; + } + + return *this; +} + +JsonValue ApplicationSummary::Jsonize() const +{ + JsonValue payload; + + if(m_idHasBeenSet) + { + payload.WithString("id", m_id); + + } + + if(m_arnHasBeenSet) + { + payload.WithString("arn", m_arn); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_endpointHasBeenSet) + { + payload.WithString("endpoint", m_endpoint); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", ApplicationStatusMapper::GetNameForApplicationStatus(m_status)); + } + + if(m_createdAtHasBeenSet) + { + payload.WithDouble("createdAt", m_createdAt.SecondsWithMSPrecision()); + } + + if(m_lastUpdatedAtHasBeenSet) + { + payload.WithDouble("lastUpdatedAt", m_lastUpdatedAt.SecondsWithMSPrecision()); + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/AuthorizeVpcEndpointAccessRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/AuthorizeVpcEndpointAccessRequest.cpp index b5ed43634ae..d83a5f872a0 100644 --- a/generated/src/aws-cpp-sdk-opensearch/source/model/AuthorizeVpcEndpointAccessRequest.cpp +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/AuthorizeVpcEndpointAccessRequest.cpp @@ -14,7 +14,9 @@ using namespace Aws::Utils; AuthorizeVpcEndpointAccessRequest::AuthorizeVpcEndpointAccessRequest() : m_domainNameHasBeenSet(false), - m_accountHasBeenSet(false) + m_accountHasBeenSet(false), + m_service(AWSServicePrincipal::NOT_SET), + m_serviceHasBeenSet(false) { } @@ -28,6 +30,11 @@ Aws::String AuthorizeVpcEndpointAccessRequest::SerializePayload() const } + if(m_serviceHasBeenSet) + { + payload.WithString("Service", AWSServicePrincipalMapper::GetNameForAWSServicePrincipal(m_service)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/CreateApplicationRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/CreateApplicationRequest.cpp new file mode 100644 index 00000000000..f543dc23046 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/CreateApplicationRequest.cpp @@ -0,0 +1,86 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateApplicationRequest::CreateApplicationRequest() : + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true), + m_nameHasBeenSet(false), + m_dataSourcesHasBeenSet(false), + m_iamIdentityCenterOptionsHasBeenSet(false), + m_appConfigsHasBeenSet(false), + m_tagListHasBeenSet(false) +{ +} + +Aws::String CreateApplicationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_clientTokenHasBeenSet) + { + payload.WithString("clientToken", m_clientToken); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("name", m_name); + + } + + if(m_dataSourcesHasBeenSet) + { + Aws::Utils::Array dataSourcesJsonList(m_dataSources.size()); + for(unsigned dataSourcesIndex = 0; dataSourcesIndex < dataSourcesJsonList.GetLength(); ++dataSourcesIndex) + { + dataSourcesJsonList[dataSourcesIndex].AsObject(m_dataSources[dataSourcesIndex].Jsonize()); + } + payload.WithArray("dataSources", std::move(dataSourcesJsonList)); + + } + + if(m_iamIdentityCenterOptionsHasBeenSet) + { + payload.WithObject("iamIdentityCenterOptions", m_iamIdentityCenterOptions.Jsonize()); + + } + + if(m_appConfigsHasBeenSet) + { + Aws::Utils::Array appConfigsJsonList(m_appConfigs.size()); + for(unsigned appConfigsIndex = 0; appConfigsIndex < appConfigsJsonList.GetLength(); ++appConfigsIndex) + { + appConfigsJsonList[appConfigsIndex].AsObject(m_appConfigs[appConfigsIndex].Jsonize()); + } + payload.WithArray("appConfigs", std::move(appConfigsJsonList)); + + } + + if(m_tagListHasBeenSet) + { + Aws::Utils::Array tagListJsonList(m_tagList.size()); + for(unsigned tagListIndex = 0; tagListIndex < tagListJsonList.GetLength(); ++tagListIndex) + { + tagListJsonList[tagListIndex].AsObject(m_tagList[tagListIndex].Jsonize()); + } + payload.WithArray("tagList", std::move(tagListJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/CreateApplicationResult.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/CreateApplicationResult.cpp new file mode 100644 index 00000000000..39432b68c24 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/CreateApplicationResult.cpp @@ -0,0 +1,99 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateApplicationResult::CreateApplicationResult() +{ +} + +CreateApplicationResult::CreateApplicationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateApplicationResult& CreateApplicationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("dataSources")) + { + Aws::Utils::Array dataSourcesJsonList = jsonValue.GetArray("dataSources"); + for(unsigned dataSourcesIndex = 0; dataSourcesIndex < dataSourcesJsonList.GetLength(); ++dataSourcesIndex) + { + m_dataSources.push_back(dataSourcesJsonList[dataSourcesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("iamIdentityCenterOptions")) + { + m_iamIdentityCenterOptions = jsonValue.GetObject("iamIdentityCenterOptions"); + + } + + if(jsonValue.ValueExists("appConfigs")) + { + Aws::Utils::Array appConfigsJsonList = jsonValue.GetArray("appConfigs"); + for(unsigned appConfigsIndex = 0; appConfigsIndex < appConfigsJsonList.GetLength(); ++appConfigsIndex) + { + m_appConfigs.push_back(appConfigsJsonList[appConfigsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("tagList")) + { + Aws::Utils::Array tagListJsonList = jsonValue.GetArray("tagList"); + for(unsigned tagListIndex = 0; tagListIndex < tagListJsonList.GetLength(); ++tagListIndex) + { + m_tagList.push_back(tagListJsonList[tagListIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/CreateDomainRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/CreateDomainRequest.cpp index f584f364a06..5dfe14ce86e 100644 --- a/generated/src/aws-cpp-sdk-opensearch/source/model/CreateDomainRequest.cpp +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/CreateDomainRequest.cpp @@ -29,6 +29,7 @@ CreateDomainRequest::CreateDomainRequest() : m_logPublishingOptionsHasBeenSet(false), m_domainEndpointOptionsHasBeenSet(false), m_advancedSecurityOptionsHasBeenSet(false), + m_identityCenterOptionsHasBeenSet(false), m_tagListHasBeenSet(false), m_autoTuneOptionsHasBeenSet(false), m_offPeakWindowOptionsHasBeenSet(false), @@ -140,6 +141,12 @@ Aws::String CreateDomainRequest::SerializePayload() const } + if(m_identityCenterOptionsHasBeenSet) + { + payload.WithObject("IdentityCenterOptions", m_identityCenterOptions.Jsonize()); + + } + if(m_tagListHasBeenSet) { Aws::Utils::Array tagListJsonList(m_tagList.size()); diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/DataSource.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/DataSource.cpp new file mode 100644 index 00000000000..ee678e514a5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/DataSource.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +DataSource::DataSource() : + m_dataSourceArnHasBeenSet(false), + m_dataSourceDescriptionHasBeenSet(false) +{ +} + +DataSource::DataSource(JsonView jsonValue) + : DataSource() +{ + *this = jsonValue; +} + +DataSource& DataSource::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("dataSourceArn")) + { + m_dataSourceArn = jsonValue.GetString("dataSourceArn"); + + m_dataSourceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("dataSourceDescription")) + { + m_dataSourceDescription = jsonValue.GetString("dataSourceDescription"); + + m_dataSourceDescriptionHasBeenSet = true; + } + + return *this; +} + +JsonValue DataSource::Jsonize() const +{ + JsonValue payload; + + if(m_dataSourceArnHasBeenSet) + { + payload.WithString("dataSourceArn", m_dataSourceArn); + + } + + if(m_dataSourceDescriptionHasBeenSet) + { + payload.WithString("dataSourceDescription", m_dataSourceDescription); + + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/DeleteApplicationRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/DeleteApplicationRequest.cpp new file mode 100644 index 00000000000..06026413994 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/DeleteApplicationRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteApplicationRequest::DeleteApplicationRequest() : + m_idHasBeenSet(false) +{ +} + +Aws::String DeleteApplicationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/DeleteApplicationResult.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/DeleteApplicationResult.cpp new file mode 100644 index 00000000000..fdcddda08c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/DeleteApplicationResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteApplicationResult::DeleteApplicationResult() +{ +} + +DeleteApplicationResult::DeleteApplicationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteApplicationResult& DeleteApplicationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/DomainConfig.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/DomainConfig.cpp index 18b96c9623f..4e022a08851 100644 --- a/generated/src/aws-cpp-sdk-opensearch/source/model/DomainConfig.cpp +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/DomainConfig.cpp @@ -33,6 +33,7 @@ DomainConfig::DomainConfig() : m_logPublishingOptionsHasBeenSet(false), m_domainEndpointOptionsHasBeenSet(false), m_advancedSecurityOptionsHasBeenSet(false), + m_identityCenterOptionsHasBeenSet(false), m_autoTuneOptionsHasBeenSet(false), m_changeProgressDetailsHasBeenSet(false), m_offPeakWindowOptionsHasBeenSet(false), @@ -148,6 +149,13 @@ DomainConfig& DomainConfig::operator =(JsonView jsonValue) m_advancedSecurityOptionsHasBeenSet = true; } + if(jsonValue.ValueExists("IdentityCenterOptions")) + { + m_identityCenterOptions = jsonValue.GetObject("IdentityCenterOptions"); + + m_identityCenterOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("AutoTuneOptions")) { m_autoTuneOptions = jsonValue.GetObject("AutoTuneOptions"); @@ -284,6 +292,12 @@ JsonValue DomainConfig::Jsonize() const } + if(m_identityCenterOptionsHasBeenSet) + { + payload.WithObject("IdentityCenterOptions", m_identityCenterOptions.Jsonize()); + + } + if(m_autoTuneOptionsHasBeenSet) { payload.WithObject("AutoTuneOptions", m_autoTuneOptions.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/DomainStatus.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/DomainStatus.cpp index 0fba62b0087..50a1f34d519 100644 --- a/generated/src/aws-cpp-sdk-opensearch/source/model/DomainStatus.cpp +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/DomainStatus.cpp @@ -50,6 +50,7 @@ DomainStatus::DomainStatus() : m_serviceSoftwareOptionsHasBeenSet(false), m_domainEndpointOptionsHasBeenSet(false), m_advancedSecurityOptionsHasBeenSet(false), + m_identityCenterOptionsHasBeenSet(false), m_autoTuneOptionsHasBeenSet(false), m_changeProgressDetailsHasBeenSet(false), m_offPeakWindowOptionsHasBeenSet(false), @@ -260,6 +261,13 @@ DomainStatus& DomainStatus::operator =(JsonView jsonValue) m_advancedSecurityOptionsHasBeenSet = true; } + if(jsonValue.ValueExists("IdentityCenterOptions")) + { + m_identityCenterOptions = jsonValue.GetObject("IdentityCenterOptions"); + + m_identityCenterOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("AutoTuneOptions")) { m_autoTuneOptions = jsonValue.GetObject("AutoTuneOptions"); @@ -489,6 +497,12 @@ JsonValue DomainStatus::Jsonize() const } + if(m_identityCenterOptionsHasBeenSet) + { + payload.WithObject("IdentityCenterOptions", m_identityCenterOptions.Jsonize()); + + } + if(m_autoTuneOptionsHasBeenSet) { payload.WithObject("AutoTuneOptions", m_autoTuneOptions.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/GetApplicationRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/GetApplicationRequest.cpp new file mode 100644 index 00000000000..641736c6dd9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/GetApplicationRequest.cpp @@ -0,0 +1,27 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetApplicationRequest::GetApplicationRequest() : + m_idHasBeenSet(false) +{ +} + +Aws::String GetApplicationRequest::SerializePayload() const +{ + return {}; +} + + + + diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/GetApplicationResult.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/GetApplicationResult.cpp new file mode 100644 index 00000000000..8e6189ab38e --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/GetApplicationResult.cpp @@ -0,0 +1,110 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetApplicationResult::GetApplicationResult() : + m_status(ApplicationStatus::NOT_SET) +{ +} + +GetApplicationResult::GetApplicationResult(const Aws::AmazonWebServiceResult& result) + : GetApplicationResult() +{ + *this = result; +} + +GetApplicationResult& GetApplicationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("endpoint")) + { + m_endpoint = jsonValue.GetString("endpoint"); + + } + + if(jsonValue.ValueExists("status")) + { + m_status = ApplicationStatusMapper::GetApplicationStatusForName(jsonValue.GetString("status")); + + } + + if(jsonValue.ValueExists("iamIdentityCenterOptions")) + { + m_iamIdentityCenterOptions = jsonValue.GetObject("iamIdentityCenterOptions"); + + } + + if(jsonValue.ValueExists("dataSources")) + { + Aws::Utils::Array dataSourcesJsonList = jsonValue.GetArray("dataSources"); + for(unsigned dataSourcesIndex = 0; dataSourcesIndex < dataSourcesJsonList.GetLength(); ++dataSourcesIndex) + { + m_dataSources.push_back(dataSourcesJsonList[dataSourcesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("appConfigs")) + { + Aws::Utils::Array appConfigsJsonList = jsonValue.GetArray("appConfigs"); + for(unsigned appConfigsIndex = 0; appConfigsIndex < appConfigsJsonList.GetLength(); ++appConfigsIndex) + { + m_appConfigs.push_back(appConfigsJsonList[appConfigsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + } + + if(jsonValue.ValueExists("lastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("lastUpdatedAt"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/IamIdentityCenterOptions.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/IamIdentityCenterOptions.cpp new file mode 100644 index 00000000000..f69fcbc3402 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/IamIdentityCenterOptions.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +IamIdentityCenterOptions::IamIdentityCenterOptions() : + m_enabled(false), + m_enabledHasBeenSet(false), + m_iamIdentityCenterInstanceArnHasBeenSet(false), + m_iamRoleForIdentityCenterApplicationArnHasBeenSet(false), + m_iamIdentityCenterApplicationArnHasBeenSet(false) +{ +} + +IamIdentityCenterOptions::IamIdentityCenterOptions(JsonView jsonValue) + : IamIdentityCenterOptions() +{ + *this = jsonValue; +} + +IamIdentityCenterOptions& IamIdentityCenterOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabled")) + { + m_enabled = jsonValue.GetBool("enabled"); + + m_enabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("iamIdentityCenterInstanceArn")) + { + m_iamIdentityCenterInstanceArn = jsonValue.GetString("iamIdentityCenterInstanceArn"); + + m_iamIdentityCenterInstanceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("iamRoleForIdentityCenterApplicationArn")) + { + m_iamRoleForIdentityCenterApplicationArn = jsonValue.GetString("iamRoleForIdentityCenterApplicationArn"); + + m_iamRoleForIdentityCenterApplicationArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("iamIdentityCenterApplicationArn")) + { + m_iamIdentityCenterApplicationArn = jsonValue.GetString("iamIdentityCenterApplicationArn"); + + m_iamIdentityCenterApplicationArnHasBeenSet = true; + } + + return *this; +} + +JsonValue IamIdentityCenterOptions::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + if(m_iamIdentityCenterInstanceArnHasBeenSet) + { + payload.WithString("iamIdentityCenterInstanceArn", m_iamIdentityCenterInstanceArn); + + } + + if(m_iamRoleForIdentityCenterApplicationArnHasBeenSet) + { + payload.WithString("iamRoleForIdentityCenterApplicationArn", m_iamRoleForIdentityCenterApplicationArn); + + } + + if(m_iamIdentityCenterApplicationArnHasBeenSet) + { + payload.WithString("iamIdentityCenterApplicationArn", m_iamIdentityCenterApplicationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/IamIdentityCenterOptionsInput.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/IamIdentityCenterOptionsInput.cpp new file mode 100644 index 00000000000..7f143dae77b --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/IamIdentityCenterOptionsInput.cpp @@ -0,0 +1,88 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +IamIdentityCenterOptionsInput::IamIdentityCenterOptionsInput() : + m_enabled(false), + m_enabledHasBeenSet(false), + m_iamIdentityCenterInstanceArnHasBeenSet(false), + m_iamRoleForIdentityCenterApplicationArnHasBeenSet(false) +{ +} + +IamIdentityCenterOptionsInput::IamIdentityCenterOptionsInput(JsonView jsonValue) + : IamIdentityCenterOptionsInput() +{ + *this = jsonValue; +} + +IamIdentityCenterOptionsInput& IamIdentityCenterOptionsInput::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("enabled")) + { + m_enabled = jsonValue.GetBool("enabled"); + + m_enabledHasBeenSet = true; + } + + if(jsonValue.ValueExists("iamIdentityCenterInstanceArn")) + { + m_iamIdentityCenterInstanceArn = jsonValue.GetString("iamIdentityCenterInstanceArn"); + + m_iamIdentityCenterInstanceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("iamRoleForIdentityCenterApplicationArn")) + { + m_iamRoleForIdentityCenterApplicationArn = jsonValue.GetString("iamRoleForIdentityCenterApplicationArn"); + + m_iamRoleForIdentityCenterApplicationArnHasBeenSet = true; + } + + return *this; +} + +JsonValue IamIdentityCenterOptionsInput::Jsonize() const +{ + JsonValue payload; + + if(m_enabledHasBeenSet) + { + payload.WithBool("enabled", m_enabled); + + } + + if(m_iamIdentityCenterInstanceArnHasBeenSet) + { + payload.WithString("iamIdentityCenterInstanceArn", m_iamIdentityCenterInstanceArn); + + } + + if(m_iamRoleForIdentityCenterApplicationArnHasBeenSet) + { + payload.WithString("iamRoleForIdentityCenterApplicationArn", m_iamRoleForIdentityCenterApplicationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/IdentityCenterOptions.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/IdentityCenterOptions.cpp new file mode 100644 index 00000000000..42e2524dc3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/IdentityCenterOptions.cpp @@ -0,0 +1,130 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +IdentityCenterOptions::IdentityCenterOptions() : + m_enabledAPIAccess(false), + m_enabledAPIAccessHasBeenSet(false), + m_identityCenterInstanceARNHasBeenSet(false), + m_subjectKey(SubjectKeyIdCOption::NOT_SET), + m_subjectKeyHasBeenSet(false), + m_rolesKey(RolesKeyIdCOption::NOT_SET), + m_rolesKeyHasBeenSet(false), + m_identityCenterApplicationARNHasBeenSet(false), + m_identityStoreIdHasBeenSet(false) +{ +} + +IdentityCenterOptions::IdentityCenterOptions(JsonView jsonValue) + : IdentityCenterOptions() +{ + *this = jsonValue; +} + +IdentityCenterOptions& IdentityCenterOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EnabledAPIAccess")) + { + m_enabledAPIAccess = jsonValue.GetBool("EnabledAPIAccess"); + + m_enabledAPIAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("IdentityCenterInstanceARN")) + { + m_identityCenterInstanceARN = jsonValue.GetString("IdentityCenterInstanceARN"); + + m_identityCenterInstanceARNHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubjectKey")) + { + m_subjectKey = SubjectKeyIdCOptionMapper::GetSubjectKeyIdCOptionForName(jsonValue.GetString("SubjectKey")); + + m_subjectKeyHasBeenSet = true; + } + + if(jsonValue.ValueExists("RolesKey")) + { + m_rolesKey = RolesKeyIdCOptionMapper::GetRolesKeyIdCOptionForName(jsonValue.GetString("RolesKey")); + + m_rolesKeyHasBeenSet = true; + } + + if(jsonValue.ValueExists("IdentityCenterApplicationARN")) + { + m_identityCenterApplicationARN = jsonValue.GetString("IdentityCenterApplicationARN"); + + m_identityCenterApplicationARNHasBeenSet = true; + } + + if(jsonValue.ValueExists("IdentityStoreId")) + { + m_identityStoreId = jsonValue.GetString("IdentityStoreId"); + + m_identityStoreIdHasBeenSet = true; + } + + return *this; +} + +JsonValue IdentityCenterOptions::Jsonize() const +{ + JsonValue payload; + + if(m_enabledAPIAccessHasBeenSet) + { + payload.WithBool("EnabledAPIAccess", m_enabledAPIAccess); + + } + + if(m_identityCenterInstanceARNHasBeenSet) + { + payload.WithString("IdentityCenterInstanceARN", m_identityCenterInstanceARN); + + } + + if(m_subjectKeyHasBeenSet) + { + payload.WithString("SubjectKey", SubjectKeyIdCOptionMapper::GetNameForSubjectKeyIdCOption(m_subjectKey)); + } + + if(m_rolesKeyHasBeenSet) + { + payload.WithString("RolesKey", RolesKeyIdCOptionMapper::GetNameForRolesKeyIdCOption(m_rolesKey)); + } + + if(m_identityCenterApplicationARNHasBeenSet) + { + payload.WithString("IdentityCenterApplicationARN", m_identityCenterApplicationARN); + + } + + if(m_identityStoreIdHasBeenSet) + { + payload.WithString("IdentityStoreId", m_identityStoreId); + + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/IdentityCenterOptionsInput.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/IdentityCenterOptionsInput.cpp new file mode 100644 index 00000000000..8354052dbb8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/IdentityCenterOptionsInput.cpp @@ -0,0 +1,102 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +IdentityCenterOptionsInput::IdentityCenterOptionsInput() : + m_enabledAPIAccess(false), + m_enabledAPIAccessHasBeenSet(false), + m_identityCenterInstanceARNHasBeenSet(false), + m_subjectKey(SubjectKeyIdCOption::NOT_SET), + m_subjectKeyHasBeenSet(false), + m_rolesKey(RolesKeyIdCOption::NOT_SET), + m_rolesKeyHasBeenSet(false) +{ +} + +IdentityCenterOptionsInput::IdentityCenterOptionsInput(JsonView jsonValue) + : IdentityCenterOptionsInput() +{ + *this = jsonValue; +} + +IdentityCenterOptionsInput& IdentityCenterOptionsInput::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("EnabledAPIAccess")) + { + m_enabledAPIAccess = jsonValue.GetBool("EnabledAPIAccess"); + + m_enabledAPIAccessHasBeenSet = true; + } + + if(jsonValue.ValueExists("IdentityCenterInstanceARN")) + { + m_identityCenterInstanceARN = jsonValue.GetString("IdentityCenterInstanceARN"); + + m_identityCenterInstanceARNHasBeenSet = true; + } + + if(jsonValue.ValueExists("SubjectKey")) + { + m_subjectKey = SubjectKeyIdCOptionMapper::GetSubjectKeyIdCOptionForName(jsonValue.GetString("SubjectKey")); + + m_subjectKeyHasBeenSet = true; + } + + if(jsonValue.ValueExists("RolesKey")) + { + m_rolesKey = RolesKeyIdCOptionMapper::GetRolesKeyIdCOptionForName(jsonValue.GetString("RolesKey")); + + m_rolesKeyHasBeenSet = true; + } + + return *this; +} + +JsonValue IdentityCenterOptionsInput::Jsonize() const +{ + JsonValue payload; + + if(m_enabledAPIAccessHasBeenSet) + { + payload.WithBool("EnabledAPIAccess", m_enabledAPIAccess); + + } + + if(m_identityCenterInstanceARNHasBeenSet) + { + payload.WithString("IdentityCenterInstanceARN", m_identityCenterInstanceARN); + + } + + if(m_subjectKeyHasBeenSet) + { + payload.WithString("SubjectKey", SubjectKeyIdCOptionMapper::GetNameForSubjectKeyIdCOption(m_subjectKey)); + } + + if(m_rolesKeyHasBeenSet) + { + payload.WithString("RolesKey", RolesKeyIdCOptionMapper::GetNameForRolesKeyIdCOption(m_rolesKey)); + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/IdentityCenterOptionsStatus.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/IdentityCenterOptionsStatus.cpp new file mode 100644 index 00000000000..291a5066eca --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/IdentityCenterOptionsStatus.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchService +{ +namespace Model +{ + +IdentityCenterOptionsStatus::IdentityCenterOptionsStatus() : + m_optionsHasBeenSet(false), + m_statusHasBeenSet(false) +{ +} + +IdentityCenterOptionsStatus::IdentityCenterOptionsStatus(JsonView jsonValue) + : IdentityCenterOptionsStatus() +{ + *this = jsonValue; +} + +IdentityCenterOptionsStatus& IdentityCenterOptionsStatus::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Options")) + { + m_options = jsonValue.GetObject("Options"); + + m_optionsHasBeenSet = true; + } + + if(jsonValue.ValueExists("Status")) + { + m_status = jsonValue.GetObject("Status"); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue IdentityCenterOptionsStatus::Jsonize() const +{ + JsonValue payload; + + if(m_optionsHasBeenSet) + { + payload.WithObject("Options", m_options.Jsonize()); + + } + + if(m_statusHasBeenSet) + { + payload.WithObject("Status", m_status.Jsonize()); + + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/ListApplicationsRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/ListApplicationsRequest.cpp new file mode 100644 index 00000000000..8d852bd7107 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/ListApplicationsRequest.cpp @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws::Http; + +ListApplicationsRequest::ListApplicationsRequest() : + m_nextTokenHasBeenSet(false), + m_statusesHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListApplicationsRequest::SerializePayload() const +{ + return {}; +} + +void ListApplicationsRequest::AddQueryStringParameters(URI& uri) const +{ + Aws::StringStream ss; + if(m_nextTokenHasBeenSet) + { + ss << m_nextToken; + uri.AddQueryStringParameter("nextToken", ss.str()); + ss.str(""); + } + + if(m_statusesHasBeenSet) + { + for(const auto& item : m_statuses) + { + ss << ApplicationStatusMapper::GetNameForApplicationStatus(item); + uri.AddQueryStringParameter("statuses", ss.str()); + ss.str(""); + } + } + + if(m_maxResultsHasBeenSet) + { + ss << m_maxResults; + uri.AddQueryStringParameter("maxResults", ss.str()); + ss.str(""); + } + +} + + + diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/ListApplicationsResult.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/ListApplicationsResult.cpp new file mode 100644 index 00000000000..6d23a34cba6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/ListApplicationsResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListApplicationsResult::ListApplicationsResult() +{ +} + +ListApplicationsResult::ListApplicationsResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListApplicationsResult& ListApplicationsResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ApplicationSummaries")) + { + Aws::Utils::Array applicationSummariesJsonList = jsonValue.GetArray("ApplicationSummaries"); + for(unsigned applicationSummariesIndex = 0; applicationSummariesIndex < applicationSummariesJsonList.GetLength(); ++applicationSummariesIndex) + { + m_applicationSummaries.push_back(applicationSummariesJsonList[applicationSummariesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("nextToken")) + { + m_nextToken = jsonValue.GetString("nextToken"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/RevokeVpcEndpointAccessRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/RevokeVpcEndpointAccessRequest.cpp index 737032c6bc0..e4864eee3d2 100644 --- a/generated/src/aws-cpp-sdk-opensearch/source/model/RevokeVpcEndpointAccessRequest.cpp +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/RevokeVpcEndpointAccessRequest.cpp @@ -14,7 +14,9 @@ using namespace Aws::Utils; RevokeVpcEndpointAccessRequest::RevokeVpcEndpointAccessRequest() : m_domainNameHasBeenSet(false), - m_accountHasBeenSet(false) + m_accountHasBeenSet(false), + m_service(AWSServicePrincipal::NOT_SET), + m_serviceHasBeenSet(false) { } @@ -28,6 +30,11 @@ Aws::String RevokeVpcEndpointAccessRequest::SerializePayload() const } + if(m_serviceHasBeenSet) + { + payload.WithString("Service", AWSServicePrincipalMapper::GetNameForAWSServicePrincipal(m_service)); + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/RolesKeyIdCOption.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/RolesKeyIdCOption.cpp new file mode 100644 index 00000000000..4e0667e7e57 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/RolesKeyIdCOption.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace OpenSearchService + { + namespace Model + { + namespace RolesKeyIdCOptionMapper + { + + static const int GroupName_HASH = HashingUtils::HashString("GroupName"); + static const int GroupId_HASH = HashingUtils::HashString("GroupId"); + + + RolesKeyIdCOption GetRolesKeyIdCOptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GroupName_HASH) + { + return RolesKeyIdCOption::GroupName; + } + else if (hashCode == GroupId_HASH) + { + return RolesKeyIdCOption::GroupId; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return RolesKeyIdCOption::NOT_SET; + } + + Aws::String GetNameForRolesKeyIdCOption(RolesKeyIdCOption enumValue) + { + switch(enumValue) + { + case RolesKeyIdCOption::NOT_SET: + return {}; + case RolesKeyIdCOption::GroupName: + return "GroupName"; + case RolesKeyIdCOption::GroupId: + return "GroupId"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace RolesKeyIdCOptionMapper + } // namespace Model + } // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/SubjectKeyIdCOption.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/SubjectKeyIdCOption.cpp new file mode 100644 index 00000000000..e38c1b6d081 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/SubjectKeyIdCOption.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace OpenSearchService + { + namespace Model + { + namespace SubjectKeyIdCOptionMapper + { + + static const int UserName_HASH = HashingUtils::HashString("UserName"); + static const int UserId_HASH = HashingUtils::HashString("UserId"); + static const int Email_HASH = HashingUtils::HashString("Email"); + + + SubjectKeyIdCOption GetSubjectKeyIdCOptionForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == UserName_HASH) + { + return SubjectKeyIdCOption::UserName; + } + else if (hashCode == UserId_HASH) + { + return SubjectKeyIdCOption::UserId; + } + else if (hashCode == Email_HASH) + { + return SubjectKeyIdCOption::Email; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return SubjectKeyIdCOption::NOT_SET; + } + + Aws::String GetNameForSubjectKeyIdCOption(SubjectKeyIdCOption enumValue) + { + switch(enumValue) + { + case SubjectKeyIdCOption::NOT_SET: + return {}; + case SubjectKeyIdCOption::UserName: + return "UserName"; + case SubjectKeyIdCOption::UserId: + return "UserId"; + case SubjectKeyIdCOption::Email: + return "Email"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace SubjectKeyIdCOptionMapper + } // namespace Model + } // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateApplicationRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateApplicationRequest.cpp new file mode 100644 index 00000000000..9205c4a692e --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateApplicationRequest.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +UpdateApplicationRequest::UpdateApplicationRequest() : + m_idHasBeenSet(false), + m_dataSourcesHasBeenSet(false), + m_appConfigsHasBeenSet(false) +{ +} + +Aws::String UpdateApplicationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_dataSourcesHasBeenSet) + { + Aws::Utils::Array dataSourcesJsonList(m_dataSources.size()); + for(unsigned dataSourcesIndex = 0; dataSourcesIndex < dataSourcesJsonList.GetLength(); ++dataSourcesIndex) + { + dataSourcesJsonList[dataSourcesIndex].AsObject(m_dataSources[dataSourcesIndex].Jsonize()); + } + payload.WithArray("dataSources", std::move(dataSourcesJsonList)); + + } + + if(m_appConfigsHasBeenSet) + { + Aws::Utils::Array appConfigsJsonList(m_appConfigs.size()); + for(unsigned appConfigsIndex = 0; appConfigsIndex < appConfigsJsonList.GetLength(); ++appConfigsIndex) + { + appConfigsJsonList[appConfigsIndex].AsObject(m_appConfigs[appConfigsIndex].Jsonize()); + } + payload.WithArray("appConfigs", std::move(appConfigsJsonList)); + + } + + return payload.View().WriteReadable(); +} + + + + diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateApplicationResult.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateApplicationResult.cpp new file mode 100644 index 00000000000..0fb2438a04c --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateApplicationResult.cpp @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::OpenSearchService::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +UpdateApplicationResult::UpdateApplicationResult() +{ +} + +UpdateApplicationResult::UpdateApplicationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +UpdateApplicationResult& UpdateApplicationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("id")) + { + m_id = jsonValue.GetString("id"); + + } + + if(jsonValue.ValueExists("name")) + { + m_name = jsonValue.GetString("name"); + + } + + if(jsonValue.ValueExists("arn")) + { + m_arn = jsonValue.GetString("arn"); + + } + + if(jsonValue.ValueExists("dataSources")) + { + Aws::Utils::Array dataSourcesJsonList = jsonValue.GetArray("dataSources"); + for(unsigned dataSourcesIndex = 0; dataSourcesIndex < dataSourcesJsonList.GetLength(); ++dataSourcesIndex) + { + m_dataSources.push_back(dataSourcesJsonList[dataSourcesIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("iamIdentityCenterOptions")) + { + m_iamIdentityCenterOptions = jsonValue.GetObject("iamIdentityCenterOptions"); + + } + + if(jsonValue.ValueExists("appConfigs")) + { + Aws::Utils::Array appConfigsJsonList = jsonValue.GetArray("appConfigs"); + for(unsigned appConfigsIndex = 0; appConfigsIndex < appConfigsJsonList.GetLength(); ++appConfigsIndex) + { + m_appConfigs.push_back(appConfigsJsonList[appConfigsIndex].AsObject()); + } + } + + if(jsonValue.ValueExists("createdAt")) + { + m_createdAt = jsonValue.GetDouble("createdAt"); + + } + + if(jsonValue.ValueExists("lastUpdatedAt")) + { + m_lastUpdatedAt = jsonValue.GetDouble("lastUpdatedAt"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDomainConfigRequest.cpp b/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDomainConfigRequest.cpp index 40ad8d13b99..c897704343f 100644 --- a/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDomainConfigRequest.cpp +++ b/generated/src/aws-cpp-sdk-opensearch/source/model/UpdateDomainConfigRequest.cpp @@ -28,6 +28,7 @@ UpdateDomainConfigRequest::UpdateDomainConfigRequest() : m_domainEndpointOptionsHasBeenSet(false), m_nodeToNodeEncryptionOptionsHasBeenSet(false), m_advancedSecurityOptionsHasBeenSet(false), + m_identityCenterOptionsHasBeenSet(false), m_autoTuneOptionsHasBeenSet(false), m_dryRun(false), m_dryRunHasBeenSet(false), @@ -130,6 +131,12 @@ Aws::String UpdateDomainConfigRequest::SerializePayload() const } + if(m_identityCenterOptionsHasBeenSet) + { + payload.WithObject("IdentityCenterOptions", m_identityCenterOptions.Jsonize()); + + } + if(m_autoTuneOptionsHasBeenSet) { payload.WithObject("AutoTuneOptions", m_autoTuneOptions.Jsonize()); diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/CreateIamIdentityCenterConfigOptions.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/CreateIamIdentityCenterConfigOptions.h new file mode 100644 index 00000000000..7a71ce585e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/CreateIamIdentityCenterConfigOptions.h @@ -0,0 +1,98 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchServerless +{ +namespace Model +{ + + /** + *

                  Describes IAM Identity Center options for creating an OpenSearch Serverless + * security configuration in the form of a key-value map.

                  See Also:

                  + * AWS + * API Reference

                  + */ + class CreateIamIdentityCenterConfigOptions + { + public: + AWS_OPENSEARCHSERVERLESS_API CreateIamIdentityCenterConfigOptions(); + AWS_OPENSEARCHSERVERLESS_API CreateIamIdentityCenterConfigOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVERLESS_API CreateIamIdentityCenterConfigOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  The group attribute for this IAM Identity Center integration. Defaults to + * GroupId.

                  + */ + inline const IamIdentityCenterGroupAttribute& GetGroupAttribute() const{ return m_groupAttribute; } + inline bool GroupAttributeHasBeenSet() const { return m_groupAttributeHasBeenSet; } + inline void SetGroupAttribute(const IamIdentityCenterGroupAttribute& value) { m_groupAttributeHasBeenSet = true; m_groupAttribute = value; } + inline void SetGroupAttribute(IamIdentityCenterGroupAttribute&& value) { m_groupAttributeHasBeenSet = true; m_groupAttribute = std::move(value); } + inline CreateIamIdentityCenterConfigOptions& WithGroupAttribute(const IamIdentityCenterGroupAttribute& value) { SetGroupAttribute(value); return *this;} + inline CreateIamIdentityCenterConfigOptions& WithGroupAttribute(IamIdentityCenterGroupAttribute&& value) { SetGroupAttribute(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  The ARN of the IAM Identity Center instance used to integrate with OpenSearch + * Serverless.

                  + */ + inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; } + inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } + inline void SetInstanceArn(const Aws::String& value) { m_instanceArnHasBeenSet = true; m_instanceArn = value; } + inline void SetInstanceArn(Aws::String&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::move(value); } + inline void SetInstanceArn(const char* value) { m_instanceArnHasBeenSet = true; m_instanceArn.assign(value); } + inline CreateIamIdentityCenterConfigOptions& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;} + inline CreateIamIdentityCenterConfigOptions& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;} + inline CreateIamIdentityCenterConfigOptions& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

                  The user attribute for this IAM Identity Center integration. Defaults to + * UserId.

                  + */ + inline const IamIdentityCenterUserAttribute& GetUserAttribute() const{ return m_userAttribute; } + inline bool UserAttributeHasBeenSet() const { return m_userAttributeHasBeenSet; } + inline void SetUserAttribute(const IamIdentityCenterUserAttribute& value) { m_userAttributeHasBeenSet = true; m_userAttribute = value; } + inline void SetUserAttribute(IamIdentityCenterUserAttribute&& value) { m_userAttributeHasBeenSet = true; m_userAttribute = std::move(value); } + inline CreateIamIdentityCenterConfigOptions& WithUserAttribute(const IamIdentityCenterUserAttribute& value) { SetUserAttribute(value); return *this;} + inline CreateIamIdentityCenterConfigOptions& WithUserAttribute(IamIdentityCenterUserAttribute&& value) { SetUserAttribute(std::move(value)); return *this;} + ///@} + private: + + IamIdentityCenterGroupAttribute m_groupAttribute; + bool m_groupAttributeHasBeenSet = false; + + Aws::String m_instanceArn; + bool m_instanceArnHasBeenSet = false; + + IamIdentityCenterUserAttribute m_userAttribute; + bool m_userAttributeHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/CreateSecurityConfigRequest.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/CreateSecurityConfigRequest.h index 60b5520ba6c..6e1db7a5c1d 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/CreateSecurityConfigRequest.h +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/CreateSecurityConfigRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -65,6 +66,19 @@ namespace Model inline CreateSecurityConfigRequest& WithDescription(const char* value) { SetDescription(value); return *this;} ///@} + ///@{ + /** + *

                  Describes IAM Identity Center options in the form of a key-value map. This + * field is required if you specify iamidentitycenter for the type parameter.

                  + */ + inline const CreateIamIdentityCenterConfigOptions& GetIamIdentityCenterOptions() const{ return m_iamIdentityCenterOptions; } + inline bool IamIdentityCenterOptionsHasBeenSet() const { return m_iamIdentityCenterOptionsHasBeenSet; } + inline void SetIamIdentityCenterOptions(const CreateIamIdentityCenterConfigOptions& value) { m_iamIdentityCenterOptionsHasBeenSet = true; m_iamIdentityCenterOptions = value; } + inline void SetIamIdentityCenterOptions(CreateIamIdentityCenterConfigOptions&& value) { m_iamIdentityCenterOptionsHasBeenSet = true; m_iamIdentityCenterOptions = std::move(value); } + inline CreateSecurityConfigRequest& WithIamIdentityCenterOptions(const CreateIamIdentityCenterConfigOptions& value) { SetIamIdentityCenterOptions(value); return *this;} + inline CreateSecurityConfigRequest& WithIamIdentityCenterOptions(CreateIamIdentityCenterConfigOptions&& value) { SetIamIdentityCenterOptions(std::move(value)); return *this;} + ///@} + ///@{ /** *

                  The name of the security configuration.

                  @@ -112,6 +126,9 @@ namespace Model Aws::String m_description; bool m_descriptionHasBeenSet = false; + CreateIamIdentityCenterConfigOptions m_iamIdentityCenterOptions; + bool m_iamIdentityCenterOptionsHasBeenSet = false; + Aws::String m_name; bool m_nameHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/IamIdentityCenterConfigOptions.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/IamIdentityCenterConfigOptions.h new file mode 100644 index 00000000000..9885ec6a9b7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/IamIdentityCenterConfigOptions.h @@ -0,0 +1,151 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchServerless +{ +namespace Model +{ + + /** + *

                  Describes IAM Identity Center options for an OpenSearch Serverless security + * configuration in the form of a key-value map.

                  See Also:

                  AWS + * API Reference

                  + */ + class IamIdentityCenterConfigOptions + { + public: + AWS_OPENSEARCHSERVERLESS_API IamIdentityCenterConfigOptions(); + AWS_OPENSEARCHSERVERLESS_API IamIdentityCenterConfigOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVERLESS_API IamIdentityCenterConfigOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  The ARN of the IAM Identity Center application used to integrate with + * OpenSearch Serverless.

                  + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + inline bool ApplicationArnHasBeenSet() const { return m_applicationArnHasBeenSet; } + inline void SetApplicationArn(const Aws::String& value) { m_applicationArnHasBeenSet = true; m_applicationArn = value; } + inline void SetApplicationArn(Aws::String&& value) { m_applicationArnHasBeenSet = true; m_applicationArn = std::move(value); } + inline void SetApplicationArn(const char* value) { m_applicationArnHasBeenSet = true; m_applicationArn.assign(value); } + inline IamIdentityCenterConfigOptions& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + inline IamIdentityCenterConfigOptions& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + inline IamIdentityCenterConfigOptions& WithApplicationArn(const char* value) { SetApplicationArn(value); return *this;} + ///@} + + ///@{ + /** + *

                  The description of the IAM Identity Center application used to integrate with + * OpenSearch Serverless.

                  + */ + inline const Aws::String& GetApplicationDescription() const{ return m_applicationDescription; } + inline bool ApplicationDescriptionHasBeenSet() const { return m_applicationDescriptionHasBeenSet; } + inline void SetApplicationDescription(const Aws::String& value) { m_applicationDescriptionHasBeenSet = true; m_applicationDescription = value; } + inline void SetApplicationDescription(Aws::String&& value) { m_applicationDescriptionHasBeenSet = true; m_applicationDescription = std::move(value); } + inline void SetApplicationDescription(const char* value) { m_applicationDescriptionHasBeenSet = true; m_applicationDescription.assign(value); } + inline IamIdentityCenterConfigOptions& WithApplicationDescription(const Aws::String& value) { SetApplicationDescription(value); return *this;} + inline IamIdentityCenterConfigOptions& WithApplicationDescription(Aws::String&& value) { SetApplicationDescription(std::move(value)); return *this;} + inline IamIdentityCenterConfigOptions& WithApplicationDescription(const char* value) { SetApplicationDescription(value); return *this;} + ///@} + + ///@{ + /** + *

                  The name of the IAM Identity Center application used to integrate with + * OpenSearch Serverless.

                  + */ + inline const Aws::String& GetApplicationName() const{ return m_applicationName; } + inline bool ApplicationNameHasBeenSet() const { return m_applicationNameHasBeenSet; } + inline void SetApplicationName(const Aws::String& value) { m_applicationNameHasBeenSet = true; m_applicationName = value; } + inline void SetApplicationName(Aws::String&& value) { m_applicationNameHasBeenSet = true; m_applicationName = std::move(value); } + inline void SetApplicationName(const char* value) { m_applicationNameHasBeenSet = true; m_applicationName.assign(value); } + inline IamIdentityCenterConfigOptions& WithApplicationName(const Aws::String& value) { SetApplicationName(value); return *this;} + inline IamIdentityCenterConfigOptions& WithApplicationName(Aws::String&& value) { SetApplicationName(std::move(value)); return *this;} + inline IamIdentityCenterConfigOptions& WithApplicationName(const char* value) { SetApplicationName(value); return *this;} + ///@} + + ///@{ + /** + *

                  The group attribute for this IAM Identity Center integration. Defaults to + * GroupId.

                  + */ + inline const IamIdentityCenterGroupAttribute& GetGroupAttribute() const{ return m_groupAttribute; } + inline bool GroupAttributeHasBeenSet() const { return m_groupAttributeHasBeenSet; } + inline void SetGroupAttribute(const IamIdentityCenterGroupAttribute& value) { m_groupAttributeHasBeenSet = true; m_groupAttribute = value; } + inline void SetGroupAttribute(IamIdentityCenterGroupAttribute&& value) { m_groupAttributeHasBeenSet = true; m_groupAttribute = std::move(value); } + inline IamIdentityCenterConfigOptions& WithGroupAttribute(const IamIdentityCenterGroupAttribute& value) { SetGroupAttribute(value); return *this;} + inline IamIdentityCenterConfigOptions& WithGroupAttribute(IamIdentityCenterGroupAttribute&& value) { SetGroupAttribute(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  The ARN of the IAM Identity Center instance used to integrate with OpenSearch + * Serverless.

                  + */ + inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; } + inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } + inline void SetInstanceArn(const Aws::String& value) { m_instanceArnHasBeenSet = true; m_instanceArn = value; } + inline void SetInstanceArn(Aws::String&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::move(value); } + inline void SetInstanceArn(const char* value) { m_instanceArnHasBeenSet = true; m_instanceArn.assign(value); } + inline IamIdentityCenterConfigOptions& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;} + inline IamIdentityCenterConfigOptions& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;} + inline IamIdentityCenterConfigOptions& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

                  The user attribute for this IAM Identity Center integration. Defaults to + * UserId

                  + */ + inline const IamIdentityCenterUserAttribute& GetUserAttribute() const{ return m_userAttribute; } + inline bool UserAttributeHasBeenSet() const { return m_userAttributeHasBeenSet; } + inline void SetUserAttribute(const IamIdentityCenterUserAttribute& value) { m_userAttributeHasBeenSet = true; m_userAttribute = value; } + inline void SetUserAttribute(IamIdentityCenterUserAttribute&& value) { m_userAttributeHasBeenSet = true; m_userAttribute = std::move(value); } + inline IamIdentityCenterConfigOptions& WithUserAttribute(const IamIdentityCenterUserAttribute& value) { SetUserAttribute(value); return *this;} + inline IamIdentityCenterConfigOptions& WithUserAttribute(IamIdentityCenterUserAttribute&& value) { SetUserAttribute(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_applicationArn; + bool m_applicationArnHasBeenSet = false; + + Aws::String m_applicationDescription; + bool m_applicationDescriptionHasBeenSet = false; + + Aws::String m_applicationName; + bool m_applicationNameHasBeenSet = false; + + IamIdentityCenterGroupAttribute m_groupAttribute; + bool m_groupAttributeHasBeenSet = false; + + Aws::String m_instanceArn; + bool m_instanceArnHasBeenSet = false; + + IamIdentityCenterUserAttribute m_userAttribute; + bool m_userAttributeHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/IamIdentityCenterGroupAttribute.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/IamIdentityCenterGroupAttribute.h new file mode 100644 index 00000000000..dba0b531d46 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/IamIdentityCenterGroupAttribute.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace OpenSearchServerless +{ +namespace Model +{ + enum class IamIdentityCenterGroupAttribute + { + NOT_SET, + GroupId, + GroupName + }; + +namespace IamIdentityCenterGroupAttributeMapper +{ +AWS_OPENSEARCHSERVERLESS_API IamIdentityCenterGroupAttribute GetIamIdentityCenterGroupAttributeForName(const Aws::String& name); + +AWS_OPENSEARCHSERVERLESS_API Aws::String GetNameForIamIdentityCenterGroupAttribute(IamIdentityCenterGroupAttribute value); +} // namespace IamIdentityCenterGroupAttributeMapper +} // namespace Model +} // namespace OpenSearchServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/IamIdentityCenterUserAttribute.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/IamIdentityCenterUserAttribute.h new file mode 100644 index 00000000000..74ab122e183 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/IamIdentityCenterUserAttribute.h @@ -0,0 +1,32 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace OpenSearchServerless +{ +namespace Model +{ + enum class IamIdentityCenterUserAttribute + { + NOT_SET, + UserId, + UserName, + Email + }; + +namespace IamIdentityCenterUserAttributeMapper +{ +AWS_OPENSEARCHSERVERLESS_API IamIdentityCenterUserAttribute GetIamIdentityCenterUserAttributeForName(const Aws::String& name); + +AWS_OPENSEARCHSERVERLESS_API Aws::String GetNameForIamIdentityCenterUserAttribute(IamIdentityCenterUserAttribute value); +} // namespace IamIdentityCenterUserAttributeMapper +} // namespace Model +} // namespace OpenSearchServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/SecurityConfigDetail.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/SecurityConfigDetail.h index e3686ccc3e0..7b23d103f04 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/SecurityConfigDetail.h +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/SecurityConfigDetail.h @@ -6,6 +6,7 @@ #pragma once #include #include +#include #include #include #include @@ -78,6 +79,18 @@ namespace Model inline SecurityConfigDetail& WithDescription(const char* value) { SetDescription(value); return *this;} ///@} + ///@{ + /** + *

                  Describes IAM Identity Center options in the form of a key-value map.

                  + */ + inline const IamIdentityCenterConfigOptions& GetIamIdentityCenterOptions() const{ return m_iamIdentityCenterOptions; } + inline bool IamIdentityCenterOptionsHasBeenSet() const { return m_iamIdentityCenterOptionsHasBeenSet; } + inline void SetIamIdentityCenterOptions(const IamIdentityCenterConfigOptions& value) { m_iamIdentityCenterOptionsHasBeenSet = true; m_iamIdentityCenterOptions = value; } + inline void SetIamIdentityCenterOptions(IamIdentityCenterConfigOptions&& value) { m_iamIdentityCenterOptionsHasBeenSet = true; m_iamIdentityCenterOptions = std::move(value); } + inline SecurityConfigDetail& WithIamIdentityCenterOptions(const IamIdentityCenterConfigOptions& value) { SetIamIdentityCenterOptions(value); return *this;} + inline SecurityConfigDetail& WithIamIdentityCenterOptions(IamIdentityCenterConfigOptions&& value) { SetIamIdentityCenterOptions(std::move(value)); return *this;} + ///@} + ///@{ /** *

                  The unique identifier of the security configuration.

                  @@ -137,6 +150,9 @@ namespace Model Aws::String m_description; bool m_descriptionHasBeenSet = false; + IamIdentityCenterConfigOptions m_iamIdentityCenterOptions; + bool m_iamIdentityCenterOptionsHasBeenSet = false; + Aws::String m_id; bool m_idHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/SecurityConfigType.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/SecurityConfigType.h index 6e00b05af11..63c5caea211 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/SecurityConfigType.h +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/SecurityConfigType.h @@ -16,7 +16,8 @@ namespace Model enum class SecurityConfigType { NOT_SET, - saml + saml, + iamidentitycenter }; namespace SecurityConfigTypeMapper diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/UpdateIamIdentityCenterConfigOptions.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/UpdateIamIdentityCenterConfigOptions.h new file mode 100644 index 00000000000..521b3a7fa56 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/UpdateIamIdentityCenterConfigOptions.h @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace OpenSearchServerless +{ +namespace Model +{ + + /** + *

                  Describes IAM Identity Center options for updating an OpenSearch Serverless + * security configuration in the form of a key-value map.

                  See Also:

                  + * AWS + * API Reference

                  + */ + class UpdateIamIdentityCenterConfigOptions + { + public: + AWS_OPENSEARCHSERVERLESS_API UpdateIamIdentityCenterConfigOptions(); + AWS_OPENSEARCHSERVERLESS_API UpdateIamIdentityCenterConfigOptions(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVERLESS_API UpdateIamIdentityCenterConfigOptions& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_OPENSEARCHSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  The group attribute for this IAM Identity Center integration. Defaults to + * GroupId.

                  + */ + inline const IamIdentityCenterGroupAttribute& GetGroupAttribute() const{ return m_groupAttribute; } + inline bool GroupAttributeHasBeenSet() const { return m_groupAttributeHasBeenSet; } + inline void SetGroupAttribute(const IamIdentityCenterGroupAttribute& value) { m_groupAttributeHasBeenSet = true; m_groupAttribute = value; } + inline void SetGroupAttribute(IamIdentityCenterGroupAttribute&& value) { m_groupAttributeHasBeenSet = true; m_groupAttribute = std::move(value); } + inline UpdateIamIdentityCenterConfigOptions& WithGroupAttribute(const IamIdentityCenterGroupAttribute& value) { SetGroupAttribute(value); return *this;} + inline UpdateIamIdentityCenterConfigOptions& WithGroupAttribute(IamIdentityCenterGroupAttribute&& value) { SetGroupAttribute(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

                  The user attribute for this IAM Identity Center integration. Defaults to + * UserId.

                  + */ + inline const IamIdentityCenterUserAttribute& GetUserAttribute() const{ return m_userAttribute; } + inline bool UserAttributeHasBeenSet() const { return m_userAttributeHasBeenSet; } + inline void SetUserAttribute(const IamIdentityCenterUserAttribute& value) { m_userAttributeHasBeenSet = true; m_userAttribute = value; } + inline void SetUserAttribute(IamIdentityCenterUserAttribute&& value) { m_userAttributeHasBeenSet = true; m_userAttribute = std::move(value); } + inline UpdateIamIdentityCenterConfigOptions& WithUserAttribute(const IamIdentityCenterUserAttribute& value) { SetUserAttribute(value); return *this;} + inline UpdateIamIdentityCenterConfigOptions& WithUserAttribute(IamIdentityCenterUserAttribute&& value) { SetUserAttribute(std::move(value)); return *this;} + ///@} + private: + + IamIdentityCenterGroupAttribute m_groupAttribute; + bool m_groupAttributeHasBeenSet = false; + + IamIdentityCenterUserAttribute m_userAttribute; + bool m_userAttributeHasBeenSet = false; + }; + +} // namespace Model +} // namespace OpenSearchServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/UpdateSecurityConfigRequest.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/UpdateSecurityConfigRequest.h index 643eeb95011..48e96a51d85 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/UpdateSecurityConfigRequest.h +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/model/UpdateSecurityConfigRequest.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -80,6 +81,18 @@ namespace Model inline UpdateSecurityConfigRequest& WithDescription(const char* value) { SetDescription(value); return *this;} ///@} + ///@{ + /** + *

                  Describes IAM Identity Center options in the form of a key-value map.

                  + */ + inline const UpdateIamIdentityCenterConfigOptions& GetIamIdentityCenterOptionsUpdates() const{ return m_iamIdentityCenterOptionsUpdates; } + inline bool IamIdentityCenterOptionsUpdatesHasBeenSet() const { return m_iamIdentityCenterOptionsUpdatesHasBeenSet; } + inline void SetIamIdentityCenterOptionsUpdates(const UpdateIamIdentityCenterConfigOptions& value) { m_iamIdentityCenterOptionsUpdatesHasBeenSet = true; m_iamIdentityCenterOptionsUpdates = value; } + inline void SetIamIdentityCenterOptionsUpdates(UpdateIamIdentityCenterConfigOptions&& value) { m_iamIdentityCenterOptionsUpdatesHasBeenSet = true; m_iamIdentityCenterOptionsUpdates = std::move(value); } + inline UpdateSecurityConfigRequest& WithIamIdentityCenterOptionsUpdates(const UpdateIamIdentityCenterConfigOptions& value) { SetIamIdentityCenterOptionsUpdates(value); return *this;} + inline UpdateSecurityConfigRequest& WithIamIdentityCenterOptionsUpdates(UpdateIamIdentityCenterConfigOptions&& value) { SetIamIdentityCenterOptionsUpdates(std::move(value)); return *this;} + ///@} + ///@{ /** *

                  The security configuration identifier. For SAML the ID will be @@ -118,6 +131,9 @@ namespace Model Aws::String m_description; bool m_descriptionHasBeenSet = false; + UpdateIamIdentityCenterConfigOptions m_iamIdentityCenterOptionsUpdates; + bool m_iamIdentityCenterOptionsUpdatesHasBeenSet = false; + Aws::String m_id; bool m_idHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/CreateIamIdentityCenterConfigOptions.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/CreateIamIdentityCenterConfigOptions.cpp new file mode 100644 index 00000000000..f97def0904d --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/CreateIamIdentityCenterConfigOptions.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchServerless +{ +namespace Model +{ + +CreateIamIdentityCenterConfigOptions::CreateIamIdentityCenterConfigOptions() : + m_groupAttribute(IamIdentityCenterGroupAttribute::NOT_SET), + m_groupAttributeHasBeenSet(false), + m_instanceArnHasBeenSet(false), + m_userAttribute(IamIdentityCenterUserAttribute::NOT_SET), + m_userAttributeHasBeenSet(false) +{ +} + +CreateIamIdentityCenterConfigOptions::CreateIamIdentityCenterConfigOptions(JsonView jsonValue) + : CreateIamIdentityCenterConfigOptions() +{ + *this = jsonValue; +} + +CreateIamIdentityCenterConfigOptions& CreateIamIdentityCenterConfigOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("groupAttribute")) + { + m_groupAttribute = IamIdentityCenterGroupAttributeMapper::GetIamIdentityCenterGroupAttributeForName(jsonValue.GetString("groupAttribute")); + + m_groupAttributeHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceArn")) + { + m_instanceArn = jsonValue.GetString("instanceArn"); + + m_instanceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("userAttribute")) + { + m_userAttribute = IamIdentityCenterUserAttributeMapper::GetIamIdentityCenterUserAttributeForName(jsonValue.GetString("userAttribute")); + + m_userAttributeHasBeenSet = true; + } + + return *this; +} + +JsonValue CreateIamIdentityCenterConfigOptions::Jsonize() const +{ + JsonValue payload; + + if(m_groupAttributeHasBeenSet) + { + payload.WithString("groupAttribute", IamIdentityCenterGroupAttributeMapper::GetNameForIamIdentityCenterGroupAttribute(m_groupAttribute)); + } + + if(m_instanceArnHasBeenSet) + { + payload.WithString("instanceArn", m_instanceArn); + + } + + if(m_userAttributeHasBeenSet) + { + payload.WithString("userAttribute", IamIdentityCenterUserAttributeMapper::GetNameForIamIdentityCenterUserAttribute(m_userAttribute)); + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/CreateSecurityConfigRequest.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/CreateSecurityConfigRequest.cpp index 878f3c16045..da26337a049 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/CreateSecurityConfigRequest.cpp +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/CreateSecurityConfigRequest.cpp @@ -16,6 +16,7 @@ CreateSecurityConfigRequest::CreateSecurityConfigRequest() : m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), m_clientTokenHasBeenSet(true), m_descriptionHasBeenSet(false), + m_iamIdentityCenterOptionsHasBeenSet(false), m_nameHasBeenSet(false), m_samlOptionsHasBeenSet(false), m_type(SecurityConfigType::NOT_SET), @@ -39,6 +40,12 @@ Aws::String CreateSecurityConfigRequest::SerializePayload() const } + if(m_iamIdentityCenterOptionsHasBeenSet) + { + payload.WithObject("iamIdentityCenterOptions", m_iamIdentityCenterOptions.Jsonize()); + + } + if(m_nameHasBeenSet) { payload.WithString("name", m_name); diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/IamIdentityCenterConfigOptions.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/IamIdentityCenterConfigOptions.cpp new file mode 100644 index 00000000000..82e6f1b6f73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/IamIdentityCenterConfigOptions.cpp @@ -0,0 +1,129 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchServerless +{ +namespace Model +{ + +IamIdentityCenterConfigOptions::IamIdentityCenterConfigOptions() : + m_applicationArnHasBeenSet(false), + m_applicationDescriptionHasBeenSet(false), + m_applicationNameHasBeenSet(false), + m_groupAttribute(IamIdentityCenterGroupAttribute::NOT_SET), + m_groupAttributeHasBeenSet(false), + m_instanceArnHasBeenSet(false), + m_userAttribute(IamIdentityCenterUserAttribute::NOT_SET), + m_userAttributeHasBeenSet(false) +{ +} + +IamIdentityCenterConfigOptions::IamIdentityCenterConfigOptions(JsonView jsonValue) + : IamIdentityCenterConfigOptions() +{ + *this = jsonValue; +} + +IamIdentityCenterConfigOptions& IamIdentityCenterConfigOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("applicationArn")) + { + m_applicationArn = jsonValue.GetString("applicationArn"); + + m_applicationArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("applicationDescription")) + { + m_applicationDescription = jsonValue.GetString("applicationDescription"); + + m_applicationDescriptionHasBeenSet = true; + } + + if(jsonValue.ValueExists("applicationName")) + { + m_applicationName = jsonValue.GetString("applicationName"); + + m_applicationNameHasBeenSet = true; + } + + if(jsonValue.ValueExists("groupAttribute")) + { + m_groupAttribute = IamIdentityCenterGroupAttributeMapper::GetIamIdentityCenterGroupAttributeForName(jsonValue.GetString("groupAttribute")); + + m_groupAttributeHasBeenSet = true; + } + + if(jsonValue.ValueExists("instanceArn")) + { + m_instanceArn = jsonValue.GetString("instanceArn"); + + m_instanceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("userAttribute")) + { + m_userAttribute = IamIdentityCenterUserAttributeMapper::GetIamIdentityCenterUserAttributeForName(jsonValue.GetString("userAttribute")); + + m_userAttributeHasBeenSet = true; + } + + return *this; +} + +JsonValue IamIdentityCenterConfigOptions::Jsonize() const +{ + JsonValue payload; + + if(m_applicationArnHasBeenSet) + { + payload.WithString("applicationArn", m_applicationArn); + + } + + if(m_applicationDescriptionHasBeenSet) + { + payload.WithString("applicationDescription", m_applicationDescription); + + } + + if(m_applicationNameHasBeenSet) + { + payload.WithString("applicationName", m_applicationName); + + } + + if(m_groupAttributeHasBeenSet) + { + payload.WithString("groupAttribute", IamIdentityCenterGroupAttributeMapper::GetNameForIamIdentityCenterGroupAttribute(m_groupAttribute)); + } + + if(m_instanceArnHasBeenSet) + { + payload.WithString("instanceArn", m_instanceArn); + + } + + if(m_userAttributeHasBeenSet) + { + payload.WithString("userAttribute", IamIdentityCenterUserAttributeMapper::GetNameForIamIdentityCenterUserAttribute(m_userAttribute)); + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/IamIdentityCenterGroupAttribute.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/IamIdentityCenterGroupAttribute.cpp new file mode 100644 index 00000000000..fe8c6585e9d --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/IamIdentityCenterGroupAttribute.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace OpenSearchServerless + { + namespace Model + { + namespace IamIdentityCenterGroupAttributeMapper + { + + static const int GroupId_HASH = HashingUtils::HashString("GroupId"); + static const int GroupName_HASH = HashingUtils::HashString("GroupName"); + + + IamIdentityCenterGroupAttribute GetIamIdentityCenterGroupAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == GroupId_HASH) + { + return IamIdentityCenterGroupAttribute::GroupId; + } + else if (hashCode == GroupName_HASH) + { + return IamIdentityCenterGroupAttribute::GroupName; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IamIdentityCenterGroupAttribute::NOT_SET; + } + + Aws::String GetNameForIamIdentityCenterGroupAttribute(IamIdentityCenterGroupAttribute enumValue) + { + switch(enumValue) + { + case IamIdentityCenterGroupAttribute::NOT_SET: + return {}; + case IamIdentityCenterGroupAttribute::GroupId: + return "GroupId"; + case IamIdentityCenterGroupAttribute::GroupName: + return "GroupName"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IamIdentityCenterGroupAttributeMapper + } // namespace Model + } // namespace OpenSearchServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/IamIdentityCenterUserAttribute.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/IamIdentityCenterUserAttribute.cpp new file mode 100644 index 00000000000..397715eb130 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/IamIdentityCenterUserAttribute.cpp @@ -0,0 +1,79 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace OpenSearchServerless + { + namespace Model + { + namespace IamIdentityCenterUserAttributeMapper + { + + static const int UserId_HASH = HashingUtils::HashString("UserId"); + static const int UserName_HASH = HashingUtils::HashString("UserName"); + static const int Email_HASH = HashingUtils::HashString("Email"); + + + IamIdentityCenterUserAttribute GetIamIdentityCenterUserAttributeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == UserId_HASH) + { + return IamIdentityCenterUserAttribute::UserId; + } + else if (hashCode == UserName_HASH) + { + return IamIdentityCenterUserAttribute::UserName; + } + else if (hashCode == Email_HASH) + { + return IamIdentityCenterUserAttribute::Email; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IamIdentityCenterUserAttribute::NOT_SET; + } + + Aws::String GetNameForIamIdentityCenterUserAttribute(IamIdentityCenterUserAttribute enumValue) + { + switch(enumValue) + { + case IamIdentityCenterUserAttribute::NOT_SET: + return {}; + case IamIdentityCenterUserAttribute::UserId: + return "UserId"; + case IamIdentityCenterUserAttribute::UserName: + return "UserName"; + case IamIdentityCenterUserAttribute::Email: + return "Email"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IamIdentityCenterUserAttributeMapper + } // namespace Model + } // namespace OpenSearchServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/SecurityConfigDetail.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/SecurityConfigDetail.cpp index 59ecb51095f..2ff7ea4b602 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/SecurityConfigDetail.cpp +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/SecurityConfigDetail.cpp @@ -23,6 +23,7 @@ SecurityConfigDetail::SecurityConfigDetail() : m_createdDate(0), m_createdDateHasBeenSet(false), m_descriptionHasBeenSet(false), + m_iamIdentityCenterOptionsHasBeenSet(false), m_idHasBeenSet(false), m_lastModifiedDate(0), m_lastModifiedDateHasBeenSet(false), @@ -61,6 +62,13 @@ SecurityConfigDetail& SecurityConfigDetail::operator =(JsonView jsonValue) m_descriptionHasBeenSet = true; } + if(jsonValue.ValueExists("iamIdentityCenterOptions")) + { + m_iamIdentityCenterOptions = jsonValue.GetObject("iamIdentityCenterOptions"); + + m_iamIdentityCenterOptionsHasBeenSet = true; + } + if(jsonValue.ValueExists("id")) { m_id = jsonValue.GetString("id"); @@ -114,6 +122,12 @@ JsonValue SecurityConfigDetail::Jsonize() const } + if(m_iamIdentityCenterOptionsHasBeenSet) + { + payload.WithObject("iamIdentityCenterOptions", m_iamIdentityCenterOptions.Jsonize()); + + } + if(m_idHasBeenSet) { payload.WithString("id", m_id); diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/SecurityConfigType.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/SecurityConfigType.cpp index 9ba5bb79b5c..80f2ff79b64 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/SecurityConfigType.cpp +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/SecurityConfigType.cpp @@ -21,6 +21,7 @@ namespace Aws { static const int saml_HASH = HashingUtils::HashString("saml"); + static const int iamidentitycenter_HASH = HashingUtils::HashString("iamidentitycenter"); SecurityConfigType GetSecurityConfigTypeForName(const Aws::String& name) @@ -30,6 +31,10 @@ namespace Aws { return SecurityConfigType::saml; } + else if (hashCode == iamidentitycenter_HASH) + { + return SecurityConfigType::iamidentitycenter; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -48,6 +53,8 @@ namespace Aws return {}; case SecurityConfigType::saml: return "saml"; + case SecurityConfigType::iamidentitycenter: + return "iamidentitycenter"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/UpdateIamIdentityCenterConfigOptions.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/UpdateIamIdentityCenterConfigOptions.cpp new file mode 100644 index 00000000000..8f6e63ec703 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/UpdateIamIdentityCenterConfigOptions.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace OpenSearchServerless +{ +namespace Model +{ + +UpdateIamIdentityCenterConfigOptions::UpdateIamIdentityCenterConfigOptions() : + m_groupAttribute(IamIdentityCenterGroupAttribute::NOT_SET), + m_groupAttributeHasBeenSet(false), + m_userAttribute(IamIdentityCenterUserAttribute::NOT_SET), + m_userAttributeHasBeenSet(false) +{ +} + +UpdateIamIdentityCenterConfigOptions::UpdateIamIdentityCenterConfigOptions(JsonView jsonValue) + : UpdateIamIdentityCenterConfigOptions() +{ + *this = jsonValue; +} + +UpdateIamIdentityCenterConfigOptions& UpdateIamIdentityCenterConfigOptions::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("groupAttribute")) + { + m_groupAttribute = IamIdentityCenterGroupAttributeMapper::GetIamIdentityCenterGroupAttributeForName(jsonValue.GetString("groupAttribute")); + + m_groupAttributeHasBeenSet = true; + } + + if(jsonValue.ValueExists("userAttribute")) + { + m_userAttribute = IamIdentityCenterUserAttributeMapper::GetIamIdentityCenterUserAttributeForName(jsonValue.GetString("userAttribute")); + + m_userAttributeHasBeenSet = true; + } + + return *this; +} + +JsonValue UpdateIamIdentityCenterConfigOptions::Jsonize() const +{ + JsonValue payload; + + if(m_groupAttributeHasBeenSet) + { + payload.WithString("groupAttribute", IamIdentityCenterGroupAttributeMapper::GetNameForIamIdentityCenterGroupAttribute(m_groupAttribute)); + } + + if(m_userAttributeHasBeenSet) + { + payload.WithString("userAttribute", IamIdentityCenterUserAttributeMapper::GetNameForIamIdentityCenterUserAttribute(m_userAttribute)); + } + + return payload; +} + +} // namespace Model +} // namespace OpenSearchServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/UpdateSecurityConfigRequest.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/UpdateSecurityConfigRequest.cpp index a18fcceefc0..1f6214bdb89 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/source/model/UpdateSecurityConfigRequest.cpp +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/model/UpdateSecurityConfigRequest.cpp @@ -17,6 +17,7 @@ UpdateSecurityConfigRequest::UpdateSecurityConfigRequest() : m_clientTokenHasBeenSet(true), m_configVersionHasBeenSet(false), m_descriptionHasBeenSet(false), + m_iamIdentityCenterOptionsUpdatesHasBeenSet(false), m_idHasBeenSet(false), m_samlOptionsHasBeenSet(false) { @@ -44,6 +45,12 @@ Aws::String UpdateSecurityConfigRequest::SerializePayload() const } + if(m_iamIdentityCenterOptionsUpdatesHasBeenSet) + { + payload.WithObject("iamIdentityCenterOptionsUpdates", m_iamIdentityCenterOptionsUpdates.Jsonize()); + + } + if(m_idHasBeenSet) { payload.WithString("id", m_id); diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/CreateWorkgroupRequest.h b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/CreateWorkgroupRequest.h index 32350b5882d..ec03872933d 100644 --- a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/CreateWorkgroupRequest.h +++ b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/CreateWorkgroupRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -133,6 +134,19 @@ namespace Model inline CreateWorkgroupRequest& WithPort(int value) { SetPort(value); return *this;} ///@} + ///@{ + /** + *

                  An object that represents the price performance target settings for the + * workgroup.

                  + */ + inline const PerformanceTarget& GetPricePerformanceTarget() const{ return m_pricePerformanceTarget; } + inline bool PricePerformanceTargetHasBeenSet() const { return m_pricePerformanceTargetHasBeenSet; } + inline void SetPricePerformanceTarget(const PerformanceTarget& value) { m_pricePerformanceTargetHasBeenSet = true; m_pricePerformanceTarget = value; } + inline void SetPricePerformanceTarget(PerformanceTarget&& value) { m_pricePerformanceTargetHasBeenSet = true; m_pricePerformanceTarget = std::move(value); } + inline CreateWorkgroupRequest& WithPricePerformanceTarget(const PerformanceTarget& value) { SetPricePerformanceTarget(value); return *this;} + inline CreateWorkgroupRequest& WithPricePerformanceTarget(PerformanceTarget&& value) { SetPricePerformanceTarget(std::move(value)); return *this;} + ///@} + ///@{ /** *

                  A value that specifies whether the workgroup can be accessed from a public @@ -224,6 +238,9 @@ namespace Model int m_port; bool m_portHasBeenSet = false; + PerformanceTarget m_pricePerformanceTarget; + bool m_pricePerformanceTargetHasBeenSet = false; + bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/PerformanceTarget.h b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/PerformanceTarget.h new file mode 100644 index 00000000000..4e306848477 --- /dev/null +++ b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/PerformanceTarget.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace RedshiftServerless +{ +namespace Model +{ + + /** + *

                  An object that represents the price performance target settings for the + * workgroup.

                  See Also:

                  AWS + * API Reference

                  + */ + class PerformanceTarget + { + public: + AWS_REDSHIFTSERVERLESS_API PerformanceTarget(); + AWS_REDSHIFTSERVERLESS_API PerformanceTarget(Aws::Utils::Json::JsonView jsonValue); + AWS_REDSHIFTSERVERLESS_API PerformanceTarget& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_REDSHIFTSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

                  The target price performance level for the workgroup. Valid values include 1, + * 25, 50, 75, and 100. These correspond to the price performance levels LOW_COST, + * ECONOMICAL, BALANCED, RESOURCEFUL, and HIGH_PERFORMANCE.

                  + */ + inline int GetLevel() const{ return m_level; } + inline bool LevelHasBeenSet() const { return m_levelHasBeenSet; } + inline void SetLevel(int value) { m_levelHasBeenSet = true; m_level = value; } + inline PerformanceTarget& WithLevel(int value) { SetLevel(value); return *this;} + ///@} + + ///@{ + /** + *

                  Whether the price performance target is enabled for the workgroup.

                  + */ + inline const PerformanceTargetStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const PerformanceTargetStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(PerformanceTargetStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline PerformanceTarget& WithStatus(const PerformanceTargetStatus& value) { SetStatus(value); return *this;} + inline PerformanceTarget& WithStatus(PerformanceTargetStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + private: + + int m_level; + bool m_levelHasBeenSet = false; + + PerformanceTargetStatus m_status; + bool m_statusHasBeenSet = false; + }; + +} // namespace Model +} // namespace RedshiftServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/PerformanceTargetStatus.h b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/PerformanceTargetStatus.h new file mode 100644 index 00000000000..c316b5d25a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/PerformanceTargetStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace RedshiftServerless +{ +namespace Model +{ + enum class PerformanceTargetStatus + { + NOT_SET, + ENABLED, + DISABLED + }; + +namespace PerformanceTargetStatusMapper +{ +AWS_REDSHIFTSERVERLESS_API PerformanceTargetStatus GetPerformanceTargetStatusForName(const Aws::String& name); + +AWS_REDSHIFTSERVERLESS_API Aws::String GetNameForPerformanceTargetStatus(PerformanceTargetStatus value); +} // namespace PerformanceTargetStatusMapper +} // namespace Model +} // namespace RedshiftServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/UpdateWorkgroupRequest.h b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/UpdateWorkgroupRequest.h index 05973282ad8..a5b35e64ed1 100644 --- a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/UpdateWorkgroupRequest.h +++ b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/UpdateWorkgroupRequest.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -117,6 +118,19 @@ namespace Model inline UpdateWorkgroupRequest& WithPort(int value) { SetPort(value); return *this;} ///@} + ///@{ + /** + *

                  An object that represents the price performance target settings for the + * workgroup.

                  + */ + inline const PerformanceTarget& GetPricePerformanceTarget() const{ return m_pricePerformanceTarget; } + inline bool PricePerformanceTargetHasBeenSet() const { return m_pricePerformanceTargetHasBeenSet; } + inline void SetPricePerformanceTarget(const PerformanceTarget& value) { m_pricePerformanceTargetHasBeenSet = true; m_pricePerformanceTarget = value; } + inline void SetPricePerformanceTarget(PerformanceTarget&& value) { m_pricePerformanceTargetHasBeenSet = true; m_pricePerformanceTarget = std::move(value); } + inline UpdateWorkgroupRequest& WithPricePerformanceTarget(const PerformanceTarget& value) { SetPricePerformanceTarget(value); return *this;} + inline UpdateWorkgroupRequest& WithPricePerformanceTarget(PerformanceTarget&& value) { SetPricePerformanceTarget(std::move(value)); return *this;} + ///@} + ///@{ /** *

                  A value that specifies whether the workgroup can be accessible from a public @@ -192,6 +206,9 @@ namespace Model int m_port; bool m_portHasBeenSet = false; + PerformanceTarget m_pricePerformanceTarget; + bool m_pricePerformanceTargetHasBeenSet = false; + bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/Workgroup.h b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/Workgroup.h index 66c05db39f8..93eb9294366 100644 --- a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/Workgroup.h +++ b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/model/Workgroup.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -237,6 +238,19 @@ namespace Model inline Workgroup& WithPort(int value) { SetPort(value); return *this;} ///@} + ///@{ + /** + *

                  An object that represents the price performance target settings for the + * workgroup.

                  + */ + inline const PerformanceTarget& GetPricePerformanceTarget() const{ return m_pricePerformanceTarget; } + inline bool PricePerformanceTargetHasBeenSet() const { return m_pricePerformanceTargetHasBeenSet; } + inline void SetPricePerformanceTarget(const PerformanceTarget& value) { m_pricePerformanceTargetHasBeenSet = true; m_pricePerformanceTarget = value; } + inline void SetPricePerformanceTarget(PerformanceTarget&& value) { m_pricePerformanceTargetHasBeenSet = true; m_pricePerformanceTarget = std::move(value); } + inline Workgroup& WithPricePerformanceTarget(const PerformanceTarget& value) { SetPricePerformanceTarget(value); return *this;} + inline Workgroup& WithPricePerformanceTarget(PerformanceTarget&& value) { SetPricePerformanceTarget(std::move(value)); return *this;} + ///@} + ///@{ /** *

                  A value that specifies whether the workgroup can be accessible from a public @@ -392,6 +406,9 @@ namespace Model int m_port; bool m_portHasBeenSet = false; + PerformanceTarget m_pricePerformanceTarget; + bool m_pricePerformanceTargetHasBeenSet = false; + bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/source/model/CreateWorkgroupRequest.cpp b/generated/src/aws-cpp-sdk-redshift-serverless/source/model/CreateWorkgroupRequest.cpp index d759e0e5e55..0fb0ca100f5 100644 --- a/generated/src/aws-cpp-sdk-redshift-serverless/source/model/CreateWorkgroupRequest.cpp +++ b/generated/src/aws-cpp-sdk-redshift-serverless/source/model/CreateWorkgroupRequest.cpp @@ -24,6 +24,7 @@ CreateWorkgroupRequest::CreateWorkgroupRequest() : m_namespaceNameHasBeenSet(false), m_port(0), m_portHasBeenSet(false), + m_pricePerformanceTargetHasBeenSet(false), m_publiclyAccessible(false), m_publiclyAccessibleHasBeenSet(false), m_securityGroupIdsHasBeenSet(false), @@ -84,6 +85,12 @@ Aws::String CreateWorkgroupRequest::SerializePayload() const } + if(m_pricePerformanceTargetHasBeenSet) + { + payload.WithObject("pricePerformanceTarget", m_pricePerformanceTarget.Jsonize()); + + } + if(m_publiclyAccessibleHasBeenSet) { payload.WithBool("publiclyAccessible", m_publiclyAccessible); diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/source/model/PerformanceTarget.cpp b/generated/src/aws-cpp-sdk-redshift-serverless/source/model/PerformanceTarget.cpp new file mode 100644 index 00000000000..2fa762f4015 --- /dev/null +++ b/generated/src/aws-cpp-sdk-redshift-serverless/source/model/PerformanceTarget.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace RedshiftServerless +{ +namespace Model +{ + +PerformanceTarget::PerformanceTarget() : + m_level(0), + m_levelHasBeenSet(false), + m_status(PerformanceTargetStatus::NOT_SET), + m_statusHasBeenSet(false) +{ +} + +PerformanceTarget::PerformanceTarget(JsonView jsonValue) + : PerformanceTarget() +{ + *this = jsonValue; +} + +PerformanceTarget& PerformanceTarget::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("level")) + { + m_level = jsonValue.GetInteger("level"); + + m_levelHasBeenSet = true; + } + + if(jsonValue.ValueExists("status")) + { + m_status = PerformanceTargetStatusMapper::GetPerformanceTargetStatusForName(jsonValue.GetString("status")); + + m_statusHasBeenSet = true; + } + + return *this; +} + +JsonValue PerformanceTarget::Jsonize() const +{ + JsonValue payload; + + if(m_levelHasBeenSet) + { + payload.WithInteger("level", m_level); + + } + + if(m_statusHasBeenSet) + { + payload.WithString("status", PerformanceTargetStatusMapper::GetNameForPerformanceTargetStatus(m_status)); + } + + return payload; +} + +} // namespace Model +} // namespace RedshiftServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/source/model/PerformanceTargetStatus.cpp b/generated/src/aws-cpp-sdk-redshift-serverless/source/model/PerformanceTargetStatus.cpp new file mode 100644 index 00000000000..8d20f69c96f --- /dev/null +++ b/generated/src/aws-cpp-sdk-redshift-serverless/source/model/PerformanceTargetStatus.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace RedshiftServerless + { + namespace Model + { + namespace PerformanceTargetStatusMapper + { + + static const int ENABLED_HASH = HashingUtils::HashString("ENABLED"); + static const int DISABLED_HASH = HashingUtils::HashString("DISABLED"); + + + PerformanceTargetStatus GetPerformanceTargetStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ENABLED_HASH) + { + return PerformanceTargetStatus::ENABLED; + } + else if (hashCode == DISABLED_HASH) + { + return PerformanceTargetStatus::DISABLED; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PerformanceTargetStatus::NOT_SET; + } + + Aws::String GetNameForPerformanceTargetStatus(PerformanceTargetStatus enumValue) + { + switch(enumValue) + { + case PerformanceTargetStatus::NOT_SET: + return {}; + case PerformanceTargetStatus::ENABLED: + return "ENABLED"; + case PerformanceTargetStatus::DISABLED: + return "DISABLED"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PerformanceTargetStatusMapper + } // namespace Model + } // namespace RedshiftServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/source/model/UpdateWorkgroupRequest.cpp b/generated/src/aws-cpp-sdk-redshift-serverless/source/model/UpdateWorkgroupRequest.cpp index 38bb9a41a48..3faf707727f 100644 --- a/generated/src/aws-cpp-sdk-redshift-serverless/source/model/UpdateWorkgroupRequest.cpp +++ b/generated/src/aws-cpp-sdk-redshift-serverless/source/model/UpdateWorkgroupRequest.cpp @@ -23,6 +23,7 @@ UpdateWorkgroupRequest::UpdateWorkgroupRequest() : m_maxCapacityHasBeenSet(false), m_port(0), m_portHasBeenSet(false), + m_pricePerformanceTargetHasBeenSet(false), m_publiclyAccessible(false), m_publiclyAccessibleHasBeenSet(false), m_securityGroupIdsHasBeenSet(false), @@ -76,6 +77,12 @@ Aws::String UpdateWorkgroupRequest::SerializePayload() const } + if(m_pricePerformanceTargetHasBeenSet) + { + payload.WithObject("pricePerformanceTarget", m_pricePerformanceTarget.Jsonize()); + + } + if(m_publiclyAccessibleHasBeenSet) { payload.WithBool("publiclyAccessible", m_publiclyAccessible); diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/source/model/Workgroup.cpp b/generated/src/aws-cpp-sdk-redshift-serverless/source/model/Workgroup.cpp index 4739502813d..bb9ac4731d8 100644 --- a/generated/src/aws-cpp-sdk-redshift-serverless/source/model/Workgroup.cpp +++ b/generated/src/aws-cpp-sdk-redshift-serverless/source/model/Workgroup.cpp @@ -37,6 +37,7 @@ Workgroup::Workgroup() : m_patchVersionHasBeenSet(false), m_port(0), m_portHasBeenSet(false), + m_pricePerformanceTargetHasBeenSet(false), m_publiclyAccessible(false), m_publiclyAccessibleHasBeenSet(false), m_securityGroupIdsHasBeenSet(false), @@ -162,6 +163,13 @@ Workgroup& Workgroup::operator =(JsonView jsonValue) m_portHasBeenSet = true; } + if(jsonValue.ValueExists("pricePerformanceTarget")) + { + m_pricePerformanceTarget = jsonValue.GetObject("pricePerformanceTarget"); + + m_pricePerformanceTargetHasBeenSet = true; + } + if(jsonValue.ValueExists("publiclyAccessible")) { m_publiclyAccessible = jsonValue.GetBool("publiclyAccessible"); @@ -323,6 +331,12 @@ JsonValue Workgroup::Jsonize() const } + if(m_pricePerformanceTargetHasBeenSet) + { + payload.WithObject("pricePerformanceTarget", m_pricePerformanceTarget.Jsonize()); + + } + if(m_publiclyAccessibleHasBeenSet) { payload.WithBool("publiclyAccessible", m_publiclyAccessible); diff --git a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClient.h b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClient.h index 44e8fb46de6..907ff8ce5f3 100644 --- a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClient.h +++ b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClient.h @@ -771,8 +771,8 @@ namespace Redshift } /** - *

                  Creates a zero-ETL integration with Amazon Redshift.

                  See Also:

                  - * Creates a zero-ETL integration or S3 event integration with Amazon + * Redshift.

                  See Also:

                  AWS * API Reference

                  */ @@ -1298,8 +1298,8 @@ namespace Redshift } /** - *

                  Deletes a zero-ETL integration with Amazon Redshift.

                  See Also:

                  - * Deletes a zero-ETL integration or S3 event integration with Amazon + * Redshift.

                  See Also:

                  AWS * API Reference

                  */ @@ -2261,7 +2261,7 @@ namespace Redshift } /** - *

                  Describes one or more zero-ETL integrations with Amazon + *

                  Describes one or more zero-ETL or S3 event integrations with Amazon * Redshift.

                  See Also:

                  AWS * API Reference

                  @@ -3466,8 +3466,8 @@ namespace Redshift } /** - *

                  Modifies a zero-ETL integration with Amazon Redshift.

                  See - * Also:

                  Modifies a zero-ETL integration or S3 event integration with Amazon + * Redshift.

                  See Also:

                  AWS * API Reference

                  */ diff --git a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/DescribeTagsRequest.h b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/DescribeTagsRequest.h index cd58e5e1668..6f19b4f655e 100644 --- a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/DescribeTagsRequest.h +++ b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/model/DescribeTagsRequest.h @@ -63,12 +63,12 @@ namespace Model * security group

                • Snapshot

                • Cluster security * group

                • Subnet group

                • HSM connection

                • *
                • HSM certificate

                • Parameter group

                • - *

                  Snapshot copy grant

                • Integration (zero-ETL integration)

                  - *

                  To describe the tags associated with an integration, - * don't specify ResourceType, instead specify the - * ResourceName of the integration.

                For - * more information about Amazon Redshift resource types and constructing ARNs, go - * to Snapshot copy grant

              • Integration (zero-ETL integration or S3 + * event integration)

                To describe the tags associated with an + * integration, don't specify ResourceType, instead + * specify the ResourceName of the integration.

              • + *

              For more information about Amazon Redshift resource types and + * constructing ARNs, go to Specifying * Policy Elements: Actions, Effects, Resources, and Principals in the Amazon * Redshift Cluster Management Guide.

              diff --git a/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53Client.h b/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53Client.h index 7d834ab3b22..4221de7d0bb 100644 --- a/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53Client.h +++ b/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53Client.h @@ -505,9 +505,10 @@ namespace Route53 * resource policy for all the log groups that you create for query logging.

              *
          • Create a CloudWatch Logs resource policy, and give it * the permissions that Route 53 needs to create log streams and to send query logs - * to log streams. For the value of Resource, specify the ARN for the - * log group that you created in the previous step. To use the same resource policy - * for all the CloudWatch Logs log groups that you created for query logging + * to log streams. You must create the CloudWatch Logs resource policy in the + * us-east-1 region. For the value of Resource, specify the ARN for + * the log group that you created in the previous step. To use the same resource + * policy for all the CloudWatch Logs log groups that you created for query logging * configurations, replace the hosted zone name with *, for * example:

            * arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/ *

            @@ -1491,7 +1492,11 @@ namespace Route53 /** *

            Gets information about a specified hosted zone including the four name - * servers assigned to the hosted zone.

            See Also:

            returns the VPCs associated + * with the specified hosted zone and does not reflect the VPC associations by + * Route 53 Profiles. To get the associations to a Profile, call the ListProfileAssociations + * API.

            See Also:

            AWS * API Reference

            */ @@ -1988,13 +1993,17 @@ namespace Route53 * Amazon Web Services service that created and owns the hosted zone. For example, * if a hosted zone was created by Amazon Elastic File System (Amazon EFS), the * value of Owner is efs.amazonaws.com.

          - *

          When listing private hosted zones, the hosted zone and the Amazon VPC - * must belong to the same partition where the hosted zones were created. A - * partition is a group of Amazon Web Services Regions. Each Amazon Web Services - * account is scoped to one partition.

          The following are the supported - * partitions:

          • aws - Amazon Web Services Regions

            - *
          • aws-cn - China Regions

          • - * aws-us-gov - Amazon Web Services GovCloud (US) Region

          • + *

            ListHostedZonesByVPC returns the hosted zones associated with + * the specified VPC and does not reflect the hosted zone associations to VPCs via + * Route 53 Profiles. To get the associations to a Profile, call the ListProfileResourceAssociations + * API.

            When listing private hosted zones, the hosted zone and the + * Amazon VPC must belong to the same partition where the hosted zones were + * created. A partition is a group of Amazon Web Services Regions. Each Amazon Web + * Services account is scoped to one partition.

            The following are the + * supported partitions:

            • aws - Amazon Web Services + * Regions

            • aws-cn - China Regions

            • + *

              aws-us-gov - Amazon Web Services GovCloud (US) Region

            • *

            For more information, see Access * Management in the Amazon Web Services General Reference.

            diff --git a/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/HealthCheckConfig.h b/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/HealthCheckConfig.h index 1b8d0c6917a..3fb1d10cb0b 100644 --- a/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/HealthCheckConfig.h +++ b/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/HealthCheckConfig.h @@ -111,9 +111,9 @@ namespace Model * tries to establish a TCP connection. If successful, Route 53 submits an HTTPS * request and waits for an HTTP status code of 200 or greater and less than * 400.

            If you specify HTTPS for the value of - * Type, the endpoint must support TLS v1.0 or later.

            - *
          • HTTP_STR_MATCH: Route 53 tries to establish a TCP - * connection. If successful, Route 53 submits an HTTP request and searches the + * Type, the endpoint must support TLS v1.0, v1.1, or v1.2.

            + *
          • HTTP_STR_MATCH: Route 53 tries to establish a + * TCP connection. If successful, Route 53 submits an HTTP request and searches the * first 5,120 bytes of the response body for the string that you specify in * SearchString.

          • HTTPS_STR_MATCH: Route 53 * tries to establish a TCP connection. If successful, Route 53 submits an diff --git a/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/RRType.h b/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/RRType.h index 04cd5a40037..8bb0a6c77fd 100644 --- a/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/RRType.h +++ b/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/RRType.h @@ -28,7 +28,11 @@ namespace Model SPF, AAAA, CAA, - DS + DS, + TLSA, + SSHFP, + SVCB, + HTTPS }; namespace RRTypeMapper diff --git a/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/ResourceRecordSet.h b/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/ResourceRecordSet.h index 951f86f554a..f6221841f54 100644 --- a/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/ResourceRecordSet.h +++ b/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/ResourceRecordSet.h @@ -93,23 +93,27 @@ namespace Model *

            Valid values for basic resource record sets: A | * AAAA | CAA | CNAME | DS * |MX | NAPTR | NS | PTR | - * SOA | SPF | SRV | TXT

            - *

            Values for weighted, latency, geolocation, and failover resource record sets: - * A | AAAA | CAA | CNAME | + * SOA | SPF | SRV | TXT| + * TLSA| SSHFP| SVCB| HTTPS + *

            Values for weighted, latency, geolocation, and failover resource record + * sets: A | AAAA | CAA | CNAME + * | MX | NAPTR | PTR | SPF | + * SRV | TXT| TLSA| SSHFP| + * SVCB| HTTPS. When creating a group of weighted, + * latency, geolocation, or failover resource record sets, specify the same value + * for all of the resource record sets in the group.

            Valid values for + * multivalue answer resource record sets: A | AAAA | * MX | NAPTR | PTR | SPF | - * SRV | TXT. When creating a group of weighted, latency, - * geolocation, or failover resource record sets, specify the same value for all of - * the resource record sets in the group.

            Valid values for multivalue answer - * resource record sets: A | AAAA | MX | - * NAPTR | PTR | SPF | SRV | - * TXT

            SPF records were formerly used to verify the - * identity of the sender of email messages. However, we no longer recommend that - * you create resource record sets for which the value of Type is - * SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use - * of Domains in Email, Version 1, has been updated to say, "...[I]ts existence - * and mechanism defined in [RFC4408] have led to some interoperability issues. - * Accordingly, its use is no longer appropriate for SPF version 1; implementations - * are not to use it." In RFC 7208, see section 14.1, SRV | TXT| CAA| TLSA| + * SSHFP| SVCB| HTTPS

            SPF + * records were formerly used to verify the identity of the sender of email + * messages. However, we no longer recommend that you create resource record sets + * for which the value of Type is SPF. RFC 7208, + * Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, + * Version 1, has been updated to say, "...[I]ts existence and mechanism + * defined in [RFC4408] have led to some interoperability issues. Accordingly, its + * use is no longer appropriate for SPF version 1; implementations are not to use + * it." In RFC 7208, see section 14.1, The SPF DNS Record * Type.

            Values for alias resource record sets:

            • *

              Amazon API Gateway custom regional APIs and edge-optimized APIs: diff --git a/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/VPCRegion.h b/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/VPCRegion.h index d32eacb29f7..647ed9e83b9 100644 --- a/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/VPCRegion.h +++ b/generated/src/aws-cpp-sdk-route53/include/aws/route53/model/VPCRegion.h @@ -45,6 +45,7 @@ namespace Model sa_east_1, ca_central_1, cn_north_1, + cn_northwest_1, af_south_1, eu_south_1, eu_south_2, diff --git a/generated/src/aws-cpp-sdk-route53/source/model/RRType.cpp b/generated/src/aws-cpp-sdk-route53/source/model/RRType.cpp index 23afcde080e..c03437699d8 100644 --- a/generated/src/aws-cpp-sdk-route53/source/model/RRType.cpp +++ b/generated/src/aws-cpp-sdk-route53/source/model/RRType.cpp @@ -33,6 +33,10 @@ namespace Aws static const int AAAA_HASH = HashingUtils::HashString("AAAA"); static const int CAA_HASH = HashingUtils::HashString("CAA"); static const int DS_HASH = HashingUtils::HashString("DS"); + static const int TLSA_HASH = HashingUtils::HashString("TLSA"); + static const int SSHFP_HASH = HashingUtils::HashString("SSHFP"); + static const int SVCB_HASH = HashingUtils::HashString("SVCB"); + static const int HTTPS_HASH = HashingUtils::HashString("HTTPS"); RRType GetRRTypeForName(const Aws::String& name) @@ -90,6 +94,22 @@ namespace Aws { return RRType::DS; } + else if (hashCode == TLSA_HASH) + { + return RRType::TLSA; + } + else if (hashCode == SSHFP_HASH) + { + return RRType::SSHFP; + } + else if (hashCode == SVCB_HASH) + { + return RRType::SVCB; + } + else if (hashCode == HTTPS_HASH) + { + return RRType::HTTPS; + } EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) { @@ -132,6 +152,14 @@ namespace Aws return "CAA"; case RRType::DS: return "DS"; + case RRType::TLSA: + return "TLSA"; + case RRType::SSHFP: + return "SSHFP"; + case RRType::SVCB: + return "SVCB"; + case RRType::HTTPS: + return "HTTPS"; default: EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); if(overflowContainer) diff --git a/generated/src/aws-cpp-sdk-route53/source/model/VPCRegion.cpp b/generated/src/aws-cpp-sdk-route53/source/model/VPCRegion.cpp index c403462620e..7a079b4b7a5 100644 --- a/generated/src/aws-cpp-sdk-route53/source/model/VPCRegion.cpp +++ b/generated/src/aws-cpp-sdk-route53/source/model/VPCRegion.cpp @@ -49,6 +49,7 @@ namespace Aws static const int sa_east_1_HASH = HashingUtils::HashString("sa-east-1"); static const int ca_central_1_HASH = HashingUtils::HashString("ca-central-1"); static const int cn_north_1_HASH = HashingUtils::HashString("cn-north-1"); + static const int cn_northwest_1_HASH = HashingUtils::HashString("cn-northwest-1"); static const int af_south_1_HASH = HashingUtils::HashString("af-south-1"); static const int eu_south_1_HASH = HashingUtils::HashString("eu-south-1"); static const int eu_south_2_HASH = HashingUtils::HashString("eu-south-2"); @@ -177,6 +178,10 @@ namespace Aws { return VPCRegion::cn_north_1; } + else if (hashCode == cn_northwest_1_HASH) + { + return VPCRegion::cn_northwest_1; + } else if (hashCode == af_south_1_HASH) { return VPCRegion::af_south_1; @@ -279,6 +284,8 @@ namespace Aws return "ca-central-1"; case VPCRegion::cn_north_1: return "cn-north-1"; + case VPCRegion::cn_northwest_1: + return "cn-northwest-1"; case VPCRegion::af_south_1: return "af-south-1"; case VPCRegion::eu_south_1: diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h index 2fa1f73d0e2..1364ed86023 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h @@ -1846,11 +1846,14 @@ namespace SageMaker * that you specify. For more information, see Connect * to Amazon SageMaker Studio Through an Interface VPC Endpoint .

              - *

              The URL that you get from a call to CreatePresignedDomainUrl has - * a default timeout of 5 minutes. You can configure this value using - * ExpiresInSeconds. If you try to use the URL after the timeout limit - * expires, you are directed to the Amazon Web Services console sign-in page.

              - *

              See Also:

            • The URL that you get from a call to + * CreatePresignedDomainUrl has a default timeout of 5 minutes. You + * can configure this value using ExpiresInSeconds. If you try to use + * the URL after the timeout limit expires, you are directed to the Amazon Web + * Services console sign-in page.

            • The JupyterLab session default + * expiration time is 12 hours. You can configure this value using + * SessionExpirationDurationInSeconds.

            See Also:

            + *
            AWS * API Reference

            */ diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateModelPackageRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateModelPackageRequest.h index 3e96fbea750..7ce561338e6 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateModelPackageRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/CreateModelPackageRequest.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -394,6 +395,19 @@ namespace Model inline CreateModelPackageRequest& WithModelCard(const ModelPackageModelCard& value) { SetModelCard(value); return *this;} inline CreateModelPackageRequest& WithModelCard(ModelPackageModelCard&& value) { SetModelCard(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

            A structure describing the current state of the model in its life cycle. + *

            + */ + inline const ModelLifeCycle& GetModelLifeCycle() const{ return m_modelLifeCycle; } + inline bool ModelLifeCycleHasBeenSet() const { return m_modelLifeCycleHasBeenSet; } + inline void SetModelLifeCycle(const ModelLifeCycle& value) { m_modelLifeCycleHasBeenSet = true; m_modelLifeCycle = value; } + inline void SetModelLifeCycle(ModelLifeCycle&& value) { m_modelLifeCycleHasBeenSet = true; m_modelLifeCycle = std::move(value); } + inline CreateModelPackageRequest& WithModelLifeCycle(const ModelLifeCycle& value) { SetModelLifeCycle(value); return *this;} + inline CreateModelPackageRequest& WithModelLifeCycle(ModelLifeCycle&& value) { SetModelLifeCycle(std::move(value)); return *this;} + ///@} private: Aws::String m_modelPackageName; @@ -461,6 +475,9 @@ namespace Model ModelPackageModelCard m_modelCard; bool m_modelCardHasBeenSet = false; + + ModelLifeCycle m_modelLifeCycle; + bool m_modelLifeCycleHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeModelPackageResult.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeModelPackageResult.h index 2bdde39f39a..3b9956a05a1 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeModelPackageResult.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/DescribeModelPackageResult.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -415,6 +416,18 @@ namespace Model inline DescribeModelPackageResult& WithModelCard(ModelPackageModelCard&& value) { SetModelCard(std::move(value)); return *this;} ///@} + ///@{ + /** + *

            A structure describing the current state of the model in its life cycle. + *

            + */ + inline const ModelLifeCycle& GetModelLifeCycle() const{ return m_modelLifeCycle; } + inline void SetModelLifeCycle(const ModelLifeCycle& value) { m_modelLifeCycle = value; } + inline void SetModelLifeCycle(ModelLifeCycle&& value) { m_modelLifeCycle = std::move(value); } + inline DescribeModelPackageResult& WithModelLifeCycle(const ModelLifeCycle& value) { SetModelLifeCycle(value); return *this;} + inline DescribeModelPackageResult& WithModelLifeCycle(ModelLifeCycle&& value) { SetModelLifeCycle(std::move(value)); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -485,6 +498,8 @@ namespace Model ModelPackageModelCard m_modelCard; + ModelLifeCycle m_modelLifeCycle; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ModelLifeCycle.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ModelLifeCycle.h new file mode 100644 index 00000000000..2c3abdc22f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ModelLifeCycle.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace SageMaker +{ +namespace Model +{ + + /** + *

            A structure describing the current state of the model in its life cycle. + *

            See Also:

            AWS + * API Reference

            + */ + class ModelLifeCycle + { + public: + AWS_SAGEMAKER_API ModelLifeCycle(); + AWS_SAGEMAKER_API ModelLifeCycle(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API ModelLifeCycle& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

            The current stage in the model life cycle.

            + */ + 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 ModelLifeCycle& WithStage(const Aws::String& value) { SetStage(value); return *this;} + inline ModelLifeCycle& WithStage(Aws::String&& value) { SetStage(std::move(value)); return *this;} + inline ModelLifeCycle& WithStage(const char* value) { SetStage(value); return *this;} + ///@} + + ///@{ + /** + *

            The current status of a stage in model life cycle.

            + */ + inline const Aws::String& GetStageStatus() const{ return m_stageStatus; } + inline bool StageStatusHasBeenSet() const { return m_stageStatusHasBeenSet; } + inline void SetStageStatus(const Aws::String& value) { m_stageStatusHasBeenSet = true; m_stageStatus = value; } + inline void SetStageStatus(Aws::String&& value) { m_stageStatusHasBeenSet = true; m_stageStatus = std::move(value); } + inline void SetStageStatus(const char* value) { m_stageStatusHasBeenSet = true; m_stageStatus.assign(value); } + inline ModelLifeCycle& WithStageStatus(const Aws::String& value) { SetStageStatus(value); return *this;} + inline ModelLifeCycle& WithStageStatus(Aws::String&& value) { SetStageStatus(std::move(value)); return *this;} + inline ModelLifeCycle& WithStageStatus(const char* value) { SetStageStatus(value); return *this;} + ///@} + + ///@{ + /** + *

            Describes the stage related details.

            + */ + 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 ModelLifeCycle& WithStageDescription(const Aws::String& value) { SetStageDescription(value); return *this;} + inline ModelLifeCycle& WithStageDescription(Aws::String&& value) { SetStageDescription(std::move(value)); return *this;} + inline ModelLifeCycle& WithStageDescription(const char* value) { SetStageDescription(value); return *this;} + ///@} + private: + + Aws::String m_stage; + bool m_stageHasBeenSet = false; + + Aws::String m_stageStatus; + bool m_stageStatusHasBeenSet = false; + + Aws::String m_stageDescription; + bool m_stageDescriptionHasBeenSet = false; + }; + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ModelPackage.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ModelPackage.h index 7606630ca51..f5df953f2ee 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ModelPackage.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/ModelPackage.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -402,6 +403,19 @@ namespace Model inline ModelPackage& WithModelCard(ModelPackageModelCard&& value) { SetModelCard(std::move(value)); return *this;} ///@} + ///@{ + /** + *

            A structure describing the current state of the model in its life cycle. + *

            + */ + inline const ModelLifeCycle& GetModelLifeCycle() const{ return m_modelLifeCycle; } + inline bool ModelLifeCycleHasBeenSet() const { return m_modelLifeCycleHasBeenSet; } + inline void SetModelLifeCycle(const ModelLifeCycle& value) { m_modelLifeCycleHasBeenSet = true; m_modelLifeCycle = value; } + inline void SetModelLifeCycle(ModelLifeCycle&& value) { m_modelLifeCycleHasBeenSet = true; m_modelLifeCycle = std::move(value); } + inline ModelPackage& WithModelLifeCycle(const ModelLifeCycle& value) { SetModelLifeCycle(value); return *this;} + inline ModelPackage& WithModelLifeCycle(ModelLifeCycle&& value) { SetModelLifeCycle(std::move(value)); return *this;} + ///@} + ///@{ /** *

            A list of the tags associated with the model package. For more information, @@ -543,6 +557,9 @@ namespace Model ModelPackageModelCard m_modelCard; bool m_modelCardHasBeenSet = false; + ModelLifeCycle m_modelLifeCycle; + bool m_modelLifeCycleHasBeenSet = false; + Aws::Vector m_tags; bool m_tagsHasBeenSet = false; diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TrainingInstanceType.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TrainingInstanceType.h index efd3ef32b6b..a4c817aadae 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TrainingInstanceType.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/TrainingInstanceType.h @@ -48,7 +48,6 @@ namespace Model ml_p4de_24xlarge, ml_p5_48xlarge, ml_p5e_48xlarge, - ml_p5en_48xlarge, ml_c5_xlarge, ml_c5_2xlarge, ml_c5_4xlarge, @@ -70,7 +69,6 @@ namespace Model ml_trn1_2xlarge, ml_trn1_32xlarge, ml_trn1n_32xlarge, - ml_trn2_48xlarge, ml_m6i_large, ml_m6i_xlarge, ml_m6i_2xlarge, diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateModelPackageRequest.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateModelPackageRequest.h index bed64ad887f..ea7ffd6ce24 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateModelPackageRequest.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/model/UpdateModelPackageRequest.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -189,6 +190,33 @@ namespace Model inline UpdateModelPackageRequest& WithModelCard(const ModelPackageModelCard& value) { SetModelCard(value); return *this;} inline UpdateModelPackageRequest& WithModelCard(ModelPackageModelCard&& value) { SetModelCard(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

            A structure describing the current state of the model in its life cycle. + *

            + */ + inline const ModelLifeCycle& GetModelLifeCycle() const{ return m_modelLifeCycle; } + inline bool ModelLifeCycleHasBeenSet() const { return m_modelLifeCycleHasBeenSet; } + inline void SetModelLifeCycle(const ModelLifeCycle& value) { m_modelLifeCycleHasBeenSet = true; m_modelLifeCycle = value; } + inline void SetModelLifeCycle(ModelLifeCycle&& value) { m_modelLifeCycleHasBeenSet = true; m_modelLifeCycle = std::move(value); } + inline UpdateModelPackageRequest& WithModelLifeCycle(const ModelLifeCycle& value) { SetModelLifeCycle(value); return *this;} + inline UpdateModelPackageRequest& WithModelLifeCycle(ModelLifeCycle&& value) { SetModelLifeCycle(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            A unique token that guarantees that the call to this API is idempotent.

            + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline UpdateModelPackageRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline UpdateModelPackageRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline UpdateModelPackageRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} private: Aws::String m_modelPackageArn; @@ -217,6 +245,12 @@ namespace Model ModelPackageModelCard m_modelCard; bool m_modelCardHasBeenSet = false; + + ModelLifeCycle m_modelLifeCycle; + bool m_modelLifeCycleHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateModelPackageRequest.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateModelPackageRequest.cpp index 7ad89875147..769b7da5987 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateModelPackageRequest.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/CreateModelPackageRequest.cpp @@ -38,7 +38,8 @@ CreateModelPackageRequest::CreateModelPackageRequest() : m_skipModelValidationHasBeenSet(false), m_sourceUriHasBeenSet(false), m_securityConfigHasBeenSet(false), - m_modelCardHasBeenSet(false) + m_modelCardHasBeenSet(false), + m_modelLifeCycleHasBeenSet(false) { } @@ -191,6 +192,12 @@ Aws::String CreateModelPackageRequest::SerializePayload() const } + if(m_modelLifeCycleHasBeenSet) + { + payload.WithObject("ModelLifeCycle", m_modelLifeCycle.Jsonize()); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeModelPackageResult.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeModelPackageResult.cpp index 2d5a806f18e..d4d61453916 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeModelPackageResult.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/DescribeModelPackageResult.cpp @@ -215,6 +215,12 @@ DescribeModelPackageResult& DescribeModelPackageResult::operator =(const Aws::Am } + if(jsonValue.ValueExists("ModelLifeCycle")) + { + m_modelLifeCycle = jsonValue.GetObject("ModelLifeCycle"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/ModelLifeCycle.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/ModelLifeCycle.cpp new file mode 100644 index 00000000000..418d1bb032f --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/ModelLifeCycle.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace SageMaker +{ +namespace Model +{ + +ModelLifeCycle::ModelLifeCycle() : + m_stageHasBeenSet(false), + m_stageStatusHasBeenSet(false), + m_stageDescriptionHasBeenSet(false) +{ +} + +ModelLifeCycle::ModelLifeCycle(JsonView jsonValue) + : ModelLifeCycle() +{ + *this = jsonValue; +} + +ModelLifeCycle& ModelLifeCycle::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Stage")) + { + m_stage = jsonValue.GetString("Stage"); + + m_stageHasBeenSet = true; + } + + if(jsonValue.ValueExists("StageStatus")) + { + m_stageStatus = jsonValue.GetString("StageStatus"); + + m_stageStatusHasBeenSet = true; + } + + if(jsonValue.ValueExists("StageDescription")) + { + m_stageDescription = jsonValue.GetString("StageDescription"); + + m_stageDescriptionHasBeenSet = true; + } + + return *this; +} + +JsonValue ModelLifeCycle::Jsonize() const +{ + JsonValue payload; + + if(m_stageHasBeenSet) + { + payload.WithString("Stage", m_stage); + + } + + if(m_stageStatusHasBeenSet) + { + payload.WithString("StageStatus", m_stageStatus); + + } + + if(m_stageDescriptionHasBeenSet) + { + payload.WithString("StageDescription", m_stageDescription); + + } + + return payload; +} + +} // namespace Model +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/ModelPackage.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/ModelPackage.cpp index 9ab91784da9..24fbeea3086 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/ModelPackage.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/ModelPackage.cpp @@ -49,6 +49,7 @@ ModelPackage::ModelPackage() : m_sourceUriHasBeenSet(false), m_securityConfigHasBeenSet(false), m_modelCardHasBeenSet(false), + m_modelLifeCycleHasBeenSet(false), m_tagsHasBeenSet(false), m_customerMetadataPropertiesHasBeenSet(false), m_driftCheckBaselinesHasBeenSet(false), @@ -250,6 +251,13 @@ ModelPackage& ModelPackage::operator =(JsonView jsonValue) m_modelCardHasBeenSet = true; } + if(jsonValue.ValueExists("ModelLifeCycle")) + { + m_modelLifeCycle = jsonValue.GetObject("ModelLifeCycle"); + + m_modelLifeCycleHasBeenSet = true; + } + if(jsonValue.ValueExists("Tags")) { Aws::Utils::Array tagsJsonList = jsonValue.GetArray("Tags"); @@ -448,6 +456,12 @@ JsonValue ModelPackage::Jsonize() const } + if(m_modelLifeCycleHasBeenSet) + { + payload.WithObject("ModelLifeCycle", m_modelLifeCycle.Jsonize()); + + } + if(m_tagsHasBeenSet) { Aws::Utils::Array tagsJsonList(m_tags.size()); diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/TrainingInstanceType.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/TrainingInstanceType.cpp index e8b008a67ce..54b5180e6c8 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/TrainingInstanceType.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/TrainingInstanceType.cpp @@ -52,7 +52,6 @@ namespace Aws static const int ml_p4de_24xlarge_HASH = HashingUtils::HashString("ml.p4de.24xlarge"); static const int ml_p5_48xlarge_HASH = HashingUtils::HashString("ml.p5.48xlarge"); static const int ml_p5e_48xlarge_HASH = HashingUtils::HashString("ml.p5e.48xlarge"); - static const int ml_p5en_48xlarge_HASH = HashingUtils::HashString("ml.p5en.48xlarge"); static const int ml_c5_xlarge_HASH = HashingUtils::HashString("ml.c5.xlarge"); static const int ml_c5_2xlarge_HASH = HashingUtils::HashString("ml.c5.2xlarge"); static const int ml_c5_4xlarge_HASH = HashingUtils::HashString("ml.c5.4xlarge"); @@ -74,7 +73,6 @@ namespace Aws static const int ml_trn1_2xlarge_HASH = HashingUtils::HashString("ml.trn1.2xlarge"); static const int ml_trn1_32xlarge_HASH = HashingUtils::HashString("ml.trn1.32xlarge"); static const int ml_trn1n_32xlarge_HASH = HashingUtils::HashString("ml.trn1n.32xlarge"); - static const int ml_trn2_48xlarge_HASH = HashingUtils::HashString("ml.trn2.48xlarge"); static const int ml_m6i_large_HASH = HashingUtils::HashString("ml.m6i.large"); static const int ml_m6i_xlarge_HASH = HashingUtils::HashString("ml.m6i.xlarge"); static const int ml_m6i_2xlarge_HASH = HashingUtils::HashString("ml.m6i.2xlarge"); @@ -245,10 +243,6 @@ namespace Aws { return TrainingInstanceType::ml_p5e_48xlarge; } - else if (hashCode == ml_p5en_48xlarge_HASH) - { - return TrainingInstanceType::ml_p5en_48xlarge; - } else if (hashCode == ml_c5_xlarge_HASH) { return TrainingInstanceType::ml_c5_xlarge; @@ -333,10 +327,6 @@ namespace Aws { return TrainingInstanceType::ml_trn1n_32xlarge; } - else if (hashCode == ml_trn2_48xlarge_HASH) - { - return TrainingInstanceType::ml_trn2_48xlarge; - } else if (hashCode == ml_m6i_large_HASH) { return TrainingInstanceType::ml_m6i_large; @@ -565,8 +555,6 @@ namespace Aws return "ml.p5.48xlarge"; case TrainingInstanceType::ml_p5e_48xlarge: return "ml.p5e.48xlarge"; - case TrainingInstanceType::ml_p5en_48xlarge: - return "ml.p5en.48xlarge"; case TrainingInstanceType::ml_c5_xlarge: return "ml.c5.xlarge"; case TrainingInstanceType::ml_c5_2xlarge: @@ -609,8 +597,6 @@ namespace Aws return "ml.trn1.32xlarge"; case TrainingInstanceType::ml_trn1n_32xlarge: return "ml.trn1n.32xlarge"; - case TrainingInstanceType::ml_trn2_48xlarge: - return "ml.trn2.48xlarge"; case TrainingInstanceType::ml_m6i_large: return "ml.m6i.large"; case TrainingInstanceType::ml_m6i_xlarge: diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateModelPackageRequest.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateModelPackageRequest.cpp index 1ad1b72e865..798ff8ab201 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateModelPackageRequest.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/model/UpdateModelPackageRequest.cpp @@ -22,7 +22,9 @@ UpdateModelPackageRequest::UpdateModelPackageRequest() : m_additionalInferenceSpecificationsToAddHasBeenSet(false), m_inferenceSpecificationHasBeenSet(false), m_sourceUriHasBeenSet(false), - m_modelCardHasBeenSet(false) + m_modelCardHasBeenSet(false), + m_modelLifeCycleHasBeenSet(false), + m_clientTokenHasBeenSet(false) { } @@ -98,6 +100,18 @@ Aws::String UpdateModelPackageRequest::SerializePayload() const } + if(m_modelLifeCycleHasBeenSet) + { + payload.WithObject("ModelLifeCycle", m_modelLifeCycle.Jsonize()); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClient.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClient.h index 6811a5c31fc..1756d4fba74 100644 --- a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClient.h +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClient.h @@ -278,6 +278,34 @@ namespace WorkMail return SubmitAsync(&WorkMailClient::CreateGroup, request, handler, context); } + /** + *

            Creates the WorkMail application in IAM Identity Center that can be used + * later in the WorkMail - IdC integration. For more information, see + * PutIdentityProviderConfiguration. This action does not affect the authentication + * settings for any WorkMail organizations.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::CreateIdentityCenterApplicationOutcome CreateIdentityCenterApplication(const Model::CreateIdentityCenterApplicationRequest& request) const; + + /** + * A Callable wrapper for CreateIdentityCenterApplication that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::CreateIdentityCenterApplicationOutcomeCallable CreateIdentityCenterApplicationCallable(const CreateIdentityCenterApplicationRequestT& request) const + { + return SubmitCallable(&WorkMailClient::CreateIdentityCenterApplication, request); + } + + /** + * An Async wrapper for CreateIdentityCenterApplication that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void CreateIdentityCenterApplicationAsync(const CreateIdentityCenterApplicationRequestT& request, const CreateIdentityCenterApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkMailClient::CreateIdentityCenterApplication, request, handler, context); + } + /** *

            Creates an impersonation role for the given WorkMail organization.

            * Idempotency ensures that an API request completes no more than one time. @@ -558,6 +586,61 @@ namespace WorkMail return SubmitAsync(&WorkMailClient::DeleteGroup, request, handler, context); } + /** + *

            Deletes the IAM Identity Center application from WorkMail. This action does + * not affect the authentication settings for any WorkMail organizations. + *

            See Also:

            AWS + * API Reference

            + */ + virtual Model::DeleteIdentityCenterApplicationOutcome DeleteIdentityCenterApplication(const Model::DeleteIdentityCenterApplicationRequest& request) const; + + /** + * A Callable wrapper for DeleteIdentityCenterApplication that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteIdentityCenterApplicationOutcomeCallable DeleteIdentityCenterApplicationCallable(const DeleteIdentityCenterApplicationRequestT& request) const + { + return SubmitCallable(&WorkMailClient::DeleteIdentityCenterApplication, request); + } + + /** + * An Async wrapper for DeleteIdentityCenterApplication that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteIdentityCenterApplicationAsync(const DeleteIdentityCenterApplicationRequestT& request, const DeleteIdentityCenterApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkMailClient::DeleteIdentityCenterApplication, request, handler, context); + } + + /** + *

            Disables the integration between IdC and WorkMail. Authentication will + * continue with the directory as it was before the IdC integration. You might have + * to reset your directory passwords and reconfigure your desktop and mobile email + * clients.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::DeleteIdentityProviderConfigurationOutcome DeleteIdentityProviderConfiguration(const Model::DeleteIdentityProviderConfigurationRequest& request) const; + + /** + * A Callable wrapper for DeleteIdentityProviderConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeleteIdentityProviderConfigurationOutcomeCallable DeleteIdentityProviderConfigurationCallable(const DeleteIdentityProviderConfigurationRequestT& request) const + { + return SubmitCallable(&WorkMailClient::DeleteIdentityProviderConfiguration, request); + } + + /** + * An Async wrapper for DeleteIdentityProviderConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeleteIdentityProviderConfigurationAsync(const DeleteIdentityProviderConfigurationRequestT& request, const DeleteIdentityProviderConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkMailClient::DeleteIdentityProviderConfiguration, request, handler, context); + } + /** *

            Deletes an impersonation role for the given WorkMail * organization.

            See Also:

            Deletes the Personal Access Token from the provided WorkMail Organization. + *

            See Also:

            AWS + * API Reference

            + */ + virtual Model::DeletePersonalAccessTokenOutcome DeletePersonalAccessToken(const Model::DeletePersonalAccessTokenRequest& request) const; + + /** + * A Callable wrapper for DeletePersonalAccessToken that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DeletePersonalAccessTokenOutcomeCallable DeletePersonalAccessTokenCallable(const DeletePersonalAccessTokenRequestT& request) const + { + return SubmitCallable(&WorkMailClient::DeletePersonalAccessToken, request); + } + + /** + * An Async wrapper for DeletePersonalAccessToken that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DeletePersonalAccessTokenAsync(const DeletePersonalAccessTokenRequestT& request, const DeletePersonalAccessTokenResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkMailClient::DeletePersonalAccessToken, request, handler, context); + } + /** *

            Deletes the specified resource.

            See Also:

            AWS @@ -910,6 +1019,32 @@ namespace WorkMail return SubmitAsync(&WorkMailClient::DescribeGroup, request, handler, context); } + /** + *

            Returns detailed information on the current IdC setup for the WorkMail + * organization.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::DescribeIdentityProviderConfigurationOutcome DescribeIdentityProviderConfiguration(const Model::DescribeIdentityProviderConfigurationRequest& request) const; + + /** + * A Callable wrapper for DescribeIdentityProviderConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::DescribeIdentityProviderConfigurationOutcomeCallable DescribeIdentityProviderConfigurationCallable(const DescribeIdentityProviderConfigurationRequestT& request) const + { + return SubmitCallable(&WorkMailClient::DescribeIdentityProviderConfiguration, request); + } + + /** + * An Async wrapper for DescribeIdentityProviderConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void DescribeIdentityProviderConfigurationAsync(const DescribeIdentityProviderConfigurationRequestT& request, const DescribeIdentityProviderConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkMailClient::DescribeIdentityProviderConfiguration, request, handler, context); + } + /** *

            Lists the settings in a DMARC policy for a specified * organization.

            See Also:

            Requests details of a specific Personal Access Token within the WorkMail + * organization.

            See Also:

            AWS + * API Reference

            + */ + virtual Model::GetPersonalAccessTokenMetadataOutcome GetPersonalAccessTokenMetadata(const Model::GetPersonalAccessTokenMetadataRequest& request) const; + + /** + * A Callable wrapper for GetPersonalAccessTokenMetadata that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::GetPersonalAccessTokenMetadataOutcomeCallable GetPersonalAccessTokenMetadataCallable(const GetPersonalAccessTokenMetadataRequestT& request) const + { + return SubmitCallable(&WorkMailClient::GetPersonalAccessTokenMetadata, request); + } + + /** + * An Async wrapper for GetPersonalAccessTokenMetadata that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void GetPersonalAccessTokenMetadataAsync(const GetPersonalAccessTokenMetadataRequestT& request, const GetPersonalAccessTokenMetadataResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkMailClient::GetPersonalAccessTokenMetadata, request, handler, context); + } + /** *

            Lists the access control rules for the specified organization.

            See * Also:

            Returns a summary of your Personal Access Tokens.

            See Also:

            + *
            AWS + * API Reference

            + */ + virtual Model::ListPersonalAccessTokensOutcome ListPersonalAccessTokens(const Model::ListPersonalAccessTokensRequest& request) const; + + /** + * A Callable wrapper for ListPersonalAccessTokens that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::ListPersonalAccessTokensOutcomeCallable ListPersonalAccessTokensCallable(const ListPersonalAccessTokensRequestT& request) const + { + return SubmitCallable(&WorkMailClient::ListPersonalAccessTokens, request); + } + + /** + * An Async wrapper for ListPersonalAccessTokens that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void ListPersonalAccessTokensAsync(const ListPersonalAccessTokensRequestT& request, const ListPersonalAccessTokensResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkMailClient::ListPersonalAccessTokens, request, handler, context); + } + /** *

            Lists the delegates associated with a resource. Users and groups can be * resource delegates and answer requests on behalf of the resource.

            See @@ -1798,6 +1985,36 @@ namespace WorkMail return SubmitAsync(&WorkMailClient::PutEmailMonitoringConfiguration, request, handler, context); } + /** + *

            Enables integration between IAM Identity Center (IdC) and WorkMail to proxy + * authentication requests for mailbox users. You can connect your IdC directory or + * your external directory to WorkMail through IdC and manage access to WorkMail + * mailboxes in a single place. For enhanced protection, you could enable + * Multifactor Authentication (MFA) and Personal Access Tokens.

            See + * Also:

            AWS + * API Reference

            + */ + virtual Model::PutIdentityProviderConfigurationOutcome PutIdentityProviderConfiguration(const Model::PutIdentityProviderConfigurationRequest& request) const; + + /** + * A Callable wrapper for PutIdentityProviderConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. + */ + template + Model::PutIdentityProviderConfigurationOutcomeCallable PutIdentityProviderConfigurationCallable(const PutIdentityProviderConfigurationRequestT& request) const + { + return SubmitCallable(&WorkMailClient::PutIdentityProviderConfiguration, request); + } + + /** + * An Async wrapper for PutIdentityProviderConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. + */ + template + void PutIdentityProviderConfigurationAsync(const PutIdentityProviderConfigurationRequestT& request, const PutIdentityProviderConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const + { + return SubmitAsync(&WorkMailClient::PutIdentityProviderConfiguration, request, handler, context); + } + /** *

            Enables or disables a DMARC policy for a given organization.

            See * Also:

            Updates attibutes in a group.

            See Also:

            Updates attributes in a group.

            See Also:

            AWS * API Reference

            */ diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailServiceClientModel.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailServiceClientModel.h index f883691f72e..8a758ecd10c 100644 --- a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailServiceClientModel.h @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -35,11 +36,14 @@ #include #include #include +#include +#include #include #include #include #include #include +#include #include #include #include @@ -48,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -63,6 +68,7 @@ #include #include #include +#include #include #include #include @@ -76,12 +82,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -150,6 +158,7 @@ namespace Aws class CreateAliasRequest; class CreateAvailabilityConfigurationRequest; class CreateGroupRequest; + class CreateIdentityCenterApplicationRequest; class CreateImpersonationRoleRequest; class CreateMobileDeviceAccessRuleRequest; class CreateOrganizationRequest; @@ -160,11 +169,14 @@ namespace Aws class DeleteAvailabilityConfigurationRequest; class DeleteEmailMonitoringConfigurationRequest; class DeleteGroupRequest; + class DeleteIdentityCenterApplicationRequest; + class DeleteIdentityProviderConfigurationRequest; class DeleteImpersonationRoleRequest; class DeleteMailboxPermissionsRequest; class DeleteMobileDeviceAccessOverrideRequest; class DeleteMobileDeviceAccessRuleRequest; class DeleteOrganizationRequest; + class DeletePersonalAccessTokenRequest; class DeleteResourceRequest; class DeleteRetentionPolicyRequest; class DeleteUserRequest; @@ -173,6 +185,7 @@ namespace Aws class DescribeEmailMonitoringConfigurationRequest; class DescribeEntityRequest; class DescribeGroupRequest; + class DescribeIdentityProviderConfigurationRequest; class DescribeInboundDmarcSettingsRequest; class DescribeMailboxExportJobRequest; class DescribeOrganizationRequest; @@ -188,6 +201,7 @@ namespace Aws class GetMailboxDetailsRequest; class GetMobileDeviceAccessEffectRequest; class GetMobileDeviceAccessOverrideRequest; + class GetPersonalAccessTokenMetadataRequest; class ListAccessControlRulesRequest; class ListAliasesRequest; class ListAvailabilityConfigurationsRequest; @@ -201,12 +215,14 @@ namespace Aws class ListMobileDeviceAccessOverridesRequest; class ListMobileDeviceAccessRulesRequest; class ListOrganizationsRequest; + class ListPersonalAccessTokensRequest; class ListResourceDelegatesRequest; class ListResourcesRequest; class ListTagsForResourceRequest; class ListUsersRequest; class PutAccessControlRuleRequest; class PutEmailMonitoringConfigurationRequest; + class PutIdentityProviderConfigurationRequest; class PutInboundDmarcSettingsRequest; class PutMailboxPermissionsRequest; class PutMobileDeviceAccessOverrideRequest; @@ -237,6 +253,7 @@ namespace Aws typedef Aws::Utils::Outcome CreateAliasOutcome; typedef Aws::Utils::Outcome CreateAvailabilityConfigurationOutcome; typedef Aws::Utils::Outcome CreateGroupOutcome; + typedef Aws::Utils::Outcome CreateIdentityCenterApplicationOutcome; typedef Aws::Utils::Outcome CreateImpersonationRoleOutcome; typedef Aws::Utils::Outcome CreateMobileDeviceAccessRuleOutcome; typedef Aws::Utils::Outcome CreateOrganizationOutcome; @@ -247,11 +264,14 @@ namespace Aws typedef Aws::Utils::Outcome DeleteAvailabilityConfigurationOutcome; typedef Aws::Utils::Outcome DeleteEmailMonitoringConfigurationOutcome; typedef Aws::Utils::Outcome DeleteGroupOutcome; + typedef Aws::Utils::Outcome DeleteIdentityCenterApplicationOutcome; + typedef Aws::Utils::Outcome DeleteIdentityProviderConfigurationOutcome; typedef Aws::Utils::Outcome DeleteImpersonationRoleOutcome; typedef Aws::Utils::Outcome DeleteMailboxPermissionsOutcome; typedef Aws::Utils::Outcome DeleteMobileDeviceAccessOverrideOutcome; typedef Aws::Utils::Outcome DeleteMobileDeviceAccessRuleOutcome; typedef Aws::Utils::Outcome DeleteOrganizationOutcome; + typedef Aws::Utils::Outcome DeletePersonalAccessTokenOutcome; typedef Aws::Utils::Outcome DeleteResourceOutcome; typedef Aws::Utils::Outcome DeleteRetentionPolicyOutcome; typedef Aws::Utils::Outcome DeleteUserOutcome; @@ -260,6 +280,7 @@ namespace Aws typedef Aws::Utils::Outcome DescribeEmailMonitoringConfigurationOutcome; typedef Aws::Utils::Outcome DescribeEntityOutcome; typedef Aws::Utils::Outcome DescribeGroupOutcome; + typedef Aws::Utils::Outcome DescribeIdentityProviderConfigurationOutcome; typedef Aws::Utils::Outcome DescribeInboundDmarcSettingsOutcome; typedef Aws::Utils::Outcome DescribeMailboxExportJobOutcome; typedef Aws::Utils::Outcome DescribeOrganizationOutcome; @@ -275,6 +296,7 @@ namespace Aws typedef Aws::Utils::Outcome GetMailboxDetailsOutcome; typedef Aws::Utils::Outcome GetMobileDeviceAccessEffectOutcome; typedef Aws::Utils::Outcome GetMobileDeviceAccessOverrideOutcome; + typedef Aws::Utils::Outcome GetPersonalAccessTokenMetadataOutcome; typedef Aws::Utils::Outcome ListAccessControlRulesOutcome; typedef Aws::Utils::Outcome ListAliasesOutcome; typedef Aws::Utils::Outcome ListAvailabilityConfigurationsOutcome; @@ -288,12 +310,14 @@ namespace Aws typedef Aws::Utils::Outcome ListMobileDeviceAccessOverridesOutcome; typedef Aws::Utils::Outcome ListMobileDeviceAccessRulesOutcome; typedef Aws::Utils::Outcome ListOrganizationsOutcome; + typedef Aws::Utils::Outcome ListPersonalAccessTokensOutcome; typedef Aws::Utils::Outcome ListResourceDelegatesOutcome; typedef Aws::Utils::Outcome ListResourcesOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListUsersOutcome; typedef Aws::Utils::Outcome PutAccessControlRuleOutcome; typedef Aws::Utils::Outcome PutEmailMonitoringConfigurationOutcome; + typedef Aws::Utils::Outcome PutIdentityProviderConfigurationOutcome; typedef Aws::Utils::Outcome PutInboundDmarcSettingsOutcome; typedef Aws::Utils::Outcome PutMailboxPermissionsOutcome; typedef Aws::Utils::Outcome PutMobileDeviceAccessOverrideOutcome; @@ -324,6 +348,7 @@ namespace Aws typedef std::future CreateAliasOutcomeCallable; typedef std::future CreateAvailabilityConfigurationOutcomeCallable; typedef std::future CreateGroupOutcomeCallable; + typedef std::future CreateIdentityCenterApplicationOutcomeCallable; typedef std::future CreateImpersonationRoleOutcomeCallable; typedef std::future CreateMobileDeviceAccessRuleOutcomeCallable; typedef std::future CreateOrganizationOutcomeCallable; @@ -334,11 +359,14 @@ namespace Aws typedef std::future DeleteAvailabilityConfigurationOutcomeCallable; typedef std::future DeleteEmailMonitoringConfigurationOutcomeCallable; typedef std::future DeleteGroupOutcomeCallable; + typedef std::future DeleteIdentityCenterApplicationOutcomeCallable; + typedef std::future DeleteIdentityProviderConfigurationOutcomeCallable; typedef std::future DeleteImpersonationRoleOutcomeCallable; typedef std::future DeleteMailboxPermissionsOutcomeCallable; typedef std::future DeleteMobileDeviceAccessOverrideOutcomeCallable; typedef std::future DeleteMobileDeviceAccessRuleOutcomeCallable; typedef std::future DeleteOrganizationOutcomeCallable; + typedef std::future DeletePersonalAccessTokenOutcomeCallable; typedef std::future DeleteResourceOutcomeCallable; typedef std::future DeleteRetentionPolicyOutcomeCallable; typedef std::future DeleteUserOutcomeCallable; @@ -347,6 +375,7 @@ namespace Aws typedef std::future DescribeEmailMonitoringConfigurationOutcomeCallable; typedef std::future DescribeEntityOutcomeCallable; typedef std::future DescribeGroupOutcomeCallable; + typedef std::future DescribeIdentityProviderConfigurationOutcomeCallable; typedef std::future DescribeInboundDmarcSettingsOutcomeCallable; typedef std::future DescribeMailboxExportJobOutcomeCallable; typedef std::future DescribeOrganizationOutcomeCallable; @@ -362,6 +391,7 @@ namespace Aws typedef std::future GetMailboxDetailsOutcomeCallable; typedef std::future GetMobileDeviceAccessEffectOutcomeCallable; typedef std::future GetMobileDeviceAccessOverrideOutcomeCallable; + typedef std::future GetPersonalAccessTokenMetadataOutcomeCallable; typedef std::future ListAccessControlRulesOutcomeCallable; typedef std::future ListAliasesOutcomeCallable; typedef std::future ListAvailabilityConfigurationsOutcomeCallable; @@ -375,12 +405,14 @@ namespace Aws typedef std::future ListMobileDeviceAccessOverridesOutcomeCallable; typedef std::future ListMobileDeviceAccessRulesOutcomeCallable; typedef std::future ListOrganizationsOutcomeCallable; + typedef std::future ListPersonalAccessTokensOutcomeCallable; typedef std::future ListResourceDelegatesOutcomeCallable; typedef std::future ListResourcesOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListUsersOutcomeCallable; typedef std::future PutAccessControlRuleOutcomeCallable; typedef std::future PutEmailMonitoringConfigurationOutcomeCallable; + typedef std::future PutIdentityProviderConfigurationOutcomeCallable; typedef std::future PutInboundDmarcSettingsOutcomeCallable; typedef std::future PutMailboxPermissionsOutcomeCallable; typedef std::future PutMobileDeviceAccessOverrideOutcomeCallable; @@ -414,6 +446,7 @@ namespace Aws typedef std::function&) > CreateAliasResponseReceivedHandler; typedef std::function&) > CreateAvailabilityConfigurationResponseReceivedHandler; typedef std::function&) > CreateGroupResponseReceivedHandler; + typedef std::function&) > CreateIdentityCenterApplicationResponseReceivedHandler; typedef std::function&) > CreateImpersonationRoleResponseReceivedHandler; typedef std::function&) > CreateMobileDeviceAccessRuleResponseReceivedHandler; typedef std::function&) > CreateOrganizationResponseReceivedHandler; @@ -424,11 +457,14 @@ namespace Aws typedef std::function&) > DeleteAvailabilityConfigurationResponseReceivedHandler; typedef std::function&) > DeleteEmailMonitoringConfigurationResponseReceivedHandler; typedef std::function&) > DeleteGroupResponseReceivedHandler; + typedef std::function&) > DeleteIdentityCenterApplicationResponseReceivedHandler; + typedef std::function&) > DeleteIdentityProviderConfigurationResponseReceivedHandler; typedef std::function&) > DeleteImpersonationRoleResponseReceivedHandler; typedef std::function&) > DeleteMailboxPermissionsResponseReceivedHandler; typedef std::function&) > DeleteMobileDeviceAccessOverrideResponseReceivedHandler; typedef std::function&) > DeleteMobileDeviceAccessRuleResponseReceivedHandler; typedef std::function&) > DeleteOrganizationResponseReceivedHandler; + typedef std::function&) > DeletePersonalAccessTokenResponseReceivedHandler; typedef std::function&) > DeleteResourceResponseReceivedHandler; typedef std::function&) > DeleteRetentionPolicyResponseReceivedHandler; typedef std::function&) > DeleteUserResponseReceivedHandler; @@ -437,6 +473,7 @@ namespace Aws typedef std::function&) > DescribeEmailMonitoringConfigurationResponseReceivedHandler; typedef std::function&) > DescribeEntityResponseReceivedHandler; typedef std::function&) > DescribeGroupResponseReceivedHandler; + typedef std::function&) > DescribeIdentityProviderConfigurationResponseReceivedHandler; typedef std::function&) > DescribeInboundDmarcSettingsResponseReceivedHandler; typedef std::function&) > DescribeMailboxExportJobResponseReceivedHandler; typedef std::function&) > DescribeOrganizationResponseReceivedHandler; @@ -452,6 +489,7 @@ namespace Aws typedef std::function&) > GetMailboxDetailsResponseReceivedHandler; typedef std::function&) > GetMobileDeviceAccessEffectResponseReceivedHandler; typedef std::function&) > GetMobileDeviceAccessOverrideResponseReceivedHandler; + typedef std::function&) > GetPersonalAccessTokenMetadataResponseReceivedHandler; typedef std::function&) > ListAccessControlRulesResponseReceivedHandler; typedef std::function&) > ListAliasesResponseReceivedHandler; typedef std::function&) > ListAvailabilityConfigurationsResponseReceivedHandler; @@ -465,12 +503,14 @@ namespace Aws typedef std::function&) > ListMobileDeviceAccessOverridesResponseReceivedHandler; typedef std::function&) > ListMobileDeviceAccessRulesResponseReceivedHandler; typedef std::function&) > ListOrganizationsResponseReceivedHandler; + typedef std::function&) > ListPersonalAccessTokensResponseReceivedHandler; typedef std::function&) > ListResourceDelegatesResponseReceivedHandler; typedef std::function&) > ListResourcesResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListUsersResponseReceivedHandler; typedef std::function&) > PutAccessControlRuleResponseReceivedHandler; typedef std::function&) > PutEmailMonitoringConfigurationResponseReceivedHandler; + typedef std::function&) > PutIdentityProviderConfigurationResponseReceivedHandler; typedef std::function&) > PutInboundDmarcSettingsResponseReceivedHandler; typedef std::function&) > PutMailboxPermissionsResponseReceivedHandler; typedef std::function&) > PutMobileDeviceAccessOverrideResponseReceivedHandler; diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/CreateIdentityCenterApplicationRequest.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/CreateIdentityCenterApplicationRequest.h new file mode 100644 index 00000000000..13798fef2cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/CreateIdentityCenterApplicationRequest.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + + /** + */ + class CreateIdentityCenterApplicationRequest : public WorkMailRequest + { + public: + AWS_WORKMAIL_API CreateIdentityCenterApplicationRequest(); + + // 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 "CreateIdentityCenterApplication"; } + + AWS_WORKMAIL_API Aws::String SerializePayload() const override; + + AWS_WORKMAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            The name of the IAM Identity Center application.

            + */ + 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 CreateIdentityCenterApplicationRequest& WithName(const Aws::String& value) { SetName(value); return *this;} + inline CreateIdentityCenterApplicationRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline CreateIdentityCenterApplicationRequest& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

            The Amazon Resource Name (ARN) of the instance.

            + */ + inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; } + inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } + inline void SetInstanceArn(const Aws::String& value) { m_instanceArnHasBeenSet = true; m_instanceArn = value; } + inline void SetInstanceArn(Aws::String&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::move(value); } + inline void SetInstanceArn(const char* value) { m_instanceArnHasBeenSet = true; m_instanceArn.assign(value); } + inline CreateIdentityCenterApplicationRequest& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;} + inline CreateIdentityCenterApplicationRequest& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;} + inline CreateIdentityCenterApplicationRequest& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

            The idempotency token associated with the request.

            + */ + inline const Aws::String& GetClientToken() const{ return m_clientToken; } + inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } + inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } + inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } + inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } + inline CreateIdentityCenterApplicationRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} + inline CreateIdentityCenterApplicationRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} + inline CreateIdentityCenterApplicationRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} + ///@} + private: + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::String m_instanceArn; + bool m_instanceArnHasBeenSet = false; + + Aws::String m_clientToken; + bool m_clientTokenHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/CreateIdentityCenterApplicationResult.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/CreateIdentityCenterApplicationResult.h new file mode 100644 index 00000000000..266d3840221 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/CreateIdentityCenterApplicationResult.h @@ -0,0 +1,67 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkMail +{ +namespace Model +{ + class CreateIdentityCenterApplicationResult + { + public: + AWS_WORKMAIL_API CreateIdentityCenterApplicationResult(); + AWS_WORKMAIL_API CreateIdentityCenterApplicationResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKMAIL_API CreateIdentityCenterApplicationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The Amazon Resource Name (ARN) of the application.

            + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + inline void SetApplicationArn(const Aws::String& value) { m_applicationArn = value; } + inline void SetApplicationArn(Aws::String&& value) { m_applicationArn = std::move(value); } + inline void SetApplicationArn(const char* value) { m_applicationArn.assign(value); } + inline CreateIdentityCenterApplicationResult& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + inline CreateIdentityCenterApplicationResult& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + inline CreateIdentityCenterApplicationResult& WithApplicationArn(const char* value) { SetApplicationArn(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 CreateIdentityCenterApplicationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline CreateIdentityCenterApplicationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline CreateIdentityCenterApplicationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_applicationArn; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/CreateUserRequest.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/CreateUserRequest.h index 641bf4a4d9b..a3aa75308c4 100644 --- a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/CreateUserRequest.h +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/CreateUserRequest.h @@ -144,6 +144,22 @@ namespace Model inline void SetHiddenFromGlobalAddressList(bool value) { m_hiddenFromGlobalAddressListHasBeenSet = true; m_hiddenFromGlobalAddressList = value; } inline CreateUserRequest& WithHiddenFromGlobalAddressList(bool value) { SetHiddenFromGlobalAddressList(value); return *this;} ///@} + + ///@{ + /** + *

            User ID from the IAM Identity Center. If this parameter is empty it will be + * updated automatically when the user logs in for the first time to the mailbox + * associated with WorkMail.

            + */ + inline const Aws::String& GetIdentityProviderUserId() const{ return m_identityProviderUserId; } + inline bool IdentityProviderUserIdHasBeenSet() const { return m_identityProviderUserIdHasBeenSet; } + inline void SetIdentityProviderUserId(const Aws::String& value) { m_identityProviderUserIdHasBeenSet = true; m_identityProviderUserId = value; } + inline void SetIdentityProviderUserId(Aws::String&& value) { m_identityProviderUserIdHasBeenSet = true; m_identityProviderUserId = std::move(value); } + inline void SetIdentityProviderUserId(const char* value) { m_identityProviderUserIdHasBeenSet = true; m_identityProviderUserId.assign(value); } + inline CreateUserRequest& WithIdentityProviderUserId(const Aws::String& value) { SetIdentityProviderUserId(value); return *this;} + inline CreateUserRequest& WithIdentityProviderUserId(Aws::String&& value) { SetIdentityProviderUserId(std::move(value)); return *this;} + inline CreateUserRequest& WithIdentityProviderUserId(const char* value) { SetIdentityProviderUserId(value); return *this;} + ///@} private: Aws::String m_organizationId; @@ -169,6 +185,9 @@ namespace Model bool m_hiddenFromGlobalAddressList; bool m_hiddenFromGlobalAddressListHasBeenSet = false; + + Aws::String m_identityProviderUserId; + bool m_identityProviderUserIdHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityCenterApplicationRequest.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityCenterApplicationRequest.h new file mode 100644 index 00000000000..215150773c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityCenterApplicationRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + + /** + */ + class DeleteIdentityCenterApplicationRequest : public WorkMailRequest + { + public: + AWS_WORKMAIL_API DeleteIdentityCenterApplicationRequest(); + + // 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 "DeleteIdentityCenterApplication"; } + + AWS_WORKMAIL_API Aws::String SerializePayload() const override; + + AWS_WORKMAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            The Amazon Resource Name (ARN) of the application.

            + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + inline bool ApplicationArnHasBeenSet() const { return m_applicationArnHasBeenSet; } + inline void SetApplicationArn(const Aws::String& value) { m_applicationArnHasBeenSet = true; m_applicationArn = value; } + inline void SetApplicationArn(Aws::String&& value) { m_applicationArnHasBeenSet = true; m_applicationArn = std::move(value); } + inline void SetApplicationArn(const char* value) { m_applicationArnHasBeenSet = true; m_applicationArn.assign(value); } + inline DeleteIdentityCenterApplicationRequest& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + inline DeleteIdentityCenterApplicationRequest& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + inline DeleteIdentityCenterApplicationRequest& WithApplicationArn(const char* value) { SetApplicationArn(value); return *this;} + ///@} + private: + + Aws::String m_applicationArn; + bool m_applicationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityCenterApplicationResult.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityCenterApplicationResult.h new file mode 100644 index 00000000000..201e2af91d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityCenterApplicationResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkMail +{ +namespace Model +{ + class DeleteIdentityCenterApplicationResult + { + public: + AWS_WORKMAIL_API DeleteIdentityCenterApplicationResult(); + AWS_WORKMAIL_API DeleteIdentityCenterApplicationResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKMAIL_API DeleteIdentityCenterApplicationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + 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 DeleteIdentityCenterApplicationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteIdentityCenterApplicationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteIdentityCenterApplicationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityProviderConfigurationRequest.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityProviderConfigurationRequest.h new file mode 100644 index 00000000000..4b53cb732bb --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityProviderConfigurationRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + + /** + */ + class DeleteIdentityProviderConfigurationRequest : public WorkMailRequest + { + public: + AWS_WORKMAIL_API DeleteIdentityProviderConfigurationRequest(); + + // 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 "DeleteIdentityProviderConfiguration"; } + + AWS_WORKMAIL_API Aws::String SerializePayload() const override; + + AWS_WORKMAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            The Organization ID.

            + */ + inline const Aws::String& GetOrganizationId() const{ return m_organizationId; } + inline bool OrganizationIdHasBeenSet() const { return m_organizationIdHasBeenSet; } + inline void SetOrganizationId(const Aws::String& value) { m_organizationIdHasBeenSet = true; m_organizationId = value; } + inline void SetOrganizationId(Aws::String&& value) { m_organizationIdHasBeenSet = true; m_organizationId = std::move(value); } + inline void SetOrganizationId(const char* value) { m_organizationIdHasBeenSet = true; m_organizationId.assign(value); } + inline DeleteIdentityProviderConfigurationRequest& WithOrganizationId(const Aws::String& value) { SetOrganizationId(value); return *this;} + inline DeleteIdentityProviderConfigurationRequest& WithOrganizationId(Aws::String&& value) { SetOrganizationId(std::move(value)); return *this;} + inline DeleteIdentityProviderConfigurationRequest& WithOrganizationId(const char* value) { SetOrganizationId(value); return *this;} + ///@} + private: + + Aws::String m_organizationId; + bool m_organizationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityProviderConfigurationResult.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityProviderConfigurationResult.h new file mode 100644 index 00000000000..89a44a10d82 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteIdentityProviderConfigurationResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkMail +{ +namespace Model +{ + class DeleteIdentityProviderConfigurationResult + { + public: + AWS_WORKMAIL_API DeleteIdentityProviderConfigurationResult(); + AWS_WORKMAIL_API DeleteIdentityProviderConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKMAIL_API DeleteIdentityProviderConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + 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 DeleteIdentityProviderConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeleteIdentityProviderConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeleteIdentityProviderConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteOrganizationRequest.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteOrganizationRequest.h index b1b85bff54d..c99d1f3a233 100644 --- a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteOrganizationRequest.h +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeleteOrganizationRequest.h @@ -84,6 +84,17 @@ namespace Model inline void SetForceDelete(bool value) { m_forceDeleteHasBeenSet = true; m_forceDelete = value; } inline DeleteOrganizationRequest& WithForceDelete(bool value) { SetForceDelete(value); return *this;} ///@} + + ///@{ + /** + *

            Deletes IAM Identity Center application for WorkMail. This action does not + * affect authentication settings for any organization.

            + */ + inline bool GetDeleteIdentityCenterApplication() const{ return m_deleteIdentityCenterApplication; } + inline bool DeleteIdentityCenterApplicationHasBeenSet() const { return m_deleteIdentityCenterApplicationHasBeenSet; } + inline void SetDeleteIdentityCenterApplication(bool value) { m_deleteIdentityCenterApplicationHasBeenSet = true; m_deleteIdentityCenterApplication = value; } + inline DeleteOrganizationRequest& WithDeleteIdentityCenterApplication(bool value) { SetDeleteIdentityCenterApplication(value); return *this;} + ///@} private: Aws::String m_clientToken; @@ -97,6 +108,9 @@ namespace Model bool m_forceDelete; bool m_forceDeleteHasBeenSet = false; + + bool m_deleteIdentityCenterApplication; + bool m_deleteIdentityCenterApplicationHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeletePersonalAccessTokenRequest.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeletePersonalAccessTokenRequest.h new file mode 100644 index 00000000000..f5d9b346c71 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeletePersonalAccessTokenRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + + /** + */ + class DeletePersonalAccessTokenRequest : public WorkMailRequest + { + public: + AWS_WORKMAIL_API DeletePersonalAccessTokenRequest(); + + // 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 "DeletePersonalAccessToken"; } + + AWS_WORKMAIL_API Aws::String SerializePayload() const override; + + AWS_WORKMAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            The Organization ID.

            + */ + inline const Aws::String& GetOrganizationId() const{ return m_organizationId; } + inline bool OrganizationIdHasBeenSet() const { return m_organizationIdHasBeenSet; } + inline void SetOrganizationId(const Aws::String& value) { m_organizationIdHasBeenSet = true; m_organizationId = value; } + inline void SetOrganizationId(Aws::String&& value) { m_organizationIdHasBeenSet = true; m_organizationId = std::move(value); } + inline void SetOrganizationId(const char* value) { m_organizationIdHasBeenSet = true; m_organizationId.assign(value); } + inline DeletePersonalAccessTokenRequest& WithOrganizationId(const Aws::String& value) { SetOrganizationId(value); return *this;} + inline DeletePersonalAccessTokenRequest& WithOrganizationId(Aws::String&& value) { SetOrganizationId(std::move(value)); return *this;} + inline DeletePersonalAccessTokenRequest& WithOrganizationId(const char* value) { SetOrganizationId(value); return *this;} + ///@} + + ///@{ + /** + *

            The Personal Access Token ID.

            + */ + inline const Aws::String& GetPersonalAccessTokenId() const{ return m_personalAccessTokenId; } + inline bool PersonalAccessTokenIdHasBeenSet() const { return m_personalAccessTokenIdHasBeenSet; } + inline void SetPersonalAccessTokenId(const Aws::String& value) { m_personalAccessTokenIdHasBeenSet = true; m_personalAccessTokenId = value; } + inline void SetPersonalAccessTokenId(Aws::String&& value) { m_personalAccessTokenIdHasBeenSet = true; m_personalAccessTokenId = std::move(value); } + inline void SetPersonalAccessTokenId(const char* value) { m_personalAccessTokenIdHasBeenSet = true; m_personalAccessTokenId.assign(value); } + inline DeletePersonalAccessTokenRequest& WithPersonalAccessTokenId(const Aws::String& value) { SetPersonalAccessTokenId(value); return *this;} + inline DeletePersonalAccessTokenRequest& WithPersonalAccessTokenId(Aws::String&& value) { SetPersonalAccessTokenId(std::move(value)); return *this;} + inline DeletePersonalAccessTokenRequest& WithPersonalAccessTokenId(const char* value) { SetPersonalAccessTokenId(value); return *this;} + ///@} + private: + + Aws::String m_organizationId; + bool m_organizationIdHasBeenSet = false; + + Aws::String m_personalAccessTokenId; + bool m_personalAccessTokenIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeletePersonalAccessTokenResult.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeletePersonalAccessTokenResult.h new file mode 100644 index 00000000000..ab60af104cb --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DeletePersonalAccessTokenResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkMail +{ +namespace Model +{ + class DeletePersonalAccessTokenResult + { + public: + AWS_WORKMAIL_API DeletePersonalAccessTokenResult(); + AWS_WORKMAIL_API DeletePersonalAccessTokenResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKMAIL_API DeletePersonalAccessTokenResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + 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 DeletePersonalAccessTokenResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DeletePersonalAccessTokenResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DeletePersonalAccessTokenResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DescribeIdentityProviderConfigurationRequest.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DescribeIdentityProviderConfigurationRequest.h new file mode 100644 index 00000000000..467be7a7acc --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DescribeIdentityProviderConfigurationRequest.h @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + + /** + */ + class DescribeIdentityProviderConfigurationRequest : public WorkMailRequest + { + public: + AWS_WORKMAIL_API DescribeIdentityProviderConfigurationRequest(); + + // 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 "DescribeIdentityProviderConfiguration"; } + + AWS_WORKMAIL_API Aws::String SerializePayload() const override; + + AWS_WORKMAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            The Organization ID.

            + */ + inline const Aws::String& GetOrganizationId() const{ return m_organizationId; } + inline bool OrganizationIdHasBeenSet() const { return m_organizationIdHasBeenSet; } + inline void SetOrganizationId(const Aws::String& value) { m_organizationIdHasBeenSet = true; m_organizationId = value; } + inline void SetOrganizationId(Aws::String&& value) { m_organizationIdHasBeenSet = true; m_organizationId = std::move(value); } + inline void SetOrganizationId(const char* value) { m_organizationIdHasBeenSet = true; m_organizationId.assign(value); } + inline DescribeIdentityProviderConfigurationRequest& WithOrganizationId(const Aws::String& value) { SetOrganizationId(value); return *this;} + inline DescribeIdentityProviderConfigurationRequest& WithOrganizationId(Aws::String&& value) { SetOrganizationId(std::move(value)); return *this;} + inline DescribeIdentityProviderConfigurationRequest& WithOrganizationId(const char* value) { SetOrganizationId(value); return *this;} + ///@} + private: + + Aws::String m_organizationId; + bool m_organizationIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DescribeIdentityProviderConfigurationResult.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DescribeIdentityProviderConfigurationResult.h new file mode 100644 index 00000000000..ef32f70a2fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DescribeIdentityProviderConfigurationResult.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkMail +{ +namespace Model +{ + class DescribeIdentityProviderConfigurationResult + { + public: + AWS_WORKMAIL_API DescribeIdentityProviderConfigurationResult(); + AWS_WORKMAIL_API DescribeIdentityProviderConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKMAIL_API DescribeIdentityProviderConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The authentication mode used in WorkMail.

            + */ + inline const IdentityProviderAuthenticationMode& GetAuthenticationMode() const{ return m_authenticationMode; } + inline void SetAuthenticationMode(const IdentityProviderAuthenticationMode& value) { m_authenticationMode = value; } + inline void SetAuthenticationMode(IdentityProviderAuthenticationMode&& value) { m_authenticationMode = std::move(value); } + inline DescribeIdentityProviderConfigurationResult& WithAuthenticationMode(const IdentityProviderAuthenticationMode& value) { SetAuthenticationMode(value); return *this;} + inline DescribeIdentityProviderConfigurationResult& WithAuthenticationMode(IdentityProviderAuthenticationMode&& value) { SetAuthenticationMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            The details of the IAM Identity Center configuration.

            + */ + inline const IdentityCenterConfiguration& GetIdentityCenterConfiguration() const{ return m_identityCenterConfiguration; } + inline void SetIdentityCenterConfiguration(const IdentityCenterConfiguration& value) { m_identityCenterConfiguration = value; } + inline void SetIdentityCenterConfiguration(IdentityCenterConfiguration&& value) { m_identityCenterConfiguration = std::move(value); } + inline DescribeIdentityProviderConfigurationResult& WithIdentityCenterConfiguration(const IdentityCenterConfiguration& value) { SetIdentityCenterConfiguration(value); return *this;} + inline DescribeIdentityProviderConfigurationResult& WithIdentityCenterConfiguration(IdentityCenterConfiguration&& value) { SetIdentityCenterConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            The details of the Personal Access Token configuration.

            + */ + inline const PersonalAccessTokenConfiguration& GetPersonalAccessTokenConfiguration() const{ return m_personalAccessTokenConfiguration; } + inline void SetPersonalAccessTokenConfiguration(const PersonalAccessTokenConfiguration& value) { m_personalAccessTokenConfiguration = value; } + inline void SetPersonalAccessTokenConfiguration(PersonalAccessTokenConfiguration&& value) { m_personalAccessTokenConfiguration = std::move(value); } + inline DescribeIdentityProviderConfigurationResult& WithPersonalAccessTokenConfiguration(const PersonalAccessTokenConfiguration& value) { SetPersonalAccessTokenConfiguration(value); return *this;} + inline DescribeIdentityProviderConfigurationResult& WithPersonalAccessTokenConfiguration(PersonalAccessTokenConfiguration&& value) { SetPersonalAccessTokenConfiguration(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 DescribeIdentityProviderConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline DescribeIdentityProviderConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline DescribeIdentityProviderConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + IdentityProviderAuthenticationMode m_authenticationMode; + + IdentityCenterConfiguration m_identityCenterConfiguration; + + PersonalAccessTokenConfiguration m_personalAccessTokenConfiguration; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DescribeUserResult.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DescribeUserResult.h index 2f5d6eb006a..f55721cb503 100644 --- a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DescribeUserResult.h +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/DescribeUserResult.h @@ -326,6 +326,36 @@ namespace Model inline DescribeUserResult& WithOffice(const char* value) { SetOffice(value); return *this;} ///@} + ///@{ + /** + *

            User ID from the IAM Identity Center. If this parameter is empty it will be + * updated automatically when the user logs in for the first time to the mailbox + * associated with WorkMail.

            + */ + inline const Aws::String& GetIdentityProviderUserId() const{ return m_identityProviderUserId; } + inline void SetIdentityProviderUserId(const Aws::String& value) { m_identityProviderUserId = value; } + inline void SetIdentityProviderUserId(Aws::String&& value) { m_identityProviderUserId = std::move(value); } + inline void SetIdentityProviderUserId(const char* value) { m_identityProviderUserId.assign(value); } + inline DescribeUserResult& WithIdentityProviderUserId(const Aws::String& value) { SetIdentityProviderUserId(value); return *this;} + inline DescribeUserResult& WithIdentityProviderUserId(Aws::String&& value) { SetIdentityProviderUserId(std::move(value)); return *this;} + inline DescribeUserResult& WithIdentityProviderUserId(const char* value) { SetIdentityProviderUserId(value); return *this;} + ///@} + + ///@{ + /** + *

            Identity Store ID from the IAM Identity Center. If this parameter is empty + * it will be updated automatically when the user logs in for the first time to the + * mailbox associated with WorkMail.

            + */ + inline const Aws::String& GetIdentityProviderIdentityStoreId() const{ return m_identityProviderIdentityStoreId; } + inline void SetIdentityProviderIdentityStoreId(const Aws::String& value) { m_identityProviderIdentityStoreId = value; } + inline void SetIdentityProviderIdentityStoreId(Aws::String&& value) { m_identityProviderIdentityStoreId = std::move(value); } + inline void SetIdentityProviderIdentityStoreId(const char* value) { m_identityProviderIdentityStoreId.assign(value); } + inline DescribeUserResult& WithIdentityProviderIdentityStoreId(const Aws::String& value) { SetIdentityProviderIdentityStoreId(value); return *this;} + inline DescribeUserResult& WithIdentityProviderIdentityStoreId(Aws::String&& value) { SetIdentityProviderIdentityStoreId(std::move(value)); return *this;} + inline DescribeUserResult& WithIdentityProviderIdentityStoreId(const char* value) { SetIdentityProviderIdentityStoreId(value); return *this;} + ///@} + ///@{ inline const Aws::String& GetRequestId() const{ return m_requestId; } @@ -384,6 +414,10 @@ namespace Model Aws::String m_office; + Aws::String m_identityProviderUserId; + + Aws::String m_identityProviderIdentityStoreId; + Aws::String m_requestId; }; diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/GetPersonalAccessTokenMetadataRequest.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/GetPersonalAccessTokenMetadataRequest.h new file mode 100644 index 00000000000..0e44843aefb --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/GetPersonalAccessTokenMetadataRequest.h @@ -0,0 +1,75 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + + /** + */ + class GetPersonalAccessTokenMetadataRequest : public WorkMailRequest + { + public: + AWS_WORKMAIL_API GetPersonalAccessTokenMetadataRequest(); + + // 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 "GetPersonalAccessTokenMetadata"; } + + AWS_WORKMAIL_API Aws::String SerializePayload() const override; + + AWS_WORKMAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            The Organization ID.

            + */ + inline const Aws::String& GetOrganizationId() const{ return m_organizationId; } + inline bool OrganizationIdHasBeenSet() const { return m_organizationIdHasBeenSet; } + inline void SetOrganizationId(const Aws::String& value) { m_organizationIdHasBeenSet = true; m_organizationId = value; } + inline void SetOrganizationId(Aws::String&& value) { m_organizationIdHasBeenSet = true; m_organizationId = std::move(value); } + inline void SetOrganizationId(const char* value) { m_organizationIdHasBeenSet = true; m_organizationId.assign(value); } + inline GetPersonalAccessTokenMetadataRequest& WithOrganizationId(const Aws::String& value) { SetOrganizationId(value); return *this;} + inline GetPersonalAccessTokenMetadataRequest& WithOrganizationId(Aws::String&& value) { SetOrganizationId(std::move(value)); return *this;} + inline GetPersonalAccessTokenMetadataRequest& WithOrganizationId(const char* value) { SetOrganizationId(value); return *this;} + ///@} + + ///@{ + /** + *

            The Personal Access Token ID.

            + */ + inline const Aws::String& GetPersonalAccessTokenId() const{ return m_personalAccessTokenId; } + inline bool PersonalAccessTokenIdHasBeenSet() const { return m_personalAccessTokenIdHasBeenSet; } + inline void SetPersonalAccessTokenId(const Aws::String& value) { m_personalAccessTokenIdHasBeenSet = true; m_personalAccessTokenId = value; } + inline void SetPersonalAccessTokenId(Aws::String&& value) { m_personalAccessTokenIdHasBeenSet = true; m_personalAccessTokenId = std::move(value); } + inline void SetPersonalAccessTokenId(const char* value) { m_personalAccessTokenIdHasBeenSet = true; m_personalAccessTokenId.assign(value); } + inline GetPersonalAccessTokenMetadataRequest& WithPersonalAccessTokenId(const Aws::String& value) { SetPersonalAccessTokenId(value); return *this;} + inline GetPersonalAccessTokenMetadataRequest& WithPersonalAccessTokenId(Aws::String&& value) { SetPersonalAccessTokenId(std::move(value)); return *this;} + inline GetPersonalAccessTokenMetadataRequest& WithPersonalAccessTokenId(const char* value) { SetPersonalAccessTokenId(value); return *this;} + ///@} + private: + + Aws::String m_organizationId; + bool m_organizationIdHasBeenSet = false; + + Aws::String m_personalAccessTokenId; + bool m_personalAccessTokenIdHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/GetPersonalAccessTokenMetadataResult.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/GetPersonalAccessTokenMetadataResult.h new file mode 100644 index 00000000000..2f6fa9a4d51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/GetPersonalAccessTokenMetadataResult.h @@ -0,0 +1,154 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkMail +{ +namespace Model +{ + class GetPersonalAccessTokenMetadataResult + { + public: + AWS_WORKMAIL_API GetPersonalAccessTokenMetadataResult(); + AWS_WORKMAIL_API GetPersonalAccessTokenMetadataResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKMAIL_API GetPersonalAccessTokenMetadataResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The Personal Access Token ID.

            + */ + inline const Aws::String& GetPersonalAccessTokenId() const{ return m_personalAccessTokenId; } + inline void SetPersonalAccessTokenId(const Aws::String& value) { m_personalAccessTokenId = value; } + inline void SetPersonalAccessTokenId(Aws::String&& value) { m_personalAccessTokenId = std::move(value); } + inline void SetPersonalAccessTokenId(const char* value) { m_personalAccessTokenId.assign(value); } + inline GetPersonalAccessTokenMetadataResult& WithPersonalAccessTokenId(const Aws::String& value) { SetPersonalAccessTokenId(value); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithPersonalAccessTokenId(Aws::String&& value) { SetPersonalAccessTokenId(std::move(value)); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithPersonalAccessTokenId(const char* value) { SetPersonalAccessTokenId(value); return *this;} + ///@} + + ///@{ + /** + *

            The WorkMail User ID.

            + */ + inline const Aws::String& GetUserId() const{ return m_userId; } + inline void SetUserId(const Aws::String& value) { m_userId = value; } + inline void SetUserId(Aws::String&& value) { m_userId = std::move(value); } + inline void SetUserId(const char* value) { m_userId.assign(value); } + inline GetPersonalAccessTokenMetadataResult& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithUserId(const char* value) { SetUserId(value); return *this;} + ///@} + + ///@{ + /** + *

            The Personal Access Token name.

            + */ + 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 GetPersonalAccessTokenMetadataResult& WithName(const Aws::String& value) { SetName(value); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

            The date when the Personal Access Token ID was created.

            + */ + inline const Aws::Utils::DateTime& GetDateCreated() const{ return m_dateCreated; } + inline void SetDateCreated(const Aws::Utils::DateTime& value) { m_dateCreated = value; } + inline void SetDateCreated(Aws::Utils::DateTime&& value) { m_dateCreated = std::move(value); } + inline GetPersonalAccessTokenMetadataResult& WithDateCreated(const Aws::Utils::DateTime& value) { SetDateCreated(value); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithDateCreated(Aws::Utils::DateTime&& value) { SetDateCreated(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            The date when the Personal Access Token ID was last used.

            + */ + inline const Aws::Utils::DateTime& GetDateLastUsed() const{ return m_dateLastUsed; } + inline void SetDateLastUsed(const Aws::Utils::DateTime& value) { m_dateLastUsed = value; } + inline void SetDateLastUsed(Aws::Utils::DateTime&& value) { m_dateLastUsed = std::move(value); } + inline GetPersonalAccessTokenMetadataResult& WithDateLastUsed(const Aws::Utils::DateTime& value) { SetDateLastUsed(value); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithDateLastUsed(Aws::Utils::DateTime&& value) { SetDateLastUsed(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            The time when the Personal Access Token ID will expire.

            + */ + inline const Aws::Utils::DateTime& GetExpiresTime() const{ return m_expiresTime; } + inline void SetExpiresTime(const Aws::Utils::DateTime& value) { m_expiresTime = value; } + inline void SetExpiresTime(Aws::Utils::DateTime&& value) { m_expiresTime = std::move(value); } + inline GetPersonalAccessTokenMetadataResult& WithExpiresTime(const Aws::Utils::DateTime& value) { SetExpiresTime(value); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithExpiresTime(Aws::Utils::DateTime&& value) { SetExpiresTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            Lists all the Personal Access Token permissions for a mailbox.

            + */ + inline const Aws::Vector& GetScopes() const{ return m_scopes; } + inline void SetScopes(const Aws::Vector& value) { m_scopes = value; } + inline void SetScopes(Aws::Vector&& value) { m_scopes = std::move(value); } + inline GetPersonalAccessTokenMetadataResult& WithScopes(const Aws::Vector& value) { SetScopes(value); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithScopes(Aws::Vector&& value) { SetScopes(std::move(value)); return *this;} + inline GetPersonalAccessTokenMetadataResult& AddScopes(const Aws::String& value) { m_scopes.push_back(value); return *this; } + inline GetPersonalAccessTokenMetadataResult& AddScopes(Aws::String&& value) { m_scopes.push_back(std::move(value)); return *this; } + inline GetPersonalAccessTokenMetadataResult& AddScopes(const char* value) { m_scopes.push_back(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 GetPersonalAccessTokenMetadataResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline GetPersonalAccessTokenMetadataResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_personalAccessTokenId; + + Aws::String m_userId; + + Aws::String m_name; + + Aws::Utils::DateTime m_dateCreated; + + Aws::Utils::DateTime m_dateLastUsed; + + Aws::Utils::DateTime m_expiresTime; + + Aws::Vector m_scopes; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/IdentityCenterConfiguration.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/IdentityCenterConfiguration.h new file mode 100644 index 00000000000..ecae9c3f6b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/IdentityCenterConfiguration.h @@ -0,0 +1,81 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkMail +{ +namespace Model +{ + + /** + *

            The IAM Identity Center configuration.

            See Also:

            AWS + * API Reference

            + */ + class IdentityCenterConfiguration + { + public: + AWS_WORKMAIL_API IdentityCenterConfiguration(); + AWS_WORKMAIL_API IdentityCenterConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKMAIL_API IdentityCenterConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKMAIL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

            The Amazon Resource Name (ARN) of the of IAM Identity Center instance. Must + * be in the same AWS account and region as WorkMail organization.

            + */ + inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; } + inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; } + inline void SetInstanceArn(const Aws::String& value) { m_instanceArnHasBeenSet = true; m_instanceArn = value; } + inline void SetInstanceArn(Aws::String&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::move(value); } + inline void SetInstanceArn(const char* value) { m_instanceArnHasBeenSet = true; m_instanceArn.assign(value); } + inline IdentityCenterConfiguration& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;} + inline IdentityCenterConfiguration& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;} + inline IdentityCenterConfiguration& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;} + ///@} + + ///@{ + /** + *

            The Amazon Resource Name (ARN) of IAMIdentity Center Application for + * WorkMail. Must be created by the WorkMail API, see + * CreateIdentityCenterApplication.

            + */ + inline const Aws::String& GetApplicationArn() const{ return m_applicationArn; } + inline bool ApplicationArnHasBeenSet() const { return m_applicationArnHasBeenSet; } + inline void SetApplicationArn(const Aws::String& value) { m_applicationArnHasBeenSet = true; m_applicationArn = value; } + inline void SetApplicationArn(Aws::String&& value) { m_applicationArnHasBeenSet = true; m_applicationArn = std::move(value); } + inline void SetApplicationArn(const char* value) { m_applicationArnHasBeenSet = true; m_applicationArn.assign(value); } + inline IdentityCenterConfiguration& WithApplicationArn(const Aws::String& value) { SetApplicationArn(value); return *this;} + inline IdentityCenterConfiguration& WithApplicationArn(Aws::String&& value) { SetApplicationArn(std::move(value)); return *this;} + inline IdentityCenterConfiguration& WithApplicationArn(const char* value) { SetApplicationArn(value); return *this;} + ///@} + private: + + Aws::String m_instanceArn; + bool m_instanceArnHasBeenSet = false; + + Aws::String m_applicationArn; + bool m_applicationArnHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/IdentityProviderAuthenticationMode.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/IdentityProviderAuthenticationMode.h new file mode 100644 index 00000000000..3ce8fc54f55 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/IdentityProviderAuthenticationMode.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + enum class IdentityProviderAuthenticationMode + { + NOT_SET, + IDENTITY_PROVIDER_ONLY, + IDENTITY_PROVIDER_AND_DIRECTORY + }; + +namespace IdentityProviderAuthenticationModeMapper +{ +AWS_WORKMAIL_API IdentityProviderAuthenticationMode GetIdentityProviderAuthenticationModeForName(const Aws::String& name); + +AWS_WORKMAIL_API Aws::String GetNameForIdentityProviderAuthenticationMode(IdentityProviderAuthenticationMode value); +} // namespace IdentityProviderAuthenticationModeMapper +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/ListPersonalAccessTokensRequest.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/ListPersonalAccessTokensRequest.h new file mode 100644 index 00000000000..42770fd3b9b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/ListPersonalAccessTokensRequest.h @@ -0,0 +1,105 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + + /** + */ + class ListPersonalAccessTokensRequest : public WorkMailRequest + { + public: + AWS_WORKMAIL_API ListPersonalAccessTokensRequest(); + + // 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 "ListPersonalAccessTokens"; } + + AWS_WORKMAIL_API Aws::String SerializePayload() const override; + + AWS_WORKMAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            The Organization ID.

            + */ + inline const Aws::String& GetOrganizationId() const{ return m_organizationId; } + inline bool OrganizationIdHasBeenSet() const { return m_organizationIdHasBeenSet; } + inline void SetOrganizationId(const Aws::String& value) { m_organizationIdHasBeenSet = true; m_organizationId = value; } + inline void SetOrganizationId(Aws::String&& value) { m_organizationIdHasBeenSet = true; m_organizationId = std::move(value); } + inline void SetOrganizationId(const char* value) { m_organizationIdHasBeenSet = true; m_organizationId.assign(value); } + inline ListPersonalAccessTokensRequest& WithOrganizationId(const Aws::String& value) { SetOrganizationId(value); return *this;} + inline ListPersonalAccessTokensRequest& WithOrganizationId(Aws::String&& value) { SetOrganizationId(std::move(value)); return *this;} + inline ListPersonalAccessTokensRequest& WithOrganizationId(const char* value) { SetOrganizationId(value); return *this;} + ///@} + + ///@{ + /** + *

            The WorkMail User ID.

            + */ + inline const Aws::String& GetUserId() const{ return m_userId; } + inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } + inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } + inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } + inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } + inline ListPersonalAccessTokensRequest& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} + inline ListPersonalAccessTokensRequest& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} + inline ListPersonalAccessTokensRequest& WithUserId(const char* value) { SetUserId(value); return *this;} + ///@} + + ///@{ + /** + *

            The token from the previous response to query the next page.

            + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } + inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } + inline ListPersonalAccessTokensRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListPersonalAccessTokensRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListPersonalAccessTokensRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

            The maximum amount of items that should be returned in a response.

            + */ + inline int GetMaxResults() const{ return m_maxResults; } + inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } + inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } + inline ListPersonalAccessTokensRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} + ///@} + private: + + Aws::String m_organizationId; + bool m_organizationIdHasBeenSet = false; + + Aws::String m_userId; + bool m_userIdHasBeenSet = false; + + Aws::String m_nextToken; + bool m_nextTokenHasBeenSet = false; + + int m_maxResults; + bool m_maxResultsHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/ListPersonalAccessTokensResult.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/ListPersonalAccessTokensResult.h new file mode 100644 index 00000000000..3e8deffc84b --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/ListPersonalAccessTokensResult.h @@ -0,0 +1,85 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkMail +{ +namespace Model +{ + class ListPersonalAccessTokensResult + { + public: + AWS_WORKMAIL_API ListPersonalAccessTokensResult(); + AWS_WORKMAIL_API ListPersonalAccessTokensResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKMAIL_API ListPersonalAccessTokensResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + /** + *

            The token from the previous response to query the next page.

            + */ + inline const Aws::String& GetNextToken() const{ return m_nextToken; } + inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } + inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } + inline void SetNextToken(const char* value) { m_nextToken.assign(value); } + inline ListPersonalAccessTokensResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} + inline ListPersonalAccessTokensResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} + inline ListPersonalAccessTokensResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} + ///@} + + ///@{ + /** + *

            Lists all the personal tokens in an organization or user, if user ID is + * provided.

            + */ + inline const Aws::Vector& GetPersonalAccessTokenSummaries() const{ return m_personalAccessTokenSummaries; } + inline void SetPersonalAccessTokenSummaries(const Aws::Vector& value) { m_personalAccessTokenSummaries = value; } + inline void SetPersonalAccessTokenSummaries(Aws::Vector&& value) { m_personalAccessTokenSummaries = std::move(value); } + inline ListPersonalAccessTokensResult& WithPersonalAccessTokenSummaries(const Aws::Vector& value) { SetPersonalAccessTokenSummaries(value); return *this;} + inline ListPersonalAccessTokensResult& WithPersonalAccessTokenSummaries(Aws::Vector&& value) { SetPersonalAccessTokenSummaries(std::move(value)); return *this;} + inline ListPersonalAccessTokensResult& AddPersonalAccessTokenSummaries(const PersonalAccessTokenSummary& value) { m_personalAccessTokenSummaries.push_back(value); return *this; } + inline ListPersonalAccessTokensResult& AddPersonalAccessTokenSummaries(PersonalAccessTokenSummary&& value) { m_personalAccessTokenSummaries.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 ListPersonalAccessTokensResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline ListPersonalAccessTokensResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline ListPersonalAccessTokensResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_nextToken; + + Aws::Vector m_personalAccessTokenSummaries; + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/ListUsersFilters.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/ListUsersFilters.h index 4dbd74c0a90..7e93d185a28 100644 --- a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/ListUsersFilters.h +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/ListUsersFilters.h @@ -92,6 +92,20 @@ namespace Model inline ListUsersFilters& WithState(const EntityState& value) { SetState(value); return *this;} inline ListUsersFilters& WithState(EntityState&& value) { SetState(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

            Filters only users with the ID from the IAM Identity Center.

            + */ + inline const Aws::String& GetIdentityProviderUserIdPrefix() const{ return m_identityProviderUserIdPrefix; } + inline bool IdentityProviderUserIdPrefixHasBeenSet() const { return m_identityProviderUserIdPrefixHasBeenSet; } + inline void SetIdentityProviderUserIdPrefix(const Aws::String& value) { m_identityProviderUserIdPrefixHasBeenSet = true; m_identityProviderUserIdPrefix = value; } + inline void SetIdentityProviderUserIdPrefix(Aws::String&& value) { m_identityProviderUserIdPrefixHasBeenSet = true; m_identityProviderUserIdPrefix = std::move(value); } + inline void SetIdentityProviderUserIdPrefix(const char* value) { m_identityProviderUserIdPrefixHasBeenSet = true; m_identityProviderUserIdPrefix.assign(value); } + inline ListUsersFilters& WithIdentityProviderUserIdPrefix(const Aws::String& value) { SetIdentityProviderUserIdPrefix(value); return *this;} + inline ListUsersFilters& WithIdentityProviderUserIdPrefix(Aws::String&& value) { SetIdentityProviderUserIdPrefix(std::move(value)); return *this;} + inline ListUsersFilters& WithIdentityProviderUserIdPrefix(const char* value) { SetIdentityProviderUserIdPrefix(value); return *this;} + ///@} private: Aws::String m_usernamePrefix; @@ -105,6 +119,9 @@ namespace Model EntityState m_state; bool m_stateHasBeenSet = false; + + Aws::String m_identityProviderUserIdPrefix; + bool m_identityProviderUserIdPrefixHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PersonalAccessTokenConfiguration.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PersonalAccessTokenConfiguration.h new file mode 100644 index 00000000000..55705da5ae0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PersonalAccessTokenConfiguration.h @@ -0,0 +1,80 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkMail +{ +namespace Model +{ + + /** + *

            Displays the Personal Access Token status.

            See Also:

            AWS + * API Reference

            + */ + class PersonalAccessTokenConfiguration + { + public: + AWS_WORKMAIL_API PersonalAccessTokenConfiguration(); + AWS_WORKMAIL_API PersonalAccessTokenConfiguration(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKMAIL_API PersonalAccessTokenConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKMAIL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

            The status of the Personal Access Token allowed for the organization.

            + *
            • Active - Mailbox users can login to the web application and + * choose Settings to see the new Personal Access Tokens page to + * create and delete the Personal Access Tokens. Mailbox users can use the Personal + * Access Tokens to set up mailbox connection from desktop or mobile email + * clients.

            • Inactive - Personal Access Tokens are + * disabled for your organization. Mailbox users can’t create, list, or delete + * Personal Access Tokens and can’t use them to connect to their mailboxes from + * desktop or mobile email clients.

            + */ + inline const PersonalAccessTokenConfigurationStatus& GetStatus() const{ return m_status; } + inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } + inline void SetStatus(const PersonalAccessTokenConfigurationStatus& value) { m_statusHasBeenSet = true; m_status = value; } + inline void SetStatus(PersonalAccessTokenConfigurationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } + inline PersonalAccessTokenConfiguration& WithStatus(const PersonalAccessTokenConfigurationStatus& value) { SetStatus(value); return *this;} + inline PersonalAccessTokenConfiguration& WithStatus(PersonalAccessTokenConfigurationStatus&& value) { SetStatus(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            The validity of the Personal Access Token status in days.

            + */ + inline int GetLifetimeInDays() const{ return m_lifetimeInDays; } + inline bool LifetimeInDaysHasBeenSet() const { return m_lifetimeInDaysHasBeenSet; } + inline void SetLifetimeInDays(int value) { m_lifetimeInDaysHasBeenSet = true; m_lifetimeInDays = value; } + inline PersonalAccessTokenConfiguration& WithLifetimeInDays(int value) { SetLifetimeInDays(value); return *this;} + ///@} + private: + + PersonalAccessTokenConfigurationStatus m_status; + bool m_statusHasBeenSet = false; + + int m_lifetimeInDays; + bool m_lifetimeInDaysHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PersonalAccessTokenConfigurationStatus.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PersonalAccessTokenConfigurationStatus.h new file mode 100644 index 00000000000..d79f73b29ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PersonalAccessTokenConfigurationStatus.h @@ -0,0 +1,31 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + enum class PersonalAccessTokenConfigurationStatus + { + NOT_SET, + ACTIVE, + INACTIVE + }; + +namespace PersonalAccessTokenConfigurationStatusMapper +{ +AWS_WORKMAIL_API PersonalAccessTokenConfigurationStatus GetPersonalAccessTokenConfigurationStatusForName(const Aws::String& name); + +AWS_WORKMAIL_API Aws::String GetNameForPersonalAccessTokenConfigurationStatus(PersonalAccessTokenConfigurationStatus value); +} // namespace PersonalAccessTokenConfigurationStatusMapper +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PersonalAccessTokenSummary.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PersonalAccessTokenSummary.h new file mode 100644 index 00000000000..0157612ba2d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PersonalAccessTokenSummary.h @@ -0,0 +1,161 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace Utils +{ +namespace Json +{ + class JsonValue; + class JsonView; +} // namespace Json +} // namespace Utils +namespace WorkMail +{ +namespace Model +{ + + /** + *

            The summary of the Personal Access Token.

            See Also:

            AWS + * API Reference

            + */ + class PersonalAccessTokenSummary + { + public: + AWS_WORKMAIL_API PersonalAccessTokenSummary(); + AWS_WORKMAIL_API PersonalAccessTokenSummary(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKMAIL_API PersonalAccessTokenSummary& operator=(Aws::Utils::Json::JsonView jsonValue); + AWS_WORKMAIL_API Aws::Utils::Json::JsonValue Jsonize() const; + + + ///@{ + /** + *

            The ID of the Personal Access Token.

            + */ + inline const Aws::String& GetPersonalAccessTokenId() const{ return m_personalAccessTokenId; } + inline bool PersonalAccessTokenIdHasBeenSet() const { return m_personalAccessTokenIdHasBeenSet; } + inline void SetPersonalAccessTokenId(const Aws::String& value) { m_personalAccessTokenIdHasBeenSet = true; m_personalAccessTokenId = value; } + inline void SetPersonalAccessTokenId(Aws::String&& value) { m_personalAccessTokenIdHasBeenSet = true; m_personalAccessTokenId = std::move(value); } + inline void SetPersonalAccessTokenId(const char* value) { m_personalAccessTokenIdHasBeenSet = true; m_personalAccessTokenId.assign(value); } + inline PersonalAccessTokenSummary& WithPersonalAccessTokenId(const Aws::String& value) { SetPersonalAccessTokenId(value); return *this;} + inline PersonalAccessTokenSummary& WithPersonalAccessTokenId(Aws::String&& value) { SetPersonalAccessTokenId(std::move(value)); return *this;} + inline PersonalAccessTokenSummary& WithPersonalAccessTokenId(const char* value) { SetPersonalAccessTokenId(value); return *this;} + ///@} + + ///@{ + /** + *

            The user ID of the WorkMail user associated with the Personal Access Token. + *

            + */ + inline const Aws::String& GetUserId() const{ return m_userId; } + inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } + inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; } + inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); } + inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); } + inline PersonalAccessTokenSummary& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} + inline PersonalAccessTokenSummary& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} + inline PersonalAccessTokenSummary& WithUserId(const char* value) { SetUserId(value); return *this;} + ///@} + + ///@{ + /** + *

            The name of the Personal Access Token.

            + */ + 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 PersonalAccessTokenSummary& WithName(const Aws::String& value) { SetName(value); return *this;} + inline PersonalAccessTokenSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} + inline PersonalAccessTokenSummary& WithName(const char* value) { SetName(value); return *this;} + ///@} + + ///@{ + /** + *

            The date when the Personal Access Token was created.

            + */ + inline const Aws::Utils::DateTime& GetDateCreated() const{ return m_dateCreated; } + inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; } + inline void SetDateCreated(const Aws::Utils::DateTime& value) { m_dateCreatedHasBeenSet = true; m_dateCreated = value; } + inline void SetDateCreated(Aws::Utils::DateTime&& value) { m_dateCreatedHasBeenSet = true; m_dateCreated = std::move(value); } + inline PersonalAccessTokenSummary& WithDateCreated(const Aws::Utils::DateTime& value) { SetDateCreated(value); return *this;} + inline PersonalAccessTokenSummary& WithDateCreated(Aws::Utils::DateTime&& value) { SetDateCreated(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            The date when the Personal Access Token was last used.

            + */ + inline const Aws::Utils::DateTime& GetDateLastUsed() const{ return m_dateLastUsed; } + inline bool DateLastUsedHasBeenSet() const { return m_dateLastUsedHasBeenSet; } + inline void SetDateLastUsed(const Aws::Utils::DateTime& value) { m_dateLastUsedHasBeenSet = true; m_dateLastUsed = value; } + inline void SetDateLastUsed(Aws::Utils::DateTime&& value) { m_dateLastUsedHasBeenSet = true; m_dateLastUsed = std::move(value); } + inline PersonalAccessTokenSummary& WithDateLastUsed(const Aws::Utils::DateTime& value) { SetDateLastUsed(value); return *this;} + inline PersonalAccessTokenSummary& WithDateLastUsed(Aws::Utils::DateTime&& value) { SetDateLastUsed(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            The date when the Personal Access Token will expire.

            + */ + inline const Aws::Utils::DateTime& GetExpiresTime() const{ return m_expiresTime; } + inline bool ExpiresTimeHasBeenSet() const { return m_expiresTimeHasBeenSet; } + inline void SetExpiresTime(const Aws::Utils::DateTime& value) { m_expiresTimeHasBeenSet = true; m_expiresTime = value; } + inline void SetExpiresTime(Aws::Utils::DateTime&& value) { m_expiresTimeHasBeenSet = true; m_expiresTime = std::move(value); } + inline PersonalAccessTokenSummary& WithExpiresTime(const Aws::Utils::DateTime& value) { SetExpiresTime(value); return *this;} + inline PersonalAccessTokenSummary& WithExpiresTime(Aws::Utils::DateTime&& value) { SetExpiresTime(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            Lists all the Personal Access Token permissions for a mailbox.

            + */ + inline const Aws::Vector& GetScopes() const{ return m_scopes; } + inline bool ScopesHasBeenSet() const { return m_scopesHasBeenSet; } + inline void SetScopes(const Aws::Vector& value) { m_scopesHasBeenSet = true; m_scopes = value; } + inline void SetScopes(Aws::Vector&& value) { m_scopesHasBeenSet = true; m_scopes = std::move(value); } + inline PersonalAccessTokenSummary& WithScopes(const Aws::Vector& value) { SetScopes(value); return *this;} + inline PersonalAccessTokenSummary& WithScopes(Aws::Vector&& value) { SetScopes(std::move(value)); return *this;} + inline PersonalAccessTokenSummary& AddScopes(const Aws::String& value) { m_scopesHasBeenSet = true; m_scopes.push_back(value); return *this; } + inline PersonalAccessTokenSummary& AddScopes(Aws::String&& value) { m_scopesHasBeenSet = true; m_scopes.push_back(std::move(value)); return *this; } + inline PersonalAccessTokenSummary& AddScopes(const char* value) { m_scopesHasBeenSet = true; m_scopes.push_back(value); return *this; } + ///@} + private: + + Aws::String m_personalAccessTokenId; + bool m_personalAccessTokenIdHasBeenSet = false; + + Aws::String m_userId; + bool m_userIdHasBeenSet = false; + + Aws::String m_name; + bool m_nameHasBeenSet = false; + + Aws::Utils::DateTime m_dateCreated; + bool m_dateCreatedHasBeenSet = false; + + Aws::Utils::DateTime m_dateLastUsed; + bool m_dateLastUsedHasBeenSet = false; + + Aws::Utils::DateTime m_expiresTime; + bool m_expiresTimeHasBeenSet = false; + + Aws::Vector m_scopes; + bool m_scopesHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PutIdentityProviderConfigurationRequest.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PutIdentityProviderConfigurationRequest.h new file mode 100644 index 00000000000..9c168304c29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PutIdentityProviderConfigurationRequest.h @@ -0,0 +1,106 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include +#include +#include +#include +#include + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + + /** + */ + class PutIdentityProviderConfigurationRequest : public WorkMailRequest + { + public: + AWS_WORKMAIL_API PutIdentityProviderConfigurationRequest(); + + // 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 "PutIdentityProviderConfiguration"; } + + AWS_WORKMAIL_API Aws::String SerializePayload() const override; + + AWS_WORKMAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; + + + ///@{ + /** + *

            The ID of the WorkMail Organization.

            + */ + inline const Aws::String& GetOrganizationId() const{ return m_organizationId; } + inline bool OrganizationIdHasBeenSet() const { return m_organizationIdHasBeenSet; } + inline void SetOrganizationId(const Aws::String& value) { m_organizationIdHasBeenSet = true; m_organizationId = value; } + inline void SetOrganizationId(Aws::String&& value) { m_organizationIdHasBeenSet = true; m_organizationId = std::move(value); } + inline void SetOrganizationId(const char* value) { m_organizationIdHasBeenSet = true; m_organizationId.assign(value); } + inline PutIdentityProviderConfigurationRequest& WithOrganizationId(const Aws::String& value) { SetOrganizationId(value); return *this;} + inline PutIdentityProviderConfigurationRequest& WithOrganizationId(Aws::String&& value) { SetOrganizationId(std::move(value)); return *this;} + inline PutIdentityProviderConfigurationRequest& WithOrganizationId(const char* value) { SetOrganizationId(value); return *this;} + ///@} + + ///@{ + /** + *

            The authentication mode used in WorkMail.

            + */ + inline const IdentityProviderAuthenticationMode& GetAuthenticationMode() const{ return m_authenticationMode; } + inline bool AuthenticationModeHasBeenSet() const { return m_authenticationModeHasBeenSet; } + inline void SetAuthenticationMode(const IdentityProviderAuthenticationMode& value) { m_authenticationModeHasBeenSet = true; m_authenticationMode = value; } + inline void SetAuthenticationMode(IdentityProviderAuthenticationMode&& value) { m_authenticationModeHasBeenSet = true; m_authenticationMode = std::move(value); } + inline PutIdentityProviderConfigurationRequest& WithAuthenticationMode(const IdentityProviderAuthenticationMode& value) { SetAuthenticationMode(value); return *this;} + inline PutIdentityProviderConfigurationRequest& WithAuthenticationMode(IdentityProviderAuthenticationMode&& value) { SetAuthenticationMode(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            The details of the IAM Identity Center configuration.

            + */ + inline const IdentityCenterConfiguration& GetIdentityCenterConfiguration() const{ return m_identityCenterConfiguration; } + inline bool IdentityCenterConfigurationHasBeenSet() const { return m_identityCenterConfigurationHasBeenSet; } + inline void SetIdentityCenterConfiguration(const IdentityCenterConfiguration& value) { m_identityCenterConfigurationHasBeenSet = true; m_identityCenterConfiguration = value; } + inline void SetIdentityCenterConfiguration(IdentityCenterConfiguration&& value) { m_identityCenterConfigurationHasBeenSet = true; m_identityCenterConfiguration = std::move(value); } + inline PutIdentityProviderConfigurationRequest& WithIdentityCenterConfiguration(const IdentityCenterConfiguration& value) { SetIdentityCenterConfiguration(value); return *this;} + inline PutIdentityProviderConfigurationRequest& WithIdentityCenterConfiguration(IdentityCenterConfiguration&& value) { SetIdentityCenterConfiguration(std::move(value)); return *this;} + ///@} + + ///@{ + /** + *

            The details of the Personal Access Token configuration.

            + */ + inline const PersonalAccessTokenConfiguration& GetPersonalAccessTokenConfiguration() const{ return m_personalAccessTokenConfiguration; } + inline bool PersonalAccessTokenConfigurationHasBeenSet() const { return m_personalAccessTokenConfigurationHasBeenSet; } + inline void SetPersonalAccessTokenConfiguration(const PersonalAccessTokenConfiguration& value) { m_personalAccessTokenConfigurationHasBeenSet = true; m_personalAccessTokenConfiguration = value; } + inline void SetPersonalAccessTokenConfiguration(PersonalAccessTokenConfiguration&& value) { m_personalAccessTokenConfigurationHasBeenSet = true; m_personalAccessTokenConfiguration = std::move(value); } + inline PutIdentityProviderConfigurationRequest& WithPersonalAccessTokenConfiguration(const PersonalAccessTokenConfiguration& value) { SetPersonalAccessTokenConfiguration(value); return *this;} + inline PutIdentityProviderConfigurationRequest& WithPersonalAccessTokenConfiguration(PersonalAccessTokenConfiguration&& value) { SetPersonalAccessTokenConfiguration(std::move(value)); return *this;} + ///@} + private: + + Aws::String m_organizationId; + bool m_organizationIdHasBeenSet = false; + + IdentityProviderAuthenticationMode m_authenticationMode; + bool m_authenticationModeHasBeenSet = false; + + IdentityCenterConfiguration m_identityCenterConfiguration; + bool m_identityCenterConfigurationHasBeenSet = false; + + PersonalAccessTokenConfiguration m_personalAccessTokenConfiguration; + bool m_personalAccessTokenConfigurationHasBeenSet = false; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PutIdentityProviderConfigurationResult.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PutIdentityProviderConfigurationResult.h new file mode 100644 index 00000000000..de6344775f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/PutIdentityProviderConfigurationResult.h @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once +#include +#include +#include + +namespace Aws +{ +template +class AmazonWebServiceResult; + +namespace Utils +{ +namespace Json +{ + class JsonValue; +} // namespace Json +} // namespace Utils +namespace WorkMail +{ +namespace Model +{ + class PutIdentityProviderConfigurationResult + { + public: + AWS_WORKMAIL_API PutIdentityProviderConfigurationResult(); + AWS_WORKMAIL_API PutIdentityProviderConfigurationResult(const Aws::AmazonWebServiceResult& result); + AWS_WORKMAIL_API PutIdentityProviderConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); + + + ///@{ + + 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 PutIdentityProviderConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} + inline PutIdentityProviderConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} + inline PutIdentityProviderConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} + ///@} + private: + + Aws::String m_requestId; + }; + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/UpdateUserRequest.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/UpdateUserRequest.h index 6aa0dbe303d..f9104cf5873 100644 --- a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/UpdateUserRequest.h +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/UpdateUserRequest.h @@ -218,7 +218,7 @@ namespace Model ///@{ /** - *

            Updates the user's zipcode.

            + *

            Updates the user's zip code.

            */ inline const Aws::String& GetZipCode() const{ return m_zipCode; } inline bool ZipCodeHasBeenSet() const { return m_zipCodeHasBeenSet; } @@ -271,6 +271,22 @@ namespace Model inline UpdateUserRequest& WithOffice(Aws::String&& value) { SetOffice(std::move(value)); return *this;} inline UpdateUserRequest& WithOffice(const char* value) { SetOffice(value); return *this;} ///@} + + ///@{ + /** + *

            User ID from the IAM Identity Center. If this parameter is empty it will be + * updated automatically when the user logs in for the first time to the mailbox + * associated with WorkMail.

            + */ + inline const Aws::String& GetIdentityProviderUserId() const{ return m_identityProviderUserId; } + inline bool IdentityProviderUserIdHasBeenSet() const { return m_identityProviderUserIdHasBeenSet; } + inline void SetIdentityProviderUserId(const Aws::String& value) { m_identityProviderUserIdHasBeenSet = true; m_identityProviderUserId = value; } + inline void SetIdentityProviderUserId(Aws::String&& value) { m_identityProviderUserIdHasBeenSet = true; m_identityProviderUserId = std::move(value); } + inline void SetIdentityProviderUserId(const char* value) { m_identityProviderUserIdHasBeenSet = true; m_identityProviderUserId.assign(value); } + inline UpdateUserRequest& WithIdentityProviderUserId(const Aws::String& value) { SetIdentityProviderUserId(value); return *this;} + inline UpdateUserRequest& WithIdentityProviderUserId(Aws::String&& value) { SetIdentityProviderUserId(std::move(value)); return *this;} + inline UpdateUserRequest& WithIdentityProviderUserId(const char* value) { SetIdentityProviderUserId(value); return *this;} + ///@} private: Aws::String m_organizationId; @@ -323,6 +339,9 @@ namespace Model Aws::String m_office; bool m_officeHasBeenSet = false; + + Aws::String m_identityProviderUserId; + bool m_identityProviderUserIdHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/User.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/User.h index ddc578b28d4..1559db2674d 100644 --- a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/User.h +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/model/User.h @@ -143,6 +143,38 @@ namespace Model inline User& WithDisabledDate(const Aws::Utils::DateTime& value) { SetDisabledDate(value); return *this;} inline User& WithDisabledDate(Aws::Utils::DateTime&& value) { SetDisabledDate(std::move(value)); return *this;} ///@} + + ///@{ + /** + *

            User ID from the IAM Identity Center. If this parameter is empty it will be + * updated automatically when the user logs in for the first time to the mailbox + * associated with WorkMail.

            + */ + inline const Aws::String& GetIdentityProviderUserId() const{ return m_identityProviderUserId; } + inline bool IdentityProviderUserIdHasBeenSet() const { return m_identityProviderUserIdHasBeenSet; } + inline void SetIdentityProviderUserId(const Aws::String& value) { m_identityProviderUserIdHasBeenSet = true; m_identityProviderUserId = value; } + inline void SetIdentityProviderUserId(Aws::String&& value) { m_identityProviderUserIdHasBeenSet = true; m_identityProviderUserId = std::move(value); } + inline void SetIdentityProviderUserId(const char* value) { m_identityProviderUserIdHasBeenSet = true; m_identityProviderUserId.assign(value); } + inline User& WithIdentityProviderUserId(const Aws::String& value) { SetIdentityProviderUserId(value); return *this;} + inline User& WithIdentityProviderUserId(Aws::String&& value) { SetIdentityProviderUserId(std::move(value)); return *this;} + inline User& WithIdentityProviderUserId(const char* value) { SetIdentityProviderUserId(value); return *this;} + ///@} + + ///@{ + /** + *

            Identity store ID from the IAM Identity Center. If this parameter is empty it + * will be updated automatically when the user logs in for the first time to the + * mailbox associated with WorkMail.

            + */ + inline const Aws::String& GetIdentityProviderIdentityStoreId() const{ return m_identityProviderIdentityStoreId; } + inline bool IdentityProviderIdentityStoreIdHasBeenSet() const { return m_identityProviderIdentityStoreIdHasBeenSet; } + inline void SetIdentityProviderIdentityStoreId(const Aws::String& value) { m_identityProviderIdentityStoreIdHasBeenSet = true; m_identityProviderIdentityStoreId = value; } + inline void SetIdentityProviderIdentityStoreId(Aws::String&& value) { m_identityProviderIdentityStoreIdHasBeenSet = true; m_identityProviderIdentityStoreId = std::move(value); } + inline void SetIdentityProviderIdentityStoreId(const char* value) { m_identityProviderIdentityStoreIdHasBeenSet = true; m_identityProviderIdentityStoreId.assign(value); } + inline User& WithIdentityProviderIdentityStoreId(const Aws::String& value) { SetIdentityProviderIdentityStoreId(value); return *this;} + inline User& WithIdentityProviderIdentityStoreId(Aws::String&& value) { SetIdentityProviderIdentityStoreId(std::move(value)); return *this;} + inline User& WithIdentityProviderIdentityStoreId(const char* value) { SetIdentityProviderIdentityStoreId(value); return *this;} + ///@} private: Aws::String m_id; @@ -168,6 +200,12 @@ namespace Model Aws::Utils::DateTime m_disabledDate; bool m_disabledDateHasBeenSet = false; + + Aws::String m_identityProviderUserId; + bool m_identityProviderUserIdHasBeenSet = false; + + Aws::String m_identityProviderIdentityStoreId; + bool m_identityProviderIdentityStoreIdHasBeenSet = false; }; } // namespace Model diff --git a/generated/src/aws-cpp-sdk-workmail/source/WorkMailClient.cpp b/generated/src/aws-cpp-sdk-workmail/source/WorkMailClient.cpp index 0e6a50a9cc5..879f45a8414 100644 --- a/generated/src/aws-cpp-sdk-workmail/source/WorkMailClient.cpp +++ b/generated/src/aws-cpp-sdk-workmail/source/WorkMailClient.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -38,11 +39,14 @@ #include #include #include +#include +#include #include #include #include #include #include +#include #include #include #include @@ -51,6 +55,7 @@ #include #include #include +#include #include #include #include @@ -66,6 +71,7 @@ #include #include #include +#include #include #include #include @@ -79,12 +85,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -430,6 +438,32 @@ CreateGroupOutcome WorkMailClient::CreateGroup(const CreateGroupRequest& request {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +CreateIdentityCenterApplicationOutcome WorkMailClient::CreateIdentityCenterApplication(const CreateIdentityCenterApplicationRequest& request) const +{ + AWS_OPERATION_GUARD(CreateIdentityCenterApplication); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, CreateIdentityCenterApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, CreateIdentityCenterApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, CreateIdentityCenterApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".CreateIdentityCenterApplication", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> CreateIdentityCenterApplicationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, CreateIdentityCenterApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return CreateIdentityCenterApplicationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + CreateImpersonationRoleOutcome WorkMailClient::CreateImpersonationRole(const CreateImpersonationRoleRequest& request) const { AWS_OPERATION_GUARD(CreateImpersonationRole); @@ -690,6 +724,58 @@ DeleteGroupOutcome WorkMailClient::DeleteGroup(const DeleteGroupRequest& request {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeleteIdentityCenterApplicationOutcome WorkMailClient::DeleteIdentityCenterApplication(const DeleteIdentityCenterApplicationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteIdentityCenterApplication); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteIdentityCenterApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteIdentityCenterApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteIdentityCenterApplication, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteIdentityCenterApplication", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteIdentityCenterApplicationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteIdentityCenterApplication, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteIdentityCenterApplicationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + +DeleteIdentityProviderConfigurationOutcome WorkMailClient::DeleteIdentityProviderConfiguration(const DeleteIdentityProviderConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(DeleteIdentityProviderConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeleteIdentityProviderConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeleteIdentityProviderConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeleteIdentityProviderConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeleteIdentityProviderConfiguration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeleteIdentityProviderConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeleteIdentityProviderConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeleteIdentityProviderConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteImpersonationRoleOutcome WorkMailClient::DeleteImpersonationRole(const DeleteImpersonationRoleRequest& request) const { AWS_OPERATION_GUARD(DeleteImpersonationRole); @@ -820,6 +906,32 @@ DeleteOrganizationOutcome WorkMailClient::DeleteOrganization(const DeleteOrganiz {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DeletePersonalAccessTokenOutcome WorkMailClient::DeletePersonalAccessToken(const DeletePersonalAccessTokenRequest& request) const +{ + AWS_OPERATION_GUARD(DeletePersonalAccessToken); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DeletePersonalAccessToken, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DeletePersonalAccessToken, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DeletePersonalAccessToken, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DeletePersonalAccessToken", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DeletePersonalAccessTokenOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DeletePersonalAccessToken, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DeletePersonalAccessTokenOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DeleteResourceOutcome WorkMailClient::DeleteResource(const DeleteResourceRequest& request) const { AWS_OPERATION_GUARD(DeleteResource); @@ -1028,6 +1140,32 @@ DescribeGroupOutcome WorkMailClient::DescribeGroup(const DescribeGroupRequest& r {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +DescribeIdentityProviderConfigurationOutcome WorkMailClient::DescribeIdentityProviderConfiguration(const DescribeIdentityProviderConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(DescribeIdentityProviderConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, DescribeIdentityProviderConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, DescribeIdentityProviderConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, DescribeIdentityProviderConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".DescribeIdentityProviderConfiguration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> DescribeIdentityProviderConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, DescribeIdentityProviderConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return DescribeIdentityProviderConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + DescribeInboundDmarcSettingsOutcome WorkMailClient::DescribeInboundDmarcSettings(const DescribeInboundDmarcSettingsRequest& request) const { AWS_OPERATION_GUARD(DescribeInboundDmarcSettings); @@ -1418,6 +1556,32 @@ GetMobileDeviceAccessOverrideOutcome WorkMailClient::GetMobileDeviceAccessOverri {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +GetPersonalAccessTokenMetadataOutcome WorkMailClient::GetPersonalAccessTokenMetadata(const GetPersonalAccessTokenMetadataRequest& request) const +{ + AWS_OPERATION_GUARD(GetPersonalAccessTokenMetadata); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, GetPersonalAccessTokenMetadata, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, GetPersonalAccessTokenMetadata, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, GetPersonalAccessTokenMetadata, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".GetPersonalAccessTokenMetadata", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> GetPersonalAccessTokenMetadataOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, GetPersonalAccessTokenMetadata, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return GetPersonalAccessTokenMetadataOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListAccessControlRulesOutcome WorkMailClient::ListAccessControlRules(const ListAccessControlRulesRequest& request) const { AWS_OPERATION_GUARD(ListAccessControlRules); @@ -1756,6 +1920,32 @@ ListOrganizationsOutcome WorkMailClient::ListOrganizations(const ListOrganizatio {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +ListPersonalAccessTokensOutcome WorkMailClient::ListPersonalAccessTokens(const ListPersonalAccessTokensRequest& request) const +{ + AWS_OPERATION_GUARD(ListPersonalAccessTokens); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, ListPersonalAccessTokens, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, ListPersonalAccessTokens, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, ListPersonalAccessTokens, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".ListPersonalAccessTokens", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> ListPersonalAccessTokensOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, ListPersonalAccessTokens, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return ListPersonalAccessTokensOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + ListResourceDelegatesOutcome WorkMailClient::ListResourceDelegates(const ListResourceDelegatesRequest& request) const { AWS_OPERATION_GUARD(ListResourceDelegates); @@ -1912,6 +2102,32 @@ PutEmailMonitoringConfigurationOutcome WorkMailClient::PutEmailMonitoringConfigu {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); } +PutIdentityProviderConfigurationOutcome WorkMailClient::PutIdentityProviderConfiguration(const PutIdentityProviderConfigurationRequest& request) const +{ + AWS_OPERATION_GUARD(PutIdentityProviderConfiguration); + AWS_OPERATION_CHECK_PTR(m_endpointProvider, PutIdentityProviderConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE); + AWS_OPERATION_CHECK_PTR(m_telemetryProvider, PutIdentityProviderConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto tracer = m_telemetryProvider->getTracer(this->GetServiceClientName(), {}); + auto meter = m_telemetryProvider->getMeter(this->GetServiceClientName(), {}); + AWS_OPERATION_CHECK_PTR(meter, PutIdentityProviderConfiguration, CoreErrors, CoreErrors::NOT_INITIALIZED); + auto span = tracer->CreateSpan(Aws::String(this->GetServiceClientName()) + ".PutIdentityProviderConfiguration", + {{ TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName() }, { TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName() }, { TracingUtils::SMITHY_SYSTEM_DIMENSION, TracingUtils::SMITHY_METHOD_AWS_VALUE }}, + smithy::components::tracing::SpanKind::CLIENT); + return TracingUtils::MakeCallWithTiming( + [&]()-> PutIdentityProviderConfigurationOutcome { + auto endpointResolutionOutcome = TracingUtils::MakeCallWithTiming( + [&]() -> ResolveEndpointOutcome { return m_endpointProvider->ResolveEndpoint(request.GetEndpointContextParams()); }, + TracingUtils::SMITHY_CLIENT_ENDPOINT_RESOLUTION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); + AWS_OPERATION_CHECK_SUCCESS(endpointResolutionOutcome, PutIdentityProviderConfiguration, CoreErrors, CoreErrors::ENDPOINT_RESOLUTION_FAILURE, endpointResolutionOutcome.GetError().GetMessage()); + return PutIdentityProviderConfigurationOutcome(MakeRequest(request, endpointResolutionOutcome.GetResult(), Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); + }, + TracingUtils::SMITHY_CLIENT_DURATION_METRIC, + *meter, + {{TracingUtils::SMITHY_METHOD_DIMENSION, request.GetServiceRequestName()}, {TracingUtils::SMITHY_SERVICE_DIMENSION, this->GetServiceClientName()}}); +} + PutInboundDmarcSettingsOutcome WorkMailClient::PutInboundDmarcSettings(const PutInboundDmarcSettingsRequest& request) const { AWS_OPERATION_GUARD(PutInboundDmarcSettings); diff --git a/generated/src/aws-cpp-sdk-workmail/source/WorkMailEndpointRules.cpp b/generated/src/aws-cpp-sdk-workmail/source/WorkMailEndpointRules.cpp index 27fb4d281c7..78acecf53a5 100644 --- a/generated/src/aws-cpp-sdk-workmail/source/WorkMailEndpointRules.cpp +++ b/generated/src/aws-cpp-sdk-workmail/source/WorkMailEndpointRules.cpp @@ -51,106 +51,106 @@ static constexpr RulesBlobT RulesBlob = {{ ',','"','t','y','p','e','"',':','"','S','t','r','i','n','g','"','}','}',',','"','r','u','l','e','s', '"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"', 'i','s','S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','E','n', -'d','p','o','i','n','t','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"', -',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', -'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', -'g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r', -'u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o', -'n','f','i','g','u','r','a','t','i','o','n',':',' ','F','I','P','S',' ','a','n','d',' ','c','u','s', -'t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p', -'o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"', -'c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e', -'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', -'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', -'e','r','r','o','r','"',':','"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a', -'t','i','o','n',':',' ','D','u','a','l','s','t','a','c','k',' ','a','n','d',' ','c','u','s','t','o', -'m',' ','e','n','d','p','o','i','n','t',' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r', -'t','e','d','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',',','{','"','c','o', -'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', -'"','u','r','l','"',':','{','"','r','e','f','"',':','"','E','n','d','p','o','i','n','t','"','}',',', -'"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"', -':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}', -',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', -'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', -'o','n','"','}',']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u', -'l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n', -'"',':','"','a','w','s','.','p','a','r','t','i','t','i','o','n','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','R','e','g','i','o','n','"','}',']',',','"','a','s','s','i','g', -'n','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',']',',','"','t', -'y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'d','p','o','i','n','t','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', 'n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n', 'E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U', -'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o', -'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e', -'f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}', -']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[', -'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o', -'l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',', -'{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{', -'"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',', -'"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',',','{','"','f','n','"',':', -'"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t', -'r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l', -'t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o', -'i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','w','o','r','k', -'m','a','i','l','-','f','i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i', -'t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u', -'f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h', -'e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o', -'i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',', -'"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d',' ','D','u','a','l','S','t','a', -'c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b','u','t',' ','t','h','i','s',' ', -'p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r', -'t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t','y','p','e','"',':','"','e','r', -'r','o','r','"','}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', -'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', -'"',':','[','{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e', -']','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"', -':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b', -'o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u', -'e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':', -'[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"', -'}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']','}',']',',','"','t','y', -'p','e','"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n', -'d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"', -'u','r','l','"',':','"','h','t','t','p','s',':','/','/','w','o','r','k','m','a','i','l','-','f','i', -'p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s', -'u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','i','s', -' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i', -'o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ','F','I','P','S','"', -',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']','}',',','{','"','c','o','n','d', -'i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q', -'u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e', -'D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','t','y','p','e', -'"',':','"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', +'s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':', +'"','I','n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','F', +'I','P','S',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a', +'r','e',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':', +'"','e','r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{', +'"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a','l','S','t','a','c','k','"', +'}',',','t','r','u','e',']','}',']',',','"','e','r','r','o','r','"',':','"','I','n','v','a','l','i', +'d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','D','u','a','l','s','t','a','c', +'k',' ','a','n','d',' ','c','u','s','t','o','m',' ','e','n','d','p','o','i','n','t',' ','a','r','e', +' ','n','o','t',' ','s','u','p','p','o','r','t','e','d','"',',','"','t','y','p','e','"',':','"','e', +'r','r','o','r','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"', +'e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','{','"','r','e','f','"',':','"', +'E','n','d','p','o','i','n','t','"','}',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{', +'}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e', +'n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','i','s', +'S','e','t','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i', +'o','n','"','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t', +'i','o','n','s','"',':','[','{','"','f','n','"',':','"','a','w','s','.','p','a','r','t','i','t','i', +'o','n','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','R','e','g','i','o', +'n','"','}',']',',','"','a','s','s','i','g','n','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i', 't','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u', -'a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"', -'g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"', -'P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r', -'t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']',',','"','t','y','p','e','"',':', -'"','t','r','e','e','"',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i', -'o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"', -':','"','h','t','t','p','s',':','/','/','w','o','r','k','m','a','i','l','.','{','R','e','g','i','o', -'n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S', -'t','a','c','k','D','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i', -'e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p', -'e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',',','{','"','c','o','n','d','i','t', -'i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','D','u','a','l','S','t','a', -'c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s',' ','p','a', -'r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o','r','t',' ', -'D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"', -'}',']','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d', -'p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','w','o', -'r','k','m','a','i','l','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o', -'n','R','e','s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p', -'e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',', -'"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']','}',']','}',',','{','"', +'a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','F', +'I','P','S','"','}',',','t','r','u','e',']','}',',','{','"','f','n','"',':','"','b','o','o','l','e', +'a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':', +'"','U','s','e','D','u','a','l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"', +'r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"', +'f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v', +'"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"', +'a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R', +'e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',']', +'}',',','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"', +'a','r','g','v','"',':','[','t','r','u','e',',','{','"','f','n','"',':','"','g','e','t','A','t','t', +'r','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t', +'i','o','n','R','e','s','u','l','t','"','}',',','"','s','u','p','p','o','r','t','s','D','u','a','l', +'S','t','a','c','k','"',']','}',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o', +'n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{', +'"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','w','o','r','k','m','a','i','l','-','f', +'i','p','s','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n','s','S','u','f','f','i','x','}','"', +',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s', +'"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','F','I','P','S',' ','a','n','d', +' ','D','u','a','l','S','t','a','c','k',' ','a','r','e',' ','e','n','a','b','l','e','d',',',' ','b', +'u','t',' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o', +'t',' ','s','u','p','p','o','r','t',' ','o','n','e',' ','o','r',' ','b','o','t','h','"',',','"','t', +'y','p','e','"',':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r', +'e','e','"','}',',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"', +':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','U','s','e','F','I','P','S','"','}',',','t','r','u','e',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +'{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r', +'g','v','"',':','[','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g', +'v','"',':','[','{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u', +'l','t','"','}',',','"','s','u','p','p','o','r','t','s','F','I','P','S','"',']','}',',','t','r','u', +'e',']','}',']',',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n', +'s','"',':','[',']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"', +'h','t','t','p','s',':','/','/','w','o','r','k','m','a','i','l','-','f','i','p','s','.','{','R','e', +'g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','F','I','P','S',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t',' ','t','h','i','s', +' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ','s','u','p','p','o', +'r','t',' ','F','I','P','S','"',',','"','t','y','p','e','"',':','"','e','r','r','o','r','"','}',']', +',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"','c','o','n','d','i','t','i', +'o','n','s','"',':','[','{','"','f','n','"',':','"','b','o','o','l','e','a','n','E','q','u','a','l', +'s','"',',','"','a','r','g','v','"',':','[','{','"','r','e','f','"',':','"','U','s','e','D','u','a', +'l','S','t','a','c','k','"','}',',','t','r','u','e',']','}',']',',','"','r','u','l','e','s','"',':', +'[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[','{','"','f','n','"',':','"','b','o', +'o','l','e','a','n','E','q','u','a','l','s','"',',','"','a','r','g','v','"',':','[','t','r','u','e', +',','{','"','f','n','"',':','"','g','e','t','A','t','t','r','"',',','"','a','r','g','v','"',':','[', +'{','"','r','e','f','"',':','"','P','a','r','t','i','t','i','o','n','R','e','s','u','l','t','"','}', +',','"','s','u','p','p','o','r','t','s','D','u','a','l','S','t','a','c','k','"',']','}',']','}',']', +',','"','r','u','l','e','s','"',':','[','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[', +']',',','"','e','n','d','p','o','i','n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p', +'s',':','/','/','w','o','r','k','m','a','i','l','.','{','R','e','g','i','o','n','}','.','{','P','a', +'r','t','i','t','i','o','n','R','e','s','u','l','t','#','d','u','a','l','S','t','a','c','k','D','n', +'s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t','i','e','s','"',':','{','}', +',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y','p','e','"',':','"','e','n', +'d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',', +'{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':', +'"','D','u','a','l','S','t','a','c','k',' ','i','s',' ','e','n','a','b','l','e','d',' ','b','u','t', +' ','t','h','i','s',' ','p','a','r','t','i','t','i','o','n',' ','d','o','e','s',' ','n','o','t',' ', +'s','u','p','p','o','r','t',' ','D','u','a','l','S','t','a','c','k','"',',','"','t','y','p','e','"', +':','"','e','r','r','o','r','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}', +',','{','"','c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','n','d','p','o','i', +'n','t','"',':','{','"','u','r','l','"',':','"','h','t','t','p','s',':','/','/','w','o','r','k','m', +'a','i','l','.','{','R','e','g','i','o','n','}','.','{','P','a','r','t','i','t','i','o','n','R','e', +'s','u','l','t','#','d','n','s','S','u','f','f','i','x','}','"',',','"','p','r','o','p','e','r','t', +'i','e','s','"',':','{','}',',','"','h','e','a','d','e','r','s','"',':','{','}','}',',','"','t','y', +'p','e','"',':','"','e','n','d','p','o','i','n','t','"','}',']',',','"','t','y','p','e','"',':','"', +'t','r','e','e','"','}',']',',','"','t','y','p','e','"',':','"','t','r','e','e','"','}',',','{','"', 'c','o','n','d','i','t','i','o','n','s','"',':','[',']',',','"','e','r','r','o','r','"',':','"','I', 'n','v','a','l','i','d',' ','C','o','n','f','i','g','u','r','a','t','i','o','n',':',' ','M','i','s', 's','i','n','g',' ','R','e','g','i','o','n','"',',','"','t','y','p','e','"',':','"','e','r','r','o', diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/CreateIdentityCenterApplicationRequest.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/CreateIdentityCenterApplicationRequest.cpp new file mode 100644 index 00000000000..67858316865 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/CreateIdentityCenterApplicationRequest.cpp @@ -0,0 +1,58 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +CreateIdentityCenterApplicationRequest::CreateIdentityCenterApplicationRequest() : + m_nameHasBeenSet(false), + m_instanceArnHasBeenSet(false), + m_clientToken(Aws::Utils::UUID::PseudoRandomUUID()), + m_clientTokenHasBeenSet(true) +{ +} + +Aws::String CreateIdentityCenterApplicationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_instanceArnHasBeenSet) + { + payload.WithString("InstanceArn", m_instanceArn); + + } + + if(m_clientTokenHasBeenSet) + { + payload.WithString("ClientToken", m_clientToken); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection CreateIdentityCenterApplicationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "WorkMailService.CreateIdentityCenterApplication")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/CreateIdentityCenterApplicationResult.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/CreateIdentityCenterApplicationResult.cpp new file mode 100644 index 00000000000..8ac4c6712c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/CreateIdentityCenterApplicationResult.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +CreateIdentityCenterApplicationResult::CreateIdentityCenterApplicationResult() +{ +} + +CreateIdentityCenterApplicationResult::CreateIdentityCenterApplicationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +CreateIdentityCenterApplicationResult& CreateIdentityCenterApplicationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("ApplicationArn")) + { + m_applicationArn = jsonValue.GetString("ApplicationArn"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/CreateUserRequest.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/CreateUserRequest.cpp index 9266ee80ae2..6bfb5fa6990 100644 --- a/generated/src/aws-cpp-sdk-workmail/source/model/CreateUserRequest.cpp +++ b/generated/src/aws-cpp-sdk-workmail/source/model/CreateUserRequest.cpp @@ -22,7 +22,8 @@ CreateUserRequest::CreateUserRequest() : m_firstNameHasBeenSet(false), m_lastNameHasBeenSet(false), m_hiddenFromGlobalAddressList(false), - m_hiddenFromGlobalAddressListHasBeenSet(false) + m_hiddenFromGlobalAddressListHasBeenSet(false), + m_identityProviderUserIdHasBeenSet(false) { } @@ -77,6 +78,12 @@ Aws::String CreateUserRequest::SerializePayload() const } + if(m_identityProviderUserIdHasBeenSet) + { + payload.WithString("IdentityProviderUserId", m_identityProviderUserId); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityCenterApplicationRequest.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityCenterApplicationRequest.cpp new file mode 100644 index 00000000000..4e48108ba4a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityCenterApplicationRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteIdentityCenterApplicationRequest::DeleteIdentityCenterApplicationRequest() : + m_applicationArnHasBeenSet(false) +{ +} + +Aws::String DeleteIdentityCenterApplicationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_applicationArnHasBeenSet) + { + payload.WithString("ApplicationArn", m_applicationArn); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteIdentityCenterApplicationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "WorkMailService.DeleteIdentityCenterApplication")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityCenterApplicationResult.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityCenterApplicationResult.cpp new file mode 100644 index 00000000000..bdbb910bbd3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityCenterApplicationResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteIdentityCenterApplicationResult::DeleteIdentityCenterApplicationResult() +{ +} + +DeleteIdentityCenterApplicationResult::DeleteIdentityCenterApplicationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteIdentityCenterApplicationResult& DeleteIdentityCenterApplicationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityProviderConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityProviderConfigurationRequest.cpp new file mode 100644 index 00000000000..2fe0885f907 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityProviderConfigurationRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeleteIdentityProviderConfigurationRequest::DeleteIdentityProviderConfigurationRequest() : + m_organizationIdHasBeenSet(false) +{ +} + +Aws::String DeleteIdentityProviderConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_organizationIdHasBeenSet) + { + payload.WithString("OrganizationId", m_organizationId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeleteIdentityProviderConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "WorkMailService.DeleteIdentityProviderConfiguration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityProviderConfigurationResult.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityProviderConfigurationResult.cpp new file mode 100644 index 00000000000..4919757e128 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/DeleteIdentityProviderConfigurationResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeleteIdentityProviderConfigurationResult::DeleteIdentityProviderConfigurationResult() +{ +} + +DeleteIdentityProviderConfigurationResult::DeleteIdentityProviderConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeleteIdentityProviderConfigurationResult& DeleteIdentityProviderConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/DeleteOrganizationRequest.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/DeleteOrganizationRequest.cpp index 78c83872079..d3c583aa4a5 100644 --- a/generated/src/aws-cpp-sdk-workmail/source/model/DeleteOrganizationRequest.cpp +++ b/generated/src/aws-cpp-sdk-workmail/source/model/DeleteOrganizationRequest.cpp @@ -19,7 +19,9 @@ DeleteOrganizationRequest::DeleteOrganizationRequest() : m_deleteDirectory(false), m_deleteDirectoryHasBeenSet(false), m_forceDelete(false), - m_forceDeleteHasBeenSet(false) + m_forceDeleteHasBeenSet(false), + m_deleteIdentityCenterApplication(false), + m_deleteIdentityCenterApplicationHasBeenSet(false) { } @@ -51,6 +53,12 @@ Aws::String DeleteOrganizationRequest::SerializePayload() const } + if(m_deleteIdentityCenterApplicationHasBeenSet) + { + payload.WithBool("DeleteIdentityCenterApplication", m_deleteIdentityCenterApplication); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/DeletePersonalAccessTokenRequest.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/DeletePersonalAccessTokenRequest.cpp new file mode 100644 index 00000000000..14f000cd458 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/DeletePersonalAccessTokenRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DeletePersonalAccessTokenRequest::DeletePersonalAccessTokenRequest() : + m_organizationIdHasBeenSet(false), + m_personalAccessTokenIdHasBeenSet(false) +{ +} + +Aws::String DeletePersonalAccessTokenRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_organizationIdHasBeenSet) + { + payload.WithString("OrganizationId", m_organizationId); + + } + + if(m_personalAccessTokenIdHasBeenSet) + { + payload.WithString("PersonalAccessTokenId", m_personalAccessTokenId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DeletePersonalAccessTokenRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "WorkMailService.DeletePersonalAccessToken")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/DeletePersonalAccessTokenResult.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/DeletePersonalAccessTokenResult.cpp new file mode 100644 index 00000000000..77b9d333229 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/DeletePersonalAccessTokenResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DeletePersonalAccessTokenResult::DeletePersonalAccessTokenResult() +{ +} + +DeletePersonalAccessTokenResult::DeletePersonalAccessTokenResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +DeletePersonalAccessTokenResult& DeletePersonalAccessTokenResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/DescribeIdentityProviderConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/DescribeIdentityProviderConfigurationRequest.cpp new file mode 100644 index 00000000000..80f11393f5a --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/DescribeIdentityProviderConfigurationRequest.cpp @@ -0,0 +1,43 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +DescribeIdentityProviderConfigurationRequest::DescribeIdentityProviderConfigurationRequest() : + m_organizationIdHasBeenSet(false) +{ +} + +Aws::String DescribeIdentityProviderConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_organizationIdHasBeenSet) + { + payload.WithString("OrganizationId", m_organizationId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection DescribeIdentityProviderConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "WorkMailService.DescribeIdentityProviderConfiguration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/DescribeIdentityProviderConfigurationResult.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/DescribeIdentityProviderConfigurationResult.cpp new file mode 100644 index 00000000000..b3f4b40c094 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/DescribeIdentityProviderConfigurationResult.cpp @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +DescribeIdentityProviderConfigurationResult::DescribeIdentityProviderConfigurationResult() : + m_authenticationMode(IdentityProviderAuthenticationMode::NOT_SET) +{ +} + +DescribeIdentityProviderConfigurationResult::DescribeIdentityProviderConfigurationResult(const Aws::AmazonWebServiceResult& result) + : DescribeIdentityProviderConfigurationResult() +{ + *this = result; +} + +DescribeIdentityProviderConfigurationResult& DescribeIdentityProviderConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("AuthenticationMode")) + { + m_authenticationMode = IdentityProviderAuthenticationModeMapper::GetIdentityProviderAuthenticationModeForName(jsonValue.GetString("AuthenticationMode")); + + } + + if(jsonValue.ValueExists("IdentityCenterConfiguration")) + { + m_identityCenterConfiguration = jsonValue.GetObject("IdentityCenterConfiguration"); + + } + + if(jsonValue.ValueExists("PersonalAccessTokenConfiguration")) + { + m_personalAccessTokenConfiguration = jsonValue.GetObject("PersonalAccessTokenConfiguration"); + + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/DescribeUserResult.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/DescribeUserResult.cpp index 9ed4c66f3ad..f9f2ed010ba 100644 --- a/generated/src/aws-cpp-sdk-workmail/source/model/DescribeUserResult.cpp +++ b/generated/src/aws-cpp-sdk-workmail/source/model/DescribeUserResult.cpp @@ -171,6 +171,18 @@ DescribeUserResult& DescribeUserResult::operator =(const Aws::AmazonWebServiceRe } + if(jsonValue.ValueExists("IdentityProviderUserId")) + { + m_identityProviderUserId = jsonValue.GetString("IdentityProviderUserId"); + + } + + if(jsonValue.ValueExists("IdentityProviderIdentityStoreId")) + { + m_identityProviderIdentityStoreId = jsonValue.GetString("IdentityProviderIdentityStoreId"); + + } + const auto& headers = result.GetHeaderValueCollection(); const auto& requestIdIter = headers.find("x-amzn-requestid"); diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/GetPersonalAccessTokenMetadataRequest.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/GetPersonalAccessTokenMetadataRequest.cpp new file mode 100644 index 00000000000..ef36ee1092e --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/GetPersonalAccessTokenMetadataRequest.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +GetPersonalAccessTokenMetadataRequest::GetPersonalAccessTokenMetadataRequest() : + m_organizationIdHasBeenSet(false), + m_personalAccessTokenIdHasBeenSet(false) +{ +} + +Aws::String GetPersonalAccessTokenMetadataRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_organizationIdHasBeenSet) + { + payload.WithString("OrganizationId", m_organizationId); + + } + + if(m_personalAccessTokenIdHasBeenSet) + { + payload.WithString("PersonalAccessTokenId", m_personalAccessTokenId); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection GetPersonalAccessTokenMetadataRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "WorkMailService.GetPersonalAccessTokenMetadata")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/GetPersonalAccessTokenMetadataResult.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/GetPersonalAccessTokenMetadataResult.cpp new file mode 100644 index 00000000000..d3c21974511 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/GetPersonalAccessTokenMetadataResult.cpp @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +GetPersonalAccessTokenMetadataResult::GetPersonalAccessTokenMetadataResult() +{ +} + +GetPersonalAccessTokenMetadataResult::GetPersonalAccessTokenMetadataResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +GetPersonalAccessTokenMetadataResult& GetPersonalAccessTokenMetadataResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("PersonalAccessTokenId")) + { + m_personalAccessTokenId = jsonValue.GetString("PersonalAccessTokenId"); + + } + + if(jsonValue.ValueExists("UserId")) + { + m_userId = jsonValue.GetString("UserId"); + + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + } + + if(jsonValue.ValueExists("DateCreated")) + { + m_dateCreated = jsonValue.GetDouble("DateCreated"); + + } + + if(jsonValue.ValueExists("DateLastUsed")) + { + m_dateLastUsed = jsonValue.GetDouble("DateLastUsed"); + + } + + if(jsonValue.ValueExists("ExpiresTime")) + { + m_expiresTime = jsonValue.GetDouble("ExpiresTime"); + + } + + if(jsonValue.ValueExists("Scopes")) + { + Aws::Utils::Array scopesJsonList = jsonValue.GetArray("Scopes"); + for(unsigned scopesIndex = 0; scopesIndex < scopesJsonList.GetLength(); ++scopesIndex) + { + m_scopes.push_back(scopesJsonList[scopesIndex].AsString()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/IdentityCenterConfiguration.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/IdentityCenterConfiguration.cpp new file mode 100644 index 00000000000..a0df5c37196 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/IdentityCenterConfiguration.cpp @@ -0,0 +1,73 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + +IdentityCenterConfiguration::IdentityCenterConfiguration() : + m_instanceArnHasBeenSet(false), + m_applicationArnHasBeenSet(false) +{ +} + +IdentityCenterConfiguration::IdentityCenterConfiguration(JsonView jsonValue) + : IdentityCenterConfiguration() +{ + *this = jsonValue; +} + +IdentityCenterConfiguration& IdentityCenterConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("InstanceArn")) + { + m_instanceArn = jsonValue.GetString("InstanceArn"); + + m_instanceArnHasBeenSet = true; + } + + if(jsonValue.ValueExists("ApplicationArn")) + { + m_applicationArn = jsonValue.GetString("ApplicationArn"); + + m_applicationArnHasBeenSet = true; + } + + return *this; +} + +JsonValue IdentityCenterConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_instanceArnHasBeenSet) + { + payload.WithString("InstanceArn", m_instanceArn); + + } + + if(m_applicationArnHasBeenSet) + { + payload.WithString("ApplicationArn", m_applicationArn); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/IdentityProviderAuthenticationMode.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/IdentityProviderAuthenticationMode.cpp new file mode 100644 index 00000000000..2c98213a57c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/IdentityProviderAuthenticationMode.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkMail + { + namespace Model + { + namespace IdentityProviderAuthenticationModeMapper + { + + static const int IDENTITY_PROVIDER_ONLY_HASH = HashingUtils::HashString("IDENTITY_PROVIDER_ONLY"); + static const int IDENTITY_PROVIDER_AND_DIRECTORY_HASH = HashingUtils::HashString("IDENTITY_PROVIDER_AND_DIRECTORY"); + + + IdentityProviderAuthenticationMode GetIdentityProviderAuthenticationModeForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == IDENTITY_PROVIDER_ONLY_HASH) + { + return IdentityProviderAuthenticationMode::IDENTITY_PROVIDER_ONLY; + } + else if (hashCode == IDENTITY_PROVIDER_AND_DIRECTORY_HASH) + { + return IdentityProviderAuthenticationMode::IDENTITY_PROVIDER_AND_DIRECTORY; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return IdentityProviderAuthenticationMode::NOT_SET; + } + + Aws::String GetNameForIdentityProviderAuthenticationMode(IdentityProviderAuthenticationMode enumValue) + { + switch(enumValue) + { + case IdentityProviderAuthenticationMode::NOT_SET: + return {}; + case IdentityProviderAuthenticationMode::IDENTITY_PROVIDER_ONLY: + return "IDENTITY_PROVIDER_ONLY"; + case IdentityProviderAuthenticationMode::IDENTITY_PROVIDER_AND_DIRECTORY: + return "IDENTITY_PROVIDER_AND_DIRECTORY"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace IdentityProviderAuthenticationModeMapper + } // namespace Model + } // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/ListPersonalAccessTokensRequest.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/ListPersonalAccessTokensRequest.cpp new file mode 100644 index 00000000000..adc16e50cf6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/ListPersonalAccessTokensRequest.cpp @@ -0,0 +1,65 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +ListPersonalAccessTokensRequest::ListPersonalAccessTokensRequest() : + m_organizationIdHasBeenSet(false), + m_userIdHasBeenSet(false), + m_nextTokenHasBeenSet(false), + m_maxResults(0), + m_maxResultsHasBeenSet(false) +{ +} + +Aws::String ListPersonalAccessTokensRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_organizationIdHasBeenSet) + { + payload.WithString("OrganizationId", m_organizationId); + + } + + if(m_userIdHasBeenSet) + { + payload.WithString("UserId", m_userId); + + } + + if(m_nextTokenHasBeenSet) + { + payload.WithString("NextToken", m_nextToken); + + } + + if(m_maxResultsHasBeenSet) + { + payload.WithInteger("MaxResults", m_maxResults); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection ListPersonalAccessTokensRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "WorkMailService.ListPersonalAccessTokens")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/ListPersonalAccessTokensResult.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/ListPersonalAccessTokensResult.cpp new file mode 100644 index 00000000000..884edcc6c39 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/ListPersonalAccessTokensResult.cpp @@ -0,0 +1,57 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +ListPersonalAccessTokensResult::ListPersonalAccessTokensResult() +{ +} + +ListPersonalAccessTokensResult::ListPersonalAccessTokensResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +ListPersonalAccessTokensResult& ListPersonalAccessTokensResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + JsonView jsonValue = result.GetPayload().View(); + if(jsonValue.ValueExists("NextToken")) + { + m_nextToken = jsonValue.GetString("NextToken"); + + } + + if(jsonValue.ValueExists("PersonalAccessTokenSummaries")) + { + Aws::Utils::Array personalAccessTokenSummariesJsonList = jsonValue.GetArray("PersonalAccessTokenSummaries"); + for(unsigned personalAccessTokenSummariesIndex = 0; personalAccessTokenSummariesIndex < personalAccessTokenSummariesJsonList.GetLength(); ++personalAccessTokenSummariesIndex) + { + m_personalAccessTokenSummaries.push_back(personalAccessTokenSummariesJsonList[personalAccessTokenSummariesIndex].AsObject()); + } + } + + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/ListUsersFilters.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/ListUsersFilters.cpp index f55254a606f..2957626e318 100644 --- a/generated/src/aws-cpp-sdk-workmail/source/model/ListUsersFilters.cpp +++ b/generated/src/aws-cpp-sdk-workmail/source/model/ListUsersFilters.cpp @@ -23,7 +23,8 @@ ListUsersFilters::ListUsersFilters() : m_displayNamePrefixHasBeenSet(false), m_primaryEmailPrefixHasBeenSet(false), m_state(EntityState::NOT_SET), - m_stateHasBeenSet(false) + m_stateHasBeenSet(false), + m_identityProviderUserIdPrefixHasBeenSet(false) { } @@ -63,6 +64,13 @@ ListUsersFilters& ListUsersFilters::operator =(JsonView jsonValue) m_stateHasBeenSet = true; } + if(jsonValue.ValueExists("IdentityProviderUserIdPrefix")) + { + m_identityProviderUserIdPrefix = jsonValue.GetString("IdentityProviderUserIdPrefix"); + + m_identityProviderUserIdPrefixHasBeenSet = true; + } + return *this; } @@ -93,6 +101,12 @@ JsonValue ListUsersFilters::Jsonize() const payload.WithString("State", EntityStateMapper::GetNameForEntityState(m_state)); } + if(m_identityProviderUserIdPrefixHasBeenSet) + { + payload.WithString("IdentityProviderUserIdPrefix", m_identityProviderUserIdPrefix); + + } + return payload; } diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/PersonalAccessTokenConfiguration.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/PersonalAccessTokenConfiguration.cpp new file mode 100644 index 00000000000..baf1a8d2ae4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/PersonalAccessTokenConfiguration.cpp @@ -0,0 +1,74 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + +PersonalAccessTokenConfiguration::PersonalAccessTokenConfiguration() : + m_status(PersonalAccessTokenConfigurationStatus::NOT_SET), + m_statusHasBeenSet(false), + m_lifetimeInDays(0), + m_lifetimeInDaysHasBeenSet(false) +{ +} + +PersonalAccessTokenConfiguration::PersonalAccessTokenConfiguration(JsonView jsonValue) + : PersonalAccessTokenConfiguration() +{ + *this = jsonValue; +} + +PersonalAccessTokenConfiguration& PersonalAccessTokenConfiguration::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("Status")) + { + m_status = PersonalAccessTokenConfigurationStatusMapper::GetPersonalAccessTokenConfigurationStatusForName(jsonValue.GetString("Status")); + + m_statusHasBeenSet = true; + } + + if(jsonValue.ValueExists("LifetimeInDays")) + { + m_lifetimeInDays = jsonValue.GetInteger("LifetimeInDays"); + + m_lifetimeInDaysHasBeenSet = true; + } + + return *this; +} + +JsonValue PersonalAccessTokenConfiguration::Jsonize() const +{ + JsonValue payload; + + if(m_statusHasBeenSet) + { + payload.WithString("Status", PersonalAccessTokenConfigurationStatusMapper::GetNameForPersonalAccessTokenConfigurationStatus(m_status)); + } + + if(m_lifetimeInDaysHasBeenSet) + { + payload.WithInteger("LifetimeInDays", m_lifetimeInDays); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/PersonalAccessTokenConfigurationStatus.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/PersonalAccessTokenConfigurationStatus.cpp new file mode 100644 index 00000000000..2d18a607827 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/PersonalAccessTokenConfigurationStatus.cpp @@ -0,0 +1,72 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include + +using namespace Aws::Utils; + + +namespace Aws +{ + namespace WorkMail + { + namespace Model + { + namespace PersonalAccessTokenConfigurationStatusMapper + { + + static const int ACTIVE_HASH = HashingUtils::HashString("ACTIVE"); + static const int INACTIVE_HASH = HashingUtils::HashString("INACTIVE"); + + + PersonalAccessTokenConfigurationStatus GetPersonalAccessTokenConfigurationStatusForName(const Aws::String& name) + { + int hashCode = HashingUtils::HashString(name.c_str()); + if (hashCode == ACTIVE_HASH) + { + return PersonalAccessTokenConfigurationStatus::ACTIVE; + } + else if (hashCode == INACTIVE_HASH) + { + return PersonalAccessTokenConfigurationStatus::INACTIVE; + } + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + overflowContainer->StoreOverflow(hashCode, name); + return static_cast(hashCode); + } + + return PersonalAccessTokenConfigurationStatus::NOT_SET; + } + + Aws::String GetNameForPersonalAccessTokenConfigurationStatus(PersonalAccessTokenConfigurationStatus enumValue) + { + switch(enumValue) + { + case PersonalAccessTokenConfigurationStatus::NOT_SET: + return {}; + case PersonalAccessTokenConfigurationStatus::ACTIVE: + return "ACTIVE"; + case PersonalAccessTokenConfigurationStatus::INACTIVE: + return "INACTIVE"; + default: + EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); + if(overflowContainer) + { + return overflowContainer->RetrieveOverflow(static_cast(enumValue)); + } + + return {}; + } + } + + } // namespace PersonalAccessTokenConfigurationStatusMapper + } // namespace Model + } // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/PersonalAccessTokenSummary.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/PersonalAccessTokenSummary.cpp new file mode 100644 index 00000000000..c0949412d27 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/PersonalAccessTokenSummary.cpp @@ -0,0 +1,148 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +namespace Aws +{ +namespace WorkMail +{ +namespace Model +{ + +PersonalAccessTokenSummary::PersonalAccessTokenSummary() : + m_personalAccessTokenIdHasBeenSet(false), + m_userIdHasBeenSet(false), + m_nameHasBeenSet(false), + m_dateCreatedHasBeenSet(false), + m_dateLastUsedHasBeenSet(false), + m_expiresTimeHasBeenSet(false), + m_scopesHasBeenSet(false) +{ +} + +PersonalAccessTokenSummary::PersonalAccessTokenSummary(JsonView jsonValue) + : PersonalAccessTokenSummary() +{ + *this = jsonValue; +} + +PersonalAccessTokenSummary& PersonalAccessTokenSummary::operator =(JsonView jsonValue) +{ + if(jsonValue.ValueExists("PersonalAccessTokenId")) + { + m_personalAccessTokenId = jsonValue.GetString("PersonalAccessTokenId"); + + m_personalAccessTokenIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("UserId")) + { + m_userId = jsonValue.GetString("UserId"); + + m_userIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("Name")) + { + m_name = jsonValue.GetString("Name"); + + m_nameHasBeenSet = true; + } + + if(jsonValue.ValueExists("DateCreated")) + { + m_dateCreated = jsonValue.GetDouble("DateCreated"); + + m_dateCreatedHasBeenSet = true; + } + + if(jsonValue.ValueExists("DateLastUsed")) + { + m_dateLastUsed = jsonValue.GetDouble("DateLastUsed"); + + m_dateLastUsedHasBeenSet = true; + } + + if(jsonValue.ValueExists("ExpiresTime")) + { + m_expiresTime = jsonValue.GetDouble("ExpiresTime"); + + m_expiresTimeHasBeenSet = true; + } + + if(jsonValue.ValueExists("Scopes")) + { + Aws::Utils::Array scopesJsonList = jsonValue.GetArray("Scopes"); + for(unsigned scopesIndex = 0; scopesIndex < scopesJsonList.GetLength(); ++scopesIndex) + { + m_scopes.push_back(scopesJsonList[scopesIndex].AsString()); + } + m_scopesHasBeenSet = true; + } + + return *this; +} + +JsonValue PersonalAccessTokenSummary::Jsonize() const +{ + JsonValue payload; + + if(m_personalAccessTokenIdHasBeenSet) + { + payload.WithString("PersonalAccessTokenId", m_personalAccessTokenId); + + } + + if(m_userIdHasBeenSet) + { + payload.WithString("UserId", m_userId); + + } + + if(m_nameHasBeenSet) + { + payload.WithString("Name", m_name); + + } + + if(m_dateCreatedHasBeenSet) + { + payload.WithDouble("DateCreated", m_dateCreated.SecondsWithMSPrecision()); + } + + if(m_dateLastUsedHasBeenSet) + { + payload.WithDouble("DateLastUsed", m_dateLastUsed.SecondsWithMSPrecision()); + } + + if(m_expiresTimeHasBeenSet) + { + payload.WithDouble("ExpiresTime", m_expiresTime.SecondsWithMSPrecision()); + } + + if(m_scopesHasBeenSet) + { + Aws::Utils::Array scopesJsonList(m_scopes.size()); + for(unsigned scopesIndex = 0; scopesIndex < scopesJsonList.GetLength(); ++scopesIndex) + { + scopesJsonList[scopesIndex].AsString(m_scopes[scopesIndex]); + } + payload.WithArray("Scopes", std::move(scopesJsonList)); + + } + + return payload; +} + +} // namespace Model +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/PutIdentityProviderConfigurationRequest.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/PutIdentityProviderConfigurationRequest.cpp new file mode 100644 index 00000000000..9b6e6484627 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/PutIdentityProviderConfigurationRequest.cpp @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; + +PutIdentityProviderConfigurationRequest::PutIdentityProviderConfigurationRequest() : + m_organizationIdHasBeenSet(false), + m_authenticationMode(IdentityProviderAuthenticationMode::NOT_SET), + m_authenticationModeHasBeenSet(false), + m_identityCenterConfigurationHasBeenSet(false), + m_personalAccessTokenConfigurationHasBeenSet(false) +{ +} + +Aws::String PutIdentityProviderConfigurationRequest::SerializePayload() const +{ + JsonValue payload; + + if(m_organizationIdHasBeenSet) + { + payload.WithString("OrganizationId", m_organizationId); + + } + + if(m_authenticationModeHasBeenSet) + { + payload.WithString("AuthenticationMode", IdentityProviderAuthenticationModeMapper::GetNameForIdentityProviderAuthenticationMode(m_authenticationMode)); + } + + if(m_identityCenterConfigurationHasBeenSet) + { + payload.WithObject("IdentityCenterConfiguration", m_identityCenterConfiguration.Jsonize()); + + } + + if(m_personalAccessTokenConfigurationHasBeenSet) + { + payload.WithObject("PersonalAccessTokenConfiguration", m_personalAccessTokenConfiguration.Jsonize()); + + } + + return payload.View().WriteReadable(); +} + +Aws::Http::HeaderValueCollection PutIdentityProviderConfigurationRequest::GetRequestSpecificHeaders() const +{ + Aws::Http::HeaderValueCollection headers; + headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "WorkMailService.PutIdentityProviderConfiguration")); + return headers; + +} + + + + diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/PutIdentityProviderConfigurationResult.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/PutIdentityProviderConfigurationResult.cpp new file mode 100644 index 00000000000..7246bd8e37d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/model/PutIdentityProviderConfigurationResult.cpp @@ -0,0 +1,42 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include +#include + +#include + +using namespace Aws::WorkMail::Model; +using namespace Aws::Utils::Json; +using namespace Aws::Utils; +using namespace Aws; + +PutIdentityProviderConfigurationResult::PutIdentityProviderConfigurationResult() +{ +} + +PutIdentityProviderConfigurationResult::PutIdentityProviderConfigurationResult(const Aws::AmazonWebServiceResult& result) +{ + *this = result; +} + +PutIdentityProviderConfigurationResult& PutIdentityProviderConfigurationResult::operator =(const Aws::AmazonWebServiceResult& result) +{ + AWS_UNREFERENCED_PARAM(result); + + const auto& headers = result.GetHeaderValueCollection(); + const auto& requestIdIter = headers.find("x-amzn-requestid"); + if(requestIdIter != headers.end()) + { + m_requestId = requestIdIter->second; + } + + + return *this; +} diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/UpdateUserRequest.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/UpdateUserRequest.cpp index dd2db494ca6..3f423114ec3 100644 --- a/generated/src/aws-cpp-sdk-workmail/source/model/UpdateUserRequest.cpp +++ b/generated/src/aws-cpp-sdk-workmail/source/model/UpdateUserRequest.cpp @@ -31,7 +31,8 @@ UpdateUserRequest::UpdateUserRequest() : m_zipCodeHasBeenSet(false), m_departmentHasBeenSet(false), m_countryHasBeenSet(false), - m_officeHasBeenSet(false) + m_officeHasBeenSet(false), + m_identityProviderUserIdHasBeenSet(false) { } @@ -140,6 +141,12 @@ Aws::String UpdateUserRequest::SerializePayload() const } + if(m_identityProviderUserIdHasBeenSet) + { + payload.WithString("IdentityProviderUserId", m_identityProviderUserId); + + } + return payload.View().WriteReadable(); } diff --git a/generated/src/aws-cpp-sdk-workmail/source/model/User.cpp b/generated/src/aws-cpp-sdk-workmail/source/model/User.cpp index f7645fb14bb..ffaef8c87ef 100644 --- a/generated/src/aws-cpp-sdk-workmail/source/model/User.cpp +++ b/generated/src/aws-cpp-sdk-workmail/source/model/User.cpp @@ -28,7 +28,9 @@ User::User() : m_userRole(UserRole::NOT_SET), m_userRoleHasBeenSet(false), m_enabledDateHasBeenSet(false), - m_disabledDateHasBeenSet(false) + m_disabledDateHasBeenSet(false), + m_identityProviderUserIdHasBeenSet(false), + m_identityProviderIdentityStoreIdHasBeenSet(false) { } @@ -96,6 +98,20 @@ User& User::operator =(JsonView jsonValue) m_disabledDateHasBeenSet = true; } + if(jsonValue.ValueExists("IdentityProviderUserId")) + { + m_identityProviderUserId = jsonValue.GetString("IdentityProviderUserId"); + + m_identityProviderUserIdHasBeenSet = true; + } + + if(jsonValue.ValueExists("IdentityProviderIdentityStoreId")) + { + m_identityProviderIdentityStoreId = jsonValue.GetString("IdentityProviderIdentityStoreId"); + + m_identityProviderIdentityStoreIdHasBeenSet = true; + } + return *this; } @@ -147,6 +163,18 @@ JsonValue User::Jsonize() const payload.WithDouble("DisabledDate", m_disabledDate.SecondsWithMSPrecision()); } + if(m_identityProviderUserIdHasBeenSet) + { + payload.WithString("IdentityProviderUserId", m_identityProviderUserId); + + } + + if(m_identityProviderIdentityStoreIdHasBeenSet) + { + payload.WithString("IdentityProviderIdentityStoreId", m_identityProviderIdentityStoreId); + + } + return payload; } diff --git a/generated/tests/geo-maps-gen-tests/CMakeLists.txt b/generated/tests/geo-maps-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..a6d08186f4c --- /dev/null +++ b/generated/tests/geo-maps-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(geo-maps-gen-tests + "Tests for the AWS GEO-MAPS C++ SDK" + testing-resources + aws-cpp-sdk-geo-maps + aws-cpp-sdk-core) + +file(GLOB AWS_GEO-MAPS_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_GEO-MAPS_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_GEO-MAPS_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/geo-maps-gen-tests/GeoMapsEndpointProviderTests.cpp b/generated/tests/geo-maps-gen-tests/GeoMapsEndpointProviderTests.cpp new file mode 100644 index 00000000000..c6935df0240 --- /dev/null +++ b/generated/tests/geo-maps-gen-tests/GeoMapsEndpointProviderTests.cpp @@ -0,0 +1,479 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSGeoMapsEndpointProviderTests"; +using GeoMapsEndpointProvider = Aws::GeoMaps::Endpoint::GeoMapsEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct GeoMapsEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class GeoMapsEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> GeoMapsEndpointProviderTests::TEST_CASES; +const size_t GeoMapsEndpointProviderTests::TEST_CASES_SZ = 32; + +Aws::Vector GeoMapsEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://maps.geo-fips.us-east-1.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://maps.geo-fips.us-east-1.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://maps.geo.us-east-1.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://maps.geo.us-east-1.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps-fips.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps-fips.cn-northwest-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps.cn-northwest-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://maps.geo-fips.us-gov-west-1.us-gov.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://maps.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 13*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://maps.geo.us-gov-west-1.us-gov.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://maps.geo.us-gov-west-1.us-gov.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 15*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 16*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 17*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 18*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 19*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 20*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 21*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 22*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 23*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 24*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps-fips.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 25*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 26*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 27*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 28*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 29*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 30*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-maps.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 31*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const GeoMapsEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(GeoMapsEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const GeoMapsEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/GeoMapsEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize GeoMapsEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + GeoMapsEndpointProviderTests, + ::testing::Range((size_t) 0u, GeoMapsEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/geo-maps-gen-tests/RunTests.cpp b/generated/tests/geo-maps-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/geo-maps-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/geo-places-gen-tests/CMakeLists.txt b/generated/tests/geo-places-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..66327927482 --- /dev/null +++ b/generated/tests/geo-places-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(geo-places-gen-tests + "Tests for the AWS GEO-PLACES C++ SDK" + testing-resources + aws-cpp-sdk-geo-places + aws-cpp-sdk-core) + +file(GLOB AWS_GEO-PLACES_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_GEO-PLACES_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_GEO-PLACES_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/geo-places-gen-tests/GeoPlacesEndpointProviderTests.cpp b/generated/tests/geo-places-gen-tests/GeoPlacesEndpointProviderTests.cpp new file mode 100644 index 00000000000..8bbe40fb2b4 --- /dev/null +++ b/generated/tests/geo-places-gen-tests/GeoPlacesEndpointProviderTests.cpp @@ -0,0 +1,479 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSGeoPlacesEndpointProviderTests"; +using GeoPlacesEndpointProvider = Aws::GeoPlaces::Endpoint::GeoPlacesEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct GeoPlacesEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class GeoPlacesEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> GeoPlacesEndpointProviderTests::TEST_CASES; +const size_t GeoPlacesEndpointProviderTests::TEST_CASES_SZ = 32; + +Aws::Vector GeoPlacesEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://places.geo-fips.us-east-1.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://places.geo-fips.us-east-1.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://places.geo.us-east-1.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://places.geo.us-east-1.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places-fips.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places-fips.cn-northwest-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places.cn-northwest-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://places.geo-fips.us-gov-west-1.us-gov.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://places.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 13*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://places.geo.us-gov-west-1.us-gov.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://places.geo.us-gov-west-1.us-gov.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 15*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 16*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 17*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 18*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 19*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 20*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 21*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 22*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 23*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 24*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places-fips.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 25*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 26*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 27*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 28*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 29*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 30*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-places.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 31*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const GeoPlacesEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(GeoPlacesEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const GeoPlacesEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/GeoPlacesEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize GeoPlacesEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + GeoPlacesEndpointProviderTests, + ::testing::Range((size_t) 0u, GeoPlacesEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/geo-places-gen-tests/RunTests.cpp b/generated/tests/geo-places-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/geo-places-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/generated/tests/geo-routes-gen-tests/CMakeLists.txt b/generated/tests/geo-routes-gen-tests/CMakeLists.txt new file mode 100644 index 00000000000..9c811752244 --- /dev/null +++ b/generated/tests/geo-routes-gen-tests/CMakeLists.txt @@ -0,0 +1,42 @@ +add_project(geo-routes-gen-tests + "Tests for the AWS GEO-ROUTES C++ SDK" + testing-resources + aws-cpp-sdk-geo-routes + aws-cpp-sdk-core) + +file(GLOB AWS_GEO-ROUTES_GENERATED_TEST_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" +) + +if(MSVC AND BUILD_SHARED_LIBS) + add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1) +endif() + +if (CMAKE_CROSSCOMPILING) + set(AUTORUN_UNIT_TESTS OFF) +endif() + +if (AUTORUN_UNIT_TESTS) + enable_testing() +endif() + +if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) + add_library(${PROJECT_NAME} "${AWS_GEO-ROUTES_GENERATED_TEST_SRC}") +else() + add_executable(${PROJECT_NAME} "${AWS_GEO-ROUTES_GENERATED_TEST_SRC}") +endif() + +set_compiler_flags(${PROJECT_NAME}) +set_compiler_warnings(${PROJECT_NAME}) + +target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) + +if (AUTORUN_UNIT_TESTS) + ADD_CUSTOM_COMMAND( TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${AWS_AUTORUN_LD_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH} $ + ARGS "--gtest_brief=1") +endif() + +if(NOT CMAKE_CROSSCOMPILING) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) +endif() \ No newline at end of file diff --git a/generated/tests/geo-routes-gen-tests/GeoRoutesEndpointProviderTests.cpp b/generated/tests/geo-routes-gen-tests/GeoRoutesEndpointProviderTests.cpp new file mode 100644 index 00000000000..48b9256561d --- /dev/null +++ b/generated/tests/geo-routes-gen-tests/GeoRoutesEndpointProviderTests.cpp @@ -0,0 +1,479 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include + +#include + + +static const char* ALLOCATION_TAG = "AWSGeoRoutesEndpointProviderTests"; +using GeoRoutesEndpointProvider = Aws::GeoRoutes::Endpoint::GeoRoutesEndpointProvider; +using EndpointParameters = Aws::Vector; +using ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome; + +using EpParam = Aws::Endpoint::EndpointParameter; +using EpProp = Aws::Endpoint::EndpointParameter; // just a container to store test expectations +using ExpEpProps = Aws::UnorderedMap>>; +using ExpEpAuthScheme = Aws::Vector; +using ExpEpHeaders = Aws::UnorderedMap>; + +struct GeoRoutesEndpointProviderEndpointTestCase +{ + using OperationParamsFromTest = EndpointParameters; + + struct Expect + { + struct Endpoint + { + Aws::String url; + ExpEpAuthScheme authScheme; + ExpEpProps properties; + ExpEpHeaders headers; + } endpoint; + Aws::String error; + }; + struct OperationInput + { + Aws::String operationName; + OperationParamsFromTest operationParams; + OperationParamsFromTest builtinParams; + OperationParamsFromTest clientParams; + }; + + Aws::String documentation; + // Specification tells us it is Client Initialization parameters + // At the same time, specification tells us to test EndpointProvider not the client itself + // Hence params here will be set as a client params (just like a dedicated field above). + Aws::Vector params; + Aws::Vector tags; + Expect expect; + // Aws::Vector operationInput; +}; + +class GeoRoutesEndpointProviderTests : public ::testing::TestWithParam +{ +public: + static const size_t TEST_CASES_SZ; +protected: + static Aws::Vector getTestCase(); + static Aws::UniquePtrSafeDeleted> TEST_CASES; + static void SetUpTestSuite() + { + TEST_CASES = Aws::MakeUniqueSafeDeleted>(ALLOCATION_TAG, getTestCase()); + ASSERT_TRUE(TEST_CASES) << "Failed to allocate TEST_CASES table"; + assert(TEST_CASES->size() == TEST_CASES_SZ); + } + + static void TearDownTestSuite() + { + TEST_CASES.reset(); + } +}; + +Aws::UniquePtrSafeDeleted> GeoRoutesEndpointProviderTests::TEST_CASES; +const size_t GeoRoutesEndpointProviderTests::TEST_CASES_SZ = 32; + +Aws::Vector GeoRoutesEndpointProviderTests::getTestCase() { + + Aws::Vector test_cases = { + /*TEST CASE 0*/ + {"For custom endpoint with region not set and fips disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*epUrl*/"https://example.com", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 1*/ + {"For custom endpoint with fips enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Endpoint", "https://example.com")}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: FIPS and custom endpoint are not supported"} // expect + }, + /*TEST CASE 2*/ + {"For custom endpoint with fips disabled and dualstack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Endpoint", "https://example.com"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Dualstack and custom endpoint are not supported"} // expect + }, + /*TEST CASE 3*/ + {"For region us-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://routes.geo-fips.us-east-1.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 4*/ + {"For region us-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://routes.geo-fips.us-east-1.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 5*/ + {"For region us-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://routes.geo.us-east-1.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 6*/ + {"For region us-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://routes.geo.us-east-1.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 7*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes-fips.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 8*/ + {"For region cn-northwest-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes-fips.cn-northwest-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 9*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes.cn-northwest-1.api.amazonwebservices.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 10*/ + {"For region cn-northwest-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "cn-northwest-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes.cn-northwest-1.amazonaws.com.cn", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 11*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://routes.geo-fips.us-gov-west-1.us-gov.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 12*/ + {"For region us-gov-west-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://routes.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 13*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*epUrl*/"https://routes.geo.us-gov-west-1.us-gov.api.aws/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 14*/ + {"For region us-gov-west-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-gov-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://routes.geo.us-gov-west-1.us-gov.amazonaws.com/v2", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 15*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 16*/ + {"For region us-iso-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes-fips.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 17*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 18*/ + {"For region us-iso-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-iso-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes.us-iso-east-1.c2s.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 19*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 20*/ + {"For region us-isob-east-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes-fips.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 21*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 22*/ + {"For region us-isob-east-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isob-east-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes.us-isob-east-1.sc2s.sgov.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 23*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 24*/ + {"For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes-fips.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 25*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 26*/ + {"For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "eu-isoe-west-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes.eu-isoe-west-1.cloud.adc-e.uk", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 27*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack enabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"FIPS and DualStack are enabled, but this partition does not support one or both"} // expect + }, + /*TEST CASE 28*/ + {"For region us-isof-south-1 with FIPS enabled and DualStack disabled", // documentation + {EpParam("UseFIPS", true), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes-fips.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 29*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack enabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", true)}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"DualStack is enabled but this partition does not support DualStack"} // expect + }, + /*TEST CASE 30*/ + {"For region us-isof-south-1 with FIPS disabled and DualStack disabled", // documentation + {EpParam("UseFIPS", false), EpParam("Region", "us-isof-south-1"), EpParam("UseDualStack", false)}, // params + {}, // tags + {{/*epUrl*/"https://geo-routes.us-isof-south-1.csp.hci.ic.gov", + {/*authScheme*/}, + {/*properties*/}, + {/*headers*/}}, {/*No error*/}} // expect + }, + /*TEST CASE 31*/ + {"Missing region", // documentation + {}, // params + {}, // tags + {{/*No endpoint expected*/}, /*error*/"Invalid Configuration: Missing Region"} // expect + } + }; + return test_cases; +} + +Aws::String RulesToSdkSignerName(const Aws::String& rulesSignerName) +{ + Aws::String sdkSigner = "NullSigner"; + if (rulesSignerName == "sigv4") { + sdkSigner = "SignatureV4"; + } else if (rulesSignerName == "sigv4a") { + sdkSigner = "AsymmetricSignatureV4"; + } else if (rulesSignerName == "none") { + sdkSigner = "NullSigner"; + } else if (rulesSignerName == "bearer") { + sdkSigner = "Bearer"; + } else if (rulesSignerName == "s3Express") { + sdkSigner = "S3ExpressSigner"; + } else { + sdkSigner = rulesSignerName; + } + + return sdkSigner; +} + +void ValidateOutcome(const ResolveEndpointOutcome& outcome, const GeoRoutesEndpointProviderEndpointTestCase::Expect& expect) +{ + if(!expect.error.empty()) + { + ASSERT_FALSE(outcome.IsSuccess()) << "Expected failure with message:\n" << expect.error; + ASSERT_EQ(outcome.GetError().GetMessage(), expect.error); + } + else + { + AWS_ASSERT_SUCCESS(outcome); + ASSERT_EQ(outcome.GetResult().GetURL(), expect.endpoint.url); + const auto expAuthSchemesIt = expect.endpoint.properties.find("authSchemes"); + if (expAuthSchemesIt != expect.endpoint.properties.end()) + { + // in the list of AuthSchemes, select the one with a highest priority + const Aws::Vector priotityList = {"s3Express", "sigv4a", "sigv4", "bearer", "none", ""}; + const auto expectedAuthSchemePropsIt = std::find_first_of(expAuthSchemesIt->second.begin(), expAuthSchemesIt->second.end(), + priotityList.begin(), priotityList.end(), [](const Aws::Vector& props, const Aws::String& expName) + { + const auto& propNameIt = std::find_if(props.begin(), props.end(), [](const EpProp& prop) + { + return prop.GetName() == "name"; + }); + assert(propNameIt != props.end()); + return propNameIt->GetStrValueNoCheck() == expName; + }); + assert(expectedAuthSchemePropsIt != expAuthSchemesIt->second.end()); + + const auto& endpointResultAttrs = outcome.GetResult().GetAttributes(); + ASSERT_TRUE(endpointResultAttrs) << "Expected non-empty EndpointAttributes (authSchemes)"; + for (const auto& expProperty : *expectedAuthSchemePropsIt) + { + if (expProperty.GetName() == "name") { + ASSERT_TRUE(!endpointResultAttrs->authScheme.GetName().empty()); + ASSERT_EQ(RulesToSdkSignerName(expProperty.GetStrValueNoCheck()), endpointResultAttrs->authScheme.GetName()); + } else if (expProperty.GetName() == "signingName") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningName()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningName().value()); + } else if (expProperty.GetName() == "signingRegion") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegion()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegion().value()); + } else if (expProperty.GetName() == "signingRegionSet") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetSigningRegionSet()); + ASSERT_EQ(expProperty.GetStrValueNoCheck(), endpointResultAttrs->authScheme.GetSigningRegionSet().value()); + } else if (expProperty.GetName() == "disableDoubleEncoding") { + ASSERT_TRUE(endpointResultAttrs->authScheme.GetDisableDoubleEncoding()); + ASSERT_EQ(expProperty.GetBoolValueNoCheck(), endpointResultAttrs->authScheme.GetDisableDoubleEncoding().value()); + } else { + FAIL() << "Unsupported Auth type property " << expProperty.GetName() << ". Need to update test."; + } + } + } + + EXPECT_EQ(expect.endpoint.headers.empty(), outcome.GetResult().GetHeaders().empty()); + for(const auto& expHeaderVec : expect.endpoint.headers) + { + const auto& retHeaderIt = outcome.GetResult().GetHeaders().find(expHeaderVec.first); + ASSERT_TRUE(retHeaderIt != outcome.GetResult().GetHeaders().end()); + + auto retHeaderVec = Aws::Utils::StringUtils::Split(retHeaderIt->second, ';'); + std::sort(retHeaderVec.begin(), retHeaderVec.end()); + + auto expHeaderVecSorted = expHeaderVec.second; + std::sort(expHeaderVecSorted.begin(), expHeaderVecSorted.end()); + + ASSERT_EQ(expHeaderVecSorted, retHeaderVec); + } + } +} + +TEST_P(GeoRoutesEndpointProviderTests, EndpointProviderTest) +{ + const size_t TEST_CASE_IDX = GetParam(); + ASSERT_LT(TEST_CASE_IDX, TEST_CASES->size()) << "Something is wrong with the test fixture itself."; + const GeoRoutesEndpointProviderEndpointTestCase& TEST_CASE = TEST_CASES->at(TEST_CASE_IDX); + SCOPED_TRACE(Aws::String("\nTEST CASE # ") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX) + ": " + TEST_CASE.documentation); + SCOPED_TRACE(Aws::String("\n--gtest_filter=EndpointTestsFromModel/GeoRoutesEndpointProviderTests.EndpointProviderTest/") + Aws::Utils::StringUtils::to_string(TEST_CASE_IDX)); + + std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG); + ASSERT_TRUE(endpointProvider) << "Failed to allocate/initialize GeoRoutesEndpointProvider"; + + EndpointParameters endpointParameters; + for(const auto& param : TEST_CASE.params) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + auto resolvedEndpointOutcome = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcome, TEST_CASE.expect); + +#if 0 // temporarily disabled + for(const auto& operation : TEST_CASE.operationInput) + { + /* + * Most specific to least specific value locations: + staticContextParams + contextParam + clientContextParams + Built-In Bindings + Built-in binding default values + */ + const Aws::Vector> + operationInputParams = {std::cref(operation.builtinParams), std::cref(operation.clientParams), std::cref(operation.operationParams)}; + + for(const auto& paramSource : operationInputParams) + { + for(const auto& param : paramSource.get()) + { + endpointParameters.emplace(endpointParameters.end(), Aws::Endpoint::EndpointParameter(param)); + } + } + auto resolvedEndpointOutcomePerOperation = endpointProvider->ResolveEndpoint(endpointParameters); + ValidateOutcome(resolvedEndpointOutcomePerOperation, TEST_CASE.expect); + } +#endif +} + +INSTANTIATE_TEST_SUITE_P(EndpointTestsFromModel, + GeoRoutesEndpointProviderTests, + ::testing::Range((size_t) 0u, GeoRoutesEndpointProviderTests::TEST_CASES_SZ)); diff --git a/generated/tests/geo-routes-gen-tests/RunTests.cpp b/generated/tests/geo-routes-gen-tests/RunTests.cpp new file mode 100644 index 00000000000..f2f10a7c789 --- /dev/null +++ b/generated/tests/geo-routes-gen-tests/RunTests.cpp @@ -0,0 +1,29 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Aws::SDKOptions options; + options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Trace; + + AWS_BEGIN_MEMORY_TEST_EX(options, 1024, 128); + Aws::Testing::InitPlatformTest(options); + Aws::Testing::ParseArgs(argc, argv); + + Aws::InitAPI(options); + ::testing::InitGoogleTest(&argc, argv); + int exitCode = RUN_ALL_TESTS(); + Aws::ShutdownAPI(options); + + AWS_END_MEMORY_TEST_EX; + Aws::Testing::ShutdownPlatformTest(options); + return exitCode; +} diff --git a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h index 65d39ea9336..1e28f0116df 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h +++ b/src/aws-cpp-sdk-core/include/aws/core/VersionConfig.h @@ -4,7 +4,7 @@ */ #pragma once -#define AWS_SDK_VERSION_STRING "1.11.437" +#define AWS_SDK_VERSION_STRING "1.11.438" #define AWS_SDK_VERSION_MAJOR 1 #define AWS_SDK_VERSION_MINOR 11 -#define AWS_SDK_VERSION_PATCH 437 +#define AWS_SDK_VERSION_PATCH 438 diff --git a/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json b/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json index 3cda40eb249..4ecd0e692ae 100644 --- a/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json +++ b/tools/code-generation/api-descriptions/appsync-2017-07-25.normal.json @@ -67,6 +67,23 @@ ], "documentation":"

            Creates an association between a Merged API and source API using the Merged API's identifier.

            " }, + "CreateApi":{ + "name":"CreateApi", + "http":{ + "method":"POST", + "requestUri":"/v2/apis" + }, + "input":{"shape":"CreateApiRequest"}, + "output":{"shape":"CreateApiResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

            Creates an Api object. Use this operation to create an AppSync API with your preferred configuration, such as an Event API that provides real-time message publishing and message subscriptions over WebSockets.

            " + }, "CreateApiCache":{ "name":"CreateApiCache", "http":{ @@ -104,6 +121,25 @@ ], "documentation":"

            Creates a unique key that you can distribute to clients who invoke your API.

            " }, + "CreateChannelNamespace":{ + "name":"CreateChannelNamespace", + "http":{ + "method":"POST", + "requestUri":"/v2/apis/{apiId}/channelNamespaces" + }, + "input":{"shape":"CreateChannelNamespaceRequest"}, + "output":{"shape":"CreateChannelNamespaceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConflictException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

            Creates a ChannelNamespace for an Api.

            " + }, "CreateDataSource":{ "name":"CreateDataSource", "http":{ @@ -205,6 +241,25 @@ ], "documentation":"

            Creates a Type object.

            " }, + "DeleteApi":{ + "name":"DeleteApi", + "http":{ + "method":"DELETE", + "requestUri":"/v2/apis/{apiId}" + }, + "input":{"shape":"DeleteApiRequest"}, + "output":{"shape":"DeleteApiResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

            Deletes an Api object

            ", + "idempotent":true + }, "DeleteApiCache":{ "name":"DeleteApiCache", "http":{ @@ -238,6 +293,25 @@ ], "documentation":"

            Deletes an API key.

            " }, + "DeleteChannelNamespace":{ + "name":"DeleteChannelNamespace", + "http":{ + "method":"DELETE", + "requestUri":"/v2/apis/{apiId}/channelNamespaces/{name}" + }, + "input":{"shape":"DeleteChannelNamespaceRequest"}, + "output":{"shape":"DeleteChannelNamespaceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

            Deletes a ChannelNamespace.

            ", + "idempotent":true + }, "DeleteDataSource":{ "name":"DeleteDataSource", "http":{ @@ -439,6 +513,23 @@ ], "documentation":"

            Flushes an ApiCache object.

            " }, + "GetApi":{ + "name":"GetApi", + "http":{ + "method":"GET", + "requestUri":"/v2/apis/{apiId}" + }, + "input":{"shape":"GetApiRequest"}, + "output":{"shape":"GetApiResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

            Retrieves an Api object.

            " + }, "GetApiAssociation":{ "name":"GetApiAssociation", "http":{ @@ -472,6 +563,23 @@ ], "documentation":"

            Retrieves an ApiCache object.

            " }, + "GetChannelNamespace":{ + "name":"GetChannelNamespace", + "http":{ + "method":"GET", + "requestUri":"/v2/apis/{apiId}/channelNamespaces/{name}" + }, + "input":{"shape":"GetChannelNamespaceRequest"}, + "output":{"shape":"GetChannelNamespaceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

            Retrieves the channel namespace for a specified Api.

            " + }, "GetDataSource":{ "name":"GetDataSource", "http":{ @@ -665,6 +773,37 @@ ], "documentation":"

            Lists the API keys for a given API.

            API keys are deleted automatically 60 days after they expire. However, they may still be included in the response until they have actually been deleted. You can safely call DeleteApiKey to manually delete a key before it's automatically deleted.

            " }, + "ListApis":{ + "name":"ListApis", + "http":{ + "method":"GET", + "requestUri":"/v2/apis" + }, + "input":{"shape":"ListApisRequest"}, + "output":{"shape":"ListApisResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

            Lists the APIs in your AppSync account.

            ListApis returns only the high level API details. For more detailed information about an API, use GetApi.

            " + }, + "ListChannelNamespaces":{ + "name":"ListChannelNamespaces", + "http":{ + "method":"GET", + "requestUri":"/v2/apis/{apiId}/channelNamespaces" + }, + "input":{"shape":"ListChannelNamespacesRequest"}, + "output":{"shape":"ListChannelNamespacesResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

            Lists the channel namespaces for a specified Api.

            ListChannelNamespaces returns only high level details for the channel namespace. To retrieve code handlers, use GetChannelNamespace.

            " + }, "ListDataSources":{ "name":"ListDataSources", "http":{ @@ -931,6 +1070,24 @@ ], "documentation":"

            Untags a resource.

            " }, + "UpdateApi":{ + "name":"UpdateApi", + "http":{ + "method":"POST", + "requestUri":"/v2/apis/{apiId}" + }, + "input":{"shape":"UpdateApiRequest"}, + "output":{"shape":"UpdateApiResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

            Updates an Api.

            " + }, "UpdateApiCache":{ "name":"UpdateApiCache", "http":{ @@ -966,6 +1123,24 @@ ], "documentation":"

            Updates an API key. You can update the key as long as it's not deleted.

            " }, + "UpdateChannelNamespace":{ + "name":"UpdateChannelNamespace", + "http":{ + "method":"POST", + "requestUri":"/v2/apis/{apiId}/channelNamespaces/{name}" + }, + "input":{"shape":"UpdateChannelNamespaceRequest"}, + "output":{"shape":"UpdateChannelNamespaceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

            Updates a ChannelNamespace associated with an Api.

            " + }, "UpdateDataSource":{ "name":"UpdateDataSource", "http":{ @@ -1123,6 +1298,49 @@ "type":"list", "member":{"shape":"AdditionalAuthenticationProvider"} }, + "Api":{ + "type":"structure", + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

            The Api ID.

            " + }, + "name":{ + "shape":"ApiName", + "documentation":"

            The name of the Api.

            " + }, + "ownerContact":{ + "shape":"OwnerContact", + "documentation":"

            The owner contact information for the Api

            " + }, + "tags":{"shape":"TagMap"}, + "dns":{ + "shape":"MapOfStringToString", + "documentation":"

            The DNS records for the API. This will include an HTTP and a real-time endpoint.

            " + }, + "apiArn":{ + "shape":"String", + "documentation":"

            The Amazon Resource Name (ARN) for the Api.

            " + }, + "created":{ + "shape":"Timestamp", + "documentation":"

            The date and time that the Api was created.

            " + }, + "xrayEnabled":{ + "shape":"Boolean", + "documentation":"

            A flag indicating whether to use X-Ray tracing for this Api.

            " + }, + "wafWebAclArn":{ + "shape":"String", + "documentation":"

            The Amazon Resource Name (ARN) of the WAF web access control list (web ACL) associated with this Api, if one exists.

            " + }, + "eventConfig":{ + "shape":"EventConfig", + "documentation":"

            The Event API configuration. This includes the default authorization configuration for connecting, publishing, and subscribing to an Event API.

            " + } + }, + "documentation":"

            Describes an AppSync API. You can use Api for an AppSync API with your preferred configuration, such as an Event API that provides real-time message publishing and message subscriptions over WebSockets.

            " + }, "ApiAssociation":{ "type":"structure", "members":{ @@ -1269,6 +1487,16 @@ "error":{"httpStatusCode":400}, "exception":true }, + "ApiName":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[A-Za-z0-9_\\-\\ ]+" + }, + "Apis":{ + "type":"list", + "member":{"shape":"Api"} + }, "AppSyncRuntime":{ "type":"structure", "required":[ @@ -1395,6 +1623,42 @@ "SUCCESS" ] }, + "AuthMode":{ + "type":"structure", + "required":["authType"], + "members":{ + "authType":{ + "shape":"AuthenticationType", + "documentation":"

            The authorization type.

            " + } + }, + "documentation":"

            Describes an authorization configuration. Use AuthMode to specify the publishing and subscription authorization configuration for an Event API.

            " + }, + "AuthModes":{ + "type":"list", + "member":{"shape":"AuthMode"} + }, + "AuthProvider":{ + "type":"structure", + "required":["authType"], + "members":{ + "authType":{ + "shape":"AuthenticationType", + "documentation":"

            The authorization type.

            " + }, + "cognitoConfig":{ + "shape":"CognitoConfig", + "documentation":"

            Describes an Amazon Cognito user pool configuration.

            " + }, + "openIDConnectConfig":{"shape":"OpenIDConnectConfig"}, + "lambdaAuthorizerConfig":{"shape":"LambdaAuthorizerConfig"} + }, + "documentation":"

            Describes an authorization provider.

            " + }, + "AuthProviders":{ + "type":"list", + "member":{"shape":"AuthProvider"} + }, "AuthenticationType":{ "type":"string", "enum":[ @@ -1499,6 +1763,49 @@ "min":20, "pattern":"^arn:[a-z-]*:(acm|iam):[a-z0-9-]*:\\d{12}:(certificate|server-certificate)/[0-9A-Za-z_/-]*$" }, + "ChannelNamespace":{ + "type":"structure", + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

            The Api ID.

            " + }, + "name":{ + "shape":"Namespace", + "documentation":"

            The name of the channel namespace. This name must be unique within the Api.

            " + }, + "subscribeAuthModes":{ + "shape":"AuthModes", + "documentation":"

            The authorization mode to use for subscribing to messages on the channel namespace. This configuration overrides the default Apiauthorization configuration.

            " + }, + "publishAuthModes":{ + "shape":"AuthModes", + "documentation":"

            The authorization mode to use for publishing messages on the channel namespace. This configuration overrides the default Apiauthorization configuration.

            " + }, + "codeHandlers":{ + "shape":"Code", + "documentation":"

            The event handler functions that run custom business logic to process published events and subscribe requests.

            " + }, + "tags":{"shape":"TagMap"}, + "channelNamespaceArn":{ + "shape":"String", + "documentation":"

            The Amazon Resource Name (ARN) for the ChannelNamespace.

            " + }, + "created":{ + "shape":"Timestamp", + "documentation":"

            The date and time that the ChannelNamespace was created.

            " + }, + "lastModified":{ + "shape":"Timestamp", + "documentation":"

            The date and time that the ChannelNamespace was last changed.

            " + } + }, + "documentation":"

            Describes a channel namespace associated with an Api. The ChannelNamespace contains the definitions for code handlers for the Api.

            " + }, + "ChannelNamespaces":{ + "type":"list", + "member":{"shape":"ChannelNamespace"} + }, "Code":{ "type":"string", "max":32768, @@ -1547,6 +1854,28 @@ "type":"list", "member":{"shape":"CodeError"} }, + "CognitoConfig":{ + "type":"structure", + "required":[ + "userPoolId", + "awsRegion" + ], + "members":{ + "userPoolId":{ + "shape":"String", + "documentation":"

            The user pool ID.

            " + }, + "awsRegion":{ + "shape":"String", + "documentation":"

            The Amazon Web Services Region in which the user pool was created.

            " + }, + "appIdClientRegex":{ + "shape":"String", + "documentation":"

            A regular expression for validating the incoming Amazon Cognito user pool app client ID. If this value isn't set, no filtering is applied.

            " + } + }, + "documentation":"

            Describes an Amazon Cognito configuration.

            " + }, "CognitoUserPoolConfig":{ "type":"structure", "required":[ @@ -1585,6 +1914,15 @@ "NONE" ] }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

            A conflict with a previous successful update is detected. This typically occurs when the previous update did not have time to propagate before the next update was made. A retry (with appropriate backoff logic) is the recommended response to this exception.

            ", + "error":{"httpStatusCode":409}, + "exception":true + }, "ConflictHandlerType":{ "type":"string", "enum":[ @@ -1681,6 +2019,75 @@ } } }, + "CreateApiRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"ApiName", + "documentation":"

            The name for the Api.

            " + }, + "ownerContact":{ + "shape":"String", + "documentation":"

            The owner contact information for the Api.

            " + }, + "tags":{"shape":"TagMap"}, + "eventConfig":{ + "shape":"EventConfig", + "documentation":"

            The Event API configuration. This includes the default authorization configuration for connecting, publishing, and subscribing to an Event API.

            " + } + } + }, + "CreateApiResponse":{ + "type":"structure", + "members":{ + "api":{ + "shape":"Api", + "documentation":"

            The Api object.

            " + } + } + }, + "CreateChannelNamespaceRequest":{ + "type":"structure", + "required":[ + "apiId", + "name" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

            The Api ID.

            ", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"Namespace", + "documentation":"

            The name of the ChannelNamespace. This name must be unique within the Api

            " + }, + "subscribeAuthModes":{ + "shape":"AuthModes", + "documentation":"

            The authorization mode to use for subscribing to messages on the channel namespace. This configuration overrides the default Api authorization configuration.

            " + }, + "publishAuthModes":{ + "shape":"AuthModes", + "documentation":"

            The authorization mode to use for publishing messages on the channel namespace. This configuration overrides the default Api authorization configuration.

            " + }, + "codeHandlers":{ + "shape":"Code", + "documentation":"

            The event handler functions that run custom business logic to process published events and subscribe requests.

            " + }, + "tags":{"shape":"TagMap"} + } + }, + "CreateChannelNamespaceResponse":{ + "type":"structure", + "members":{ + "channelNamespace":{ + "shape":"ChannelNamespace", + "documentation":"

            The ChannelNamespace object.

            " + } + } + }, "CreateDataSourceRequest":{ "type":"structure", "required":[ @@ -1886,10 +2293,6 @@ "shape":"LambdaAuthorizerConfig", "documentation":"

            Configuration for Lambda function authorization.

            " }, - "visibility":{ - "shape":"GraphQLApiVisibility", - "documentation":"

            Sets the value of the GraphQL API to public (GLOBAL) or private (PRIVATE). If no value is provided, the visibility will be set to GLOBAL by default. This value cannot be changed once the API has been created.

            " - }, "apiType":{ "shape":"GraphQLApiType", "documentation":"

            The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED).

            " @@ -1898,6 +2301,10 @@ "shape":"String", "documentation":"

            The Identity and Access Management service role ARN for a merged API. The AppSync service assumes this role on behalf of the Merged API to validate access to source APIs at runtime and to prompt the AUTO_MERGE to update the merged API endpoint with the source API changes automatically.

            " }, + "visibility":{ + "shape":"GraphQLApiVisibility", + "documentation":"

            Sets the value of the GraphQL API to public (GLOBAL) or private (PRIVATE). If no value is provided, the visibility will be set to GLOBAL by default. This value cannot be changed once the API has been created.

            " + }, "ownerContact":{ "shape":"String", "documentation":"

            The owner contact information for an API resource.

            This field accepts any string input with a length of 0 - 256 characters.

            " @@ -2302,6 +2709,49 @@ "members":{ } }, + "DeleteApiRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

            The Api ID.

            ", + "location":"uri", + "locationName":"apiId" + } + } + }, + "DeleteApiResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteChannelNamespaceRequest":{ + "type":"structure", + "required":[ + "apiId", + "name" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

            The ID of the Api associated with the ChannelNamespace.

            ", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"Namespace", + "documentation":"

            The name of the ChannelNamespace.

            ", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteChannelNamespaceResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteDataSourceRequest":{ "type":"structure", "required":[ @@ -2792,6 +3242,66 @@ }, "documentation":"

            Describes an Amazon EventBridge bus data source configuration.

            " }, + "EventConfig":{ + "type":"structure", + "required":[ + "authProviders", + "connectionAuthModes", + "defaultPublishAuthModes", + "defaultSubscribeAuthModes" + ], + "members":{ + "authProviders":{ + "shape":"AuthProviders", + "documentation":"

            A list of authorization providers.

            " + }, + "connectionAuthModes":{ + "shape":"AuthModes", + "documentation":"

            A list of valid authorization modes for the Event API connections.

            " + }, + "defaultPublishAuthModes":{ + "shape":"AuthModes", + "documentation":"

            A list of valid authorization modes for the Event API publishing.

            " + }, + "defaultSubscribeAuthModes":{ + "shape":"AuthModes", + "documentation":"

            A list of valid authorization modes for the Event API subscriptions.

            " + }, + "logConfig":{ + "shape":"EventLogConfig", + "documentation":"

            The CloudWatch Logs configuration for the Event API.

            " + } + }, + "documentation":"

            Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API.

            " + }, + "EventLogConfig":{ + "type":"structure", + "required":[ + "logLevel", + "cloudWatchLogsRoleArn" + ], + "members":{ + "logLevel":{ + "shape":"EventLogLevel", + "documentation":"

            The type of information to log for the Event API.

            " + }, + "cloudWatchLogsRoleArn":{ + "shape":"String", + "documentation":"

            The IAM service role that AppSync assumes to publish CloudWatch Logs in your account.

            " + } + }, + "documentation":"

            Describes the CloudWatch Logs configuration for the Event API.

            " + }, + "EventLogLevel":{ + "type":"string", + "enum":[ + "NONE", + "ERROR", + "ALL", + "INFO", + "DEBUG" + ] + }, "FieldLogLevel":{ "type":"string", "enum":[ @@ -2921,6 +3431,57 @@ }, "documentation":"

            Represents the output of a GetApiCache operation.

            " }, + "GetApiRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

            The Api ID.

            ", + "location":"uri", + "locationName":"apiId" + } + } + }, + "GetApiResponse":{ + "type":"structure", + "members":{ + "api":{ + "shape":"Api", + "documentation":"

            The Api object.

            " + } + } + }, + "GetChannelNamespaceRequest":{ + "type":"structure", + "required":[ + "apiId", + "name" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

            The Api ID.

            ", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"Namespace", + "documentation":"

            The name of the ChannelNamespace.

            ", + "location":"uri", + "locationName":"name" + } + } + }, + "GetChannelNamespaceResponse":{ + "type":"structure", + "members":{ + "channelNamespace":{ + "shape":"ChannelNamespace", + "documentation":"

            The ChannelNamespace object.

            " + } + } + }, "GetDataSourceIntrospectionRequest":{ "type":"structure", "required":["introspectionId"], @@ -2933,7 +3494,7 @@ }, "includeModelsSDL":{ "shape":"Boolean", - "documentation":"

            A boolean flag that determines whether SDL should be generated for introspected types or not. If set to true, each model will contain an sdl property that contains the SDL for that type. The SDL only contains the type data and no additional metadata or directives.

            ", + "documentation":"

            A boolean flag that determines whether SDL should be generated for introspected types. If set to true, each model will contain an sdl property that contains the SDL for that type. The SDL only contains the type data and no additional metadata or directives.

            ", "location":"querystring", "locationName":"includeModelsSDL" }, @@ -3503,6 +4064,73 @@ } } }, + "ListApisRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

            An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

            ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

            The maximum number of results that you want the request to return.

            ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListApisResponse":{ + "type":"structure", + "members":{ + "apis":{ + "shape":"Apis", + "documentation":"

            The Api objects.

            " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

            An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

            " + } + } + }, + "ListChannelNamespacesRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

            The Api ID.

            ", + "location":"uri", + "locationName":"apiId" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

            An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

            ", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

            The maximum number of results that you want the request to return.

            ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListChannelNamespacesResponse":{ + "type":"structure", + "members":{ + "channelNamespaces":{ + "shape":"ChannelNamespaces", + "documentation":"

            The ChannelNamespace objects.

            " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

            An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

            " + } + } + }, "ListDataSourcesRequest":{ "type":"structure", "required":["apiId"], @@ -3907,7 +4535,7 @@ "members":{ "fieldLogLevel":{ "shape":"FieldLogLevel", - "documentation":"

            The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL.

            • NONE: No field-level logs are captured.

            • ERROR: Logs the following information only for the fields that are in the error category:

              • The error section in the server response.

              • Field-level errors.

              • The generated request/response functions that got resolved for error fields.

            • INFO: Logs the following information only for the fields that are in the info and error categories:

              • Info-level messages.

              • The user messages sent through $util.log.info and console.log.

              • Field-level tracing and mapping logs are not shown.

            • DEBUG: Logs the following information only for the fields that are in the debug, info, and error categories:

              • Debug-level messages.

              • The user messages sent through $util.log.info, $util.log.debug, console.log, and console.debug.

              • Field-level tracing and mapping logs are not shown.

            • ALL: The following information is logged for all fields in the query:

              • Field-level tracing information.

              • The generated request/response functions that were resolved for each field.

            " + "documentation":"

            The field logging level. Values can be NONE, ERROR, or ALL.

            • NONE: No field-level logs are captured.

            • ERROR: Logs the following information only for the fields that are in error:

              • The error section in the server response.

              • Field-level errors.

              • The generated request/response functions that got resolved for error fields.

            • ALL: The following information is logged for all fields in the query:

              • Field-level tracing information.

              • The generated request/response functions that got resolved for each field.

            " }, "cloudWatchLogsRoleArn":{ "shape":"String", @@ -3953,6 +4581,12 @@ "AUTO_MERGE" ] }, + "Namespace":{ + "type":"string", + "max":50, + "min":1, + "pattern":"([A-Za-z0-9](?:[A-Za-z0-9\\-]{0,48}[A-Za-z0-9])?)" + }, "NotFoundException":{ "type":"structure", "members":{ @@ -4017,6 +4651,12 @@ "JSON" ] }, + "OwnerContact":{ + "type":"string", + "max":250, + "min":0, + "pattern":"[A-Za-z0-9_\\-\\ \\.]+" + }, "Ownership":{ "type":"string", "enum":[ @@ -4028,7 +4668,7 @@ "type":"string", "max":65536, "min":1, - "pattern":"[\\\\S]+" + "pattern":"[\\S]+" }, "PipelineConfig":{ "type":"structure", @@ -4273,6 +4913,15 @@ "NOT_APPLICABLE" ] }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

            The operation exceeded the service quota for this resource.

            ", + "error":{"httpStatusCode":402}, + "exception":true + }, "SourceApiAssociation":{ "type":"structure", "members":{ @@ -4549,6 +5198,7 @@ "min":2, "pattern":"^[\\s\\S]*$" }, + "Timestamp":{"type":"timestamp"}, "Type":{ "type":"structure", "members":{ @@ -4703,6 +5353,84 @@ } } }, + "UpdateApiRequest":{ + "type":"structure", + "required":[ + "apiId", + "name" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

            The Api ID.

            ", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"ApiName", + "documentation":"

            The name of the Api.

            " + }, + "ownerContact":{ + "shape":"String", + "documentation":"

            The owner contact information for the Api.

            " + }, + "eventConfig":{ + "shape":"EventConfig", + "documentation":"

            The new event configuration. This includes the default authorization configuration for connecting, publishing, and subscribing to an Event API.

            " + } + } + }, + "UpdateApiResponse":{ + "type":"structure", + "members":{ + "api":{ + "shape":"Api", + "documentation":"

            The Api object.

            " + } + } + }, + "UpdateChannelNamespaceRequest":{ + "type":"structure", + "required":[ + "apiId", + "name" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

            The Api ID.

            ", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"Namespace", + "documentation":"

            The name of the ChannelNamespace.

            ", + "location":"uri", + "locationName":"name" + }, + "subscribeAuthModes":{ + "shape":"AuthModes", + "documentation":"

            The authorization mode to use for subscribing to messages on the channel namespace. This configuration overrides the default Api authorization configuration.

            " + }, + "publishAuthModes":{ + "shape":"AuthModes", + "documentation":"

            The authorization mode to use for publishing messages on the channel namespace. This configuration overrides the default Api authorization configuration.

            " + }, + "codeHandlers":{ + "shape":"Code", + "documentation":"

            The event handler functions that run custom business logic to process published events and subscribe requests.

            " + } + } + }, + "UpdateChannelNamespaceResponse":{ + "type":"structure", + "members":{ + "channelNamespace":{ + "shape":"ChannelNamespace", + "documentation":"

            The ChannelNamespace object.

            " + } + } + }, "UpdateDataSourceRequest":{ "type":"structure", "required":[ @@ -4873,8 +5601,7 @@ "type":"structure", "required":[ "apiId", - "name", - "authenticationType" + "name" ], "members":{ "apiId":{ diff --git a/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json b/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json index a50c4cf497c..9f88a10acbb 100644 --- a/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json +++ b/tools/code-generation/api-descriptions/connect-2017-08-08.normal.json @@ -4593,8 +4593,8 @@ }, "AgentFirstName":{ "type":"string", - "max":100, - "min":1, + "max":255, + "min":0, "sensitive":true }, "AgentHierarchyGroup":{ @@ -4670,8 +4670,8 @@ }, "AgentLastName":{ "type":"string", - "max":100, - "min":1, + "max":300, + "min":0, "sensitive":true }, "AgentPauseDurationInSeconds":{ @@ -23364,7 +23364,7 @@ "documentation":"

            The user's mobile number.

            " } }, - "documentation":"

            Contains information about the identity of a user.

            For Amazon Connect instances that are created with the EXISTING_DIRECTORY identity management type, FirstName, LastName, and Email cannot be updated from within Amazon Connect because they are managed by the directory.

            " + "documentation":"

            Contains information about the identity of a user.

            For Amazon Connect instances that are created with the EXISTING_DIRECTORY identity management type, FirstName, LastName, and Email cannot be updated from within Amazon Connect because they are managed by the directory.

            The FirstName and LastName length constraints below apply only to instances using SAML for identity management. If you are using Amazon Connect for identity management, the length constraints are 1-255 for FirstName, and 1-256 for LastName.

            " }, "UserIdentityInfoLite":{ "type":"structure", diff --git a/tools/code-generation/api-descriptions/datasync-2018-11-09.normal.json b/tools/code-generation/api-descriptions/datasync-2018-11-09.normal.json index f441250f3f2..2c3e37a55d6 100644 --- a/tools/code-generation/api-descriptions/datasync-2018-11-09.normal.json +++ b/tools/code-generation/api-descriptions/datasync-2018-11-09.normal.json @@ -12,7 +12,8 @@ "signatureVersion":"v4", "signingName":"datasync", "targetPrefix":"FmrsService", - "uid":"datasync-2018-11-09" + "uid":"datasync-2018-11-09", + "auth":["aws.auth#sigv4"] }, "operations":{ "AddStorageSystem":{ @@ -56,7 +57,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalException"} ], - "documentation":"

            Activates an DataSync agent that you've deployed in your storage environment. The activation process associates the agent with your Amazon Web Services account.

            If you haven't deployed an agent yet, see the following topics to learn more:

            If you're transferring between Amazon Web Services storage services, you don't need a DataSync agent.

            " + "documentation":"

            Activates an DataSync agent that you deploy in your storage environment. The activation process associates the agent with your Amazon Web Services account.

            If you haven't deployed an agent yet, see Do I need a DataSync agent?

            " }, "CreateLocationAzureBlob":{ "name":"CreateLocationAzureBlob", @@ -522,7 +523,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalException"} ], - "documentation":"

            Provides information about an execution of your DataSync task. You can use this operation to help monitor the progress of an ongoing transfer or check the results of the transfer.

            " + "documentation":"

            Provides information about an execution of your DataSync task. You can use this operation to help monitor the progress of an ongoing data transfer or check the results of the transfer.

            Some DescribeTaskExecution response elements are only relevant to a specific task mode. For information, see Understanding task mode differences and Understanding data transfer performance metrics.

            " }, "GenerateRecommendations":{ "name":"GenerateRecommendations", @@ -681,7 +682,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalException"} ], - "documentation":"

            Starts an DataSync transfer task. For each task, you can only run one task execution at a time.

            There are several phases to a task execution. For more information, see Task execution statuses.

            If you're planning to transfer data to or from an Amazon S3 location, review how DataSync can affect your S3 request charges and the DataSync pricing page before you begin.

            " + "documentation":"

            Starts an DataSync transfer task. For each task, you can only run one task execution at a time.

            There are several steps to a task execution. For more information, see Task execution statuses.

            If you're planning to transfer data to or from an Amazon S3 location, review how DataSync can affect your S3 request charges and the DataSync pricing page before you begin.

            " }, "StopDiscoveryJob":{ "name":"StopDiscoveryJob", @@ -1084,11 +1085,11 @@ "members":{ "ActivationKey":{ "shape":"ActivationKey", - "documentation":"

            Specifies your DataSync agent's activation key. If you don't have an activation key, see Activate your agent.

            " + "documentation":"

            Specifies your DataSync agent's activation key. If you don't have an activation key, see Activating your agent.

            " }, "AgentName":{ "shape":"TagValue", - "documentation":"

            Specifies a name for your agent. You can see this name in the DataSync console.

            " + "documentation":"

            Specifies a name for your agent. We recommend specifying a name that you can remember.

            " }, "Tags":{ "shape":"InputTagList", @@ -1096,15 +1097,15 @@ }, "VpcEndpointId":{ "shape":"VpcEndpointId", - "documentation":"

            Specifies the ID of the VPC endpoint that you want your agent to connect to. For example, a VPC endpoint ID looks like vpce-01234d5aff67890e1.

            The VPC endpoint you use must include the DataSync service name (for example, com.amazonaws.us-east-2.datasync).

            " + "documentation":"

            Specifies the ID of the VPC service endpoint that you're using. For example, a VPC endpoint ID looks like vpce-01234d5aff67890e1.

            The VPC service endpoint you use must include the DataSync service name (for example, com.amazonaws.us-east-2.datasync).

            " }, "SubnetArns":{ "shape":"PLSubnetArnList", - "documentation":"

            Specifies the ARN of the subnet where you want to run your DataSync task when using a VPC endpoint. This is the subnet where DataSync creates and manages the network interfaces for your transfer. You can only specify one ARN.

            " + "documentation":"

            Specifies the ARN of the subnet where your VPC service endpoint is located. You can only specify one ARN.

            " }, "SecurityGroupArns":{ "shape":"PLSecurityGroupArnList", - "documentation":"

            Specifies the Amazon Resource Name (ARN) of the security group that protects your task's network interfaces when using a virtual private cloud (VPC) endpoint. You can only specify one ARN.

            " + "documentation":"

            Specifies the Amazon Resource Name (ARN) of the security group that allows traffic between your agent and VPC service endpoint. You can only specify one ARN.

            " } }, "documentation":"

            CreateAgentRequest

            " @@ -1179,15 +1180,15 @@ "members":{ "Subdirectory":{ "shape":"EfsSubdirectory", - "documentation":"

            Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location). By default, DataSync uses the root directory, but you can also include subdirectories.

            You must specify a value with forward slashes (for example, /path/to/folder).

            " + "documentation":"

            Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location) on your file system.

            By default, DataSync uses the root directory (or access point if you provide one by using AccessPointArn). You can also include subdirectories using forward slashes (for example, /path/to/folder).

            " }, "EfsFilesystemArn":{ "shape":"EfsFilesystemArn", - "documentation":"

            Specifies the ARN for the Amazon EFS file system.

            " + "documentation":"

            Specifies the ARN for your Amazon EFS file system.

            " }, "Ec2Config":{ "shape":"Ec2Config", - "documentation":"

            Specifies the subnet and security groups DataSync uses to access your Amazon EFS file system.

            " + "documentation":"

            Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's mount targets.

            " }, "Tags":{ "shape":"InputTagList", @@ -1195,15 +1196,15 @@ }, "AccessPointArn":{ "shape":"EfsAccessPointArn", - "documentation":"

            Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to access the Amazon EFS file system.

            " + "documentation":"

            Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system.

            For more information, see Accessing restricted file systems.

            " }, "FileSystemAccessRoleArn":{ "shape":"IamRoleArn", - "documentation":"

            Specifies an Identity and Access Management (IAM) role that DataSync assumes when mounting the Amazon EFS file system.

            " + "documentation":"

            Specifies an Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.

            For information on creating this role, see Creating a DataSync IAM role for file system access.

            " }, "InTransitEncryption":{ "shape":"EfsInTransitEncryption", - "documentation":"

            Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it copies data to or from the Amazon EFS file system.

            If you specify an access point using AccessPointArn or an IAM role using FileSystemAccessRoleArn, you must set this parameter to TLS1_2.

            " + "documentation":"

            Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system.

            If you specify an access point using AccessPointArn or an IAM role using FileSystemAccessRoleArn, you must set this parameter to TLS1_2.

            " } }, "documentation":"

            CreateLocationEfsRequest

            " @@ -1346,7 +1347,7 @@ }, "SecurityGroupArns":{ "shape":"Ec2SecurityGroupArnList", - "documentation":"

            Specifies the ARNs of the security groups that provide access to your file system's preferred subnet.

            If you choose a security group that doesn't allow connections from within itself, do one of the following:

            • Configure the security group to allow it to communicate within itself.

            • Choose a different security group that can communicate with the mount target's security group.

            " + "documentation":"

            Specifies the ARNs of the Amazon EC2 security groups that provide access to your file system's preferred subnet.

            The security groups that you specify must be able to communicate with your file system's security groups. For information about configuring security groups for file system access, see the Amazon FSx for Windows File Server User Guide .

            If you choose a security group that doesn't allow connections from within itself, do one of the following:

            • Configure the security group to allow it to communicate within itself.

            • Choose a different security group that can communicate with the mount target's security group.

            " }, "Tags":{ "shape":"InputTagList", @@ -1429,7 +1430,7 @@ }, "AgentArns":{ "shape":"AgentArnList", - "documentation":"

            The Amazon Resource Names (ARNs) of the agents that are used to connect to the HDFS cluster.

            " + "documentation":"

            The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.

            " }, "Tags":{ "shape":"InputTagList", @@ -1442,7 +1443,7 @@ "members":{ "LocationArn":{ "shape":"LocationArn", - "documentation":"

            The ARN of the source HDFS cluster location that's created.

            " + "documentation":"

            The ARN of the source HDFS cluster location that you create.

            " } } }, @@ -1464,7 +1465,7 @@ }, "OnPremConfig":{ "shape":"OnPremConfig", - "documentation":"

            Specifies the Amazon Resource Name (ARN) of the DataSync agent that want to connect to your NFS file server.

            You can specify more than one agent. For more information, see Using multiple agents for transfers.

            " + "documentation":"

            Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect to your NFS file server.

            You can specify more than one agent. For more information, see Using multiple DataSync agents.

            " }, "MountOptions":{ "shape":"NfsMountOptions", @@ -1525,7 +1526,7 @@ }, "AgentArns":{ "shape":"AgentArnList", - "documentation":"

            Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can securely connect with your location.

            " + "documentation":"

            Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.

            " }, "Tags":{ "shape":"InputTagList", @@ -1621,7 +1622,7 @@ }, "AgentArns":{ "shape":"AgentArnList", - "documentation":"

            Specifies the DataSync agent (or agents) which you want to connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).

            " + "documentation":"

            Specifies the DataSync agent (or agents) that can connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).

            " }, "MountOptions":{ "shape":"SmbMountOptions", @@ -1661,7 +1662,7 @@ }, "CloudWatchLogGroupArn":{ "shape":"LogGroupArn", - "documentation":"

            Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

            " + "documentation":"

            Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

            For Enhanced mode tasks, you don't need to specify anything. DataSync automatically sends logs to a CloudWatch log group named /aws/datasync.

            " }, "Name":{ "shape":"TagValue", @@ -1685,7 +1686,7 @@ }, "Includes":{ "shape":"FilterList", - "documentation":"

            Specifies include filters define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

            " + "documentation":"

            Specifies include filters that define the files, objects, and folders in your source location that you want DataSync to transfer. For more information and examples, see Specifying what DataSync transfers by using filters.

            " }, "ManifestConfig":{ "shape":"ManifestConfig", @@ -1694,6 +1695,10 @@ "TaskReportConfig":{ "shape":"TaskReportConfig", "documentation":"

            Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see Monitoring your DataSync transfers with task reports.

            When using this parameter, your caller identity (the role that you're using DataSync with) must have the iam:PassRole permission. The AWSDataSyncFullAccess policy includes this permission.

            " + }, + "TaskMode":{ + "shape":"TaskMode", + "documentation":"

            Specifies one of the following task modes for your data transfer:

            • ENHANCED - Transfer virtually unlimited numbers of objects with enhanced metrics, more detailed logs, and higher performance than Basic mode. Currently available for transfers between Amazon S3 locations.

              To create an Enhanced mode task, the IAM role that you use to call the CreateTask operation must have the iam:CreateServiceLinkedRole permission.

            • BASIC (default) - Transfer files or objects between Amazon Web Services storage and on-premises, edge, or other cloud storage. DataSync quotas apply.

            For more information, see Understanding task mode differences.

            " } }, "documentation":"

            CreateTaskRequest

            " @@ -1934,15 +1939,15 @@ }, "AccessPointArn":{ "shape":"EfsAccessPointArn", - "documentation":"

            The ARN of the access point that DataSync uses to access the Amazon EFS file system.

            " + "documentation":"

            The ARN of the access point that DataSync uses to access the Amazon EFS file system.

            For more information, see Accessing restricted file systems.

            " }, "FileSystemAccessRoleArn":{ "shape":"IamRoleArn", - "documentation":"

            The Identity and Access Management (IAM) role that DataSync assumes when mounting the Amazon EFS file system.

            " + "documentation":"

            The Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.

            For more information, see Creating a DataSync IAM role for file system access.

            " }, "InTransitEncryption":{ "shape":"EfsInTransitEncryption", - "documentation":"

            Describes whether DataSync uses Transport Layer Security (TLS) encryption when copying data to or from the Amazon EFS file system.

            " + "documentation":"

            Indicates whether DataSync uses Transport Layer Security (TLS) encryption when transferring data to or from the Amazon EFS file system.

            " } }, "documentation":"

            DescribeLocationEfsResponse

            " @@ -2076,7 +2081,7 @@ }, "SecurityGroupArns":{ "shape":"Ec2SecurityGroupArnList", - "documentation":"

            The ARNs of the security groups that are configured for the FSx for Windows File Server file system.

            " + "documentation":"

            The ARNs of the Amazon EC2 security groups that provide access to your file system's preferred subnet.

            For information about configuring security groups for file system access, see the Amazon FSx for Windows File Server User Guide .

            " }, "CreationTime":{ "shape":"Time", @@ -2514,27 +2519,27 @@ }, "EstimatedFilesToTransfer":{ "shape":"long", - "documentation":"

            The expected number of files, objects, and directories that DataSync will transfer over the network. This value is calculated during the task execution's PREPARING phase before the TRANSFERRING phase. The calculation is based on comparing the content of the source and destination locations and finding the difference that needs to be transferred.

            " + "documentation":"

            The number of files, objects, and directories that DataSync expects to transfer over the network. This value is calculated during the task execution's PREPARING step before the TRANSFERRING step.

            How this gets calculated depends primarily on your task’s transfer mode configuration:

            • If TranserMode is set to CHANGED - The calculation is based on comparing the content of the source and destination locations and determining the difference that needs to be transferred. The difference can include:

              • Anything that's added or modified at the source location.

              • Anything that's in both locations and modified at the destination after an initial transfer (unless OverwriteMode is set to NEVER).

              • (Basic task mode only) The number of items that DataSync expects to delete (if PreserveDeletedFiles is set to REMOVE).

            • If TranserMode is set to ALL - The calculation is based only on the items that DataSync finds at the source location.

            " }, "EstimatedBytesToTransfer":{ "shape":"long", - "documentation":"

            The estimated physical number of bytes that will transfer over the network.

            " + "documentation":"

            The number of logical bytes that DataSync expects to write to the destination location.

            " }, "FilesTransferred":{ "shape":"long", - "documentation":"

            The actual number of files, objects, and directories that DataSync transferred over the network. This value is updated periodically during the task execution's TRANSFERRING phase when something is read from the source and sent over the network.

            If DataSync fails to transfer something, this value can be less than EstimatedFilesToTransfer. In some cases, this value can also be greater than EstimatedFilesToTransfer. This element is implementation-specific for some location types, so don't use it as an exact indication of what transferred or to monitor your task execution.

            " + "documentation":"

            The number of files, objects, and directories that DataSync actually transfers over the network. This value is updated periodically during the task execution's TRANSFERRING step when something is read from the source and sent over the network.

            If DataSync fails to transfer something, this value can be less than EstimatedFilesToTransfer. In some cases, this value can also be greater than EstimatedFilesToTransfer. This element is implementation-specific for some location types, so don't use it as an exact indication of what's transferring or to monitor your task execution.

            " }, "BytesWritten":{ "shape":"long", - "documentation":"

            The number of logical bytes written to the destination location.

            " + "documentation":"

            The number of logical bytes that DataSync actually writes to the destination location.

            " }, "BytesTransferred":{ "shape":"long", - "documentation":"

            The total number of bytes that are involved in the transfer. For the number of bytes sent over the network, see BytesCompressed.

            " + "documentation":"

            The number of bytes that DataSync sends to the network before compression (if compression is possible). For the number of bytes transferred over the network, see BytesCompressed.

            " }, "BytesCompressed":{ "shape":"long", - "documentation":"

            The physical number of bytes transferred over the network after compression was applied. In most cases, this number is less than BytesTransferred unless the data isn't compressible.

            " + "documentation":"

            The number of physical bytes that DataSync transfers over the network after compression (if compression is possible). This number is typically less than BytesTransferred unless the data isn't compressible.

            Not currently supported with Enhanced mode tasks.

            " }, "Result":{ "shape":"TaskExecutionResultDetail", @@ -2546,15 +2551,15 @@ }, "FilesDeleted":{ "shape":"long", - "documentation":"

            The number of files, objects, and directories that DataSync deleted in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

            " + "documentation":"

            The number of files, objects, and directories that DataSync actually deletes in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

            " }, "FilesSkipped":{ "shape":"long", - "documentation":"

            The number of files, objects, and directories that DataSync skipped during your transfer.

            " + "documentation":"

            The number of files, objects, and directories that DataSync skips during your transfer.

            " }, "FilesVerified":{ "shape":"long", - "documentation":"

            The number of files, objects, and directories that DataSync verified during your transfer.

            When you configure your task to verify only the data that's transferred, DataSync doesn't verify directories in some situations or files that fail to transfer.

            " + "documentation":"

            The number of files, objects, and directories that DataSync verifies during your transfer.

            When you configure your task to verify only the data that's transferred, DataSync doesn't verify directories in some situations or files that fail to transfer.

            " }, "ReportResult":{ "shape":"ReportResult", @@ -2562,7 +2567,23 @@ }, "EstimatedFilesToDelete":{ "shape":"long", - "documentation":"

            The expected number of files, objects, and directories that DataSync will delete in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

            " + "documentation":"

            The number of files, objects, and directories that DataSync expects to delete in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

            " + }, + "TaskMode":{ + "shape":"TaskMode", + "documentation":"

            The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

            " + }, + "FilesPrepared":{ + "shape":"long", + "documentation":"

            The number of objects that DataSync will attempt to transfer after comparing your source and destination locations.

            Applies only to Enhanced mode tasks.

            This metric isn't applicable if you configure your task to transfer all data. In that scenario, DataSync copies everything from the source to the destination without comparing differences between the locations.

            " + }, + "FilesListed":{ + "shape":"TaskExecutionFilesListedDetail", + "documentation":"

            The number of objects that DataSync finds at your locations.

            Applies only to Enhanced mode tasks.

            " + }, + "FilesFailed":{ + "shape":"TaskExecutionFilesFailedDetail", + "documentation":"

            The number of objects that DataSync fails to prepare, transfer, verify, and delete during your task execution.

            Applies only to Enhanced mode tasks.

            " } }, "documentation":"

            DescribeTaskExecutionResponse

            " @@ -2607,7 +2628,7 @@ }, "CloudWatchLogGroupArn":{ "shape":"LogGroupArn", - "documentation":"

            The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

            For more information, see Monitoring DataSync with Amazon CloudWatch.

            " + "documentation":"

            The Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

            For more information, see Monitoring data transfers with CloudWatch Logs.

            " }, "SourceNetworkInterfaceArns":{ "shape":"SourceNetworkInterfaceArns", @@ -2656,6 +2677,10 @@ "ScheduleDetails":{ "shape":"TaskScheduleDetails", "documentation":"

            The details about your task schedule.

            " + }, + "TaskMode":{ + "shape":"TaskMode", + "documentation":"

            The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

            " } }, "documentation":"

            DescribeTaskResponse

            " @@ -2778,7 +2803,7 @@ "documentation":"

            Specifies the Amazon Resource Names (ARNs) of the security groups associated with an Amazon EFS file system's mount target.

            " } }, - "documentation":"

            The subnet and security groups that DataSync uses to access your Amazon EFS file system.

            " + "documentation":"

            The subnet and security groups that DataSync uses to connect to one of your Amazon EFS file system's mount targets.

            " }, "Ec2SecurityGroupArn":{ "type":"string", @@ -3846,10 +3871,10 @@ "members":{ "AgentArns":{ "shape":"AgentArnList", - "documentation":"

            The Amazon Resource Names (ARNs) of the agents connecting to a transfer location.

            " + "documentation":"

            The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your NFS file server.

            You can specify more than one agent. For more information, see Using multiple DataSync agents.

            " } }, - "documentation":"

            The DataSync agents that are connecting to a Network File System (NFS) location.

            " + "documentation":"

            The DataSync agents that can connect to your Network File System (NFS) file server.

            " }, "Operator":{ "type":"string", @@ -3871,7 +3896,7 @@ "members":{ "VerifyMode":{ "shape":"VerifyMode", - "documentation":"

            Specifies how and when DataSync checks the integrity of your data during a transfer.

            • ONLY_FILES_TRANSFERRED (recommended) - DataSync calculates the checksum of transferred files and metadata at the source location. At the end of the transfer, DataSync then compares this checksum to the checksum calculated on those files at the destination.

              We recommend this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations.

            • POINT_IN_TIME_CONSISTENT (default) - At the end of the transfer, DataSync scans the entire source and destination to verify that both locations are fully synchronized.

              If you use a manifest, DataSync only scans and verifies what's listed in the manifest.

              You can't use this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations.

            • NONE - DataSync doesn't run additional verification at the end of the transfer. All data transmissions are still integrity-checked with checksum verification during the transfer.

            " + "documentation":"

            Specifies if and how DataSync checks the integrity of your data at the end of your transfer.

            • ONLY_FILES_TRANSFERRED (recommended) - DataSync calculates the checksum of transferred data (including metadata) at the source location. At the end of the transfer, DataSync then compares this checksum to the checksum calculated on that data at the destination.

              This is the default option for Enhanced mode tasks.

              We recommend this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations.

            • POINT_IN_TIME_CONSISTENT - At the end of the transfer, DataSync checks the entire source and destination to verify that both locations are fully synchronized.

              The is the default option for Basic mode tasks and isn't currently supported with Enhanced mode tasks.

              If you use a manifest, DataSync only scans and verifies what's listed in the manifest.

              You can't use this option when transferring to S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage classes. For more information, see Storage class considerations with Amazon S3 locations.

            • NONE - DataSync performs data integrity checks only during your transfer. Unlike other options, there's no additional verification at the end of your transfer.

            " }, "OverwriteMode":{ "shape":"OverwriteMode", @@ -3879,11 +3904,11 @@ }, "Atime":{ "shape":"Atime", - "documentation":"

            Specifies whether to preserve metadata indicating the last time a file was read or written to.

            The behavior of Atime isn't fully standard across platforms, so DataSync can only do this on a best-effort basis.

            • BEST_EFFORT (default) - DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING phase of the task execution). This option is recommended.

            • NONE - Ignores Atime.

            If Atime is set to BEST_EFFORT, Mtime must be set to PRESERVE.

            If Atime is set to NONE, Mtime must also be NONE.

            " + "documentation":"

            Specifies whether to preserve metadata indicating the last time a file was read or written to.

            The behavior of Atime isn't fully standard across platforms, so DataSync can only do this on a best-effort basis.

            • BEST_EFFORT (default) - DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING steps of the task execution). This option is recommended.

            • NONE - Ignores Atime.

            If Atime is set to BEST_EFFORT, Mtime must be set to PRESERVE.

            If Atime is set to NONE, Mtime must also be NONE.

            " }, "Mtime":{ "shape":"Mtime", - "documentation":"

            Specifies whether to preserve metadata indicating the last time that a file was written to before the PREPARING phase of your task execution. This option is required when you need to run the a task more than once.

            • PRESERVE (default) - Preserves original Mtime, which is recommended.

            • NONE - Ignores Mtime.

            If Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT.

            If Mtime is set to NONE, Atime must also be set to NONE.

            " + "documentation":"

            Specifies whether to preserve metadata indicating the last time that a file was written to before the PREPARING step of your task execution. This option is required when you need to run the a task more than once.

            • PRESERVE (default) - Preserves original Mtime, which is recommended.

            • NONE - Ignores Mtime.

            If Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT.

            If Mtime is set to NONE, Atime must also be set to NONE.

            " }, "Uid":{ "shape":"Uid", @@ -3891,7 +3916,7 @@ }, "Gid":{ "shape":"Gid", - "documentation":"

            Specifies the POSIX group ID (GID) of the file's owners.

            • INT_VALUE (default) - Preserves the integer value of user ID (UID) and GID, which is recommended.

            • NONE - Ignores UID and GID.

            For more information, see Metadata copied by DataSync.

            " + "documentation":"

            Specifies the POSIX group ID (GID) of the file's owners.

            • INT_VALUE (default) - Preserves the integer value of user ID (UID) and GID, which is recommended.

            • NONE - Ignores UID and GID.

            For more information, see Understanding how DataSync handles file and object metadata.

            " }, "PreserveDeletedFiles":{ "shape":"PreserveDeletedFiles", @@ -3903,11 +3928,11 @@ }, "PosixPermissions":{ "shape":"PosixPermissions", - "documentation":"

            Specifies which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

            For more information, see Metadata copied by DataSync.

            • PRESERVE (default) - Preserves POSIX-style permissions, which is recommended.

            • NONE - Ignores POSIX-style permissions.

            DataSync can preserve extant permissions of a source location.

            " + "documentation":"

            Specifies which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

            For more information, see Understanding how DataSync handles file and object metadata.

            • PRESERVE (default) - Preserves POSIX-style permissions, which is recommended.

            • NONE - Ignores POSIX-style permissions.

            DataSync can preserve extant permissions of a source location.

            " }, "BytesPerSecond":{ "shape":"BytesPerSecond", - "documentation":"

            Limits the bandwidth used by a DataSync task. For example, if you want DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024).

            " + "documentation":"

            Limits the bandwidth used by a DataSync task. For example, if you want DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024).

            Not applicable to Enhanced mode tasks.

            " }, "TaskQueueing":{ "shape":"TaskQueueing", @@ -3919,11 +3944,11 @@ }, "TransferMode":{ "shape":"TransferMode", - "documentation":"

            Determines whether DataSync transfers only the data and metadata that differ between the source and the destination location or transfers all the content from the source (without comparing what's in the destination).

            • CHANGED (default) - DataSync copies only data or metadata that is new or different content from the source location to the destination location.

            • ALL - DataSync copies everything in the source to the destination without comparing differences between the locations.

            " + "documentation":"

            Specifies whether DataSync transfers only the data (including metadata) that differs between locations following an initial copy or transfers all data every time you run the task. If you're planning on recurring transfers, you might only want to transfer what's changed since your previous task execution.

            • CHANGED (default) - After your initial full transfer, DataSync copies only the data and metadata that differs between the source and destination location.

            • ALL - DataSync copies everything in the source to the destination without comparing differences between the locations.

            " }, "SecurityDescriptorCopyFlags":{ "shape":"SmbSecurityDescriptorCopyFlags", - "documentation":"

            Specifies which components of the SMB security descriptor are copied from source to destination objects.

            This value is only used for transfers between SMB and Amazon FSx for Windows File Server locations or between two FSx for Windows File Server locations. For more information, see how DataSync handles metadata.

            • OWNER_DACL (default) - For each copied object, DataSync copies the following metadata:

              • The object owner.

              • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

                DataSync won't copy NTFS system access control lists (SACLs) with this option.

            • OWNER_DACL_SACL - For each copied object, DataSync copies the following metadata:

              • The object owner.

              • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

              • SACLs, which are used by administrators to log attempts to access a secured object.

                Copying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user with the right permissions, see required permissions for SMB, FSx for Windows File Server, or FSx for ONTAP (depending on the type of location in your transfer).

            • NONE - None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server’s configuration.

            " + "documentation":"

            Specifies which components of the SMB security descriptor are copied from source to destination objects.

            This value is only used for transfers between SMB and Amazon FSx for Windows File Server locations or between two FSx for Windows File Server locations. For more information, see Understanding how DataSync handles file and object metadata.

            • OWNER_DACL (default) - For each copied object, DataSync copies the following metadata:

              • The object owner.

              • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

                DataSync won't copy NTFS system access control lists (SACLs) with this option.

            • OWNER_DACL_SACL - For each copied object, DataSync copies the following metadata:

              • The object owner.

              • NTFS discretionary access control lists (DACLs), which determine whether to grant access to an object.

              • SACLs, which are used by administrators to log attempts to access a secured object.

                Copying SACLs requires granting additional permissions to the Windows user that DataSync uses to access your SMB location. For information about choosing a user with the right permissions, see required permissions for SMB, FSx for Windows File Server, or FSx for ONTAP (depending on the type of location in your transfer).

            • NONE - None of the SMB security descriptor components are copied. Destination objects are owned by the user that was provided for accessing the destination location. DACLs and SACLs are set based on the destination server’s configuration.

            " }, "ObjectTags":{ "shape":"ObjectTags", @@ -4023,7 +4048,7 @@ }, "PrivateLinkEndpoint":{ "shape":"Endpoint", - "documentation":"

            Specifies the VPC endpoint provided by Amazon Web Services PrivateLink that your agent connects to.

            " + "documentation":"

            Specifies the VPC endpoint provided by Amazon Web Services PrivateLink that your agent connects to.

            " }, "SubnetArns":{ "shape":"PLSubnetArnList", @@ -4280,8 +4305,8 @@ }, "S3BucketArn":{ "type":"string", - "max":156, - "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\\-0-9]*:[0-9]*:.*$" + "max":268, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3:[a-z\\-0-9]*:[0-9]{12}:accesspoint[/:][a-zA-Z0-9\\-.]{1,63}$|^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3-outposts:[a-z\\-0-9]+:[0-9]{12}:outpost[/:][a-zA-Z0-9\\-]{1,63}[/:]accesspoint[/:][a-zA-Z0-9\\-]{1,63}$|^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3:::[a-zA-Z0-9.\\-_]{1,255}$" }, "S3Config":{ "type":"structure", @@ -4643,6 +4668,42 @@ "max":128, "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}/execution/exec-[0-9a-f]{17}$" }, + "TaskExecutionFilesFailedDetail":{ + "type":"structure", + "members":{ + "Prepare":{ + "shape":"long", + "documentation":"

            The number of objects that DataSync fails to prepare during your task execution.

            " + }, + "Transfer":{ + "shape":"long", + "documentation":"

            The number of objects that DataSync fails to transfer during your task execution.

            " + }, + "Verify":{ + "shape":"long", + "documentation":"

            The number of objects that DataSync fails to verify during your task execution.

            " + }, + "Delete":{ + "shape":"long", + "documentation":"

            The number of objects that DataSync fails to delete during your task execution.

            " + } + }, + "documentation":"

            The number of objects that DataSync fails to prepare, transfer, verify, and delete during your task execution.

            Applies only to Enhanced mode tasks.

            " + }, + "TaskExecutionFilesListedDetail":{ + "type":"structure", + "members":{ + "AtSource":{ + "shape":"long", + "documentation":"

            The number of objects that DataSync finds at your source location.

            • With a manifest, DataSync lists only what's in your manifest (and not everything at your source location).

            • With an include filter, DataSync lists only what matches the filter at your source location.

            • With an exclude filter, DataSync lists everything at your source location before applying the filter.

            " + }, + "AtDestinationForDelete":{ + "shape":"long", + "documentation":"

            The number of objects that DataSync finds at your destination location. This metric is only applicable if you configure your task to delete data in the destination that isn't in the source.

            " + } + }, + "documentation":"

            The number of objects that DataSync finds at your locations.

            Applies only to Enhanced mode tasks.

            " + }, "TaskExecutionList":{ "type":"list", "member":{"shape":"TaskExecutionListEntry"} @@ -4657,6 +4718,10 @@ "Status":{ "shape":"TaskExecutionStatus", "documentation":"

            The status of a task execution. For more information, see Task execution statuses.

            " + }, + "TaskMode":{ + "shape":"TaskMode", + "documentation":"

            The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

            " } }, "documentation":"

            Represents a single entry in a list of DataSync task executions that's returned with the ListTaskExecutions operation.

            " @@ -4666,42 +4731,42 @@ "members":{ "PrepareDuration":{ "shape":"Duration", - "documentation":"

            The total time in milliseconds that DataSync spent in the PREPARING phase.

            " + "documentation":"

            The time in milliseconds that your task execution was in the PREPARING step. For more information, see Task execution statuses.

            For Enhanced mode tasks, the value is always 0. For more information, see How DataSync prepares your data transfer.

            " }, "PrepareStatus":{ "shape":"PhaseStatus", - "documentation":"

            The status of the PREPARING phase.

            " + "documentation":"

            The status of the PREPARING step for your task execution. For more information, see Task execution statuses.

            " }, "TotalDuration":{ "shape":"Duration", - "documentation":"

            The total time in milliseconds that DataSync took to transfer the file from the source to the destination location.

            " + "documentation":"

            The time in milliseconds that your task execution ran.

            " }, "TransferDuration":{ "shape":"Duration", - "documentation":"

            The total time in milliseconds that DataSync spent in the TRANSFERRING phase.

            " + "documentation":"

            The time in milliseconds that your task execution was in the TRANSFERRING step. For more information, see Task execution statuses.

            For Enhanced mode tasks, the value is always 0. For more information, see How DataSync transfers your data.

            " }, "TransferStatus":{ "shape":"PhaseStatus", - "documentation":"

            The status of the TRANSFERRING phase.

            " + "documentation":"

            The status of the TRANSFERRING step for your task execution. For more information, see Task execution statuses.

            " }, "VerifyDuration":{ "shape":"Duration", - "documentation":"

            The total time in milliseconds that DataSync spent in the VERIFYING phase.

            " + "documentation":"

            The time in milliseconds that your task execution was in the VERIFYING step. For more information, see Task execution statuses.

            For Enhanced mode tasks, the value is always 0. For more information, see How DataSync verifies your data's integrity.

            " }, "VerifyStatus":{ "shape":"PhaseStatus", - "documentation":"

            The status of the VERIFYING phase.

            " + "documentation":"

            The status of the VERIFYING step for your task execution. For more information, see Task execution statuses.

            " }, "ErrorCode":{ "shape":"string", - "documentation":"

            Errors that DataSync encountered during execution of the task. You can use this error code to help troubleshoot issues.

            " + "documentation":"

            An error that DataSync encountered during your task execution. You can use this information to help troubleshoot issues.

            " }, "ErrorDetail":{ "shape":"string", - "documentation":"

            Detailed description of an error that was encountered during the task execution. You can use this information to help troubleshoot issues.

            " + "documentation":"

            The detailed description of an error that DataSync encountered during your task execution. You can use this information to help troubleshoot issues.

            " } }, - "documentation":"

            Describes the detailed result of a TaskExecution operation. This result includes the time in milliseconds spent in each phase, the status of the task execution, and the errors encountered.

            " + "documentation":"

            Provides detailed information about the result of your DataSync task execution.

            " }, "TaskExecutionStatus":{ "type":"string", @@ -4768,10 +4833,21 @@ "Name":{ "shape":"TagValue", "documentation":"

            The name of the task.

            " + }, + "TaskMode":{ + "shape":"TaskMode", + "documentation":"

            The task mode that you're using. For more information, see Choosing a task mode for your data transfer.

            " } }, "documentation":"

            Represents a single entry in a list of tasks. TaskListEntry returns an array that contains a list of tasks when the ListTasks operation is called. A task includes the source and destination file systems to sync and the options to use for the tasks.

            " }, + "TaskMode":{ + "type":"string", + "enum":[ + "BASIC", + "ENHANCED" + ] + }, "TaskQueueing":{ "type":"string", "enum":[ @@ -4811,7 +4887,7 @@ "members":{ "ScheduleExpression":{ "shape":"ScheduleExpressionCron", - "documentation":"

            Specifies your task schedule by using a cron expression in UTC time. For information about cron expression syntax, see the Amazon EventBridge User Guide .

            " + "documentation":"

            Specifies your task schedule by using a cron or rate expression.

            Use cron expressions for task schedules that run on a specific time and day. For example, the following cron expression creates a task schedule that runs at 8 AM on the first Wednesday of every month:

            cron(0 8 * * 3#1)

            Use rate expressions for task schedules that run on a regular interval. For example, the following rate expression creates a task schedule that runs every 12 hours:

            rate(12 hours)

            For information about cron and rate expression syntax, see the Amazon EventBridge User Guide .

            " }, "Status":{ "shape":"ScheduleStatus", @@ -5046,7 +5122,7 @@ }, "AgentArns":{ "shape":"AgentArnList", - "documentation":"

            The ARNs of the agents that are used to connect to the HDFS cluster.

            " + "documentation":"

            The Amazon Resource Names (ARNs) of the DataSync agents that can connect to your HDFS cluster.

            " } } }, @@ -5106,7 +5182,7 @@ }, "AgentArns":{ "shape":"AgentArnList", - "documentation":"

            Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can securely connect with your location.

            " + "documentation":"

            Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.

            " }, "ServerCertificate":{ "shape":"ObjectStorageCertificate", @@ -5145,7 +5221,7 @@ }, "AgentArns":{ "shape":"AgentArnList", - "documentation":"

            Specifies the DataSync agent (or agents) which you want to connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).

            " + "documentation":"

            Specifies the DataSync agent (or agents) that can connect to your SMB file server. You specify an agent by using its Amazon Resource Name (ARN).

            " }, "MountOptions":{"shape":"SmbMountOptions"} } @@ -5232,7 +5308,7 @@ }, "CloudWatchLogGroupArn":{ "shape":"LogGroupArn", - "documentation":"

            Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

            " + "documentation":"

            Specifies the Amazon Resource Name (ARN) of an Amazon CloudWatch log group for monitoring your task.

            For Enhanced mode tasks, you must use /aws/datasync as your log group name. For example:

            arn:aws:logs:us-east-1:111222333444:log-group:/aws/datasync:*

            For more information, see Monitoring data transfers with CloudWatch Logs.

            " }, "Includes":{ "shape":"FilterList", diff --git a/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json b/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json index 671308adbd2..8102c612bc1 100644 --- a/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json +++ b/tools/code-generation/api-descriptions/ec2-2016-11-15.normal.json @@ -283,6 +283,16 @@ "output":{"shape":"AssociateRouteTableResult"}, "documentation":"

            Associates a subnet in your VPC or an internet gateway or virtual private gateway attached to your VPC with a route table in your VPC. This association causes traffic from the subnet or gateway to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table later. A route table can be associated with multiple subnets.

            For more information, see Route tables in the Amazon VPC User Guide.

            " }, + "AssociateSecurityGroupVpc":{ + "name":"AssociateSecurityGroupVpc", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateSecurityGroupVpcRequest"}, + "output":{"shape":"AssociateSecurityGroupVpcResult"}, + "documentation":"

            Associates a security group with another VPC in the same Region. This enables you to use the same security group with network interfaces and instances in the specified VPC.

            • The VPC you want to associate the security group with must be in the same Region.

            • You can associate the security group with another VPC if your account owns the VPC or if the VPC was shared with you.

            • You must own the security group and the VPC that it was created in.

            • You cannot use this feature with default security groups.

            • You cannot use this feature with the default VPC.

            " + }, "AssociateSubnetCidrBlock":{ "name":"AssociateSubnetCidrBlock", "http":{ @@ -1166,7 +1176,7 @@ }, "input":{"shape":"CreateTrafficMirrorSessionRequest"}, "output":{"shape":"CreateTrafficMirrorSessionResult"}, - "documentation":"

            Creates a Traffic Mirror session.

            A Traffic Mirror session actively copies packets from a Traffic Mirror source to a Traffic Mirror target. Create a filter, and then assign it to the session to define a subset of the traffic to mirror, for example all TCP traffic.

            The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway.

            By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to create filter rules that specify the traffic to mirror.

            " + "documentation":"

            Creates a Traffic Mirror session.

            A Traffic Mirror session actively copies packets from a Traffic Mirror source to a Traffic Mirror target. Create a filter, and then assign it to the session to define a subset of the traffic to mirror, for example all TCP traffic.

            The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway.

            By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to create filter rules that specify the traffic to mirror.

            " }, "CreateTrafficMirrorTarget":{ "name":"CreateTrafficMirrorTarget", @@ -1825,7 +1835,7 @@ "requestUri":"/" }, "input":{"shape":"DeleteSecurityGroupRequest"}, - "documentation":"

            Deletes a security group.

            If you attempt to delete a security group that is associated with an instance or network interface or is referenced by another security group in the same VPC, the operation fails with DependencyViolation.

            " + "documentation":"

            Deletes a security group.

            If you attempt to delete a security group that is associated with an instance or network interface, is referenced by another security group in the same VPC, or has a VPC association, the operation fails with DependencyViolation.

            " }, "DeleteSnapshot":{ "name":"DeleteSnapshot", @@ -3245,7 +3255,7 @@ }, "input":{"shape":"DescribeSecurityGroupReferencesRequest"}, "output":{"shape":"DescribeSecurityGroupReferencesResult"}, - "documentation":"

            Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

            " + "documentation":"

            Describes the VPCs on the other side of a VPC peering or Transit Gateway connection that are referencing the security groups you've specified in this request.

            " }, "DescribeSecurityGroupRules":{ "name":"DescribeSecurityGroupRules", @@ -3257,6 +3267,16 @@ "output":{"shape":"DescribeSecurityGroupRulesResult"}, "documentation":"

            Describes one or more of your security group rules.

            " }, + "DescribeSecurityGroupVpcAssociations":{ + "name":"DescribeSecurityGroupVpcAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSecurityGroupVpcAssociationsRequest"}, + "output":{"shape":"DescribeSecurityGroupVpcAssociationsResult"}, + "documentation":"

            Describes security group VPC associations made with AssociateSecurityGroupVpc.

            " + }, "DescribeSecurityGroups":{ "name":"DescribeSecurityGroups", "http":{ @@ -3365,7 +3385,7 @@ }, "input":{"shape":"DescribeStaleSecurityGroupsRequest"}, "output":{"shape":"DescribeStaleSecurityGroupsResult"}, - "documentation":"

            Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in a peered VPC. Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has been deleted.

            " + "documentation":"

            Describes the stale security group rules for security groups referenced across a VPC peering connection, transit gateway connection, or with a security group VPC association. Rules are stale when they reference a deleted security group. Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has been deleted, across a transit gateway where the transit gateway has been deleted (or the transit gateway security group referencing feature has been disabled), or if a security group VPC association has been disassociated.

            " }, "DescribeStoreImageTasks":{ "name":"DescribeStoreImageTasks", @@ -4081,6 +4101,16 @@ "input":{"shape":"DisassociateRouteTableRequest"}, "documentation":"

            Disassociates a subnet or gateway from a route table.

            After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route tables in the Amazon VPC User Guide.

            " }, + "DisassociateSecurityGroupVpc":{ + "name":"DisassociateSecurityGroupVpc", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateSecurityGroupVpcRequest"}, + "output":{"shape":"DisassociateSecurityGroupVpcResult"}, + "documentation":"

            Disassociates a security group from a VPC. You cannot disassociate the security group if any Elastic network interfaces in the associated VPC are still associated with the security group. Note that the disassociation is asynchronous and you can check the status of the request with DescribeSecurityGroupVpcAssociations.

            " + }, "DisassociateSubnetCidrBlock":{ "name":"DisassociateSubnetCidrBlock", "http":{ @@ -8489,6 +8519,37 @@ } } }, + "AssociateSecurityGroupVpcRequest":{ + "type":"structure", + "required":[ + "GroupId", + "VpcId" + ], + "members":{ + "GroupId":{ + "shape":"SecurityGroupId", + "documentation":"

            A security group ID.

            " + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

            A VPC ID.

            " + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

            Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

            " + } + } + }, + "AssociateSecurityGroupVpcResult":{ + "type":"structure", + "members":{ + "State":{ + "shape":"SecurityGroupVpcAssociationState", + "documentation":"

            The state of the association.

            ", + "locationName":"state" + } + } + }, "AssociateSubnetCidrBlockRequest":{ "type":"structure", "required":["SubnetId"], @@ -14457,7 +14518,7 @@ }, "InterfaceType":{ "shape":"NetworkInterfaceCreationType", - "documentation":"

            The type of network interface. The default is interface.

            The only supported values are interface, efa, and trunk.

            " + "documentation":"

            The type of network interface. The default is interface.

            If you specify efa-only, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.

            The only supported values are interface, efa, efa-only, and trunk.

            " }, "TagSpecifications":{ "shape":"TagSpecificationList", @@ -14914,6 +14975,11 @@ "shape":"TagList", "documentation":"

            The tags assigned to the security group.

            ", "locationName":"tagSet" + }, + "SecurityGroupArn":{ + "shape":"String", + "documentation":"

            The security group ARN.

            ", + "locationName":"securityGroupArn" } } }, @@ -21708,7 +21774,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

            One or more filters. Filter names and values are case-sensitive.

            • auto-recovery-supported - Indicates whether Amazon CloudWatch action based recovery is supported (true | false).

            • bare-metal - Indicates whether it is a bare metal instance type (true | false).

            • burstable-performance-supported - Indicates whether the instance type is a burstable performance T instance type (true | false).

            • current-generation - Indicates whether this instance type is the latest generation instance type of an instance family (true | false).

            • ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

            • ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage operations per second for an EBS-optimized instance type.

            • ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline throughput performance for an EBS-optimized instance type, in MB/s.

            • ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

            • ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage operations per second for an EBS-optimized instance type.

            • ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum throughput performance for an EBS-optimized instance type, in MB/s.

            • ebs-info.ebs-optimized-support - Indicates whether the instance type is EBS-optimized (supported | unsupported | default).

            • ebs-info.encryption-support - Indicates whether EBS encryption is supported (supported | unsupported).

            • ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe) is supported for EBS volumes (required | supported | unsupported).

            • free-tier-eligible - Indicates whether the instance type is eligible to use in the free tier (true | false).

            • hibernation-supported - Indicates whether On-Demand hibernation is supported (true | false).

            • hypervisor - The hypervisor (nitro | xen).

            • instance-storage-info.disk.count - The number of local disks.

            • instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in GB.

            • instance-storage-info.disk.type - The storage technology for the local instance storage disks (hdd | ssd).

            • instance-storage-info.encryption-support - Indicates whether data is encrypted at rest (required | supported | unsupported).

            • instance-storage-info.nvme-support - Indicates whether non-volatile memory express (NVMe) is supported for instance store (required | supported | unsupported).

            • instance-storage-info.total-size-in-gb - The total amount of storage available from all local instance storage, in GB.

            • instance-storage-supported - Indicates whether the instance type has local instance storage (true | false).

            • instance-type - The instance type (for example c5.2xlarge or c5*).

            • memory-info.size-in-mib - The memory size.

            • network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic Fabric Adapters (EFAs) per instance.

            • network-info.efa-supported - Indicates whether the instance type supports Elastic Fabric Adapter (EFA) (true | false).

            • network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is supported or required (required | supported | unsupported).

            • network-info.encryption-in-transit-supported - Indicates whether the instance type automatically encrypts in-transit traffic between instances (true | false).

            • network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per network interface.

            • network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per network interface.

            • network-info.ipv6-supported - Indicates whether the instance type supports IPv6 (true | false).

            • network-info.maximum-network-cards - The maximum number of network cards per instance.

            • network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

            • network-info.network-performance - The network performance (for example, \"25 Gigabit\").

            • nitro-enclaves-support - Indicates whether Nitro Enclaves is supported (supported | unsupported).

            • nitro-tpm-support - Indicates whether NitroTPM is supported (supported | unsupported).

            • nitro-tpm-info.supported-versions - The supported NitroTPM version (2.0).

            • processor-info.supported-architecture - The CPU architecture (arm64 | i386 | x86_64).

            • processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

            • processor-info.supported-features - The supported CPU features (amd-sev-snp).

            • supported-boot-mode - The boot mode (legacy-bios | uefi).

            • supported-root-device-type - The root device type (ebs | instance-store).

            • supported-usage-class - The usage class (on-demand | spot).

            • supported-virtualization-type - The virtualization type (hvm | paravirtual).

            • vcpu-info.default-cores - The default number of cores for the instance type.

            • vcpu-info.default-threads-per-core - The default number of threads per core for the instance type.

            • vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

            • vcpu-info.valid-cores - The number of cores that can be configured for the instance type.

            • vcpu-info.valid-threads-per-core - The number of threads per core that can be configured for the instance type. For example, \"1\" or \"1,2\".

            ", + "documentation":"

            One or more filters. Filter names and values are case-sensitive.

            • auto-recovery-supported - Indicates whether Amazon CloudWatch action based recovery is supported (true | false).

            • bare-metal - Indicates whether it is a bare metal instance type (true | false).

            • burstable-performance-supported - Indicates whether the instance type is a burstable performance T instance type (true | false).

            • current-generation - Indicates whether this instance type is the latest generation instance type of an instance family (true | false).

            • ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

            • ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage operations per second for an EBS-optimized instance type.

            • ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline throughput performance for an EBS-optimized instance type, in MB/s.

            • ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

            • ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage operations per second for an EBS-optimized instance type.

            • ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum throughput performance for an EBS-optimized instance type, in MB/s.

            • ebs-info.ebs-optimized-support - Indicates whether the instance type is EBS-optimized (supported | unsupported | default).

            • ebs-info.encryption-support - Indicates whether EBS encryption is supported (supported | unsupported).

            • ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe) is supported for EBS volumes (required | supported | unsupported).

            • free-tier-eligible - Indicates whether the instance type is eligible to use in the free tier (true | false).

            • hibernation-supported - Indicates whether On-Demand hibernation is supported (true | false).

            • hypervisor - The hypervisor (nitro | xen).

            • instance-storage-info.disk.count - The number of local disks.

            • instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in GB.

            • instance-storage-info.disk.type - The storage technology for the local instance storage disks (hdd | ssd).

            • instance-storage-info.encryption-support - Indicates whether data is encrypted at rest (required | supported | unsupported).

            • instance-storage-info.nvme-support - Indicates whether non-volatile memory express (NVMe) is supported for instance store (required | supported | unsupported).

            • instance-storage-info.total-size-in-gb - The total amount of storage available from all local instance storage, in GB.

            • instance-storage-supported - Indicates whether the instance type has local instance storage (true | false).

            • instance-type - The instance type (for example c5.2xlarge or c5*).

            • memory-info.size-in-mib - The memory size.

            • network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic Fabric Adapters (EFAs) per instance.

            • network-info.efa-supported - Indicates whether the instance type supports Elastic Fabric Adapter (EFA) (true | false).

            • network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is supported or required (required | supported | unsupported).

            • network-info.encryption-in-transit-supported - Indicates whether the instance type automatically encrypts in-transit traffic between instances (true | false).

            • network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per network interface.

            • network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per network interface.

            • network-info.ipv6-supported - Indicates whether the instance type supports IPv6 (true | false).

            • network-info.maximum-network-cards - The maximum number of network cards per instance.

            • network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

            • network-info.network-performance - The network performance (for example, \"25 Gigabit\").

            • nitro-enclaves-support - Indicates whether Nitro Enclaves is supported (supported | unsupported).

            • nitro-tpm-support - Indicates whether NitroTPM is supported (supported | unsupported).

            • nitro-tpm-info.supported-versions - The supported NitroTPM version (2.0).

            • processor-info.supported-architecture - The CPU architecture (arm64 | i386 | x86_64).

            • processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

            • processor-info.supported-features - The supported CPU features (amd-sev-snp).

            • supported-boot-mode - The boot mode (legacy-bios | uefi).

            • supported-root-device-type - The root device type (ebs | instance-store).

            • supported-usage-class - The usage class (on-demand | spot | capacity-block).

            • supported-virtualization-type - The virtualization type (hvm | paravirtual).

            • vcpu-info.default-cores - The default number of cores for the instance type.

            • vcpu-info.default-threads-per-core - The default number of threads per core for the instance type.

            • vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

            • vcpu-info.valid-cores - The number of cores that can be configured for the instance type.

            • vcpu-info.valid-threads-per-core - The number of threads per core that can be configured for the instance type. For example, \"1\" or \"1,2\".

            ", "locationName":"Filter" }, "MaxResults":{ @@ -23164,7 +23230,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

            One or more filters.

            • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

            • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

            • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

            • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

            • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

            • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

            • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

            • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

            • association.public-dns-name - The public DNS name for the network interface (IPv4).

            • attachment.attach-time - The time that the network interface was attached to an instance.

            • attachment.attachment-id - The ID of the interface attachment.

            • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

            • attachment.device-index - The device index to which the network interface is attached.

            • attachment.instance-id - The ID of the instance to which the network interface is attached.

            • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

            • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

            • availability-zone - The Availability Zone of the network interface.

            • description - The description of the network interface.

            • group-id - The ID of a security group associated with the network interface.

            • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

            • interface-type - The type of network interface (api_gateway_managed | aws_codestar_connections_managed | branch | ec2_instance_connect_endpoint | efa | efs | gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | interface | iot_rules_managed | lambda | load_balancer | nat_gateway | network_load_balancer | quicksight | transit_gateway | trunk | vpc_endpoint).

            • mac-address - The MAC address of the network interface.

            • network-interface-id - The ID of the network interface.

            • owner-id - The Amazon Web Services account ID of the network interface owner.

            • private-dns-name - The private DNS name of the network interface (IPv4).

            • private-ip-address - The private IPv4 address or addresses of the network interface.

            • requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

            • requester-managed - Indicates whether the network interface is being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

            • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

            • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

            • subnet-id - The ID of the subnet for the network interface.

            • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            • vpc-id - The ID of the VPC for the network interface.

            ", + "documentation":"

            One or more filters.

            • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

            • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

            • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

            • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

            • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

            • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

            • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

            • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

            • association.public-dns-name - The public DNS name for the network interface (IPv4).

            • attachment.attach-time - The time that the network interface was attached to an instance.

            • attachment.attachment-id - The ID of the interface attachment.

            • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

            • attachment.device-index - The device index to which the network interface is attached.

            • attachment.instance-id - The ID of the instance to which the network interface is attached.

            • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

            • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

            • availability-zone - The Availability Zone of the network interface.

            • description - The description of the network interface.

            • group-id - The ID of a security group associated with the network interface.

            • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

            • interface-type - The type of network interface (api_gateway_managed | aws_codestar_connections_managed | branch | ec2_instance_connect_endpoint | efa | efa-only | efs | gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | interface | iot_rules_managed | lambda | load_balancer | nat_gateway | network_load_balancer | quicksight | transit_gateway | trunk | vpc_endpoint).

            • mac-address - The MAC address of the network interface.

            • network-interface-id - The ID of the network interface.

            • owner-id - The Amazon Web Services account ID of the network interface owner.

            • private-dns-name - The private DNS name of the network interface (IPv4).

            • private-ip-address - The private IPv4 address or addresses of the network interface.

            • requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

            • requester-managed - Indicates whether the network interface is being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

            • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

            • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

            • subnet-id - The ID of the subnet for the network interface.

            • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            • vpc-id - The ID of the VPC for the network interface.

            ", "locationName":"filter" } }, @@ -23854,6 +23920,48 @@ } } }, + "DescribeSecurityGroupVpcAssociationsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeSecurityGroupVpcAssociationsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

            Security group VPC association filters.

            • group-id: The security group ID.

            • vpc-id: The ID of the associated VPC.

            • vpc-owner-id: The account ID of the VPC owner.

            • state: The state of the association.

            • tag:<key>: The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            • tag-key: The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            ", + "locationName":"Filter" + }, + "NextToken":{ + "shape":"String", + "documentation":"

            The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

            " + }, + "MaxResults":{ + "shape":"DescribeSecurityGroupVpcAssociationsMaxResults", + "documentation":"

            The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

            " + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

            Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

            " + } + } + }, + "DescribeSecurityGroupVpcAssociationsResult":{ + "type":"structure", + "members":{ + "SecurityGroupVpcAssociations":{ + "shape":"SecurityGroupVpcAssociationList", + "documentation":"

            The security group VPC associations.

            ", + "locationName":"securityGroupVpcAssociationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

            The token to include in another request to get the next page of items. This value is null when there are no more items to return.

            ", + "locationName":"nextToken" + } + } + }, "DescribeSecurityGroupsMaxResults":{ "type":"integer", "max":1000, @@ -24382,7 +24490,7 @@ "members":{ "NextToken":{ "shape":"String", - "documentation":"

            The token to include in another request to get the next page of items. If there are no additional items to return, the string is empty.

            ", + "documentation":"

            The token to include in another request to get the next page of items. This value is null when there are no more items to return.

            ", "locationName":"nextToken" }, "StaleSecurityGroupSet":{ @@ -27292,6 +27400,38 @@ } } }, + "DisassociateSecurityGroupVpcRequest":{ + "type":"structure", + "required":[ + "GroupId", + "VpcId" + ], + "members":{ + "GroupId":{ + "shape":"DisassociateSecurityGroupVpcSecurityGroupId", + "documentation":"

            A security group ID.

            " + }, + "VpcId":{ + "shape":"String", + "documentation":"

            A VPC ID.

            " + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

            Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

            " + } + } + }, + "DisassociateSecurityGroupVpcResult":{ + "type":"structure", + "members":{ + "State":{ + "shape":"SecurityGroupVpcAssociationState", + "documentation":"

            The state of the disassociation.

            ", + "locationName":"state" + } + } + }, + "DisassociateSecurityGroupVpcSecurityGroupId":{"type":"string"}, "DisassociateSubnetCidrBlockRequest":{ "type":"structure", "required":["AssociationId"], @@ -36293,7 +36433,7 @@ }, "InterfaceType":{ "shape":"String", - "documentation":"

            The type of network interface.

            Valid values: interface | efa | trunk

            ", + "documentation":"

            The type of network interface.

            Valid values: interface | efa | efa-only | trunk

            ", "locationName":"interfaceType" }, "Ipv4Prefixes":{ @@ -36464,7 +36604,7 @@ }, "InterfaceType":{ "shape":"String", - "documentation":"

            The type of network interface.

            Valid values: interface | efa

            " + "documentation":"

            The type of network interface.

            If you specify efa-only, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.

            Valid values: interface | efa | efa-only

            " }, "NetworkCardIndex":{ "shape":"Integer", @@ -38014,7 +38154,7 @@ }, "SupportedUsageClasses":{ "shape":"UsageClassTypeList", - "documentation":"

            Indicates whether the instance type is offered for spot or On-Demand.

            ", + "documentation":"

            Indicates whether the instance type is offered for spot, On-Demand, or Capacity Blocks.

            ", "locationName":"supportedUsageClasses" }, "SupportedRootDeviceTypes":{ @@ -41191,7 +41331,7 @@ }, "InterfaceType":{ "shape":"String", - "documentation":"

            The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon EC2 User Guide.

            If you are not creating an EFA, specify interface or omit this parameter.

            Valid values: interface | efa

            " + "documentation":"

            The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa or efa. For more information, see Elastic Fabric Adapter in the Amazon EC2 User Guide.

            If you are not creating an EFA, specify interface or omit this parameter.

            If you specify efa-only, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.

            Valid values: interface | efa | efa-only

            " }, "Ipv6AddressCount":{ "shape":"Integer", @@ -52532,6 +52672,11 @@ "shape":"IpPermissionList", "documentation":"

            The outbound rules that were unknown to the service. In some cases, unknownIpPermissionSet might be in a different format from the request parameter.

            ", "locationName":"unknownIpPermissionSet" + }, + "RevokedSecurityGroupRules":{ + "shape":"RevokedSecurityGroupRuleList", + "documentation":"

            Details about the revoked security group rules.

            ", + "locationName":"revokedSecurityGroupRuleSet" } } }, @@ -52598,7 +52743,80 @@ "shape":"IpPermissionList", "documentation":"

            The inbound rules that were unknown to the service. In some cases, unknownIpPermissionSet might be in a different format from the request parameter.

            ", "locationName":"unknownIpPermissionSet" + }, + "RevokedSecurityGroupRules":{ + "shape":"RevokedSecurityGroupRuleList", + "documentation":"

            Details about the revoked security group rules.

            ", + "locationName":"revokedSecurityGroupRuleSet" + } + } + }, + "RevokedSecurityGroupRule":{ + "type":"structure", + "members":{ + "SecurityGroupRuleId":{ + "shape":"SecurityGroupRuleId", + "documentation":"

            A security group rule ID.

            ", + "locationName":"securityGroupRuleId" + }, + "GroupId":{ + "shape":"SecurityGroupId", + "documentation":"

            A security group ID.

            ", + "locationName":"groupId" + }, + "IsEgress":{ + "shape":"Boolean", + "documentation":"

            Defines if a security group rule is an outbound rule.

            ", + "locationName":"isEgress" + }, + "IpProtocol":{ + "shape":"String", + "documentation":"

            The security group rule's protocol.

            ", + "locationName":"ipProtocol" + }, + "FromPort":{ + "shape":"Integer", + "documentation":"

            The 'from' port number of the security group rule.

            ", + "locationName":"fromPort" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

            The 'to' port number of the security group rule.

            ", + "locationName":"toPort" + }, + "CidrIpv4":{ + "shape":"String", + "documentation":"

            The IPv4 CIDR of the traffic source.

            ", + "locationName":"cidrIpv4" + }, + "CidrIpv6":{ + "shape":"String", + "documentation":"

            The IPv6 CIDR of the traffic source.

            ", + "locationName":"cidrIpv6" + }, + "PrefixListId":{ + "shape":"PrefixListResourceId", + "documentation":"

            The ID of a prefix list that's the traffic source.

            ", + "locationName":"prefixListId" + }, + "ReferencedGroupId":{ + "shape":"SecurityGroupId", + "documentation":"

            The ID of a referenced security group.

            ", + "locationName":"referencedGroupId" + }, + "Description":{ + "shape":"String", + "documentation":"

            A description of the revoked security group rule.

            ", + "locationName":"description" } + }, + "documentation":"

            A security group rule removed with RevokeSecurityGroupEgress or RevokeSecurityGroupIngress.

            " + }, + "RevokedSecurityGroupRuleList":{ + "type":"list", + "member":{ + "shape":"RevokedSecurityGroupRule", + "locationName":"item" } }, "RoleId":{"type":"string"}, @@ -53888,6 +54106,11 @@ "documentation":"

            The ID of the VPC for the security group.

            ", "locationName":"vpcId" }, + "SecurityGroupArn":{ + "shape":"String", + "documentation":"

            The ARN of the security group.

            ", + "locationName":"securityGroupArn" + }, "OwnerId":{ "shape":"String", "documentation":"

            The Amazon Web Services account ID of the owner of the security group.

            ", @@ -54116,6 +54339,11 @@ "shape":"TagList", "documentation":"

            The tags applied to the security group rule.

            ", "locationName":"tagSet" + }, + "SecurityGroupRuleArn":{ + "shape":"String", + "documentation":"

            The ARN of the security group rule.

            ", + "locationName":"securityGroupRuleArn" } }, "documentation":"

            Describes a security group rule.

            " @@ -54223,6 +54451,55 @@ "locationName":"SecurityGroup" } }, + "SecurityGroupVpcAssociation":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"SecurityGroupId", + "documentation":"

            The association's security group ID.

            ", + "locationName":"groupId" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

            The association's VPC ID.

            ", + "locationName":"vpcId" + }, + "VpcOwnerId":{ + "shape":"String", + "documentation":"

            The Amazon Web Services account ID of the owner of the VPC.

            ", + "locationName":"vpcOwnerId" + }, + "State":{ + "shape":"SecurityGroupVpcAssociationState", + "documentation":"

            The association's state.

            ", + "locationName":"state" + }, + "StateReason":{ + "shape":"String", + "documentation":"

            The association's state reason.

            ", + "locationName":"stateReason" + } + }, + "documentation":"

            A security group association with a VPC that you made with AssociateSecurityGroupVpc.

            " + }, + "SecurityGroupVpcAssociationList":{ + "type":"list", + "member":{ + "shape":"SecurityGroupVpcAssociation", + "locationName":"item" + } + }, + "SecurityGroupVpcAssociationState":{ + "type":"string", + "enum":[ + "associating", + "associated", + "association-failed", + "disassociating", + "disassociated", + "disassociation-failed" + ] + }, "SelfServicePortal":{ "type":"string", "enum":[ diff --git a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json index bd62f695926..5653b3ee8c7 100644 --- a/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json +++ b/tools/code-generation/api-descriptions/ecs-2014-11-13.normal.json @@ -46,7 +46,7 @@ {"shape":"InvalidParameterException"}, {"shape":"NamespaceNotFoundException"} ], - "documentation":"

            Creates a new Amazon ECS cluster. By default, your account receives a default cluster when you launch your first container instance. However, you can create your own cluster with a unique name.

            When you call the CreateCluster API operation, Amazon ECS attempts to create the Amazon ECS service-linked role for your account. This is so that it can manage required resources in other Amazon Web Services services on your behalf. However, if the user that makes the call doesn't have permissions to create the service-linked role, it isn't created. For more information, see Using service-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

            " + "documentation":"

            Creates a new Amazon ECS cluster. By default, your account receives a default cluster when you launch your first container instance. However, you can create your own cluster with a unique name.

            When you call the CreateCluster API operation, Amazon ECS attempts to create the Amazon ECS service-linked role for your account. This is so that it can manage required resources in other Amazon Web Services services on your behalf. However, if the user that makes the call doesn't have permissions to create the service-linked role, it isn't created. For more information, see Using service-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

            " }, "CreateService":{ "name":"CreateService", @@ -67,7 +67,7 @@ {"shape":"AccessDeniedException"}, {"shape":"NamespaceNotFoundException"} ], - "documentation":"

            Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, use UpdateService.

            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

            Amazon Elastic Inference (EI) is no longer available to customers.

            In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. volumeConfigurations is only supported for REPLICA service and not DAEMON service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

            Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

            There are two service scheduler strategies available:

            • REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

            • DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

            You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

            If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

            If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

            If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

            When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

            When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide

            " + "documentation":"

            Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action.

            On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

            Amazon Elastic Inference (EI) is no longer available to customers.

            In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

            You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. volumeConfigurations is only supported for REPLICA service and not DAEMON service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

            Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

            There are two service scheduler strategies available:

            • REPLICA - The replica scheduling strategy places and maintains your desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

            • DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks. It also stops tasks that don't meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

            You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

            If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

            If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

            If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

            When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

            When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide

            " }, "CreateTaskSet":{ "name":"CreateTaskSet", @@ -288,6 +288,44 @@ ], "documentation":"

            Describes one or more container instances. Returns metadata about each container instance requested.

            " }, + "DescribeServiceDeployments":{ + "name":"DescribeServiceDeployments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServiceDeploymentsRequest"}, + "output":{"shape":"DescribeServiceDeploymentsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ClientException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ServerException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"UnsupportedFeatureException"} + ], + "documentation":"

            Describes one or more of your service deployments.

            A service deployment happens when you release a software update for the service. For more information, see Amazon ECS service deployments.

            " + }, + "DescribeServiceRevisions":{ + "name":"DescribeServiceRevisions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServiceRevisionsRequest"}, + "output":{"shape":"DescribeServiceRevisionsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ClientException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ServerException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"UnsupportedFeatureException"} + ], + "documentation":"

            Describes one or more service revisions.

            A service revision is a version of the service that includes the values for the Amazon ECS resources (for example, task definition) and the environment resources (for example, load balancers, subnets, and security groups). For more information, see Amazon ECS service revisions.

            You can't describe a service revision that was created before October 25, 2024.

            " + }, "DescribeServices":{ "name":"DescribeServices", "http":{ @@ -466,6 +504,24 @@ ], "documentation":"

            Returns a list of container instances in a specified cluster. You can filter the results of a ListContainerInstances operation with cluster query language statements inside the filter parameter. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

            " }, + "ListServiceDeployments":{ + "name":"ListServiceDeployments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServiceDeploymentsRequest"}, + "output":{"shape":"ListServiceDeploymentsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ServerException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"UnsupportedFeatureException"} + ], + "documentation":"

            This operation lists all the service deployments that meet the specified filter criteria.

            A service deployment happens when you release a softwre update for the service. You route traffic from the running service revisions to the new service revison and control the number of running tasks.

            This API returns the values that you use for the request parameters in DescribeServiceRevisions.

            " + }, "ListServices":{ "name":"ListServices", "http":{ @@ -1752,6 +1808,28 @@ }, "documentation":"

            The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.

            Your Amazon ECS container instances require at least version 1.26.0 of the container agent to use container dependencies. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

            For tasks that use the Fargate launch type, the task or service requires the following platforms:

            • Linux platform version 1.3.0 or later.

            • Windows platform version 1.0.0 or later.

            For more information about how to create a container dependency, see Container dependency in the Amazon Elastic Container Service Developer Guide.

            " }, + "ContainerImage":{ + "type":"structure", + "members":{ + "containerName":{ + "shape":"String", + "documentation":"

            The name of the container.

            " + }, + "imageDigest":{ + "shape":"String", + "documentation":"

            The container image digest.

            " + }, + "image":{ + "shape":"String", + "documentation":"

            The container image.

            " + } + }, + "documentation":"

            The details about the container image a service revision uses.

            To ensure that all tasks in a service use the same container image, Amazon ECS resolves container image names and any image tags specified in the task definition to container image digests.

            After the container image digest has been established, Amazon ECS uses the digest to start any other desired tasks, and for any future service and service revision updates. This leads to all tasks in a service always running identical container images, resulting in version consistency for your software. For more information, see Container image resolution in the Amazon ECS Developer Guide.

            " + }, + "ContainerImages":{ + "type":"list", + "member":{"shape":"ContainerImage"} + }, "ContainerInstance":{ "type":"structure", "members":{ @@ -2094,7 +2172,7 @@ }, "deploymentConfiguration":{ "shape":"DeploymentConfiguration", - "documentation":"

            Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

            " + "documentation":"

            Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods.

            " }, "placementConstraints":{ "shape":"PlacementConstraints", @@ -2226,6 +2304,20 @@ } } }, + "CreatedAt":{ + "type":"structure", + "members":{ + "before":{ + "shape":"Timestamp", + "documentation":"

            Include service deployments in the result that were created before this time. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            " + }, + "after":{ + "shape":"Timestamp", + "documentation":"

            Include service deployments in the result that were created after this time. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            " + } + }, + "documentation":"

            The optional filter to narrow the ListServiceDeployment results.

            If you do not specify a value, service deployments that were created before the current time are included in the result.

            " + }, "DeleteAccountSettingRequest":{ "type":"structure", "required":["name"], @@ -2485,21 +2577,21 @@ "type":"structure", "required":[ "alarmNames", - "enable", - "rollback" + "rollback", + "enable" ], "members":{ "alarmNames":{ "shape":"StringList", "documentation":"

            One or more CloudWatch alarm names. Use a \",\" to separate the alarms.

            " }, - "enable":{ - "shape":"Boolean", - "documentation":"

            Determines whether to use the CloudWatch alarm option in the service deployment process.

            " - }, "rollback":{ "shape":"Boolean", "documentation":"

            Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.

            " + }, + "enable":{ + "shape":"Boolean", + "documentation":"

            Determines whether to use the CloudWatch alarm option in the service deployment process.

            " } }, "documentation":"

            One of the methods which provide a way for you to quickly identify when a deployment has failed, and then to optionally roll back the failure to the last working deployment.

            When the alarms are generated, Amazon ECS sets the service deployment to failed. Set the rollback parameter to have Amazon ECS to roll back your service to the last completed deployment after a failure.

            You can only use the DeploymentAlarms method to detect failures when the DeploymentController is set to ECS (rolling update).

            For more information, see Rolling update in the Amazon Elastic Container Service Developer Guide .

            " @@ -2542,7 +2634,7 @@ "documentation":"

            Information about the CloudWatch alarms.

            " } }, - "documentation":"

            Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.

            " + "documentation":"

            Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods.

            " }, "DeploymentController":{ "type":"structure", @@ -2568,7 +2660,7 @@ "members":{ "kmsKeyId":{ "shape":"String", - "documentation":"

            Specify an Key Management Service key ID to encrypt the ephemeral storage for deployment.

            " + "documentation":"

            Specify an Amazon Web Services Key Management Service key ID to encrypt the ephemeral storage for deployment.

            " } }, "documentation":"

            The amount of ephemeral storage to allocate for the deployment.

            " @@ -2726,6 +2818,52 @@ } } }, + "DescribeServiceDeploymentsRequest":{ + "type":"structure", + "required":["serviceDeploymentArns"], + "members":{ + "serviceDeploymentArns":{ + "shape":"StringList", + "documentation":"

            The ARN of the service deployment.

            You can specify a maximum of 20 ARNs.

            " + } + } + }, + "DescribeServiceDeploymentsResponse":{ + "type":"structure", + "members":{ + "serviceDeployments":{ + "shape":"ServiceDeployments", + "documentation":"

            The list of service deployments described.

            " + }, + "failures":{ + "shape":"Failures", + "documentation":"

            Any failures associated with the call.

            If you decsribe a deployment with a service revision created before October 25, 2024, the call fails. The failure includes the service revision ARN and the reason set to MISSING.

            " + } + } + }, + "DescribeServiceRevisionsRequest":{ + "type":"structure", + "required":["serviceRevisionArns"], + "members":{ + "serviceRevisionArns":{ + "shape":"StringList", + "documentation":"

            The ARN of the service revision.

            You can specify a maximum of 20 ARNs.

            You can call ListServiceDeployments to get the ARNs.

            " + } + } + }, + "DescribeServiceRevisionsResponse":{ + "type":"structure", + "members":{ + "serviceRevisions":{ + "shape":"ServiceRevisions", + "documentation":"

            The list of service revisions described.

            " + }, + "failures":{ + "shape":"Failures", + "documentation":"

            Any failures associated with the call.

            " + } + } + }, "DescribeServicesRequest":{ "type":"structure", "required":["services"], @@ -3715,6 +3853,49 @@ } } }, + "ListServiceDeploymentsRequest":{ + "type":"structure", + "required":["service"], + "members":{ + "service":{ + "shape":"String", + "documentation":"

            The ARN or name of the service

            " + }, + "cluster":{ + "shape":"String", + "documentation":"

            The cluster that hosts the service. This can either be the cluster name or ARN. Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performanceIf you don't specify a cluster, deault is used.

            " + }, + "status":{ + "shape":"ServiceDeploymentStatusList", + "documentation":"

            An optional filter you can use to narrow the results. If you do not specify a status, then all status values are included in the result.

            " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

            An optional filter you can use to narrow the results by the service creation date. If you do not specify a value, the result includes all services created before the current time. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            " + }, + "nextToken":{ + "shape":"String", + "documentation":"

            The nextToken value returned from a ListServiceDeployments request indicating that more results are available to fulfill the request and further calls are needed. If you provided maxResults, it's possible the number of results is fewer than maxResults.

            " + }, + "maxResults":{ + "shape":"BoxedInteger", + "documentation":"

            The maximum number of service deployment results that ListServiceDeployments returned in paginated output. When this parameter is used, ListServiceDeployments only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListServiceDeployments request with the returned nextToken value. This value can be between 1 and 100. If this parameter isn't used, then ListServiceDeployments returns up to 20 results and a nextToken value if applicable.

            " + } + } + }, + "ListServiceDeploymentsResponse":{ + "type":"structure", + "members":{ + "serviceDeployments":{ + "shape":"ServiceDeploymentsBrief", + "documentation":"

            An overview of the service deployment, including the following properties:

            • The ARN of the service deployment.

            • The ARN of the service being deployed.

            • The ARN of the cluster that hosts the service in the service deployment.

            • The time that the service deployment started.

            • The time that the service deployment completed.

            • The service deployment status.

            • Information about why the service deployment is in the current state.

            • The ARN of the service revision that is being deployed.

            " + }, + "nextToken":{ + "shape":"String", + "documentation":"

            The nextToken value to include in a future ListServiceDeployments request. When the results of a ListServiceDeployments request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

            " + } + } + }, "ListServicesByNamespaceRequest":{ "type":"structure", "required":["namespace"], @@ -3938,7 +4119,7 @@ }, "loadBalancerName":{ "shape":"String", - "documentation":"

            The name of the load balancer to associate with the Amazon ECS service or task set.

            If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.

            " + "documentation":"

            The name of the load balancer to associate with the service or task set.

            If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.

            " }, "containerName":{ "shape":"String", @@ -4074,7 +4255,7 @@ }, "minimumScalingStepSize":{ "shape":"ManagedScalingStepSize", - "documentation":"

            The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale in process is not affected by this parameter If this parameter is omitted, the default value of 1 is used.

            When additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size.

            If you use a capacity provider with an Auto Scaling group configured with more than one Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum scaling step size value and will ignore both the maximum scaling step size as well as the capacity demand.

            " + "documentation":"

            The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of 1 is used.

            When additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size.

            If you use a capacity provider with an Auto Scaling group configured with more than one Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum scaling step size value and will ignore both the maximum scaling step size as well as the capacity demand.

            " }, "maximumScalingStepSize":{ "shape":"ManagedScalingStepSize", @@ -4114,7 +4295,7 @@ "members":{ "kmsKeyId":{ "shape":"String", - "documentation":"

            Specify a Key Management Service key ID to encrypt the managed storage.

            " + "documentation":"

            Specify a Amazon Web Services Key Management Service key ID to encrypt the managed storage.

            " }, "fargateEphemeralStorageKmsKeyId":{ "shape":"String", @@ -4364,7 +4545,7 @@ "members":{ "containerPort":{ "shape":"BoxedInteger", - "documentation":"

            The port number on the container that's bound to the user-specified or automatically assigned host port.

            If you use containers in a task with the awsvpc or host network mode, specify the exposed ports using containerPort.

            If you use containers in a task with the bridge network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range. For more information, see hostPort. Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.

            " + "documentation":"

            The port number on the container that's bound to the user-specified or automatically assigned host port.

            For tasks that use the Fargate launch type or EC2 tasks that use the awsvpc network mode, you use containerPort to specify the exposed ports.

            For Windows containers on Fargate, you can't use port 3150 for the containerPort. This is because it's reserved.

            Suppose that you're using containers in a task with the EC2 launch type and you specify a container port and not a host port. Then, your container automatically receives a host port in the ephemeral port range. For more information, see hostPort. Port mappings that are automatically assigned in this way don't count toward the 100 reserved ports quota of a container instance.

            " }, "hostPort":{ "shape":"BoxedInteger", @@ -4387,7 +4568,7 @@ "documentation":"

            The port number range on the container that's bound to the dynamically mapped host port range.

            The following rules apply when you specify a containerPortRange:

            • You must use either the bridge network mode or the awsvpc network mode.

            • This parameter is available for both the EC2 and Fargate launch types.

            • This parameter is available for both the Linux and Windows operating systems.

            • The container instance must have at least version 1.67.0 of the container agent and at least version 1.67.0-1 of the ecs-init package

            • You can specify a maximum of 100 port ranges per container.

            • You do not specify a hostPortRange. The value of the hostPortRange is set as follows:

              • For containers in a task with the awsvpc network mode, the hostPortRange is set to the same value as the containerPortRange. This is a static mapping strategy.

              • For containers in a task with the bridge network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports.

            • The containerPortRange valid values are between 1 and 65535.

            • A port can only be included in one port mapping per container.

            • You cannot specify overlapping port ranges.

            • The first port in the range must be less than last port in the range.

            • Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports.

              For more information, see Issue #11185 on the Github website.

              For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide.

            You can call DescribeTasks to view the hostPortRange which are the host ports that are bound to the container ports.

            " } }, - "documentation":"

            Port mappings allow containers to access ports on the host container instance to send or receive traffic. Port mappings are specified as part of the container definition.

            If you use containers in a task with the awsvpc or host network mode, specify the exposed ports using containerPort. The hostPort can be left blank or it must be the same value as the containerPort.

            Most fields of this parameter (containerPort, hostPort, protocol) maps to PortBindings in the docker container create command and the --publish option to docker run. If the network mode of a task definition is set to host, host ports must either be undefined or match the container port in the port mapping.

            You can't expose the same container port for multiple protocols. If you attempt this, an error is returned.

            After a task reaches the RUNNING status, manual and automatic host and container port assignments are visible in the networkBindings section of DescribeTasks API responses.

            " + "documentation":"

            Port mappings expose your container's network ports to the outside world. this allows clients to access your application. It's also used for inter-container communication within the same task.

            For task definitions (both the Fargate and EC2 launch type) that use the awsvpc network mode, only specify the containerPort. The hostPort is always ignored, and the container port is automatically mapped to a random high-numbered port on the host.

            Most fields of this parameter (containerPort, hostPort, protocol) maps to PortBindings in the docker container create command and the --publish option to docker run. If the network mode of a task definition is set to host, host ports must either be undefined or match the container port in the port mapping.

            You can't expose the same container port for multiple protocols. If you attempt this, an error is returned.

            After a task reaches the RUNNING status, manual and automatic host and container port assignments are visible in the networkBindings section of DescribeTasks API responses.

            " }, "PortMappingList":{ "type":"list", @@ -4637,7 +4818,7 @@ }, "networkMode":{ "shape":"NetworkMode", - "documentation":"

            The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. If no network mode is specified, the default is bridge.

            For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, <default> or awsvpc can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

            With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

            When using the host network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.

            If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

            If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

            " + "documentation":"

            The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. If no network mode is specified, the default is bridge.

            For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, <default> or awsvpc can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

            With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

            When using the host network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.

            If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

            If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

            For more information, see Network settings in the Docker run reference.

            " }, "containerDefinitions":{ "shape":"ContainerDefinitions", @@ -4669,11 +4850,11 @@ }, "pidMode":{ "shape":"PidMode", - "documentation":"

            The process namespace to use for the containers in the task. The valid values are host or task. On Fargate for Linux containers, the only valid value is task. For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

            If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance.

            If task is specified, all containers within the specified task share the same process namespace.

            If no value is specified, the default is a private namespace for each container.

            If the host PID mode is used, there's a heightened risk of undesired process namespace exposure.

            This parameter is not supported for Windows containers.

            This parameter is only supported for tasks that are hosted on Fargate if the tasks are using platform version 1.4.0 or later (Linux). This isn't supported for Windows containers on Fargate.

            " + "documentation":"

            The process namespace to use for the containers in the task. The valid values are host or task. On Fargate for Linux containers, the only valid value is task. For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

            If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance.

            If task is specified, all containers within the specified task share the same process namespace.

            If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.

            If the host PID mode is used, there's a heightened risk of undesired process namespace exposure. For more information, see Docker security.

            This parameter is not supported for Windows containers.

            This parameter is only supported for tasks that are hosted on Fargate if the tasks are using platform version 1.4.0 or later (Linux). This isn't supported for Windows containers on Fargate.

            " }, "ipcMode":{ "shape":"IpcMode", - "documentation":"

            The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance.

            If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose.

            If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide.

            • For tasks that use the host IPC mode, IPC namespace related systemControls are not supported.

            • For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task.

            This parameter is not supported for Windows containers or tasks run on Fargate.

            " + "documentation":"

            The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

            If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see Docker security.

            If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide.

            • For tasks that use the host IPC mode, IPC namespace related systemControls are not supported.

            • For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task.

            This parameter is not supported for Windows containers or tasks run on Fargate.

            " }, "proxyConfiguration":{ "shape":"ProxyConfiguration", @@ -4802,6 +4983,24 @@ "type":"list", "member":{"shape":"Resource"} }, + "Rollback":{ + "type":"structure", + "members":{ + "reason":{ + "shape":"String", + "documentation":"

            The reason the rollback happened. For example, the circuit breaker initiated the rollback operation.

            " + }, + "startedAt":{ + "shape":"Timestamp", + "documentation":"

            Time time that the rollback started. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            " + }, + "serviceRevisionArn":{ + "shape":"String", + "documentation":"

            The ARN of the service revision deployed as part of the rollback.

            When the type is GPU, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on.

            When the type is InferenceAccelerator, the value matches the deviceName for an InferenceAccelerator specified in a task definition.

            " + } + }, + "documentation":"

            Information about the service deployment rollback.

            " + }, "RunTaskRequest":{ "type":"structure", "required":["taskDefinition"], @@ -4903,11 +5102,11 @@ "members":{ "cpuArchitecture":{ "shape":"CPUArchitecture", - "documentation":"

            The CPU architecture.

            You can run your Linux tasks on an ARM-based platform by setting the value to ARM64. This option is available for tasks that run on Linux Amazon EC2 instance or Linux containers on Fargate.

            " + "documentation":"

            The CPU architecture.

            You can run your Linux tasks on an ARM-based platform by setting the value to ARM64. This option is available for tasks that run on Linux Amazon EC2 instance or Linux containers on Fargate.

            The default is X86_64.

            " }, "operatingSystemFamily":{ "shape":"OSFamily", - "documentation":"

            The operating system.

            " + "documentation":"

            The operating system.

            The default is Linux.

            " } }, "documentation":"

            Information about the platform for the Amazon ECS service or task.

            For more information about RuntimePlatform, see RuntimePlatform in the Amazon Elastic Container Service Developer Guide.

            " @@ -5027,7 +5226,7 @@ }, "capacityProviderStrategy":{ "shape":"CapacityProviderStrategy", - "documentation":"

            The capacity provider strategy the service uses. When using the DescribeServices API, this field is omitted if the service was created using a launch type.

            " + "documentation":"

            The capacity provider strategy the service uses. When using DescribeServices, this field is omitted if the service was created using a launch type.

            " }, "platformVersion":{ "shape":"String", @@ -5091,7 +5290,7 @@ }, "tags":{ "shape":"Tags", - "documentation":"

            The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value. You define bot the key and value.

            The following basic restrictions apply to tags:

            • Maximum number of tags per resource - 50

            • For each resource, each tag key must be unique, and each tag key can have only one value.

            • Maximum key length - 128 Unicode characters in UTF-8

            • Maximum value length - 256 Unicode characters in UTF-8

            • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

            • Tag keys and values are case-sensitive.

            • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

            " + "documentation":"

            The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value. You define both the key and value.

            The following basic restrictions apply to tags:

            • Maximum number of tags per resource - 50

            • For each resource, each tag key must be unique, and each tag key can have only one value.

            • Maximum key length - 128 Unicode characters in UTF-8

            • Maximum value length - 256 Unicode characters in UTF-8

            • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

            • Tag keys and values are case-sensitive.

            • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

            " }, "createdBy":{ "shape":"String", @@ -5233,6 +5432,185 @@ }, "documentation":"

            The key that encrypts and decrypts your resources for Service Connect TLS.

            " }, + "ServiceDeployment":{ + "type":"structure", + "members":{ + "serviceDeploymentArn":{ + "shape":"String", + "documentation":"

            The ARN of the service deployment.

            " + }, + "serviceArn":{ + "shape":"String", + "documentation":"

            The ARN of the service for this service deployment.

            " + }, + "clusterArn":{ + "shape":"String", + "documentation":"

            The ARN of the cluster that hosts the service.

            " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

            The time the service deployment was created. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            " + }, + "startedAt":{ + "shape":"Timestamp", + "documentation":"

            The time the service deployment statred. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            " + }, + "finishedAt":{ + "shape":"Timestamp", + "documentation":"

            The time the service deployment finished. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            " + }, + "stoppedAt":{ + "shape":"Timestamp", + "documentation":"

            The time the service deployment stopped. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            The service deployment stops when any of the following actions happen:

            • A user manually stops the deployment

            • The rollback option is not in use for the failure detection mechanism (the circuit breaker or alarm-based) and the service fails.

            " + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

            The time that the service deployment was last updated. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            " + }, + "sourceServiceRevisions":{ + "shape":"ServiceRevisionsSummaryList", + "documentation":"

            The currently deployed workload configuration.

            " + }, + "targetServiceRevision":{ + "shape":"ServiceRevisionSummary", + "documentation":"

            The workload configuration being deployed.

            " + }, + "status":{ + "shape":"ServiceDeploymentStatus", + "documentation":"

            The service deployment state.

            " + }, + "statusReason":{ + "shape":"String", + "documentation":"

            Information about why the service deployment is in the current status. For example, the circuit breaker detected a failure.

            " + }, + "deploymentConfiguration":{"shape":"DeploymentConfiguration"}, + "rollback":{ + "shape":"Rollback", + "documentation":"

            The rollback options the service deployment uses when the deployment fails.

            " + }, + "deploymentCircuitBreaker":{ + "shape":"ServiceDeploymentCircuitBreaker", + "documentation":"

            The circuit breaker configuration that determines a service deployment failed.

            " + }, + "alarms":{ + "shape":"ServiceDeploymentAlarms", + "documentation":"

            The CloudWatch alarms that determine when a service deployment fails.

            " + } + }, + "documentation":"

            Information about the service deployment.

            Service deployments provide a comprehensive view of your deployments. For information about service deployments, see View service history using Amazon ECS service deployments in the Amazon Elastic Container Service Developer Guide .

            " + }, + "ServiceDeploymentAlarms":{ + "type":"structure", + "members":{ + "status":{ + "shape":"ServiceDeploymentRollbackMonitorsStatus", + "documentation":"

            The status of the alarms check. Amazon ECS is not using alarms for service deployment failures when the status is DISABLED.

            " + }, + "alarmNames":{ + "shape":"StringList", + "documentation":"

            The name of the CloudWatch alarms that determine when a service deployment failed. A \",\" separates the alarms.

            " + }, + "triggeredAlarmNames":{ + "shape":"StringList", + "documentation":"

            One or more CloudWatch alarm names that have been triggered during the service deployment. A \",\" separates the alarm names.

            " + } + }, + "documentation":"

            The CloudWatch alarms used to determine a service deployment failed.

            Amazon ECS considers the service deployment as failed when any of the alarms move to the ALARM state. For more information, see How CloudWatch alarms detect Amazon ECS deployment failures in the Amazon ECS Developer Guide.

            " + }, + "ServiceDeploymentBrief":{ + "type":"structure", + "members":{ + "serviceDeploymentArn":{ + "shape":"String", + "documentation":"

            The ARN of the service deployment.

            " + }, + "serviceArn":{ + "shape":"String", + "documentation":"

            The ARN of the service for this service deployment.

            " + }, + "clusterArn":{ + "shape":"String", + "documentation":"

            The ARN of the cluster that hosts the service.

            " + }, + "startedAt":{ + "shape":"Timestamp", + "documentation":"

            The time that the service deployment statred. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

            The time that the service deployment was created. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            " + }, + "finishedAt":{ + "shape":"Timestamp", + "documentation":"

            The time that the service deployment completed. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.

            " + }, + "targetServiceRevisionArn":{ + "shape":"String", + "documentation":"

            The ARN of the service revision being deplyed.

            " + }, + "status":{ + "shape":"ServiceDeploymentStatus", + "documentation":"

            The status of the service deployment

            " + }, + "statusReason":{ + "shape":"String", + "documentation":"

            Information about why the service deployment is in the current status. For example, the circuit breaker detected a deployment failure.

            " + } + }, + "documentation":"

            The service deployment properties that are retured when you call ListServiceDeployments.

            This provides a high-level overview of the service deployment.

            " + }, + "ServiceDeploymentCircuitBreaker":{ + "type":"structure", + "members":{ + "status":{ + "shape":"ServiceDeploymentRollbackMonitorsStatus", + "documentation":"

            The circuit breaker status. Amazon ECS is not using the circuit breaker for service deployment failures when the status is DISABLED.

            " + }, + "failureCount":{ + "shape":"Integer", + "documentation":"

            The number of times the circuit breaker detected a service deploymeny failure.

            " + }, + "threshold":{ + "shape":"Integer", + "documentation":"

            The threshhold which determines that the service deployment failed.

            The deployment circuit breaker calculates the threshold value, and then uses the value to determine when to move the deployment to a FAILED state. The deployment circuit breaker has a minimum threshold of 3 and a maximum threshold of 200. and uses the values in the following formula to determine the deployment failure.

            0.5 * desired task count

            " + } + }, + "documentation":"

            Information about the circuit breaker used to determine when a service deployment has failed.

            The deployment circuit breaker is the rolling update mechanism that determines if the tasks reach a steady state. The deployment circuit breaker has an option that will automatically roll back a failed deployment to the last cpompleted service revision. For more information, see How the Amazon ECS deployment circuit breaker detects failures in the Amazon ECS Developer Guide.

            " + }, + "ServiceDeploymentRollbackMonitorsStatus":{ + "type":"string", + "enum":[ + "TRIGGERED", + "MONITORING", + "MONITORING_COMPLETE", + "DISABLED" + ] + }, + "ServiceDeploymentStatus":{ + "type":"string", + "enum":[ + "PENDING", + "SUCCESSFUL", + "STOPPED", + "STOP_REQUESTED", + "IN_PROGRESS", + "ROLLBACK_IN_PROGRESS", + "ROLLBACK_SUCCESSFUL", + "ROLLBACK_FAILED" + ] + }, + "ServiceDeploymentStatusList":{ + "type":"list", + "member":{"shape":"ServiceDeploymentStatus"} + }, + "ServiceDeployments":{ + "type":"list", + "member":{"shape":"ServiceDeployment"} + }, + "ServiceDeploymentsBrief":{ + "type":"list", + "member":{"shape":"ServiceDeploymentBrief"} + }, "ServiceEvent":{ "type":"structure", "members":{ @@ -5350,6 +5728,101 @@ }, "documentation":"

            The details for the service registry.

            Each service may be associated with one service registry. Multiple service registries for each service are not supported.

            When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration.

            " }, + "ServiceRevision":{ + "type":"structure", + "members":{ + "serviceRevisionArn":{ + "shape":"String", + "documentation":"

            The ARN of the service revision.

            " + }, + "serviceArn":{ + "shape":"String", + "documentation":"

            The ARN of the service for the service revision.

            " + }, + "clusterArn":{ + "shape":"String", + "documentation":"

            The ARN of the cluster that hosts the service.

            " + }, + "taskDefinition":{ + "shape":"String", + "documentation":"

            The task definition the service revision uses.

            " + }, + "capacityProviderStrategy":{ + "shape":"CapacityProviderStrategy", + "documentation":"

            The capacity provider strategy the service revision uses.

            " + }, + "launchType":{ + "shape":"LaunchType", + "documentation":"

            The launch type the service revision uses.

            " + }, + "platformVersion":{ + "shape":"String", + "documentation":"

            For the Fargate launch type, the platform version the service revision uses.

            " + }, + "platformFamily":{ + "shape":"String", + "documentation":"

            The platform family the service revision uses.

            " + }, + "loadBalancers":{ + "shape":"LoadBalancers", + "documentation":"

            The load balancers the service revision uses.

            " + }, + "serviceRegistries":{ + "shape":"ServiceRegistries", + "documentation":"

            The service registries (for Service Discovery) the service revision uses.

            " + }, + "networkConfiguration":{"shape":"NetworkConfiguration"}, + "containerImages":{ + "shape":"ContainerImages", + "documentation":"

            The container images the service revision uses.

            " + }, + "guardDutyEnabled":{ + "shape":"Boolean", + "documentation":"

            Indicates whether Runtime Monitoring is turned on.

            " + }, + "serviceConnectConfiguration":{"shape":"ServiceConnectConfiguration"}, + "volumeConfigurations":{ + "shape":"ServiceVolumeConfigurations", + "documentation":"

            The volumes that are configured at deployment that the service revision uses.

            " + }, + "fargateEphemeralStorage":{"shape":"DeploymentEphemeralStorage"}, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

            The time that the service revision was created. The format is yyyy-mm-dd HH:mm:ss.SSSSS.

            " + } + }, + "documentation":"

            Information about the service revision.

            A service revision contains a record of the workload configuration Amazon ECS is attempting to deploy. Whenever you create or deploy a service, Amazon ECS automatically creates and captures the configuration that you're trying to deploy in the service revision. For information about service revisions, see Amazon ECS service revisions in the Amazon Elastic Container Service Developer Guide .

            " + }, + "ServiceRevisionSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"String", + "documentation":"

            The ARN of the service revision.

            " + }, + "requestedTaskCount":{ + "shape":"Integer", + "documentation":"

            The number of requested tasks for the service revision.

            " + }, + "runningTaskCount":{ + "shape":"Integer", + "documentation":"

            The number of running tasks for the service revision.

            " + }, + "pendingTaskCount":{ + "shape":"Integer", + "documentation":"

            The number of pending tasks for the service revision.

            " + } + }, + "documentation":"

            The information about the number of requested, pending, and running tasks for a service revision.

            " + }, + "ServiceRevisions":{ + "type":"list", + "member":{"shape":"ServiceRevision"} + }, + "ServiceRevisionsSummaryList":{ + "type":"list", + "member":{"shape":"ServiceRevisionSummary"} + }, "ServiceVolumeConfiguration":{ "type":"structure", "required":["name"], @@ -5963,7 +6436,7 @@ }, "networkMode":{ "shape":"NetworkMode", - "documentation":"

            The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. If no network mode is specified, the default is bridge.

            For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, <default> or awsvpc can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

            With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

            When using the host network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.

            If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

            If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

            " + "documentation":"

            The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. If no network mode is specified, the default is bridge.

            For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, <default> or awsvpc can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

            With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

            When using the host network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user.

            If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

            If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

            For more information, see Network settings in the Docker run reference.

            " }, "revision":{ "shape":"Integer", @@ -6011,11 +6484,11 @@ }, "pidMode":{ "shape":"PidMode", - "documentation":"

            The process namespace to use for the containers in the task. The valid values are host or task. On Fargate for Linux containers, the only valid value is task. For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

            If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance.

            If task is specified, all containers within the specified task share the same process namespace.

            If no value is specified, the default is a private namespace for each container.

            If the host PID mode is used, there's a heightened risk of undesired process namespace exposure.

            This parameter is not supported for Windows containers.

            This parameter is only supported for tasks that are hosted on Fargate if the tasks are using platform version 1.4.0 or later (Linux). This isn't supported for Windows containers on Fargate.

            " + "documentation":"

            The process namespace to use for the containers in the task. The valid values are host or task. On Fargate for Linux containers, the only valid value is task. For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

            If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance.

            If task is specified, all containers within the specified task share the same process namespace.

            If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.

            If the host PID mode is used, there's a heightened risk of undesired process namespace exposure. For more information, see Docker security.

            This parameter is not supported for Windows containers.

            This parameter is only supported for tasks that are hosted on Fargate if the tasks are using platform version 1.4.0 or later (Linux). This isn't supported for Windows containers on Fargate.

            " }, "ipcMode":{ "shape":"IpcMode", - "documentation":"

            The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance.

            If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose.

            If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide.

            • For tasks that use the host IPC mode, IPC namespace related systemControls are not supported.

            • For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task.

            This parameter is not supported for Windows containers or tasks run on Fargate.

            " + "documentation":"

            The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

            If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see Docker security.

            If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide.

            • For tasks that use the host IPC mode, IPC namespace related systemControls are not supported.

            • For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task.

            This parameter is not supported for Windows containers or tasks run on Fargate.

            " }, "proxyConfiguration":{ "shape":"ProxyConfiguration", @@ -6099,7 +6572,7 @@ }, "kmsKeyId":{ "shape":"String", - "documentation":"

            Specify an Key Management Service key ID to encrypt the ephemeral storage for the task.

            " + "documentation":"

            Specify an Amazon Web Services Key Management Service key ID to encrypt the ephemeral storage for the task.

            " } }, "documentation":"

            The amount of ephemeral storage to allocate for the task.

            " @@ -6704,7 +7177,7 @@ }, "deploymentConfiguration":{ "shape":"DeploymentConfiguration", - "documentation":"

            Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

            " + "documentation":"

            Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods.

            " }, "networkConfiguration":{ "shape":"NetworkConfiguration", diff --git a/tools/code-generation/api-descriptions/geo-maps-2020-11-19.normal.json b/tools/code-generation/api-descriptions/geo-maps-2020-11-19.normal.json new file mode 100644 index 00000000000..40b986cee46 --- /dev/null +++ b/tools/code-generation/api-descriptions/geo-maps-2020-11-19.normal.json @@ -0,0 +1,706 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-11-19", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"geo-maps", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"Amazon Location Service Maps V2", + "serviceId":"Geo Maps", + "signatureVersion":"v4", + "signingName":"geo-maps", + "uid":"geo-maps-2020-11-19" + }, + "operations":{ + "GetGlyphs":{ + "name":"GetGlyphs", + "http":{ + "method":"GET", + "requestUri":"/glyphs/{FontStack}/{FontUnicodeRange}", + "responseCode":200 + }, + "input":{"shape":"GetGlyphsRequest"}, + "output":{"shape":"GetGlyphsResponse"}, + "documentation":"

            Returns the map's glyphs.

            " + }, + "GetSprites":{ + "name":"GetSprites", + "http":{ + "method":"GET", + "requestUri":"/styles/{Style}/{ColorScheme}/{Variant}/sprites/{FileName}", + "responseCode":200 + }, + "input":{"shape":"GetSpritesRequest"}, + "output":{"shape":"GetSpritesResponse"}, + "documentation":"

            Returns the map's sprites.

            " + }, + "GetStaticMap":{ + "name":"GetStaticMap", + "http":{ + "method":"GET", + "requestUri":"/static/{FileName}", + "responseCode":200 + }, + "input":{"shape":"GetStaticMapRequest"}, + "output":{"shape":"GetStaticMapResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            Provides high-quality static map images with customizable options. You can modify the map's appearance and overlay additional information. It's an ideal solution for applications requiring tailored static map snapshots.

            " + }, + "GetStyleDescriptor":{ + "name":"GetStyleDescriptor", + "http":{ + "method":"GET", + "requestUri":"/styles/{Style}/descriptor", + "responseCode":200 + }, + "input":{"shape":"GetStyleDescriptorRequest"}, + "output":{"shape":"GetStyleDescriptorResponse"}, + "documentation":"

            Returns information about the style.

            " + }, + "GetTile":{ + "name":"GetTile", + "http":{ + "method":"GET", + "requestUri":"/tiles/{Tileset}/{Z}/{X}/{Y}", + "responseCode":200 + }, + "input":{"shape":"GetTileRequest"}, + "output":{"shape":"GetTileResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            Returns a tile. Map tiles are used by clients to render a map. they're addressed using a grid arrangement with an X coordinate, Y coordinate, and Z (zoom) level.

            " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + } + }, + "documentation":"

            The request was denied because of insufficient access or permissions. Check with an administrator to verify your permissions.

            ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "ApiKey":{ + "type":"string", + "max":1000, + "min":0, + "sensitive":true + }, + "Blob":{"type":"blob"}, + "ColorScheme":{ + "type":"string", + "enum":[ + "Light", + "Dark" + ] + }, + "CompactOverlay":{ + "type":"string", + "max":7000, + "min":1 + }, + "CountryCode":{ + "type":"string", + "max":3, + "min":2, + "pattern":"([A-Z]{2}|[A-Z]{3})" + }, + "DistanceMeters":{ + "type":"long", + "max":4294967295, + "min":0 + }, + "GeoJsonOverlay":{ + "type":"string", + "max":7000, + "min":1 + }, + "GetGlyphsRequest":{ + "type":"structure", + "required":[ + "FontStack", + "FontUnicodeRange" + ], + "members":{ + "FontStack":{ + "shape":"GetGlyphsRequestFontStackString", + "documentation":"

            Name of the FontStack to retrieve.

            Example: Amazon Ember Bold,Noto Sans Bold.

            The supported font stacks are as follows:

            • Amazon Ember Bold

            • Amazon Ember Bold Italic

            • Amazon Ember Bold,Noto Sans Bold

            • Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold

            • Amazon Ember Condensed RC BdItalic

            • Amazon Ember Condensed RC Bold

            • Amazon Ember Condensed RC Bold Italic

            • Amazon Ember Condensed RC Bold,Noto Sans Bold

            • Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold

            • Amazon Ember Condensed RC Light

            • Amazon Ember Condensed RC Light Italic

            • Amazon Ember Condensed RC LtItalic

            • Amazon Ember Condensed RC Regular

            • Amazon Ember Condensed RC Regular Italic

            • Amazon Ember Condensed RC Regular,Noto Sans Regular

            • Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular

            • Amazon Ember Condensed RC RgItalic

            • Amazon Ember Condensed RC ThItalic

            • Amazon Ember Condensed RC Thin

            • Amazon Ember Condensed RC Thin Italic

            • Amazon Ember Heavy

            • Amazon Ember Heavy Italic

            • Amazon Ember Light

            • Amazon Ember Light Italic

            • Amazon Ember Medium

            • Amazon Ember Medium Italic

            • Amazon Ember Medium,Noto Sans Medium

            • Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium

            • Amazon Ember Regular

            • Amazon Ember Regular Italic

            • Amazon Ember Regular Italic,Noto Sans Italic

            • Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular

            • Amazon Ember Regular,Noto Sans Regular

            • Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular

            • Amazon Ember Thin

            • Amazon Ember Thin Italic

            • AmazonEmberCdRC_Bd

            • AmazonEmberCdRC_BdIt

            • AmazonEmberCdRC_Lt

            • AmazonEmberCdRC_LtIt

            • AmazonEmberCdRC_Rg

            • AmazonEmberCdRC_RgIt

            • AmazonEmberCdRC_Th

            • AmazonEmberCdRC_ThIt

            • AmazonEmber_Bd

            • AmazonEmber_BdIt

            • AmazonEmber_He

            • AmazonEmber_HeIt

            • AmazonEmber_Lt

            • AmazonEmber_LtIt

            • AmazonEmber_Md

            • AmazonEmber_MdIt

            • AmazonEmber_Rg

            • AmazonEmber_RgIt

            • AmazonEmber_Th

            • AmazonEmber_ThIt

            • Noto Sans Black

            • Noto Sans Black Italic

            • Noto Sans Bold

            • Noto Sans Bold Italic

            • Noto Sans Extra Bold

            • Noto Sans Extra Bold Italic

            • Noto Sans Extra Light

            • Noto Sans Extra Light Italic

            • Noto Sans Italic

            • Noto Sans Light

            • Noto Sans Light Italic

            • Noto Sans Medium

            • Noto Sans Medium Italic

            • Noto Sans Regular

            • Noto Sans Semi Bold

            • Noto Sans Semi Bold Italic

            • Noto Sans Thin

            • Noto Sans Thin Italic

            • NotoSans-Bold

            • NotoSans-Italic

            • NotoSans-Medium

            • NotoSans-Regular

            • Open Sans Regular,Arial Unicode MS Regular

            ", + "location":"uri", + "locationName":"FontStack" + }, + "FontUnicodeRange":{ + "shape":"GetGlyphsRequestFontUnicodeRangeString", + "documentation":"

            A Unicode range of characters to download glyphs for. This must be aligned to multiples of 256.

            Example: 0-255.pdf

            ", + "location":"uri", + "locationName":"FontUnicodeRange" + } + } + }, + "GetGlyphsRequestFontStackString":{ + "type":"string", + "max":1000, + "min":0 + }, + "GetGlyphsRequestFontUnicodeRangeString":{ + "type":"string", + "pattern":"[0-9]+-[0-9]+\\.pbf" + }, + "GetGlyphsResponse":{ + "type":"structure", + "members":{ + "Blob":{ + "shape":"Blob", + "documentation":"

            The Glyph, as a binary blob.

            " + }, + "ContentType":{ + "shape":"String", + "documentation":"

            Header that represents the format of the response. The response returns the following as the HTTP body.

            ", + "location":"header", + "locationName":"Content-Type" + }, + "CacheControl":{ + "shape":"String", + "documentation":"

            Header that instructs caching configuration for the client.

            ", + "location":"header", + "locationName":"Cache-Control" + }, + "ETag":{ + "shape":"String", + "documentation":"

            The glyph's Etag.

            ", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"Blob" + }, + "GetSpritesRequest":{ + "type":"structure", + "required":[ + "FileName", + "Style", + "ColorScheme", + "Variant" + ], + "members":{ + "FileName":{ + "shape":"GetSpritesRequestFileNameString", + "documentation":"

            Sprites API: The name of the sprite file to retrieve, following pattern sprites(@2x)?\\.(png|json).

            Example: sprites.png

            ", + "location":"uri", + "locationName":"FileName" + }, + "Style":{ + "shape":"MapStyle", + "documentation":"

            Style specifies the desired map style for the Sprites APIs.

            ", + "location":"uri", + "locationName":"Style" + }, + "ColorScheme":{ + "shape":"ColorScheme", + "documentation":"

            Sets color tone for map such as dark and light for specific map styles. It applies to only vector map styles such as Standard and Monochrome.

            Example: Light

            Default value: Light

            Valid values for ColorScheme are case sensitive.

            ", + "location":"uri", + "locationName":"ColorScheme" + }, + "Variant":{ + "shape":"Variant", + "documentation":"

            Optimizes map styles for specific use case or industry. You can choose allowed variant only with Standard map style.

            Example: Default

            Valid values for Variant are case sensitive.

            ", + "location":"uri", + "locationName":"Variant" + } + } + }, + "GetSpritesRequestFileNameString":{ + "type":"string", + "pattern":"sprites(@2x)?\\.(png|json)" + }, + "GetSpritesResponse":{ + "type":"structure", + "members":{ + "Blob":{ + "shape":"Blob", + "documentation":"

            The body of the sprite sheet or JSON offset file (image/png or application/json, depending on input).

            " + }, + "ContentType":{ + "shape":"String", + "documentation":"

            Header that represents the format of the response. The response returns the following as the HTTP body.

            ", + "location":"header", + "locationName":"Content-Type" + }, + "CacheControl":{ + "shape":"String", + "documentation":"

            Header that instructs caching configuration for the client.

            ", + "location":"header", + "locationName":"Cache-Control" + }, + "ETag":{ + "shape":"String", + "documentation":"

            The sprite's Etag.

            ", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"Blob" + }, + "GetStaticMapRequest":{ + "type":"structure", + "required":[ + "Height", + "FileName", + "Width" + ], + "members":{ + "BoundingBox":{ + "shape":"PositionListString", + "documentation":"

            Takes in two pairs of coordinates, [Lon, Lat], denoting south-westerly and north-easterly edges of the image. The underlying area becomes the view of the image.

            Example: -123.17075,49.26959,-123.08125,49.31429

            ", + "location":"querystring", + "locationName":"bounding-box" + }, + "BoundedPositions":{ + "shape":"PositionListString", + "documentation":"

            Takes in two or more pair of coordinates, [Lon, Lat], with each coordinate separated by a comma. The API will generate an image to encompass all of the provided coordinates.

            Cannot be used with Zoom and or Radius

            Example: 97.170451,78.039098,99.045536,27.176178

            ", + "location":"querystring", + "locationName":"bounded-positions" + }, + "Center":{ + "shape":"PositionString", + "documentation":"

            Takes in a pair of coordinates, [Lon, Lat], which becomes the center point of the image. This parameter requires that either zoom or radius is set.

            Cannot be used with Zoom and or Radius

            Example: 49.295,-123.108

            ", + "location":"querystring", + "locationName":"center" + }, + "CompactOverlay":{ + "shape":"CompactOverlay", + "documentation":"

            Takes in a string to draw geometries on the image. The input is a comma separated format as follows format: [Lon, Lat]

            Example: line:-122.407653,37.798557,-122.413291,37.802443;color=%23DD0000;width=7;outline-color=#00DD00;outline-width=5yd|point:-122.40572,37.80004;label=Fog Hill Market;size=large;text-color=%23DD0000;color=#EE4B2B

            Currently it supports the following geometry types: point, line and polygon. It does not support multiPoint , multiLine and multiPolgyon.

            ", + "location":"querystring", + "locationName":"compact-overlay" + }, + "GeoJsonOverlay":{ + "shape":"GeoJsonOverlay", + "documentation":"

            Takes in a string to draw geometries on the image. The input is a valid GeoJSON collection object.

            Example: {\"type\":\"FeatureCollection\",\"features\": [{\"type\":\"Feature\",\"geometry\":{\"type\":\"MultiPoint\",\"coordinates\": [[-90.076345,51.504107],[-0.074451,51.506892]]},\"properties\": {\"color\":\"#00DD00\"}}]}

            ", + "location":"querystring", + "locationName":"geojson-overlay" + }, + "Height":{ + "shape":"GetStaticMapRequestHeightInteger", + "documentation":"

            Specifies the height of the map image.

            ", + "location":"querystring", + "locationName":"height" + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + }, + "Padding":{ + "shape":"Integer", + "documentation":"

            Applies additional space (in pixels) around overlay feature to prevent them from being cut or obscured.

            Value for max and min is determined by:

            Min: 1

            Max: min(height, width)/4

            Example: 100

            ", + "location":"querystring", + "locationName":"padding" + }, + "Radius":{ + "shape":"DistanceMeters", + "documentation":"

            Used with center parameter, it specifies the zoom of the image where you can control it on a granular level. Takes in any value >= 1.

            Example: 1500

            Cannot be used with Zoom.

            Unit: Meters

            ", + "box":true, + "location":"querystring", + "locationName":"radius" + }, + "FileName":{ + "shape":"GetStaticMapRequestFileNameString", + "documentation":"

            The map scaling parameter to size the image, icons, and labels. It follows the pattern of ^map(@2x)?$.

            Example: map, map@2x

            ", + "location":"uri", + "locationName":"FileName" + }, + "ScaleBarUnit":{ + "shape":"ScaleBarUnit", + "documentation":"

            Displays a scale on the bottom right of the map image with the unit specified in the input.

            Example: KilometersMiles, Miles, Kilometers, MilesKilometers

            ", + "location":"querystring", + "locationName":"scale-unit" + }, + "Style":{ + "shape":"StaticMapStyle", + "documentation":"

            Style specifies the desired map style for the Style APIs.

            ", + "location":"querystring", + "locationName":"style" + }, + "Width":{ + "shape":"GetStaticMapRequestWidthInteger", + "documentation":"

            Specifies the width of the map image.

            ", + "location":"querystring", + "locationName":"width" + }, + "Zoom":{ + "shape":"GetStaticMapRequestZoomFloat", + "documentation":"

            Specifies the zoom level of the map image.

            Cannot be used with Radius.

            ", + "location":"querystring", + "locationName":"zoom" + } + } + }, + "GetStaticMapRequestFileNameString":{ + "type":"string", + "pattern":"map(@2x)?" + }, + "GetStaticMapRequestHeightInteger":{ + "type":"integer", + "box":true, + "max":1400, + "min":64 + }, + "GetStaticMapRequestWidthInteger":{ + "type":"integer", + "box":true, + "max":1400, + "min":64 + }, + "GetStaticMapRequestZoomFloat":{ + "type":"float", + "box":true, + "max":20, + "min":0 + }, + "GetStaticMapResponse":{ + "type":"structure", + "required":["PricingBucket"], + "members":{ + "Blob":{ + "shape":"Blob", + "documentation":"

            The blob represents a map image as a jpeg for the GetStaticMap API.

            " + }, + "ContentType":{ + "shape":"String", + "documentation":"

            Header that represents the format of the response. The response returns the following as the HTTP body.

            ", + "location":"header", + "locationName":"Content-Type" + }, + "CacheControl":{ + "shape":"String", + "documentation":"

            Header that instructs caching configuration for the client.

            ", + "location":"header", + "locationName":"Cache-Control" + }, + "ETag":{ + "shape":"String", + "documentation":"

            The static map's Etag.

            ", + "location":"header", + "locationName":"ETag" + }, + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the request is charged at.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + } + }, + "payload":"Blob" + }, + "GetStyleDescriptorRequest":{ + "type":"structure", + "required":["Style"], + "members":{ + "Style":{ + "shape":"MapStyle", + "documentation":"

            Style specifies the desired map style.

            ", + "location":"uri", + "locationName":"Style" + }, + "ColorScheme":{ + "shape":"ColorScheme", + "documentation":"

            Sets color tone for map such as dark and light for specific map styles. It applies to only vector map styles such as Standard and Monochrome.

            Example: Light

            Default value: Light

            Valid values for ColorScheme are case sensitive.

            ", + "location":"querystring", + "locationName":"color-scheme" + }, + "PoliticalView":{ + "shape":"CountryCode", + "documentation":"

            Specifies the political view using ISO 3166-2 or ISO 3166-3 country code format.

            The following political views are currently supported:

            • ARG: Argentina's view on the Southern Patagonian Ice Field and Tierra Del Fuego, including the Falkland Islands, South Georgia, and South Sandwich Islands

            • EGY: Egypt's view on Bir Tawil

            • IND: India's view on Gilgit-Baltistan

            • KEN: Kenya's view on the Ilemi Triangle

            • MAR: Morocco's view on Western Sahara

            • PAK: Pakistan's view on Jammu and Kashmir and the Junagadh Area

            • RUS: Russia's view on Crimea

            • SDN: Sudan's view on the Halaib Triangle

            • SRB: Serbia's view on Kosovo, Vukovar, and Sarengrad Islands

            • SUR: Suriname's view on the Courantyne Headwaters and Lawa Headwaters

            • SYR: Syria's view on the Golan Heights

            • TUR: Turkey's view on Cyprus and Northern Cyprus

            • TZA: Tanzania's view on Lake Malawi

            • URY: Uruguay's view on Rincon de Artigas

            • VNM: Vietnam's view on the Paracel Islands and Spratly Islands

            ", + "location":"querystring", + "locationName":"political-view" + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + } + } + }, + "GetStyleDescriptorResponse":{ + "type":"structure", + "members":{ + "Blob":{ + "shape":"Blob", + "documentation":"

            This Blob contains the body of the style descriptor which is in application/json format.

            " + }, + "ContentType":{ + "shape":"String", + "documentation":"

            Header that represents the format of the response. The response returns the following as the HTTP body.

            ", + "location":"header", + "locationName":"Content-Type" + }, + "CacheControl":{ + "shape":"String", + "documentation":"

            Header that instructs caching configuration for the client.

            ", + "location":"header", + "locationName":"Cache-Control" + }, + "ETag":{ + "shape":"String", + "documentation":"

            The style descriptor's Etag.

            ", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"Blob" + }, + "GetTileRequest":{ + "type":"structure", + "required":[ + "Tileset", + "Z", + "X", + "Y" + ], + "members":{ + "Tileset":{ + "shape":"Tileset", + "documentation":"

            Specifies the desired tile set.

            Valid Values: raster.satellite | vector.basemap

            ", + "location":"uri", + "locationName":"Tileset" + }, + "Z":{ + "shape":"GetTileRequestZString", + "documentation":"

            The zoom value for the map tile.

            ", + "location":"uri", + "locationName":"Z" + }, + "X":{ + "shape":"GetTileRequestXString", + "documentation":"

            The X axis value for the map tile. Must be between 0 and 19.

            ", + "location":"uri", + "locationName":"X" + }, + "Y":{ + "shape":"GetTileRequestYString", + "documentation":"

            The Y axis value for the map tile.

            ", + "location":"uri", + "locationName":"Y" + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + } + } + }, + "GetTileRequestXString":{ + "type":"string", + "pattern":".*\\d+.*" + }, + "GetTileRequestYString":{ + "type":"string", + "pattern":".*\\d+.*" + }, + "GetTileRequestZString":{ + "type":"string", + "pattern":".*\\d+.*" + }, + "GetTileResponse":{ + "type":"structure", + "required":["PricingBucket"], + "members":{ + "Blob":{ + "shape":"Blob", + "documentation":"

            The blob represents a vector tile in mvt format for the GetTile API.

            " + }, + "ContentType":{ + "shape":"String", + "documentation":"

            Header that represents the format of the response. The response returns the following as the HTTP body.

            ", + "location":"header", + "locationName":"Content-Type" + }, + "CacheControl":{ + "shape":"String", + "documentation":"

            Header that instructs caching configuration for the client.

            ", + "location":"header", + "locationName":"Cache-Control" + }, + "ETag":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the request is charged at.

            ", + "location":"header", + "locationName":"ETag" + }, + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the request is charged at.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + } + }, + "payload":"Blob" + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + } + }, + "documentation":"

            The request processing has failed because of an unknown error, exception or failure.

            ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "MapStyle":{ + "type":"string", + "enum":[ + "Standard", + "Monochrome", + "Hybrid", + "Satellite" + ] + }, + "PositionListString":{ + "type":"string", + "min":7, + "pattern":"(-?\\d{1,3}(\\.\\d{1,14})?,-?\\d{1,2}(\\.\\d{1,14})?)(,(-?\\d{1,3}(\\.\\d{1,14})?,-?\\d{1,2}(\\.\\d{1,14})?))*" + }, + "PositionString":{ + "type":"string", + "max":36, + "min":3, + "pattern":"-?\\d{1,3}(\\.\\d{1,14})?,-?\\d{1,2}(\\.\\d{1,14})?" + }, + "ScaleBarUnit":{ + "type":"string", + "enum":[ + "Kilometers", + "KilometersMiles", + "Miles", + "MilesKilometers" + ] + }, + "StaticMapStyle":{ + "type":"string", + "enum":["Satellite"] + }, + "String":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + } + }, + "documentation":"

            The request was denied due to request throttling.

            ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, + "Tileset":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-.\\w]+" + }, + "ValidationException":{ + "type":"structure", + "required":[ + "Message", + "Reason", + "FieldList" + ], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + }, + "Reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

            The field where thebb invalid entry was detected.

            ", + "locationName":"reason" + }, + "FieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

            A message with the reason for the validation exception error.

            ", + "locationName":"fieldList" + } + }, + "documentation":"

            The input fails to satisfy the constraints specified by an AWS service.

            ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "Name", + "Message" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

            The name of the resource.

            ", + "locationName":"name" + }, + "Message":{ + "shape":"String", + "documentation":"

            The error message.

            ", + "locationName":"message" + } + }, + "documentation":"

            The input fails to satisfy the constraints specified by the Amazon Location service.

            " + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "UnknownOperation", + "Missing", + "CannotParse", + "FieldValidationFailed", + "Other", + "UnknownField" + ] + }, + "Variant":{ + "type":"string", + "enum":["Default"] + } + }, + "documentation":"

            Integrate high-quality base map data into your applications using MapLibre. Capabilities include:

            • Access to comprehensive base map data, allowing you to tailor the map display to your specific needs.

            • Multiple pre-designed map styles suited for various application types, such as navigation, logistics, or data visualization.

            • Generation of static map images for scenarios where interactive maps aren't suitable, such as:

              • Embedding in emails or documents

              • Displaying in low-bandwidth environments

              • Creating printable maps

              • Enhancing application performance by reducing client-side rendering

            " +} diff --git a/tools/code-generation/api-descriptions/geo-places-2020-11-19.normal.json b/tools/code-generation/api-descriptions/geo-places-2020-11-19.normal.json new file mode 100644 index 00000000000..cfd5e79babc --- /dev/null +++ b/tools/code-generation/api-descriptions/geo-places-2020-11-19.normal.json @@ -0,0 +1,3082 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-11-19", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"geo-places", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"Amazon Location Service Places V2", + "serviceId":"Geo Places", + "signatureVersion":"v4", + "signingName":"geo-places", + "uid":"geo-places-2020-11-19" + }, + "operations":{ + "Autocomplete":{ + "name":"Autocomplete", + "http":{ + "method":"POST", + "requestUri":"/autocomplete", + "responseCode":200 + }, + "input":{"shape":"AutocompleteRequest"}, + "output":{"shape":"AutocompleteResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            The autocomplete operation speeds up and increases the accuracy of entering addresses by providing a list of address candidates matching a partially entered address. Results are sorted from most to least matching. Filtering and biasing can be used to increase the relevance of the results if additional search context is known

            " + }, + "Geocode":{ + "name":"Geocode", + "http":{ + "method":"POST", + "requestUri":"/geocode", + "responseCode":200 + }, + "input":{"shape":"GeocodeRequest"}, + "output":{"shape":"GeocodeResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            The Geocode action allows you to obtain coordinates, addresses, and other information about places.

            " + }, + "GetPlace":{ + "name":"GetPlace", + "http":{ + "method":"GET", + "requestUri":"/place/{PlaceId}", + "responseCode":200 + }, + "input":{"shape":"GetPlaceRequest"}, + "output":{"shape":"GetPlaceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            Finds a place by its unique ID. A PlaceId is returned by other place operations.

            " + }, + "ReverseGeocode":{ + "name":"ReverseGeocode", + "http":{ + "method":"POST", + "requestUri":"/reverse-geocode", + "responseCode":200 + }, + "input":{"shape":"ReverseGeocodeRequest"}, + "output":{"shape":"ReverseGeocodeResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            The ReverseGeocode operation allows you to retrieve addresses and place information from coordinates.

            " + }, + "SearchNearby":{ + "name":"SearchNearby", + "http":{ + "method":"POST", + "requestUri":"/search-nearby", + "responseCode":200 + }, + "input":{"shape":"SearchNearbyRequest"}, + "output":{"shape":"SearchNearbyResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            Search nearby a specified location.

            " + }, + "SearchText":{ + "name":"SearchText", + "http":{ + "method":"POST", + "requestUri":"/search-text", + "responseCode":200 + }, + "input":{"shape":"SearchTextRequest"}, + "output":{"shape":"SearchTextResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            Use the SearchText operation to search for geocode and place information. You can then complete a follow-up query suggested from the Suggest API via a query id.

            " + }, + "Suggest":{ + "name":"Suggest", + "http":{ + "method":"POST", + "requestUri":"/suggest", + "responseCode":200 + }, + "input":{"shape":"SuggestRequest"}, + "output":{"shape":"SuggestResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            The Suggest operation finds addresses or place candidates based on incomplete or misspelled queries. You then select the best query to submit based on the returned results.

            " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + } + }, + "documentation":"

            You don't have sufficient access to perform this action.

            ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AccessPoint":{ + "type":"structure", + "members":{ + "Position":{ + "shape":"Position", + "documentation":"

            The position, in longitude and latitude.

            " + } + }, + "documentation":"

            Position of the access point represented by longitude and latitude for a vehicle.

            " + }, + "AccessPointList":{ + "type":"list", + "member":{"shape":"AccessPoint"}, + "max":100, + "min":0 + }, + "AccessRestriction":{ + "type":"structure", + "members":{ + "Restricted":{ + "shape":"Boolean", + "documentation":"

            The restriction.

            " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

            Categories of results that results must belong too.

            " + } + }, + "documentation":"

            Indicates if the access location is restricted. Index correlates to that of an access point and indicates if access through this point has some form of restriction.

            " + }, + "AccessRestrictionList":{ + "type":"list", + "member":{"shape":"AccessRestriction"}, + "max":100, + "min":1 + }, + "Address":{ + "type":"structure", + "members":{ + "Label":{ + "shape":"AddressLabelString", + "documentation":"

            Assembled address value built out of the address components, according to the regional postal rules. This is the correctly formatted address.

            " + }, + "Country":{ + "shape":"Country", + "documentation":"

            The country component of the address.

            " + }, + "Region":{ + "shape":"Region", + "documentation":"

            The region or state results should be present in.

            Example: North Rhine-Westphalia.

            " + }, + "SubRegion":{ + "shape":"SubRegion", + "documentation":"

            The sub-region or county for which results should be present in.

            " + }, + "Locality":{ + "shape":"AddressLocalityString", + "documentation":"

            The locality or city of the address.

            Example: Vancouver.

            " + }, + "District":{ + "shape":"AddressDistrictString", + "documentation":"

            The district or division of a locality associated with this address.

            " + }, + "SubDistrict":{ + "shape":"AddressSubDistrictString", + "documentation":"

            A subdivision of a district.

            Example: Minden-Lübbecke.

            " + }, + "PostalCode":{ + "shape":"AddressPostalCodeString", + "documentation":"

            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should posses.

            " + }, + "Block":{ + "shape":"AddressBlockString", + "documentation":"

            Name of the block.

            Example: Sunny Mansion 203 block: 2 Chome

            " + }, + "SubBlock":{ + "shape":"AddressSubBlockString", + "documentation":"

            Name of sub-block.

            Example: Sunny Mansion 203 sub-block: 4

            " + }, + "Intersection":{ + "shape":"IntersectionList", + "documentation":"

            Name of the streets in the intersection.

            Example: [\"Friedrichstraße\",\"Unter den Linden\"]

            " + }, + "Street":{ + "shape":"AddressStreetString", + "documentation":"

            The name of the street results should be present in.

            " + }, + "StreetComponents":{ + "shape":"StreetComponentsList", + "documentation":"

            Components of the street.

            Example: Younge from the \"Younge street\".

            " + }, + "AddressNumber":{ + "shape":"AddressAddressNumberString", + "documentation":"

            The number that identifies an address within a street.

            " + }, + "Building":{ + "shape":"AddressBuildingString", + "documentation":"

            The name of the building at the address.

            " + } + }, + "documentation":"

            The place address.

            " + }, + "AddressAddressNumberString":{ + "type":"string", + "max":10, + "min":0 + }, + "AddressBlockString":{ + "type":"string", + "max":200, + "min":0 + }, + "AddressBuildingString":{ + "type":"string", + "max":200, + "min":0 + }, + "AddressComponentMatchScores":{ + "type":"structure", + "members":{ + "Country":{ + "shape":"MatchScore", + "documentation":"

            The alpha-2 or alpha-3 character code for the country that the results will be present in.

            " + }, + "Region":{ + "shape":"MatchScore", + "documentation":"

            The region or state results should be to be present in.

            Example: North Rhine-Westphalia.

            " + }, + "SubRegion":{ + "shape":"MatchScore", + "documentation":"

            The sub-region or county for which results should be present in.

            " + }, + "Locality":{ + "shape":"MatchScore", + "documentation":"

            The city or locality results should be present in.

            Example: Vancouver.

            " + }, + "District":{ + "shape":"MatchScore", + "documentation":"

            The district or division of a city the results should be present in.

            " + }, + "SubDistrict":{ + "shape":"MatchScore", + "documentation":"

            A subdivision of a district.

            Example: Minden-Lübbecke

            " + }, + "PostalCode":{ + "shape":"MatchScore", + "documentation":"

            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code, for which the result should posses.

            " + }, + "Block":{ + "shape":"MatchScore", + "documentation":"

            Name of the block.

            Example: Sunny Mansion 203 block: 2 Chome

            " + }, + "SubBlock":{ + "shape":"MatchScore", + "documentation":"

            Name of sub-block.

            Example: Sunny Mansion 203 sub-block: 4

            " + }, + "Intersection":{ + "shape":"AddressComponentMatchScoresIntersectionList", + "documentation":"

            Name of the streets in the intersection.

            Example: [\"Friedrichstraße\",\"Unter den Linden\"]

            " + }, + "AddressNumber":{ + "shape":"MatchScore", + "documentation":"

            The house number or address results should have.

            " + }, + "Building":{ + "shape":"MatchScore", + "documentation":"

            The name of the building at the address.

            " + } + }, + "documentation":"

            Indicates how well the entire input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

            " + }, + "AddressComponentMatchScoresIntersectionList":{ + "type":"list", + "member":{"shape":"MatchScore"}, + "max":2, + "min":1 + }, + "AddressComponentPhonemes":{ + "type":"structure", + "members":{ + "Country":{ + "shape":"PhonemeTranscriptionList", + "documentation":"

            The alpha-2 or alpha-3 character code for the country that the results will be present in.

            " + }, + "Region":{ + "shape":"PhonemeTranscriptionList", + "documentation":"

            How to pronounce the region or state results should be to be present in.

            " + }, + "SubRegion":{ + "shape":"PhonemeTranscriptionList", + "documentation":"

            How to pronounce the sub-region or county for which results should be present in.

            " + }, + "Locality":{ + "shape":"PhonemeTranscriptionList", + "documentation":"

            How to pronounce the city or locality results should be present in.

            Example: Vancouver.

            " + }, + "District":{ + "shape":"PhonemeTranscriptionList", + "documentation":"

            How to pronounce the district or division of a city results should be present in.

            " + }, + "SubDistrict":{ + "shape":"PhonemeTranscriptionList", + "documentation":"

            How to pronounce the sub-district or division of a city results should be present in.

            " + }, + "Block":{ + "shape":"PhonemeTranscriptionList", + "documentation":"

            How to pronounce the name of the block.

            " + }, + "SubBlock":{ + "shape":"PhonemeTranscriptionList", + "documentation":"

            How to pronounce the name of the sub-block.

            " + }, + "Street":{ + "shape":"PhonemeTranscriptionList", + "documentation":"

            How to pronounce the name of the street results should be present in.

            " + } + }, + "documentation":"

            How to pronounce the various components of the address or place.

            " + }, + "AddressDistrictString":{ + "type":"string", + "max":200, + "min":0 + }, + "AddressLabelString":{ + "type":"string", + "max":200, + "min":0 + }, + "AddressLocalityString":{ + "type":"string", + "max":200, + "min":0 + }, + "AddressPostalCodeString":{ + "type":"string", + "max":50, + "min":0 + }, + "AddressStreetString":{ + "type":"string", + "max":200, + "min":0 + }, + "AddressSubBlockString":{ + "type":"string", + "max":200, + "min":0 + }, + "AddressSubDistrictString":{ + "type":"string", + "max":200, + "min":0 + }, + "ApiKey":{ + "type":"string", + "max":1000, + "min":0, + "sensitive":true + }, + "AutocompleteAdditionalFeature":{ + "type":"string", + "enum":["Core"] + }, + "AutocompleteAdditionalFeatureList":{ + "type":"list", + "member":{"shape":"AutocompleteAdditionalFeature"}, + "max":1, + "min":1 + }, + "AutocompleteAddressHighlights":{ + "type":"structure", + "members":{ + "Label":{ + "shape":"HighlightList", + "documentation":"

            Indicates the starting and ending indexes for result items where they are identified to match the input query. This should be used to provide emphasis to output display to make selecting the correct result from a list easier for end users.

            " + }, + "Country":{ + "shape":"CountryHighlights", + "documentation":"

            The alpha-2 or alpha-3 character code for the country that the results will be present in.

            " + }, + "Region":{ + "shape":"RegionHighlights", + "documentation":"

            The region or state results should be to be present in.

            Example: North Rhine-Westphalia.

            " + }, + "SubRegion":{ + "shape":"SubRegionHighlights", + "documentation":"

            The sub-region or county for which results should be present in.

            " + }, + "Locality":{ + "shape":"HighlightList", + "documentation":"

            The city or locality results should be present in.

            Example: Vancouver.

            " + }, + "District":{ + "shape":"HighlightList", + "documentation":"

            The district or division of a city the results should be present in.

            " + }, + "SubDistrict":{ + "shape":"HighlightList", + "documentation":"

            Indicates the starting and ending index of the title in the text query that match the found title.

            " + }, + "Street":{ + "shape":"HighlightList", + "documentation":"

            The name of the street results should be present in.

            " + }, + "Block":{ + "shape":"HighlightList", + "documentation":"

            Name of the block. Example: Sunny Mansion 203 block: 2 Chome

            " + }, + "SubBlock":{ + "shape":"HighlightList", + "documentation":"

            Name of sub-block. Example Sunny Mansion 203 sub-block: 4

            " + }, + "Intersection":{ + "shape":"IntersectionHighlightsList", + "documentation":"

            Name of the streets in the intersection. For example: e.g. [\"Friedrichstraße\",\"Unter den Linden\"]

            " + }, + "PostalCode":{ + "shape":"HighlightList", + "documentation":"

            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

            " + }, + "AddressNumber":{ + "shape":"HighlightList", + "documentation":"

            The house number or address results should have.

            " + }, + "Building":{ + "shape":"HighlightList", + "documentation":"

            The name of the building at the address.

            " + } + }, + "documentation":"

            Describes how the parts of the response element matched the input query by returning the sections of the response which matched to input query terms.

            " + }, + "AutocompleteFilter":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

            " + }, + "Circle":{"shape":"FilterCircle"}, + "IncludeCountries":{ + "shape":"CountryCodeList", + "documentation":"

            A list of countries that all results must be in. Countries are represented by either their alpha-2 or alpha-3 character codes.

            " + }, + "IncludePlaceTypes":{ + "shape":"AutocompleteFilterPlaceTypeList", + "documentation":"

            The included place types.

            " + } + }, + "documentation":"

            Autocomplete structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

            " + }, + "AutocompleteFilterPlaceType":{ + "type":"string", + "enum":[ + "Locality", + "PostalCode" + ] + }, + "AutocompleteFilterPlaceTypeList":{ + "type":"list", + "member":{"shape":"AutocompleteFilterPlaceType"}, + "max":2, + "min":1 + }, + "AutocompleteHighlights":{ + "type":"structure", + "members":{ + "Title":{ + "shape":"HighlightList", + "documentation":"

            Indicates where the title field in the result matches the input query.

            " + }, + "Address":{ + "shape":"AutocompleteAddressHighlights", + "documentation":"

            Describes how part of the result address match the input query.

            " + } + }, + "documentation":"

            Describes how the parts of the response element matched the input query by returning the sections of the response which matched to input query terms.

            " + }, + "AutocompleteIntendedUse":{ + "type":"string", + "enum":["SingleUse"] + }, + "AutocompleteRequest":{ + "type":"structure", + "required":["QueryText"], + "members":{ + "QueryText":{ + "shape":"AutocompleteRequestQueryTextString", + "documentation":"

            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

            " + }, + "MaxResults":{ + "shape":"AutocompleteRequestMaxResultsInteger", + "documentation":"

            An optional limit for the number of results returned in a single call.

            " + }, + "BiasPosition":{ + "shape":"Position", + "documentation":"

            The position in longitude and latitude that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

            The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

            " + }, + "Filter":{ + "shape":"AutocompleteFilter", + "documentation":"

            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

            " + }, + "PostalCodeMode":{ + "shape":"PostalCodeMode", + "documentation":"

            The PostalCodeMode affects how postal code results are returned. If a postal code spans multiple localities and this value is empty, partial district or locality information may be returned under a single postal code result entry. If it's populated with the value cityLookup, all cities in that postal code are returned.

            " + }, + "AdditionalFeatures":{ + "shape":"AutocompleteAdditionalFeatureList", + "documentation":"

            A list of optional additional parameters that can be requested for each result.

            " + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

            " + }, + "PoliticalView":{ + "shape":"CountryCode", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "IntendedUse":{ + "shape":"AutocompleteIntendedUse", + "documentation":"

            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

            " + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + } + } + }, + "AutocompleteRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, + "AutocompleteRequestQueryTextString":{ + "type":"string", + "max":200, + "min":1, + "sensitive":true + }, + "AutocompleteResponse":{ + "type":"structure", + "required":["PricingBucket"], + "members":{ + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "ResultItems":{ + "shape":"AutocompleteResultItemList", + "documentation":"

            List of places or results returned for a query.

            " + } + } + }, + "AutocompleteResultItem":{ + "type":"structure", + "required":[ + "PlaceId", + "PlaceType", + "Title" + ], + "members":{ + "PlaceId":{ + "shape":"AutocompleteResultItemPlaceIdString", + "documentation":"

            The PlaceId of the place associated with this result. This can be used to look up additional details about the result via GetPlace.

            " + }, + "PlaceType":{ + "shape":"PlaceType", + "documentation":"

            PlaceType describes the type of result entry returned.

            " + }, + "Title":{ + "shape":"AutocompleteResultItemTitleString", + "documentation":"

            A formatted string for display when presenting this result to an end user.

            " + }, + "Address":{ + "shape":"Address", + "documentation":"

            The address associated with this result.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            The distance in meters between the center of the search area and this result. Useful to evaluate how far away from the original bias position the result is.

            " + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

            " + }, + "PoliticalView":{ + "shape":"CountryCode3", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "Highlights":{ + "shape":"AutocompleteHighlights", + "documentation":"

            Indicates the starting and ending index of the place in the text query that match the found title.

            " + } + }, + "documentation":"

            A result matching the input query text.

            " + }, + "AutocompleteResultItemList":{ + "type":"list", + "member":{"shape":"AutocompleteResultItem"}, + "max":20, + "min":0 + }, + "AutocompleteResultItemPlaceIdString":{ + "type":"string", + "max":200, + "min":0 + }, + "AutocompleteResultItemTitleString":{ + "type":"string", + "max":200, + "min":0 + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "BoundingBox":{ + "type":"list", + "member":{"shape":"Double"}, + "max":4, + "min":4, + "sensitive":true + }, + "BusinessChain":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"BusinessChainNameString", + "documentation":"

            The business chain name.

            " + }, + "Id":{ + "shape":"BusinessChainIdString", + "documentation":"

            The Business Chain Id.

            " + } + }, + "documentation":"

            A businesschain is a chain of businesses that belong to the same brand. For example 7-11.

            " + }, + "BusinessChainIdString":{ + "type":"string", + "max":100, + "min":1 + }, + "BusinessChainList":{ + "type":"list", + "member":{"shape":"BusinessChain"}, + "max":100, + "min":1 + }, + "BusinessChainNameString":{ + "type":"string", + "max":100, + "min":1 + }, + "Category":{ + "type":"structure", + "required":[ + "Id", + "Name" + ], + "members":{ + "Id":{ + "shape":"CategoryIdString", + "documentation":"

            The category ID.

            " + }, + "Name":{ + "shape":"CategoryNameString", + "documentation":"

            The category name.

            " + }, + "LocalizedName":{ + "shape":"CategoryLocalizedNameString", + "documentation":"

            Localized name of the category type.

            " + }, + "Primary":{ + "shape":"Boolean", + "documentation":"

            Boolean which indicates if this category is the primary offered by the place.

            " + } + }, + "documentation":"

            Category of the Place returned.

            " + }, + "CategoryIdString":{ + "type":"string", + "max":100, + "min":1 + }, + "CategoryList":{ + "type":"list", + "member":{"shape":"Category"}, + "max":100, + "min":1 + }, + "CategoryLocalizedNameString":{ + "type":"string", + "max":100, + "min":1 + }, + "CategoryNameString":{ + "type":"string", + "max":100, + "min":1 + }, + "ComponentMatchScores":{ + "type":"structure", + "members":{ + "Title":{ + "shape":"MatchScore", + "documentation":"

            Indicates the starting and ending index of the title in the text query that match the found title.

            " + }, + "Address":{ + "shape":"AddressComponentMatchScores", + "documentation":"

            The place's address.

            " + } + }, + "documentation":"

            Indicates how well the input matches the returned element. It is equal to 1 if all input tokens are recognized and matched to the title in the result.

            " + }, + "ContactDetails":{ + "type":"structure", + "members":{ + "Label":{ + "shape":"ContactDetailsLabelString", + "documentation":"

            The contact's label.

            " + }, + "Value":{ + "shape":"ContactDetailsValueString", + "documentation":"

            The contact's value.

            " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

            Categories of results that results must belong too.

            " + } + }, + "documentation":"

            Details related to contacts.

            " + }, + "ContactDetailsLabelString":{ + "type":"string", + "max":200, + "min":0 + }, + "ContactDetailsList":{ + "type":"list", + "member":{"shape":"ContactDetails"}, + "max":100, + "min":1 + }, + "ContactDetailsValueString":{ + "type":"string", + "max":200, + "min":0 + }, + "Contacts":{ + "type":"structure", + "members":{ + "Phones":{ + "shape":"ContactDetailsList", + "documentation":"

            List of phone numbers for the results contact.

            " + }, + "Faxes":{ + "shape":"ContactDetailsList", + "documentation":"

            List of fax addresses for the result contact.

            " + }, + "Websites":{ + "shape":"ContactDetailsList", + "documentation":"

            List of website URLs that belong to the result.

            " + }, + "Emails":{ + "shape":"ContactDetailsList", + "documentation":"

            List of emails for contacts of the result.

            " + } + }, + "documentation":"

            A list of potential contact methods for the result/place.

            " + }, + "Country":{ + "type":"structure", + "members":{ + "Code2":{ + "shape":"CountryCode2", + "documentation":"

            Country, represented by its alpha 2-character code.

            " + }, + "Code3":{ + "shape":"CountryCode3", + "documentation":"

            Country, represented by its alpha t-character code.

            " + }, + "Name":{ + "shape":"CountryNameString", + "documentation":"

            Name of the country.

            " + } + }, + "documentation":"

            The alpha-2 or alpha-3 character code for the country that the results will be present in.

            " + }, + "CountryCode":{ + "type":"string", + "max":3, + "min":2, + "pattern":"([A-Z]{2}|[A-Z]{3})" + }, + "CountryCode2":{ + "type":"string", + "max":2, + "min":2, + "pattern":"[A-Z]{2}" + }, + "CountryCode3":{ + "type":"string", + "max":3, + "min":3, + "pattern":"[A-Z]{3}" + }, + "CountryCodeList":{ + "type":"list", + "member":{"shape":"CountryCode"}, + "max":100, + "min":1 + }, + "CountryHighlights":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"HighlightList", + "documentation":"

            Indicates the starting and ending index of the country code in the text query that match the found title.

            " + }, + "Name":{ + "shape":"HighlightList", + "documentation":"

            Indicates the starting and ending index of the country code in the text query that match the found title.

            " + } + }, + "documentation":"

            Indicates the starting and ending index of the country in the text query that match the found title.

            " + }, + "CountryNameString":{ + "type":"string", + "max":100, + "min":0 + }, + "DistanceMeters":{ + "type":"long", + "max":4294967295, + "min":0 + }, + "Double":{ + "type":"double", + "box":true + }, + "FilterBusinessChainList":{ + "type":"list", + "member":{"shape":"FilterBusinessChainListMemberString"}, + "max":10, + "min":1 + }, + "FilterBusinessChainListMemberString":{ + "type":"string", + "max":100, + "min":1 + }, + "FilterCategoryList":{ + "type":"list", + "member":{"shape":"FilterCategoryListMemberString"}, + "max":10, + "min":1 + }, + "FilterCategoryListMemberString":{ + "type":"string", + "max":100, + "min":1 + }, + "FilterCircle":{ + "type":"structure", + "required":[ + "Center", + "Radius" + ], + "members":{ + "Center":{ + "shape":"Position", + "documentation":"

            The center position, in longitude and latitude, of the FilterCircle.

            " + }, + "Radius":{ + "shape":"FilterCircleRadiusLong", + "documentation":"

            The radius, in meters, of the FilterCircle.

            ", + "box":true + } + }, + "documentation":"

            The Circle that all results must be in.

            ", + "sensitive":true + }, + "FilterCircleRadiusLong":{ + "type":"long", + "max":21000000, + "min":1 + }, + "FilterFoodTypeList":{ + "type":"list", + "member":{"shape":"FilterFoodTypeListMemberString"}, + "max":10, + "min":1 + }, + "FilterFoodTypeListMemberString":{ + "type":"string", + "max":100, + "min":1 + }, + "FoodType":{ + "type":"structure", + "required":["LocalizedName"], + "members":{ + "LocalizedName":{ + "shape":"FoodTypeLocalizedNameString", + "documentation":"

            Localized name of the food type.

            " + }, + "Id":{ + "shape":"FoodTypeIdString", + "documentation":"

            The Food Type Id.

            " + }, + "Primary":{ + "shape":"Boolean", + "documentation":"

            Boolean which indicates if this food type is the primary offered by the place. For example, if a location serves fast food, but also dessert, he primary would likely be fast food.

            " + } + }, + "documentation":"

            List of Food types offered by this result.

            " + }, + "FoodTypeIdString":{ + "type":"string", + "max":100, + "min":1 + }, + "FoodTypeList":{ + "type":"list", + "member":{"shape":"FoodType"}, + "max":100, + "min":1 + }, + "FoodTypeLocalizedNameString":{ + "type":"string", + "max":100, + "min":1 + }, + "GeocodeAdditionalFeature":{ + "type":"string", + "enum":[ + "TimeZone", + "Access" + ] + }, + "GeocodeAdditionalFeatureList":{ + "type":"list", + "member":{"shape":"GeocodeAdditionalFeature"}, + "max":2, + "min":1 + }, + "GeocodeFilter":{ + "type":"structure", + "members":{ + "IncludeCountries":{ + "shape":"CountryCodeList", + "documentation":"

            A list of countries that all results must be in. Countries are represented by either their alpha-2 or alpha-3 character codes.

            " + }, + "IncludePlaceTypes":{ + "shape":"GeocodeFilterPlaceTypeList", + "documentation":"

            The included place types.

            " + } + }, + "documentation":"

            Geocode structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

            " + }, + "GeocodeFilterPlaceType":{ + "type":"string", + "enum":[ + "Locality", + "PostalCode", + "Intersection", + "Street", + "PointAddress", + "InterpolatedAddress" + ] + }, + "GeocodeFilterPlaceTypeList":{ + "type":"list", + "member":{"shape":"GeocodeFilterPlaceType"}, + "max":6, + "min":1 + }, + "GeocodeIntendedUse":{ + "type":"string", + "enum":[ + "SingleUse", + "Storage" + ] + }, + "GeocodeQueryComponents":{ + "type":"structure", + "members":{ + "Country":{ + "shape":"GeocodeQueryComponentsCountryString", + "documentation":"

            The alpha-2 or alpha-3 character code for the country that the results will be present in.

            " + }, + "Region":{ + "shape":"GeocodeQueryComponentsRegionString", + "documentation":"

            The region or state results should be to be present in.

            Example: North Rhine-Westphalia.

            " + }, + "SubRegion":{ + "shape":"GeocodeQueryComponentsSubRegionString", + "documentation":"

            The sub-region or county for which results should be present in.

            " + }, + "Locality":{ + "shape":"GeocodeQueryComponentsLocalityString", + "documentation":"

            City or locality results should be present in.

            Example: Vancouver.

            " + }, + "District":{ + "shape":"GeocodeQueryComponentsDistrictString", + "documentation":"

            The district or division of a city the results should be present in.

            " + }, + "Street":{ + "shape":"GeocodeQueryComponentsStreetString", + "documentation":"

            The name of the street results should be present in.

            " + }, + "AddressNumber":{ + "shape":"GeocodeQueryComponentsAddressNumberString", + "documentation":"

            The house number or address results should have.

            " + }, + "PostalCode":{ + "shape":"GeocodeQueryComponentsPostalCodeString", + "documentation":"

            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

            " + } + }, + "documentation":"

            A structured free text query allows you to search for places by the name or text representation of specific properties of the place.

            " + }, + "GeocodeQueryComponentsAddressNumberString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[^;]+", + "sensitive":true + }, + "GeocodeQueryComponentsCountryString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[^;]+", + "sensitive":true + }, + "GeocodeQueryComponentsDistrictString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[^;]+", + "sensitive":true + }, + "GeocodeQueryComponentsLocalityString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[^;]+", + "sensitive":true + }, + "GeocodeQueryComponentsPostalCodeString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[^;]+", + "sensitive":true + }, + "GeocodeQueryComponentsRegionString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[^;]+", + "sensitive":true + }, + "GeocodeQueryComponentsStreetString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[^;]+", + "sensitive":true + }, + "GeocodeQueryComponentsSubRegionString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[^;]+", + "sensitive":true + }, + "GeocodeRequest":{ + "type":"structure", + "members":{ + "QueryText":{ + "shape":"GeocodeRequestQueryTextString", + "documentation":"

            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

            " + }, + "QueryComponents":{"shape":"GeocodeQueryComponents"}, + "MaxResults":{ + "shape":"GeocodeRequestMaxResultsInteger", + "documentation":"

            An optional limit for the number of results returned in a single call.

            " + }, + "BiasPosition":{ + "shape":"Position", + "documentation":"

            The position, in longitude and latitude, that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

            The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

            " + }, + "Filter":{ + "shape":"GeocodeFilter", + "documentation":"

            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

            " + }, + "AdditionalFeatures":{ + "shape":"GeocodeAdditionalFeatureList", + "documentation":"

            A list of optional additional parameters, such as time zone, that can be requested for each result.

            " + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

            " + }, + "PoliticalView":{ + "shape":"CountryCode", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "IntendedUse":{ + "shape":"GeocodeIntendedUse", + "documentation":"

            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

            " + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + } + } + }, + "GeocodeRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "GeocodeRequestQueryTextString":{ + "type":"string", + "max":200, + "min":1, + "sensitive":true + }, + "GeocodeResponse":{ + "type":"structure", + "required":["PricingBucket"], + "members":{ + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "ResultItems":{ + "shape":"GeocodeResultItemList", + "documentation":"

            List of places or results returned for a query.

            " + } + } + }, + "GeocodeResultItem":{ + "type":"structure", + "required":[ + "PlaceId", + "PlaceType", + "Title" + ], + "members":{ + "PlaceId":{ + "shape":"GeocodeResultItemPlaceIdString", + "documentation":"

            The PlaceId of the place you wish to receive the information for.

            " + }, + "PlaceType":{ + "shape":"PlaceType", + "documentation":"

            A PlaceType is a category that the result place must belong to.

            " + }, + "Title":{ + "shape":"GeocodeResultItemTitleString", + "documentation":"

            The localized display name of this result item based on request parameter language.

            " + }, + "Address":{ + "shape":"Address", + "documentation":"

            The place's address.

            " + }, + "AddressNumberCorrected":{ + "shape":"Boolean", + "documentation":"

            Boolean indicating if the address provided has been corrected.

            " + }, + "PostalCodeDetails":{ + "shape":"PostalCodeDetailsList", + "documentation":"

            Contains details about the postal code of the place/result.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            The position in longitude and latitude.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            The distance in meters from the QueryPosition.

            " + }, + "MapView":{ + "shape":"BoundingBox", + "documentation":"

            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

            " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

            Categories of results that results must belong to.

            " + }, + "FoodTypes":{ + "shape":"FoodTypeList", + "documentation":"

            List of food types offered by this result.

            " + }, + "AccessPoints":{ + "shape":"AccessPointList", + "documentation":"

            Position of the access point represent by longitude and latitude.

            " + }, + "TimeZone":{ + "shape":"TimeZone", + "documentation":"

            The time zone in which the place is located.

            " + }, + "PoliticalView":{ + "shape":"CountryCode3", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "MatchScores":{ + "shape":"MatchScoreDetails", + "documentation":"

            Indicates how well the entire input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

            " + } + }, + "documentation":"

            The Geocoded result.

            " + }, + "GeocodeResultItemList":{ + "type":"list", + "member":{"shape":"GeocodeResultItem"}, + "max":100, + "min":0 + }, + "GeocodeResultItemPlaceIdString":{ + "type":"string", + "max":200, + "min":0 + }, + "GeocodeResultItemTitleString":{ + "type":"string", + "max":200, + "min":0 + }, + "GetPlaceAdditionalFeature":{ + "type":"string", + "enum":[ + "TimeZone", + "Phonemes", + "Access", + "Contact" + ] + }, + "GetPlaceAdditionalFeatureList":{ + "type":"list", + "member":{"shape":"GetPlaceAdditionalFeature"}, + "max":4, + "min":1 + }, + "GetPlaceIntendedUse":{ + "type":"string", + "enum":[ + "SingleUse", + "Storage" + ] + }, + "GetPlaceRequest":{ + "type":"structure", + "required":["PlaceId"], + "members":{ + "PlaceId":{ + "shape":"GetPlaceRequestPlaceIdString", + "documentation":"

            The PlaceId of the place you wish to receive the information for.

            ", + "location":"uri", + "locationName":"PlaceId" + }, + "AdditionalFeatures":{ + "shape":"GetPlaceAdditionalFeatureList", + "documentation":"

            A list of optional additional parameters such as time zone that can be requested for each result.

            ", + "location":"querystring", + "locationName":"additional-features" + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

            ", + "location":"querystring", + "locationName":"language" + }, + "PoliticalView":{ + "shape":"CountryCode", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            ", + "location":"querystring", + "locationName":"political-view" + }, + "IntendedUse":{ + "shape":"GetPlaceIntendedUse", + "documentation":"

            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

            ", + "location":"querystring", + "locationName":"intended-use" + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + } + } + }, + "GetPlaceRequestPlaceIdString":{ + "type":"string", + "max":200, + "min":0, + "sensitive":true + }, + "GetPlaceResponse":{ + "type":"structure", + "required":[ + "PlaceId", + "PlaceType", + "Title", + "PricingBucket" + ], + "members":{ + "PlaceId":{ + "shape":"GetPlaceResponsePlaceIdString", + "documentation":"

            The PlaceId of the place you wish to receive the information for.

            " + }, + "PlaceType":{ + "shape":"PlaceType", + "documentation":"

            A PlaceType is a category that the result place must belong to.

            " + }, + "Title":{ + "shape":"GetPlaceResponseTitleString", + "documentation":"

            The localized display name of this result item based on request parameter language.

            " + }, + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "Address":{ + "shape":"Address", + "documentation":"

            The place's address.

            " + }, + "AddressNumberCorrected":{ + "shape":"Boolean", + "documentation":"

            Boolean indicating if the address provided has been corrected.

            " + }, + "PostalCodeDetails":{ + "shape":"PostalCodeDetailsList", + "documentation":"

            Contains details about the postal code of the place/result.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            The position, in longitude and latitude.

            " + }, + "MapView":{ + "shape":"BoundingBox", + "documentation":"

            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

            The bounding box formed is defined as a set of four coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

            " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

            Categories of results that results must belong to.

            " + }, + "FoodTypes":{ + "shape":"FoodTypeList", + "documentation":"

            List of food types offered by this result.

            " + }, + "BusinessChains":{ + "shape":"BusinessChainList", + "documentation":"

            The Business Chains associated with the place.

            " + }, + "Contacts":{ + "shape":"Contacts", + "documentation":"

            List of potential contact methods for the result/place.

            " + }, + "OpeningHours":{ + "shape":"OpeningHoursList", + "documentation":"

            List of opening hours objects.

            " + }, + "AccessPoints":{ + "shape":"AccessPointList", + "documentation":"

            Position of the access point in (lng,lat).

            " + }, + "AccessRestrictions":{ + "shape":"AccessRestrictionList", + "documentation":"

            Indicates known access restrictions on a vehicle access point. The index correlates to an access point and indicates if access through this point has some form of restriction.

            " + }, + "TimeZone":{ + "shape":"TimeZone", + "documentation":"

            The time zone in which the place is located.

            " + }, + "PoliticalView":{ + "shape":"CountryCode3", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "Phonemes":{ + "shape":"PhonemeDetails", + "documentation":"

            How the various components of the result's address are pronounced in various languages.

            " + } + } + }, + "GetPlaceResponsePlaceIdString":{ + "type":"string", + "max":200, + "min":0 + }, + "GetPlaceResponseTitleString":{ + "type":"string", + "max":200, + "min":0 + }, + "Highlight":{ + "type":"structure", + "members":{ + "StartIndex":{ + "shape":"HighlightStartIndexInteger", + "documentation":"

            Start index of the highlight.

            " + }, + "EndIndex":{ + "shape":"HighlightEndIndexInteger", + "documentation":"

            End index of the highlight.

            " + }, + "Value":{ + "shape":"HighlightValueString", + "documentation":"

            The highlight's value.

            " + } + }, + "documentation":"

            Describes how parts of the result response match the input query.

            " + }, + "HighlightEndIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "HighlightList":{ + "type":"list", + "member":{"shape":"Highlight"}, + "max":200, + "min":0 + }, + "HighlightStartIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "HighlightValueString":{ + "type":"string", + "max":200, + "min":0 + }, + "InternalServerException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + } + }, + "documentation":"

            The request processing has failed because of an unknown error, exception or failure.

            ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "IntersectionHighlightsList":{ + "type":"list", + "member":{"shape":"HighlightList"}, + "max":100, + "min":1 + }, + "IntersectionList":{ + "type":"list", + "member":{"shape":"IntersectionStreet"}, + "max":100, + "min":1 + }, + "IntersectionStreet":{ + "type":"string", + "max":200, + "min":0 + }, + "LanguageTag":{ + "type":"string", + "max":35, + "min":2 + }, + "MatchScore":{ + "type":"double", + "max":1, + "min":0 + }, + "MatchScoreDetails":{ + "type":"structure", + "members":{ + "Overall":{ + "shape":"MatchScore", + "documentation":"

            Indicates how well the entire input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

            " + }, + "Components":{ + "shape":"ComponentMatchScores", + "documentation":"

            Indicates how well the component input matches the returned. It is equal to 1 if all input tokens are recognized and matched.

            " + } + }, + "documentation":"

            Details related to the match score.

            " + }, + "OpeningHours":{ + "type":"structure", + "members":{ + "Display":{ + "shape":"OpeningHoursDisplayList", + "documentation":"

            List of opening hours in the format they are displayed in. This can vary by result and in most cases represents how the result uniquely formats their opening hours.

            " + }, + "OpenNow":{ + "shape":"Boolean", + "documentation":"

            Boolean which indicates if the result/place is currently open.

            " + }, + "Components":{ + "shape":"OpeningHoursComponentsList", + "documentation":"

            Components of the opening hours object.

            " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

            Categories of results that results must belong too.

            " + } + }, + "documentation":"

            List of opening hours objects.

            " + }, + "OpeningHoursComponents":{ + "type":"structure", + "members":{ + "OpenTime":{ + "shape":"OpeningHoursComponentsOpenTimeString", + "documentation":"

            String which represents the opening hours, such as \"T070000\".

            " + }, + "OpenDuration":{ + "shape":"OpeningHoursComponentsOpenDurationString", + "documentation":"

            String which represents the duration of the opening period, such as \"PT12H00M\".

            " + }, + "Recurrence":{ + "shape":"OpeningHoursComponentsRecurrenceString", + "documentation":"

            Days or periods when the provided opening hours are in affect.

            Example: FREQ:DAILY;BYDAY:MO,TU,WE,TH,SU

            " + } + }, + "documentation":"

            Components of the opening hours object.

            " + }, + "OpeningHoursComponentsList":{ + "type":"list", + "member":{"shape":"OpeningHoursComponents"}, + "max":100, + "min":1 + }, + "OpeningHoursComponentsOpenDurationString":{ + "type":"string", + "max":200, + "min":0 + }, + "OpeningHoursComponentsOpenTimeString":{ + "type":"string", + "max":21, + "min":0 + }, + "OpeningHoursComponentsRecurrenceString":{ + "type":"string", + "max":200, + "min":0 + }, + "OpeningHoursDisplay":{ + "type":"string", + "max":200, + "min":0 + }, + "OpeningHoursDisplayList":{ + "type":"list", + "member":{"shape":"OpeningHoursDisplay"}, + "max":100, + "min":1 + }, + "OpeningHoursList":{ + "type":"list", + "member":{"shape":"OpeningHours"}, + "max":100, + "min":1 + }, + "PhonemeDetails":{ + "type":"structure", + "members":{ + "Title":{ + "shape":"PhonemeTranscriptionList", + "documentation":"

            List of PhonemeTranscription. See PhonemeTranscription for fields.

            " + }, + "Address":{ + "shape":"AddressComponentPhonemes", + "documentation":"

            How to pronounce the address.

            " + } + }, + "documentation":"

            The phoneme details.

            " + }, + "PhonemeTranscription":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"PhonemeTranscriptionValueString", + "documentation":"

            Value which indicates how to pronounce the value.

            " + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

            " + }, + "Preferred":{ + "shape":"Boolean", + "documentation":"

            Boolean which indicates if it the preferred pronunciation.

            " + } + }, + "documentation":"

            How to pronounce the various components of the address or place.

            " + }, + "PhonemeTranscriptionList":{ + "type":"list", + "member":{"shape":"PhonemeTranscription"}, + "max":100, + "min":0 + }, + "PhonemeTranscriptionValueString":{ + "type":"string", + "max":50, + "min":0 + }, + "PlaceType":{ + "type":"string", + "enum":[ + "Country", + "Region", + "SubRegion", + "Locality", + "District", + "SubDistrict", + "PostalCode", + "Block", + "SubBlock", + "Intersection", + "Street", + "PointOfInterest", + "PointAddress", + "InterpolatedAddress" + ] + }, + "Position":{ + "type":"list", + "member":{"shape":"Double"}, + "max":2, + "min":2, + "sensitive":true + }, + "PostalAuthority":{ + "type":"string", + "enum":["Usps"] + }, + "PostalCodeDetails":{ + "type":"structure", + "members":{ + "PostalCode":{ + "shape":"PostalCodeDetailsPostalCodeString", + "documentation":"

            An alphanumeric string included in a postal address to facilitate mail sorting, such as post code, postcode, or ZIP code for which the result should posses.

            " + }, + "PostalAuthority":{ + "shape":"PostalAuthority", + "documentation":"

            The postal authority or entity. This could be a governmental authority, a regulatory authority, or a designated postal operator.

            " + }, + "PostalCodeType":{ + "shape":"PostalCodeType", + "documentation":"

            The postal code type.

            " + }, + "UspsZip":{ + "shape":"UspsZip", + "documentation":"

            The ZIP Classification Code, or in other words what type of postal code is it.

            " + }, + "UspsZipPlus4":{ + "shape":"UspsZipPlus4", + "documentation":"

            The USPS ZIP+4 Record Type Code.

            " + } + }, + "documentation":"

            Contains details about the postal code of the place or result.

            " + }, + "PostalCodeDetailsList":{ + "type":"list", + "member":{"shape":"PostalCodeDetails"}, + "max":100, + "min":0 + }, + "PostalCodeDetailsPostalCodeString":{ + "type":"string", + "max":50, + "min":0 + }, + "PostalCodeMode":{ + "type":"string", + "enum":[ + "MergeAllSpannedLocalities", + "EnumerateSpannedLocalities" + ] + }, + "PostalCodeType":{ + "type":"string", + "enum":[ + "UspsZip", + "UspsZipPlus4" + ] + }, + "QueryRefinement":{ + "type":"structure", + "required":[ + "RefinedTerm", + "OriginalTerm", + "StartIndex", + "EndIndex" + ], + "members":{ + "RefinedTerm":{ + "shape":"QueryRefinementRefinedTermString", + "documentation":"

            The term that will be suggested to the user.

            " + }, + "OriginalTerm":{ + "shape":"QueryRefinementOriginalTermString", + "documentation":"

            The sub-string of the original query that is replaced by this query term.

            " + }, + "StartIndex":{ + "shape":"QueryRefinementStartIndexInteger", + "documentation":"

            Start index of the parsed component.

            " + }, + "EndIndex":{ + "shape":"QueryRefinementEndIndexInteger", + "documentation":"

            End index of the parsed query.

            " + } + }, + "documentation":"

            Suggestions for refining individual query terms. Suggestions are returned as objects which note the term, suggested replacement, and its index in the query.

            " + }, + "QueryRefinementEndIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "QueryRefinementList":{ + "type":"list", + "member":{"shape":"QueryRefinement"}, + "max":10, + "min":0 + }, + "QueryRefinementOriginalTermString":{ + "type":"string", + "max":200, + "min":0 + }, + "QueryRefinementRefinedTermString":{ + "type":"string", + "max":200, + "min":0 + }, + "QueryRefinementStartIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "QueryType":{ + "type":"string", + "enum":[ + "Category", + "BusinessChain" + ] + }, + "RecordTypeCode":{ + "type":"string", + "enum":[ + "Firm", + "General", + "HighRise", + "PostOfficeBox", + "Rural", + "Street" + ] + }, + "Region":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"RegionCodeString", + "documentation":"

            Abbreviated code for a the state, province or region of the country.

            Example: BC.

            " + }, + "Name":{ + "shape":"RegionNameString", + "documentation":"

            Name for a the state, province, or region of the country.

            Example: British Columbia.

            " + } + }, + "documentation":"

            The region or state results should be to be present in.

            Example: North Rhine-Westphalia.

            " + }, + "RegionCodeString":{ + "type":"string", + "max":3, + "min":0 + }, + "RegionHighlights":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"HighlightList", + "documentation":"

            Indicates the starting and ending index of the region in the text query that match the found title.

            " + }, + "Name":{ + "shape":"HighlightList", + "documentation":"

            Indicates the starting and ending index of the region name in the text query that match the found title.

            " + } + }, + "documentation":"

            Indicates the starting and ending index of the region in the text query that match the found title.

            " + }, + "RegionNameString":{ + "type":"string", + "max":200, + "min":0 + }, + "ReverseGeocodeAdditionalFeature":{ + "type":"string", + "enum":[ + "TimeZone", + "Access" + ] + }, + "ReverseGeocodeAdditionalFeatureList":{ + "type":"list", + "member":{"shape":"ReverseGeocodeAdditionalFeature"}, + "max":2, + "min":1 + }, + "ReverseGeocodeFilter":{ + "type":"structure", + "members":{ + "IncludePlaceTypes":{ + "shape":"ReverseGeocodeFilterPlaceTypeList", + "documentation":"

            The included place types.

            " + } + }, + "documentation":"

            The included place types.

            " + }, + "ReverseGeocodeFilterPlaceType":{ + "type":"string", + "enum":[ + "Locality", + "Intersection", + "Street", + "PointAddress", + "InterpolatedAddress" + ] + }, + "ReverseGeocodeFilterPlaceTypeList":{ + "type":"list", + "member":{"shape":"ReverseGeocodeFilterPlaceType"}, + "max":5, + "min":1 + }, + "ReverseGeocodeIntendedUse":{ + "type":"string", + "enum":[ + "SingleUse", + "Storage" + ] + }, + "ReverseGeocodeRequest":{ + "type":"structure", + "required":["QueryPosition"], + "members":{ + "QueryPosition":{ + "shape":"Position", + "documentation":"

            The position, in [lng, lat] for which you are querying nearby resultsfor. Results closer to the position will be ranked higher then results further away from the position

            " + }, + "QueryRadius":{ + "shape":"ReverseGeocodeRequestQueryRadiusLong", + "documentation":"

            The maximum distance in meters from the QueryPosition from which a result will be returned.

            ", + "box":true + }, + "MaxResults":{ + "shape":"ReverseGeocodeRequestMaxResultsInteger", + "documentation":"

            An optional limit for the number of results returned in a single call.

            " + }, + "Filter":{ + "shape":"ReverseGeocodeFilter", + "documentation":"

            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

            " + }, + "AdditionalFeatures":{ + "shape":"ReverseGeocodeAdditionalFeatureList", + "documentation":"

            A list of optional additional parameters, such as time zone that can be requested for each result.

            " + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

            " + }, + "PoliticalView":{ + "shape":"CountryCode", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "IntendedUse":{ + "shape":"ReverseGeocodeIntendedUse", + "documentation":"

            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

            " + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + } + } + }, + "ReverseGeocodeRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ReverseGeocodeRequestQueryRadiusLong":{ + "type":"long", + "max":21000000, + "min":1 + }, + "ReverseGeocodeResponse":{ + "type":"structure", + "required":["PricingBucket"], + "members":{ + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "ResultItems":{ + "shape":"ReverseGeocodeResultItemList", + "documentation":"

            List of places or results returned for a query.

            " + } + } + }, + "ReverseGeocodeResultItem":{ + "type":"structure", + "required":[ + "PlaceId", + "PlaceType", + "Title" + ], + "members":{ + "PlaceId":{ + "shape":"ReverseGeocodeResultItemPlaceIdString", + "documentation":"

            The PlaceId of the place you wish to receive the information for.

            " + }, + "PlaceType":{ + "shape":"PlaceType", + "documentation":"

            A PlaceType is a category that the result place must belong to.

            " + }, + "Title":{ + "shape":"ReverseGeocodeResultItemTitleString", + "documentation":"

            The localized display name of this result item based on request parameter language.

            " + }, + "Address":{ + "shape":"Address", + "documentation":"

            The place's address.

            " + }, + "AddressNumberCorrected":{ + "shape":"Boolean", + "documentation":"

            Boolean indicating if the address provided has been corrected.

            " + }, + "PostalCodeDetails":{ + "shape":"PostalCodeDetailsList", + "documentation":"

            Contains details about the postal code of the place/result.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            The position in longitude and latitude.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            The distance in meters from the QueryPosition.

            " + }, + "MapView":{ + "shape":"BoundingBox", + "documentation":"

            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

            " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

            Categories of results that results must belong to.

            " + }, + "FoodTypes":{ + "shape":"FoodTypeList", + "documentation":"

            List of food types offered by this result.

            " + }, + "AccessPoints":{ + "shape":"AccessPointList", + "documentation":"

            Position of the access point represent by longitude and latitude.

            " + }, + "TimeZone":{ + "shape":"TimeZone", + "documentation":"

            The time zone in which the place is located.

            " + }, + "PoliticalView":{ + "shape":"CountryCode3", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + } + }, + "documentation":"

            The returned location from the Reverse Geocode action.

            " + }, + "ReverseGeocodeResultItemList":{ + "type":"list", + "member":{"shape":"ReverseGeocodeResultItem"}, + "max":100, + "min":0 + }, + "ReverseGeocodeResultItemPlaceIdString":{ + "type":"string", + "max":200, + "min":0 + }, + "ReverseGeocodeResultItemTitleString":{ + "type":"string", + "max":200, + "min":0 + }, + "SearchNearbyAdditionalFeature":{ + "type":"string", + "enum":[ + "TimeZone", + "Phonemes", + "Access", + "Contact" + ] + }, + "SearchNearbyAdditionalFeatureList":{ + "type":"list", + "member":{"shape":"SearchNearbyAdditionalFeature"}, + "max":4, + "min":1 + }, + "SearchNearbyFilter":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

            " + }, + "IncludeCountries":{ + "shape":"CountryCodeList", + "documentation":"

            A list of countries that all results must be in. Countries are represented by either their alpha-2 or alpha-3 character codes.

            " + }, + "IncludeCategories":{ + "shape":"FilterCategoryList", + "documentation":"

            Categories of results that results must belong too.

            " + }, + "ExcludeCategories":{ + "shape":"FilterCategoryList", + "documentation":"

            Categories of results that results are excluded from.

            " + }, + "IncludeBusinessChains":{ + "shape":"FilterBusinessChainList", + "documentation":"

            The Business Chains associated with the place.

            " + }, + "ExcludeBusinessChains":{ + "shape":"FilterBusinessChainList", + "documentation":"

            The Business Chains associated with the place.

            " + }, + "IncludeFoodTypes":{ + "shape":"FilterFoodTypeList", + "documentation":"

            Food types that results are included from.

            " + }, + "ExcludeFoodTypes":{ + "shape":"FilterFoodTypeList", + "documentation":"

            Food types that results are excluded from.

            " + } + }, + "documentation":"

            SearchNearby structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

            " + }, + "SearchNearbyIntendedUse":{ + "type":"string", + "enum":[ + "SingleUse", + "Storage" + ] + }, + "SearchNearbyRequest":{ + "type":"structure", + "required":["QueryPosition"], + "members":{ + "QueryPosition":{ + "shape":"Position", + "documentation":"

            The position, in [lng, lat] for which you are querying nearby resultsfor. Results closer to the position will be ranked higher then results further away from the position

            " + }, + "QueryRadius":{ + "shape":"SearchNearbyRequestQueryRadiusLong", + "documentation":"

            The maximum distance in meters from the QueryPosition from which a result will be returned.

            ", + "box":true + }, + "MaxResults":{ + "shape":"SearchNearbyRequestMaxResultsInteger", + "documentation":"

            An optional limit for the number of results returned in a single call.

            " + }, + "Filter":{ + "shape":"SearchNearbyFilter", + "documentation":"

            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

            " + }, + "AdditionalFeatures":{ + "shape":"SearchNearbyAdditionalFeatureList", + "documentation":"

            A list of optional additional parameters, such as time zone, that can be requested for each result.

            " + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

            " + }, + "PoliticalView":{ + "shape":"CountryCode", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "IntendedUse":{ + "shape":"SearchNearbyIntendedUse", + "documentation":"

            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

            " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

            If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

            " + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + } + } + }, + "SearchNearbyRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "SearchNearbyRequestQueryRadiusLong":{ + "type":"long", + "max":21000000, + "min":1 + }, + "SearchNearbyResponse":{ + "type":"structure", + "required":["PricingBucket"], + "members":{ + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "ResultItems":{ + "shape":"SearchNearbyResultItemList", + "documentation":"

            List of places or results returned for a query.

            " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

            If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

            " + } + } + }, + "SearchNearbyResultItem":{ + "type":"structure", + "required":[ + "PlaceId", + "PlaceType", + "Title" + ], + "members":{ + "PlaceId":{ + "shape":"SearchNearbyResultItemPlaceIdString", + "documentation":"

            The PlaceId of the place you wish to receive the information for.

            " + }, + "PlaceType":{ + "shape":"PlaceType", + "documentation":"

            A PlaceType is a category that the result place must belong to.

            " + }, + "Title":{ + "shape":"SearchNearbyResultItemTitleString", + "documentation":"

            The item's title.

            " + }, + "Address":{ + "shape":"Address", + "documentation":"

            The place's address.

            " + }, + "AddressNumberCorrected":{ + "shape":"Boolean", + "documentation":"

            Boolean indicating if the address provided has been corrected.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            The position in longitude and latitude.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            The distance in meters from the QueryPosition.

            " + }, + "MapView":{ + "shape":"BoundingBox", + "documentation":"

            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

            " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

            Categories of results that results must belong to.

            " + }, + "FoodTypes":{ + "shape":"FoodTypeList", + "documentation":"

            List of food types offered by this result.

            " + }, + "BusinessChains":{ + "shape":"BusinessChainList", + "documentation":"

            The Business Chains associated with the place.

            " + }, + "Contacts":{ + "shape":"Contacts", + "documentation":"

            List of potential contact methods for the result/place.

            " + }, + "OpeningHours":{ + "shape":"OpeningHoursList", + "documentation":"

            List of opening hours objects.

            " + }, + "AccessPoints":{ + "shape":"AccessPointList", + "documentation":"

            Position of the access point represent by longitude and latitude.

            " + }, + "AccessRestrictions":{ + "shape":"AccessRestrictionList", + "documentation":"

            Indicates known access restrictions on a vehicle access point. The index correlates to an access point and indicates if access through this point has some form of restriction.

            " + }, + "TimeZone":{ + "shape":"TimeZone", + "documentation":"

            The time zone in which the place is located.

            " + }, + "PoliticalView":{ + "shape":"CountryCode3", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "Phonemes":{ + "shape":"PhonemeDetails", + "documentation":"

            How the various components of the result's address are pronounced in various languages.

            " + } + }, + "documentation":"

            The search results of nearby places.

            " + }, + "SearchNearbyResultItemList":{ + "type":"list", + "member":{"shape":"SearchNearbyResultItem"}, + "max":100, + "min":0 + }, + "SearchNearbyResultItemPlaceIdString":{ + "type":"string", + "max":200, + "min":0 + }, + "SearchNearbyResultItemTitleString":{ + "type":"string", + "max":200, + "min":0 + }, + "SearchTextAdditionalFeature":{ + "type":"string", + "enum":[ + "TimeZone", + "Phonemes", + "Access", + "Contact" + ] + }, + "SearchTextAdditionalFeatureList":{ + "type":"list", + "member":{"shape":"SearchTextAdditionalFeature"}, + "max":4, + "min":1 + }, + "SearchTextFilter":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

            " + }, + "Circle":{"shape":"FilterCircle"}, + "IncludeCountries":{ + "shape":"CountryCodeList", + "documentation":"

            A list of countries that all results must be in. Countries are represented by either their alpha-2 or alpha-3 character codes.

            " + } + }, + "documentation":"

            SearchText structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

            " + }, + "SearchTextIntendedUse":{ + "type":"string", + "enum":[ + "SingleUse", + "Storage" + ] + }, + "SearchTextRequest":{ + "type":"structure", + "members":{ + "QueryText":{ + "shape":"SearchTextRequestQueryTextString", + "documentation":"

            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

            " + }, + "QueryId":{ + "shape":"SearchTextRequestQueryIdString", + "documentation":"

            The query Id.

            " + }, + "MaxResults":{ + "shape":"SearchTextRequestMaxResultsInteger", + "documentation":"

            An optional limit for the number of results returned in a single call.

            " + }, + "BiasPosition":{ + "shape":"Position", + "documentation":"

            The position, in longitude and latitude, that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

            The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

            " + }, + "Filter":{ + "shape":"SearchTextFilter", + "documentation":"

            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

            " + }, + "AdditionalFeatures":{ + "shape":"SearchTextAdditionalFeatureList", + "documentation":"

            A list of optional additional parameters, such as time zone, that can be requested for each result.

            " + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

            " + }, + "PoliticalView":{ + "shape":"CountryCode", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "IntendedUse":{ + "shape":"SearchTextIntendedUse", + "documentation":"

            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

            " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

            If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

            " + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + } + } + }, + "SearchTextRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "SearchTextRequestQueryIdString":{ + "type":"string", + "max":400, + "min":1, + "sensitive":true + }, + "SearchTextRequestQueryTextString":{ + "type":"string", + "max":200, + "min":1, + "sensitive":true + }, + "SearchTextResponse":{ + "type":"structure", + "required":["PricingBucket"], + "members":{ + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "ResultItems":{ + "shape":"SearchTextResultItemList", + "documentation":"

            List of places or results returned for a query.

            " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

            If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.

            " + } + } + }, + "SearchTextResultItem":{ + "type":"structure", + "required":[ + "PlaceId", + "PlaceType", + "Title" + ], + "members":{ + "PlaceId":{ + "shape":"SearchTextResultItemPlaceIdString", + "documentation":"

            The PlaceId of the place you wish to receive the information for.

            " + }, + "PlaceType":{ + "shape":"PlaceType", + "documentation":"

            A PlaceType is a category that the result place must belong to.

            " + }, + "Title":{ + "shape":"SearchTextResultItemTitleString", + "documentation":"

            The item's title.

            " + }, + "Address":{ + "shape":"Address", + "documentation":"

            The place's address.

            " + }, + "AddressNumberCorrected":{ + "shape":"Boolean", + "documentation":"

            Boolean indicating if the address provided has been corrected.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            The position, in longitude and latitude.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            The distance in meters from the QueryPosition.

            " + }, + "MapView":{ + "shape":"BoundingBox", + "documentation":"

            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

            " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

            Categories of results that results must belong to.

            " + }, + "FoodTypes":{ + "shape":"FoodTypeList", + "documentation":"

            List of food types offered by this result.

            " + }, + "BusinessChains":{ + "shape":"BusinessChainList", + "documentation":"

            The Business Chains associated with the place.

            " + }, + "Contacts":{ + "shape":"Contacts", + "documentation":"

            List of potential contact methods for the result/place.

            " + }, + "OpeningHours":{ + "shape":"OpeningHoursList", + "documentation":"

            List of opening hours objects.

            " + }, + "AccessPoints":{ + "shape":"AccessPointList", + "documentation":"

            Position of the access point represent by longitude and latitude.

            " + }, + "AccessRestrictions":{ + "shape":"AccessRestrictionList", + "documentation":"

            Indicates known access restrictions on a vehicle access point. The index correlates to an access point and indicates if access through this point has some form of restriction.

            " + }, + "TimeZone":{ + "shape":"TimeZone", + "documentation":"

            The time zone in which the place is located.

            " + }, + "PoliticalView":{ + "shape":"CountryCode3", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "Phonemes":{ + "shape":"PhonemeDetails", + "documentation":"

            How the various components of the result's address are pronounced in various languages.

            " + } + }, + "documentation":"

            The text search result.

            " + }, + "SearchTextResultItemList":{ + "type":"list", + "member":{"shape":"SearchTextResultItem"}, + "max":100, + "min":0 + }, + "SearchTextResultItemPlaceIdString":{ + "type":"string", + "max":200, + "min":0 + }, + "SearchTextResultItemTitleString":{ + "type":"string", + "max":200, + "min":0 + }, + "StreetComponents":{ + "type":"structure", + "members":{ + "BaseName":{ + "shape":"StreetComponentsBaseNameString", + "documentation":"

            Base name part of the street name.

            Example: Younge from the “Younge street\".

            " + }, + "Type":{ + "shape":"StreetComponentsTypeString", + "documentation":"

            Street type part of the street name.

            Example: “avenue\".

            " + }, + "TypePlacement":{ + "shape":"TypePlacement", + "documentation":"

            Defines if the street type is before or after the base name.

            " + }, + "TypeSeparator":{ + "shape":"TypeSeparator", + "documentation":"

            What character(s) separates the string from its type.

            " + }, + "Prefix":{ + "shape":"StreetComponentsPrefixString", + "documentation":"

            A prefix is a directional identifier that precedes, but is not included in, the base name of a road.

            Example: E for East.

            " + }, + "Suffix":{ + "shape":"StreetComponentsSuffixString", + "documentation":"

            A suffix is a directional identifier that follows, but is not included in, the base name of a road.

            Example W for West.

            " + }, + "Direction":{ + "shape":"StreetComponentsDirectionString", + "documentation":"

            Indicates the official directional identifiers assigned to highways.

            " + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            A BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

            " + } + }, + "documentation":"

            Components of a street.

            " + }, + "StreetComponentsBaseNameString":{ + "type":"string", + "max":200, + "min":0 + }, + "StreetComponentsDirectionString":{ + "type":"string", + "max":50, + "min":0 + }, + "StreetComponentsList":{ + "type":"list", + "member":{"shape":"StreetComponents"}, + "max":100, + "min":0 + }, + "StreetComponentsPrefixString":{ + "type":"string", + "max":50, + "min":0 + }, + "StreetComponentsSuffixString":{ + "type":"string", + "max":50, + "min":0 + }, + "StreetComponentsTypeString":{ + "type":"string", + "max":50, + "min":0 + }, + "String":{"type":"string"}, + "SubRegion":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"SubRegionCodeString", + "documentation":"

            Abbreviated code for the county or sub-region.

            " + }, + "Name":{ + "shape":"SubRegionNameString", + "documentation":"

            Name for the county or sub-region.

            " + } + }, + "documentation":"

            The sub-region.

            " + }, + "SubRegionCodeString":{ + "type":"string", + "max":3, + "min":0 + }, + "SubRegionHighlights":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"HighlightList", + "documentation":"

            Indicates the starting and ending index of the sub-region in the text query that match the found title.

            " + }, + "Name":{ + "shape":"HighlightList", + "documentation":"

            Indicates the starting and ending index of the name in the text query that match the found title.

            " + } + }, + "documentation":"

            Indicates the starting and ending index of the sub-region in the text query that match the found title.

            " + }, + "SubRegionNameString":{ + "type":"string", + "max":200, + "min":0 + }, + "SuggestAdditionalFeature":{ + "type":"string", + "enum":[ + "Core", + "TimeZone", + "Phonemes", + "Access" + ] + }, + "SuggestAdditionalFeatureList":{ + "type":"list", + "member":{"shape":"SuggestAdditionalFeature"}, + "max":4, + "min":1 + }, + "SuggestAddressHighlights":{ + "type":"structure", + "members":{ + "Label":{ + "shape":"HighlightList", + "documentation":"

            Indicates the starting and ending indexes of the places in the result which were identified to match the textQuery. This result is useful for providing emphasis to results where the user query directly matched to make selecting the correct result from a list easier for an end user.

            " + } + }, + "documentation":"

            Describes how the parts of the textQuery matched the input query by returning the sections of the response which matched to textQuery terms.

            " + }, + "SuggestFilter":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

            " + }, + "Circle":{"shape":"FilterCircle"}, + "IncludeCountries":{ + "shape":"CountryCodeList", + "documentation":"

            A list of countries that all results must be in. Countries are represented by either their alpha-2 or alpha-3 character codes.

            " + } + }, + "documentation":"

            SuggestFilter structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

            " + }, + "SuggestHighlights":{ + "type":"structure", + "members":{ + "Title":{ + "shape":"HighlightList", + "documentation":"

            Indicates the starting and ending index of the title in the text query that match the found title.

            " + }, + "Address":{ + "shape":"SuggestAddressHighlights", + "documentation":"

            The place's address.

            " + } + }, + "documentation":"

            Describes how the parts of the textQuery matched the input query by returning the sections of the response which matched to textQuery terms.

            " + }, + "SuggestIntendedUse":{ + "type":"string", + "enum":["SingleUse"] + }, + "SuggestPlaceResult":{ + "type":"structure", + "members":{ + "PlaceId":{ + "shape":"SuggestPlaceResultPlaceIdString", + "documentation":"

            The PlaceId of the place you wish to receive the information for.

            " + }, + "PlaceType":{ + "shape":"PlaceType", + "documentation":"

            A PlaceType is a category that the result place must belong to.

            " + }, + "Address":{ + "shape":"Address", + "documentation":"

            The place's address.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            The position, in longitude and latitude.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            The distance in meters from the QueryPosition.

            " + }, + "MapView":{ + "shape":"BoundingBox", + "documentation":"

            The bounding box enclosing the geometric shape (area or line) that an individual result covers.

            The bounding box formed is defined as a set 4 coordinates: [{westward lng}, {southern lat}, {eastward lng}, {northern lat}]

            " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

            Categories of results that results must belong to.

            " + }, + "FoodTypes":{ + "shape":"FoodTypeList", + "documentation":"

            List of food types offered by this result.

            " + }, + "BusinessChains":{ + "shape":"BusinessChainList", + "documentation":"

            The Business Chains associated with the place.

            " + }, + "AccessPoints":{ + "shape":"AccessPointList", + "documentation":"

            Position of the access point represent by longitude and latitude.

            " + }, + "AccessRestrictions":{ + "shape":"AccessRestrictionList", + "documentation":"

            Indicates known access restrictions on a vehicle access point. The index correlates to an access point and indicates if access through this point has some form of restriction.

            " + }, + "TimeZone":{ + "shape":"TimeZone", + "documentation":"

            The time zone in which the place is located.

            " + }, + "PoliticalView":{ + "shape":"CountryCode3", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "Phonemes":{ + "shape":"PhonemeDetails", + "documentation":"

            How the various components of the result's address are pronounced in various languages.

            " + } + }, + "documentation":"

            The suggested place results.

            " + }, + "SuggestPlaceResultPlaceIdString":{ + "type":"string", + "max":200, + "min":1 + }, + "SuggestQueryResult":{ + "type":"structure", + "members":{ + "QueryId":{ + "shape":"SuggestQueryResultQueryIdString", + "documentation":"

            QueryId can be used to complete a follow up query through the SearchText API. The QueryId retains context from the original Suggest request such as filters, political view and language. See the SearchText API documentation for more details SearchText API docs.

            " + }, + "QueryType":{ + "shape":"QueryType", + "documentation":"

            The query type. Category qeuries will search for places which have an entry matching the given category, for example \"doctor office\". BusinessChain queries will search for instances of a given business.

            " + } + }, + "documentation":"

            The suggested query results.

            " + }, + "SuggestQueryResultQueryIdString":{ + "type":"string", + "max":400, + "min":0 + }, + "SuggestRequest":{ + "type":"structure", + "required":["QueryText"], + "members":{ + "QueryText":{ + "shape":"SuggestRequestQueryTextString", + "documentation":"

            The free-form text query to match addresses against. This is usually a partially typed address from an end user in an address box or form.

            " + }, + "MaxResults":{ + "shape":"SuggestRequestMaxResultsInteger", + "documentation":"

            An optional limit for the number of results returned in a single call.

            " + }, + "MaxQueryRefinements":{ + "shape":"SuggestRequestMaxQueryRefinementsInteger", + "documentation":"

            Maximum number of query terms to be returned for use with a search text query.

            " + }, + "BiasPosition":{ + "shape":"Position", + "documentation":"

            The position, in longitude and latitude, that the results should be close to. Typically, place results returned are ranked higher the closer they are to this position. Stored in [lng, lat] and in the WSG84 format.

            The fields BiasPosition, FilterBoundingBox, and FilterCircle are mutually exclusive.

            " + }, + "Filter":{ + "shape":"SuggestFilter", + "documentation":"

            A structure which contains a set of inclusion/exclusion properties that results must posses in order to be returned as a result.

            " + }, + "AdditionalFeatures":{ + "shape":"SuggestAdditionalFeatureList", + "documentation":"

            A list of optional additional parameters, such as time zone, that can be requested for each result.

            " + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            A list of BCP 47 compliant language codes for the results to be rendered in. If there is no data for the result in the requested language, data will be returned in the default language for the entry.

            " + }, + "PoliticalView":{ + "shape":"CountryCode", + "documentation":"

            The alpha-2 or alpha-3 character code for the political view of a country. The political view applies to the results of the request to represent unresolved territorial claims through the point of view of the specified country.

            " + }, + "IntendedUse":{ + "shape":"SuggestIntendedUse", + "documentation":"

            Indicates if the results will be stored. Defaults to SingleUse, if left empty.

            " + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + } + } + }, + "SuggestRequestMaxQueryRefinementsInteger":{ + "type":"integer", + "box":true, + "max":10, + "min":1 + }, + "SuggestRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "SuggestRequestQueryTextString":{ + "type":"string", + "max":200, + "min":1, + "sensitive":true + }, + "SuggestResponse":{ + "type":"structure", + "required":["PricingBucket"], + "members":{ + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            For more inforamtion on pricing, please visit Amazon Location Service Pricing.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "ResultItems":{ + "shape":"SuggestResultItemList", + "documentation":"

            List of places or results returned for a query.

            " + }, + "QueryRefinements":{ + "shape":"QueryRefinementList", + "documentation":"

            Maximum number of query terms to be returned for use with a search text query.

            " + } + } + }, + "SuggestResultItem":{ + "type":"structure", + "required":[ + "Title", + "SuggestResultItemType" + ], + "members":{ + "Title":{ + "shape":"SuggestResultItemTitleString", + "documentation":"

            The display title that should be used when presenting this option to the end user.

            " + }, + "SuggestResultItemType":{ + "shape":"SuggestResultItemType", + "documentation":"

            The result type. Place results represent the final result for a point of interest, Query results represent a follow up query which can be completed through the SearchText operation.

            " + }, + "Place":{ + "shape":"SuggestPlaceResult", + "documentation":"

            The suggested place by its unique ID.

            " + }, + "Query":{"shape":"SuggestQueryResult"}, + "Highlights":{ + "shape":"SuggestHighlights", + "documentation":"

            Describes how the parts of the response element matched the input query by returning the sections of the response which matched to input query terms.

            " + } + }, + "documentation":"

            The resulting item from the suggested query.

            " + }, + "SuggestResultItemList":{ + "type":"list", + "member":{"shape":"SuggestResultItem"}, + "max":100, + "min":0 + }, + "SuggestResultItemTitleString":{ + "type":"string", + "max":200, + "min":0 + }, + "SuggestResultItemType":{ + "type":"string", + "enum":[ + "Place", + "Query" + ] + }, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + } + }, + "documentation":"

            The request was denied due to request throttling.

            ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, + "TimeZone":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"TimeZoneNameString", + "documentation":"

            The time zone name.

            " + }, + "Offset":{ + "shape":"TimeZoneOffsetString", + "documentation":"

            Time zone offset of the timezone from UTC.

            " + }, + "OffsetSeconds":{ + "shape":"TimeZoneOffsetSecondsLong", + "documentation":"

            The offset of the time zone from UTC, in seconds.

            " + } + }, + "documentation":"

            The time zone in which the place is located.

            " + }, + "TimeZoneNameString":{ + "type":"string", + "max":200, + "min":0 + }, + "TimeZoneOffsetSecondsLong":{ + "type":"long", + "min":0 + }, + "TimeZoneOffsetString":{ + "type":"string", + "max":6, + "min":0 + }, + "Token":{ + "type":"string", + "max":2000, + "min":1 + }, + "TypePlacement":{ + "type":"string", + "enum":[ + "BeforeBaseName", + "AfterBaseName" + ] + }, + "TypeSeparator":{ + "type":"string", + "max":1, + "min":0, + "pattern":"$|^ " + }, + "UspsZip":{ + "type":"structure", + "members":{ + "ZipClassificationCode":{ + "shape":"ZipClassificationCode", + "documentation":"

            The ZIP Classification Code, or in other words what type of postal code is it.

            " + } + }, + "documentation":"

            The USPS zip code.

            " + }, + "UspsZipPlus4":{ + "type":"structure", + "members":{ + "RecordTypeCode":{ + "shape":"RecordTypeCode", + "documentation":"

            The USPS ZIP+4 Record Type Code.

            " + } + }, + "documentation":"

            The USPS zip+4 code.

            " + }, + "ValidationException":{ + "type":"structure", + "required":[ + "Message", + "Reason", + "FieldList" + ], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + }, + "Reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

            Test stub for reason

            ", + "locationName":"reason" + }, + "FieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

            Test stub for FieldList.

            ", + "locationName":"fieldList" + } + }, + "documentation":"

            The input fails to satisfy the constraints specified by an AWS service.

            ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "Name", + "Message" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

            The name of the resource.

            ", + "locationName":"name" + }, + "Message":{ + "shape":"String", + "documentation":"

            The error message.

            ", + "locationName":"message" + } + }, + "documentation":"

            The input fails to satisfy the constraints specified by the Amazon Location service.

            " + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "UnknownOperation", + "Missing", + "CannotParse", + "FieldValidationFailed", + "Other", + "UnknownField" + ] + }, + "ZipClassificationCode":{ + "type":"string", + "enum":[ + "Military", + "PostOfficeBoxes", + "Unique" + ] + } + }, + "documentation":"

            The Places API enables powerful location search and geocoding capabilities for your applications, offering global coverage with rich, detailed information. Key features include:

            • Forward and reverse geocoding for addresses and coordinates

            • Comprehensive place searches with detailed information, including:

              • Business names and addresses

              • Contact information

              • Hours of operation

              • POI (Points of Interest) categories

              • Food types for restaurants

              • Chain affiliation for relevant businesses

            • Global data coverage with a wide range of POI categories

            • Regular data updates to ensure accuracy and relevance

            " +} diff --git a/tools/code-generation/api-descriptions/geo-routes-2020-11-19.normal.json b/tools/code-generation/api-descriptions/geo-routes-2020-11-19.normal.json new file mode 100644 index 00000000000..d1e82788424 --- /dev/null +++ b/tools/code-generation/api-descriptions/geo-routes-2020-11-19.normal.json @@ -0,0 +1,6531 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-11-19", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"geo-routes", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"Amazon Location Service Routes V2", + "serviceId":"Geo Routes", + "signatureVersion":"v4", + "signingName":"geo-routes", + "uid":"geo-routes-2020-11-19" + }, + "operations":{ + "CalculateIsolines":{ + "name":"CalculateIsolines", + "http":{ + "method":"POST", + "requestUri":"/isolines", + "responseCode":200 + }, + "input":{"shape":"CalculateIsolinesRequest"}, + "output":{"shape":"CalculateIsolinesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            Use the CalculateIsolines action to find service areas that can be reached in a given threshold of time, distance.

            " + }, + "CalculateRouteMatrix":{ + "name":"CalculateRouteMatrix", + "http":{ + "method":"POST", + "requestUri":"/route-matrix", + "responseCode":200 + }, + "input":{"shape":"CalculateRouteMatrixRequest"}, + "output":{"shape":"CalculateRouteMatrixResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            Calculates route matrix containing the results for all pairs of Origins to Destinations. Each row corresponds to one entry in Origins. Each entry in the row corresponds to the route from that entry in Origins to an entry in Destinations positions.

            " + }, + "CalculateRoutes":{ + "name":"CalculateRoutes", + "http":{ + "method":"POST", + "requestUri":"/routes", + "responseCode":200 + }, + "input":{"shape":"CalculateRoutesRequest"}, + "output":{"shape":"CalculateRoutesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            Calculates a route given the following required parameters: Origin and Destination.

            " + }, + "OptimizeWaypoints":{ + "name":"OptimizeWaypoints", + "http":{ + "method":"POST", + "requestUri":"/optimize-waypoints", + "responseCode":200 + }, + "input":{"shape":"OptimizeWaypointsRequest"}, + "output":{"shape":"OptimizeWaypointsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            Calculates the optimal order to travel between a set of waypoints to minimize either the travel time or the distance travelled during the journey, based on road network restrictions and the traffic pattern data.

            " + }, + "SnapToRoads":{ + "name":"SnapToRoads", + "http":{ + "method":"POST", + "requestUri":"/snap-to-roads", + "responseCode":200 + }, + "input":{"shape":"SnapToRoadsRequest"}, + "output":{"shape":"SnapToRoadsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

            The SnapToRoads action matches GPS trace to roads most likely traveled on.

            " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + } + }, + "documentation":"

            You don't have sufficient access to perform this action.

            ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "ApiKey":{ + "type":"string", + "max":1000, + "min":0, + "sensitive":true + }, + "BeforeWaypointsList":{ + "type":"list", + "member":{"shape":"WaypointIndex"} + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "BoundingBox":{ + "type":"list", + "member":{"shape":"Double"}, + "max":4, + "min":4, + "sensitive":true + }, + "CalculateIsolinesRequest":{ + "type":"structure", + "required":["Thresholds"], + "members":{ + "Allow":{ + "shape":"IsolineAllowOptions", + "documentation":"

            Features that are allowed while calculating. a route

            " + }, + "ArrivalTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Time of arrival at the destination.

            Time format: YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "Avoid":{ + "shape":"IsolineAvoidanceOptions", + "documentation":"

            Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an avoidance can't be satisfied for a particular case, it violates the avoidance and the returned response produces a notice for the violation.

            " + }, + "DepartNow":{ + "shape":"Boolean", + "documentation":"

            Uses the current time as the time of departure.

            " + }, + "DepartureTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Time of departure from thr origin.

            Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "Destination":{ + "shape":"Position", + "documentation":"

            The final position for the route. In the World Geodetic System (WGS 84) format: [longitude, latitude].

            " + }, + "DestinationOptions":{ + "shape":"IsolineDestinationOptions", + "documentation":"

            Destination related options.

            " + }, + "IsolineGeometryFormat":{ + "shape":"GeometryFormat", + "documentation":"

            The format of the returned IsolineGeometry.

            Default Value:FlexiblePolyline

            " + }, + "IsolineGranularity":{ + "shape":"IsolineGranularityOptions", + "documentation":"

            Defines the granularity of the returned Isoline

            " + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + }, + "OptimizeIsolineFor":{ + "shape":"IsolineOptimizationObjective", + "documentation":"

            Specifies the optimization criteria for when calculating an isoline. AccurateCalculation generates an isoline of higher granularity that is more precise. FastCalculation generates an isoline faster by reducing the granularity, and in turn the quality of the isoline. BalancedCalculation generates an isoline by balancing between quality and performance.

            Default Value: BalancedCalculation

            " + }, + "OptimizeRoutingFor":{ + "shape":"RoutingObjective", + "documentation":"

            Specifies the optimization criteria for calculating a route.

            Default Value: FastestRoute

            " + }, + "Origin":{ + "shape":"Position", + "documentation":"

            The start position for the route.

            " + }, + "OriginOptions":{ + "shape":"IsolineOriginOptions", + "documentation":"

            Origin related options.

            " + }, + "Thresholds":{ + "shape":"IsolineThresholds", + "documentation":"

            Threshold to be used for the isoline calculation. Up to 3 thresholds per provided type can be requested.

            " + }, + "Traffic":{ + "shape":"IsolineTrafficOptions", + "documentation":"

            Traffic related options.

            " + }, + "TravelMode":{ + "shape":"IsolineTravelMode", + "documentation":"

            Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

            The mode Scooter also applies to motorcycles, set to Scooter when wanted to calculate options for motorcycles.

            Default Value: Car

            " + }, + "TravelModeOptions":{ + "shape":"IsolineTravelModeOptions", + "documentation":"

            Travel mode related options for the provided travel mode.

            " + } + } + }, + "CalculateIsolinesResponse":{ + "type":"structure", + "required":[ + "IsolineGeometryFormat", + "Isolines", + "PricingBucket" + ], + "members":{ + "ArrivalTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Time of arrival at the destination. This parameter is returned only if the Destination parameters was provided in the request.

            Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "DepartureTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Time of departure from thr origin.

            Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "IsolineGeometryFormat":{ + "shape":"GeometryFormat", + "documentation":"

            The format of the returned IsolineGeometry.

            Default Value:FlexiblePolyline

            " + }, + "Isolines":{ + "shape":"IsolineList", + "documentation":"

            Calculated isolines and associated properties.

            " + }, + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "SnappedDestination":{ + "shape":"Position", + "documentation":"

            Snapped destination that was used for the Isoline calculation.

            " + }, + "SnappedOrigin":{ + "shape":"Position", + "documentation":"

            Snapped origin that was used for the Isoline calculation.

            " + } + } + }, + "CalculateRouteMatrixRequest":{ + "type":"structure", + "required":[ + "Destinations", + "Origins", + "RoutingBoundary" + ], + "members":{ + "Allow":{ + "shape":"RouteMatrixAllowOptions", + "documentation":"

            Features that are allowed while calculating. a route

            " + }, + "Avoid":{ + "shape":"RouteMatrixAvoidanceOptions", + "documentation":"

            Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an avoidance can't be satisfied for a particular case, it violates the avoidance and the returned response produces a notice for the violation.

            " + }, + "DepartNow":{ + "shape":"Boolean", + "documentation":"

            Uses the current time as the time of departure.

            " + }, + "DepartureTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Time of departure from thr origin.

            Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "Destinations":{ + "shape":"CalculateRouteMatrixRequestDestinationsList", + "documentation":"

            List of destinations for the route.

            " + }, + "Exclude":{ + "shape":"RouteMatrixExclusionOptions", + "documentation":"

            Features to be strictly excluded while calculating the route.

            " + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + }, + "OptimizeRoutingFor":{ + "shape":"RoutingObjective", + "documentation":"

            Specifies the optimization criteria for calculating a route.

            Default Value: FastestRoute

            " + }, + "Origins":{ + "shape":"CalculateRouteMatrixRequestOriginsList", + "documentation":"

            The position in longitude and latitude for the origin.

            " + }, + "RoutingBoundary":{ + "shape":"RouteMatrixBoundary", + "documentation":"

            Boundary within which the matrix is to be calculated. All data, origins and destinations outside the boundary are considered invalid.

            When request routing boundary was set as AutoCircle, the response routing boundary will return Circle derived from the AutoCircle settings.

            " + }, + "Traffic":{ + "shape":"RouteMatrixTrafficOptions", + "documentation":"

            Traffic related options.

            " + }, + "TravelMode":{ + "shape":"RouteMatrixTravelMode", + "documentation":"

            Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

            Default Value: Car

            " + }, + "TravelModeOptions":{ + "shape":"RouteMatrixTravelModeOptions", + "documentation":"

            Travel mode related options for the provided travel mode.

            " + } + } + }, + "CalculateRouteMatrixRequestDestinationsList":{ + "type":"list", + "member":{"shape":"RouteMatrixDestination"}, + "min":1 + }, + "CalculateRouteMatrixRequestOriginsList":{ + "type":"list", + "member":{"shape":"RouteMatrixOrigin"}, + "min":1 + }, + "CalculateRouteMatrixResponse":{ + "type":"structure", + "required":[ + "ErrorCount", + "PricingBucket", + "RouteMatrix", + "RoutingBoundary" + ], + "members":{ + "ErrorCount":{ + "shape":"CalculateRouteMatrixResponseErrorCountInteger", + "documentation":"

            The count of error results in the route matrix. If this number is 0, all routes were calculated successfully.

            " + }, + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "RouteMatrix":{ + "shape":"RouteMatrix", + "documentation":"

            The calculated route matrix containing the results for all pairs of Origins to Destination positions. Each row corresponds to one entry in Origins. Each entry in the row corresponds to the route from that entry in Origins to an entry in Destination positions.

            " + }, + "RoutingBoundary":{ + "shape":"RouteMatrixBoundary", + "documentation":"

            Boundary within which the matrix is to be calculated. All data, origins and destinations outside the boundary are considered invalid.

            When request routing boundary was set as AutoCircle, the response routing boundary will return Circle derived from the AutoCircle settings.

            " + } + } + }, + "CalculateRouteMatrixResponseErrorCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "CalculateRoutesRequest":{ + "type":"structure", + "required":[ + "Destination", + "Origin" + ], + "members":{ + "Allow":{ + "shape":"RouteAllowOptions", + "documentation":"

            Features that are allowed while calculating. a route

            " + }, + "ArrivalTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Time of arrival at the destination.

            Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "Avoid":{ + "shape":"RouteAvoidanceOptions", + "documentation":"

            Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an avoidance can't be satisfied for a particular case, it violates the avoidance and the returned response produces a notice for the violation.

            " + }, + "DepartNow":{ + "shape":"Boolean", + "documentation":"

            Uses the current time as the time of departure.

            " + }, + "DepartureTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Time of departure from thr origin.

            Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "Destination":{ + "shape":"Position", + "documentation":"

            The final position for the route. In the World Geodetic System (WGS 84) format: [longitude, latitude].

            " + }, + "DestinationOptions":{ + "shape":"RouteDestinationOptions", + "documentation":"

            Destination related options.

            " + }, + "Driver":{ + "shape":"RouteDriverOptions", + "documentation":"

            Driver related options.

            " + }, + "Exclude":{ + "shape":"RouteExclusionOptions", + "documentation":"

            Features to be strictly excluded while calculating the route.

            " + }, + "InstructionsMeasurementSystem":{ + "shape":"MeasurementSystem", + "documentation":"

            Measurement system to be used for instructions within steps in the response.

            " + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + }, + "Languages":{ + "shape":"CalculateRoutesRequestLanguagesList", + "documentation":"

            List of languages for instructions within steps in the response.

            Instructions in the requested language are returned only if they are available.

            " + }, + "LegAdditionalFeatures":{ + "shape":"RouteLegAdditionalFeatureList", + "documentation":"

            A list of optional additional parameters such as timezone that can be requested for each result.

            • Elevation: Retrieves the elevation information for each location.

            • Incidents: Provides information on traffic incidents along the route.

            • PassThroughWaypoints: Indicates waypoints that are passed through without stopping.

            • Summary: Returns a summary of the route, including distance and duration.

            • Tolls: Supplies toll cost information along the route.

            • TravelStepInstructions: Provides step-by-step instructions for travel along the route.

            • TruckRoadTypes: Returns information about road types suitable for trucks.

            • TypicalDuration: Gives typical travel duration based on historical data.

            • Zones: Specifies the time zone information for each waypoint.

            " + }, + "LegGeometryFormat":{ + "shape":"GeometryFormat", + "documentation":"

            Specifies the format of the geometry returned for each leg of the route. You can choose between two different geometry encoding formats.

            FlexiblePolyline: A compact and precise encoding format for the leg geometry. For more information on the format, see the GitHub repository for FlexiblePolyline .

            Simple: A less compact encoding, which is easier to decode but may be less precise and result in larger payloads.

            " + }, + "MaxAlternatives":{ + "shape":"CalculateRoutesRequestMaxAlternativesInteger", + "documentation":"

            Maximum number of alternative routes to be provided in the response, if available.

            " + }, + "OptimizeRoutingFor":{ + "shape":"RoutingObjective", + "documentation":"

            Specifies the optimization criteria for calculating a route.

            Default Value: FastestRoute

            " + }, + "Origin":{ + "shape":"Position", + "documentation":"

            The start position for the route.

            " + }, + "OriginOptions":{ + "shape":"RouteOriginOptions", + "documentation":"

            Origin related options.

            " + }, + "SpanAdditionalFeatures":{ + "shape":"RouteSpanAdditionalFeatureList", + "documentation":"

            A list of optional features such as SpeedLimit that can be requested for a Span. A span is a section of a Leg for which the requested features have the same values.

            " + }, + "Tolls":{ + "shape":"RouteTollOptions", + "documentation":"

            Toll related options.

            " + }, + "Traffic":{ + "shape":"RouteTrafficOptions", + "documentation":"

            Traffic related options.

            " + }, + "TravelMode":{ + "shape":"RouteTravelMode", + "documentation":"

            Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

            Default Value: Car

            " + }, + "TravelModeOptions":{ + "shape":"RouteTravelModeOptions", + "documentation":"

            Travel mode related options for the provided travel mode.

            " + }, + "TravelStepType":{ + "shape":"RouteTravelStepType", + "documentation":"

            Type of step returned by the response. Default provides basic steps intended for web based applications. TurnByTurn provides detailed instructions with more granularity intended for a turn based naviagtion system.

            " + }, + "Waypoints":{ + "shape":"RouteWaypointList", + "documentation":"

            List of waypoints between the Origin and Destination.

            " + } + } + }, + "CalculateRoutesRequestLanguagesList":{ + "type":"list", + "member":{"shape":"LanguageTag"}, + "max":10, + "min":0 + }, + "CalculateRoutesRequestMaxAlternativesInteger":{ + "type":"integer", + "box":true, + "max":5, + "min":0 + }, + "CalculateRoutesResponse":{ + "type":"structure", + "required":[ + "LegGeometryFormat", + "Notices", + "PricingBucket", + "Routes" + ], + "members":{ + "LegGeometryFormat":{ + "shape":"GeometryFormat", + "documentation":"

            Specifies the format of the geometry returned for each leg of the route.

            " + }, + "Notices":{ + "shape":"RouteResponseNoticeList", + "documentation":"

            Notices are additional information returned that indicate issues that occurred during route calculation.

            " + }, + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "Routes":{ + "shape":"RouteList", + "documentation":"

            The path from the origin to the destination.

            " + } + } + }, + "Circle":{ + "type":"structure", + "required":[ + "Center", + "Radius" + ], + "members":{ + "Center":{ + "shape":"Position", + "documentation":"

            Center of the Circle defined in longitude and latitude coordinates.

            Example: [-123.1174, 49.2847] represents the position with longitude -123.1174 and latitude 49.2847.

            " + }, + "Radius":{ + "shape":"Double", + "documentation":"

            Radius of the Circle.

            Unit: meters

            " + } + }, + "documentation":"

            Geometry defined as a circle. When request routing boundary was set as AutoCircle, the response routing boundary will return Circle derived from the AutoCircle settings.

            ", + "sensitive":true + }, + "Corridor":{ + "type":"structure", + "required":[ + "LineString", + "Radius" + ], + "members":{ + "LineString":{ + "shape":"LineString", + "documentation":"

            An ordered list of positions used to plot a route on a map.

            LineString and Polyline are mutually exclusive properties.

            " + }, + "Radius":{ + "shape":"Integer", + "documentation":"

            Radius that defines the width of the corridor.

            " + } + }, + "documentation":"

            Geometry defined as a corridor - a LineString with a radius that defines the width of the corridor.

            ", + "sensitive":true + }, + "CountryCode":{ + "type":"string", + "max":3, + "min":2, + "pattern":"([A-Z]{2}|[A-Z]{3})" + }, + "CountryCode3":{ + "type":"string", + "max":3, + "min":3, + "pattern":"[A-Z]{3}" + }, + "CountryCodeList":{ + "type":"list", + "member":{"shape":"CountryCode"}, + "max":100, + "min":1 + }, + "CurrencyCode":{ + "type":"string", + "max":3, + "min":3, + "pattern":"[A-Z]{3}" + }, + "DayOfWeek":{ + "type":"string", + "enum":[ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + }, + "DimensionCentimeters":{ + "type":"long", + "max":4294967295, + "min":0 + }, + "DistanceMeters":{ + "type":"long", + "max":4294967295, + "min":0 + }, + "DistanceThresholdList":{ + "type":"list", + "member":{"shape":"DistanceThresholdListMemberLong"}, + "max":5, + "min":1 + }, + "DistanceThresholdListMemberLong":{ + "type":"long", + "max":300000, + "min":0 + }, + "Double":{ + "type":"double", + "box":true + }, + "DurationSeconds":{ + "type":"long", + "max":4294967295, + "min":0 + }, + "GeometryFormat":{ + "type":"string", + "enum":[ + "FlexiblePolyline", + "Simple" + ] + }, + "Heading":{ + "type":"double", + "max":360.0, + "min":0.0 + }, + "IndexList":{ + "type":"list", + "member":{"shape":"Integer"} + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + } + }, + "documentation":"

            The request processing has failed because of an unknown error, exception or failure.

            ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "Isoline":{ + "type":"structure", + "required":[ + "Connections", + "Geometries" + ], + "members":{ + "Connections":{ + "shape":"IsolineConnectionList", + "documentation":"

            Isolines may contain multiple components, if these components are connected by ferry links. These components are returned as separate polygons while the ferry links are returned as connections.

            " + }, + "DistanceThreshold":{ + "shape":"DistanceMeters", + "documentation":"

            Distance threshold corresponding to the calculated Isoline.

            " + }, + "Geometries":{ + "shape":"IsolineShapeGeometryList", + "documentation":"

            Geometries for the Calculated isolines.

            " + }, + "TimeThreshold":{ + "shape":"DurationSeconds", + "documentation":"

            Time threshold corresponding to the calculated isoline.

            " + } + }, + "documentation":"

            Calculated isolines and associated properties.

            " + }, + "IsolineAllowOptions":{ + "type":"structure", + "members":{ + "Hot":{ + "shape":"Boolean", + "documentation":"

            Allow Hot (High Occupancy Toll) lanes while calculating the route.

            " + }, + "Hov":{ + "shape":"Boolean", + "documentation":"

            Allow Hov (High Occupancy vehicle) lanes while calculating the route.

            " + } + }, + "documentation":"

            Features that are allowed while calculating. a route

            " + }, + "IsolineAvoidanceArea":{ + "type":"structure", + "required":["Geometry"], + "members":{ + "Except":{ + "shape":"IsolineAvoidanceAreaGeometryList", + "documentation":"

            Exceptions to the provided avoidance geometry, to be included while calculating the route.

            " + }, + "Geometry":{ + "shape":"IsolineAvoidanceAreaGeometry", + "documentation":"

            Geometry of the area to be avoided.

            " + } + }, + "documentation":"

            The area to be avoided.

            " + }, + "IsolineAvoidanceAreaGeometry":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

            Geometry defined as a bounding box. The first pair represents the X and Y coordinates (longitude and latitude,) of the southwest corner of the bounding box; the second pair represents the X and Y coordinates (longitude and latitude) of the northeast corner.

            " + }, + "Corridor":{ + "shape":"Corridor", + "documentation":"

            Geometry defined as a corridor - a LineString with a radius that defines the width of the corridor.

            " + }, + "Polygon":{ + "shape":"IsolineAvoidanceAreaGeometryPolygonList", + "documentation":"

            A list of Polygon will be excluded for calculating isolines, the list can only contain 1 polygon.

            " + }, + "PolylineCorridor":{ + "shape":"PolylineCorridor", + "documentation":"

            Geometry defined as an encoded corridor – a polyline with a radius that defines the width of the corridor. For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.

            " + }, + "PolylinePolygon":{ + "shape":"IsolineAvoidanceAreaGeometryPolylinePolygonList", + "documentation":"

            A list of PolylinePolygon's that are excluded for calculating isolines, the list can only contain 1 polygon. For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.

            " + } + }, + "documentation":"

            The avoidance geometry, to be included while calculating the route.

            " + }, + "IsolineAvoidanceAreaGeometryList":{ + "type":"list", + "member":{"shape":"IsolineAvoidanceAreaGeometry"} + }, + "IsolineAvoidanceAreaGeometryPolygonList":{ + "type":"list", + "member":{"shape":"LinearRing"}, + "max":1, + "min":1 + }, + "IsolineAvoidanceAreaGeometryPolylinePolygonList":{ + "type":"list", + "member":{"shape":"PolylineRing"}, + "max":1, + "min":1 + }, + "IsolineAvoidanceAreaList":{ + "type":"list", + "member":{"shape":"IsolineAvoidanceArea"} + }, + "IsolineAvoidanceOptions":{ + "type":"structure", + "members":{ + "Areas":{ + "shape":"IsolineAvoidanceAreaList", + "documentation":"

            Areas to be avoided.

            " + }, + "CarShuttleTrains":{ + "shape":"Boolean", + "documentation":"

            Avoid car-shuttle-trains while calculating the route.

            " + }, + "ControlledAccessHighways":{ + "shape":"Boolean", + "documentation":"

            Avoid controlled access highways while calculating the route.

            " + }, + "DirtRoads":{ + "shape":"Boolean", + "documentation":"

            Avoid dirt roads while calculating the route.

            " + }, + "Ferries":{ + "shape":"Boolean", + "documentation":"

            Avoid ferries while calculating the route.

            " + }, + "SeasonalClosure":{ + "shape":"Boolean", + "documentation":"

            Avoid roads that have seasonal closure while calculating the route.

            " + }, + "TollRoads":{ + "shape":"Boolean", + "documentation":"

            Avoids roads where the specified toll transponders are the only mode of payment.

            " + }, + "TollTransponders":{ + "shape":"Boolean", + "documentation":"

            Avoids roads where the specified toll transponders are the only mode of payment.

            " + }, + "TruckRoadTypes":{ + "shape":"TruckRoadTypeList", + "documentation":"

            Truck road type identifiers. BK1 through BK4 apply only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

            There are currently no other supported values as of 26th April 2024.

            " + }, + "Tunnels":{ + "shape":"Boolean", + "documentation":"

            Avoid tunnels while calculating the route.

            " + }, + "UTurns":{ + "shape":"Boolean", + "documentation":"

            Avoid U-turns for calculation on highways and motorways.

            " + }, + "ZoneCategories":{ + "shape":"IsolineAvoidanceZoneCategoryList", + "documentation":"

            Zone categories to be avoided.

            " + } + }, + "documentation":"

            Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an avoidance can't be satisfied for a particular case, it violates the avoidance and the returned response produces a notice for the violation.

            " + }, + "IsolineAvoidanceZoneCategory":{ + "type":"structure", + "members":{ + "Category":{ + "shape":"IsolineZoneCategory", + "documentation":"

            Zone category to be avoided.

            " + } + }, + "documentation":"

            Zone category to be avoided.

            " + }, + "IsolineAvoidanceZoneCategoryList":{ + "type":"list", + "member":{"shape":"IsolineAvoidanceZoneCategory"}, + "max":3, + "min":0 + }, + "IsolineCarOptions":{ + "type":"structure", + "members":{ + "EngineType":{ + "shape":"IsolineEngineType", + "documentation":"

            Engine type of the vehicle.

            " + }, + "LicensePlate":{ + "shape":"IsolineVehicleLicensePlate", + "documentation":"

            The vehicle License Plate.

            " + }, + "MaxSpeed":{ + "shape":"IsolineCarOptionsMaxSpeedDouble", + "documentation":"

            Maximum speed.

            Unit: KilometersPerHour

            ", + "box":true + }, + "Occupancy":{ + "shape":"IsolineCarOptionsOccupancyInteger", + "documentation":"

            The number of occupants in the vehicle.

            Default Value: 1

            " + } + }, + "documentation":"

            Options for vehicles.

            " + }, + "IsolineCarOptionsMaxSpeedDouble":{ + "type":"double", + "max":252.0, + "min":3.6 + }, + "IsolineCarOptionsOccupancyInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "IsolineConnection":{ + "type":"structure", + "required":[ + "FromPolygonIndex", + "Geometry", + "ToPolygonIndex" + ], + "members":{ + "FromPolygonIndex":{ + "shape":"IsolineConnectionFromPolygonIndexInteger", + "documentation":"

            Index of the polygon corresponding to the \"from\" component of the connection. The polygon is available from Isoline[].Geometries.

            " + }, + "Geometry":{ + "shape":"IsolineConnectionGeometry", + "documentation":"

            The isoline geometry.

            " + }, + "ToPolygonIndex":{ + "shape":"IsolineConnectionToPolygonIndexInteger", + "documentation":"

            Index of the polygon corresponding to the \"to\" component of the connection. The polygon is available from Isoline[].Geometries.

            " + } + }, + "documentation":"

            Isolines may contain multiple components, if these components are connected by ferry links. These components are returned as separate polygons while the ferry links are returned as connections.

            " + }, + "IsolineConnectionFromPolygonIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "IsolineConnectionGeometry":{ + "type":"structure", + "members":{ + "LineString":{ + "shape":"LineString", + "documentation":"

            An ordered list of positions used to plot a route on a map.

            LineString and Polyline are mutually exclusive properties.

            " + }, + "Polyline":{ + "shape":"Polyline", + "documentation":"

            An ordered list of positions used to plot a route on a map in a lossy compression format.

            LineString and Polyline are mutually exclusive properties.

            " + } + }, + "documentation":"

            Geometry of the connection between different Isoline components.

            " + }, + "IsolineConnectionList":{ + "type":"list", + "member":{"shape":"IsolineConnection"} + }, + "IsolineConnectionToPolygonIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "IsolineDestinationOptions":{ + "type":"structure", + "members":{ + "AvoidActionsForDistance":{ + "shape":"DistanceMeters", + "documentation":"

            Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.

            " + }, + "Heading":{ + "shape":"Heading", + "documentation":"

            GPS Heading at the position.

            " + }, + "Matching":{ + "shape":"IsolineMatchingOptions", + "documentation":"

            Options to configure matching the provided position to the road network.

            " + }, + "SideOfStreet":{ + "shape":"IsolineSideOfStreetOptions", + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + } + }, + "documentation":"

            Destination related options.

            " + }, + "IsolineEngineType":{ + "type":"string", + "enum":[ + "Electric", + "InternalCombustion", + "PluginHybrid" + ] + }, + "IsolineGranularityOptions":{ + "type":"structure", + "members":{ + "MaxPoints":{ + "shape":"IsolineGranularityOptionsMaxPointsInteger", + "documentation":"

            Maximum number of points of returned Isoline.

            " + }, + "MaxResolution":{ + "shape":"DistanceMeters", + "documentation":"

            Maximum resolution of the returned isoline.

            Unit: centimeters

            " + } + }, + "documentation":"

            Isoline granularity related options.

            " + }, + "IsolineGranularityOptionsMaxPointsInteger":{ + "type":"integer", + "box":true, + "min":31 + }, + "IsolineHazardousCargoType":{ + "type":"string", + "enum":[ + "Combustible", + "Corrosive", + "Explosive", + "Flammable", + "Gas", + "HarmfulToWater", + "Organic", + "Other", + "Poison", + "PoisonousInhalation", + "Radioactive" + ] + }, + "IsolineHazardousCargoTypeList":{ + "type":"list", + "member":{"shape":"IsolineHazardousCargoType"}, + "max":11, + "min":0 + }, + "IsolineList":{ + "type":"list", + "member":{"shape":"Isoline"}, + "max":5, + "min":1 + }, + "IsolineMatchingOptions":{ + "type":"structure", + "members":{ + "NameHint":{ + "shape":"SensitiveString", + "documentation":"

            Attempts to match the provided position to a road similar to the provided name.

            " + }, + "OnRoadThreshold":{ + "shape":"DistanceMeters", + "documentation":"

            If the distance to a highway/bridge/tunnel/sliproad is within threshold, the waypoint will be snapped to the highway/bridge/tunnel/sliproad.

            Unit: meters

            " + }, + "Radius":{ + "shape":"DistanceMeters", + "documentation":"

            Considers all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.

            Unit: Meters

            " + }, + "Strategy":{ + "shape":"MatchingStrategy", + "documentation":"

            Strategy that defines matching of the position onto the road network. MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches to the most significant road.

            " + } + }, + "documentation":"

            Isoline matching related options.

            " + }, + "IsolineOptimizationObjective":{ + "type":"string", + "enum":[ + "AccurateCalculation", + "BalancedCalculation", + "FastCalculation" + ] + }, + "IsolineOriginOptions":{ + "type":"structure", + "members":{ + "AvoidActionsForDistance":{ + "shape":"DistanceMeters", + "documentation":"

            Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.

            " + }, + "Heading":{ + "shape":"Heading", + "documentation":"

            GPS Heading at the position.

            " + }, + "Matching":{ + "shape":"IsolineMatchingOptions", + "documentation":"

            Options to configure matching the provided position to the road network.

            " + }, + "SideOfStreet":{ + "shape":"IsolineSideOfStreetOptions", + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + } + }, + "documentation":"

            Options for the property.

            " + }, + "IsolineScooterOptions":{ + "type":"structure", + "members":{ + "EngineType":{ + "shape":"IsolineEngineType", + "documentation":"

            Engine type of the vehicle.

            " + }, + "LicensePlate":{ + "shape":"IsolineVehicleLicensePlate", + "documentation":"

            The vehicle License Plate.

            " + }, + "MaxSpeed":{ + "shape":"IsolineScooterOptionsMaxSpeedDouble", + "documentation":"

            Maximum speed specified.

            Unit: KilometersPerHour

            ", + "box":true + }, + "Occupancy":{ + "shape":"IsolineScooterOptionsOccupancyInteger", + "documentation":"

            The number of occupants in the vehicle.

            Default Value: 1

            " + } + }, + "documentation":"

            Options for the property.

            " + }, + "IsolineScooterOptionsMaxSpeedDouble":{ + "type":"double", + "max":252.0, + "min":3.6 + }, + "IsolineScooterOptionsOccupancyInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "IsolineShapeGeometry":{ + "type":"structure", + "members":{ + "Polygon":{ + "shape":"LinearRings", + "documentation":"

            A list of Isoline Polygons, for each isoline polygon, it contains polygons of the first linear ring (the outer ring) and from 2nd item to the last item (the inner rings).

            " + }, + "PolylinePolygon":{ + "shape":"PolylineRingList", + "documentation":"

            A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it contains PolylinePolygon of the first linear ring (the outer ring) and from 2nd item to the last item (the inner rings). For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.

            " + } + }, + "documentation":"

            Geometry of the connection between different Isoline components.

            " + }, + "IsolineShapeGeometryList":{ + "type":"list", + "member":{"shape":"IsolineShapeGeometry"} + }, + "IsolineSideOfStreetOptions":{ + "type":"structure", + "required":["Position"], + "members":{ + "Position":{ + "shape":"Position", + "documentation":"

            Position defined as [longitude, latitude].

            " + }, + "UseWith":{ + "shape":"SideOfStreetMatchingStrategy", + "documentation":"

            Strategy that defines when the side of street position should be used. AnyStreet will always use the provided position.

            Default Value: DividedStreetOnly

            " + } + }, + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + }, + "IsolineThresholds":{ + "type":"structure", + "members":{ + "Distance":{ + "shape":"DistanceThresholdList", + "documentation":"

            Distance to be used for the isoline calculation.

            " + }, + "Time":{ + "shape":"TimeThresholdList", + "documentation":"

            Time to be used for the isoline calculation.

            " + } + }, + "documentation":"

            Threshold to be used for the isoline calculation. Up to 3 thresholds per provided type can be requested.

            " + }, + "IsolineTrafficOptions":{ + "type":"structure", + "members":{ + "FlowEventThresholdOverride":{ + "shape":"DurationSeconds", + "documentation":"

            Duration for which flow traffic is considered valid. For this period, the flow traffic is used over historical traffic data. Flow traffic refers to congestion, which changes very quickly. Duration in seconds for which flow traffic event would be considered valid. While flow traffic event is valid it will be used over the historical traffic data.

            Unit: seconds

            " + }, + "Usage":{ + "shape":"TrafficUsage", + "documentation":"

            Determines if traffic should be used or ignored while calculating the route.

            Default Value: UseTrafficData

            " + } + }, + "documentation":"

            Options related to traffic.

            " + }, + "IsolineTrailerOptions":{ + "type":"structure", + "members":{ + "AxleCount":{ + "shape":"IsolineTrailerOptionsAxleCountInteger", + "documentation":"

            Total number of axles of the vehicle.

            " + }, + "TrailerCount":{ + "shape":"IsolineTrailerOptionsTrailerCountInteger", + "documentation":"

            Number of trailers attached to the vehicle.

            Default Value: 0

            " + } + }, + "documentation":"

            Trailer options corresponding to the vehicle.

            " + }, + "IsolineTrailerOptionsAxleCountInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "IsolineTrailerOptionsTrailerCountInteger":{ + "type":"integer", + "box":true, + "max":255, + "min":1 + }, + "IsolineTravelMode":{ + "type":"string", + "enum":[ + "Car", + "Pedestrian", + "Scooter", + "Truck" + ] + }, + "IsolineTravelModeOptions":{ + "type":"structure", + "members":{ + "Car":{ + "shape":"IsolineCarOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Car\"

            " + }, + "Scooter":{ + "shape":"IsolineScooterOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Scooter\"

            " + }, + "Truck":{ + "shape":"IsolineTruckOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Truck\"

            " + } + }, + "documentation":"

            Travel mode related options for the provided travel mode.

            " + }, + "IsolineTruckOptions":{ + "type":"structure", + "members":{ + "AxleCount":{ + "shape":"IsolineTruckOptionsAxleCountInteger", + "documentation":"

            Total number of axles of the vehicle.

            " + }, + "EngineType":{ + "shape":"IsolineEngineType", + "documentation":"

            Engine type of the vehicle.

            " + }, + "GrossWeight":{ + "shape":"WeightKilograms", + "documentation":"

            Gross weight of the vehicle including trailers, and goods at capacity.

            Unit: Kilograms

            " + }, + "HazardousCargos":{ + "shape":"IsolineHazardousCargoTypeList", + "documentation":"

            List of Hazardous cargo contained in the vehicle.

            " + }, + "Height":{ + "shape":"IsolineTruckOptionsHeightLong", + "documentation":"

            Height of the vehicle.

            Unit: centimeters

            " + }, + "HeightAboveFirstAxle":{ + "shape":"IsolineTruckOptionsHeightAboveFirstAxleLong", + "documentation":"

            Height of the vehicle above its first axle.

            Unit: centimeters

            " + }, + "KpraLength":{ + "shape":"DimensionCentimeters", + "documentation":"

            Kingpin to rear axle length of the vehicle.

            Unit: centimeters

            " + }, + "Length":{ + "shape":"IsolineTruckOptionsLengthLong", + "documentation":"

            Length of the vehicle.

            Unit: centimeters

            " + }, + "LicensePlate":{ + "shape":"IsolineVehicleLicensePlate", + "documentation":"

            The vehicle License Plate.

            " + }, + "MaxSpeed":{ + "shape":"IsolineTruckOptionsMaxSpeedDouble", + "documentation":"

            Maximum speed specified.

            Unit: KilometersPerHour

            ", + "box":true + }, + "Occupancy":{ + "shape":"IsolineTruckOptionsOccupancyInteger", + "documentation":"

            The number of occupants in the vehicle.

            Default Value: 1

            " + }, + "PayloadCapacity":{ + "shape":"WeightKilograms", + "documentation":"

            Payload capacity of the vehicle and trailers attached.

            Unit: kilograms

            " + }, + "TireCount":{ + "shape":"IsolineTruckOptionsTireCountInteger", + "documentation":"

            Number of tires on the vehicle.

            " + }, + "Trailer":{ + "shape":"IsolineTrailerOptions", + "documentation":"

            Trailer options corresponding to the vehicle.

            " + }, + "TruckType":{ + "shape":"IsolineTruckType", + "documentation":"

            Type of the truck.

            " + }, + "TunnelRestrictionCode":{ + "shape":"TunnelRestrictionCode", + "documentation":"

            The tunnel restriction code.

            Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. They relate to the types of dangerous goods that can be transported through them.

            • Tunnel Category B

              • Risk Level: Limited risk

              • Restrictions: Few restrictions

            • Tunnel Category C

              • Risk Level: Medium risk

              • Restrictions: Some restrictions

            • Tunnel Category D

              • Risk Level: High risk

              • Restrictions: Many restrictions occur

            • Tunnel Category E

              • Risk Level: Very high risk

              • Restrictions: Restricted tunnel

            " + }, + "WeightPerAxle":{ + "shape":"WeightKilograms", + "documentation":"

            Heaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.

            Unit: Kilograms

            " + }, + "WeightPerAxleGroup":{ + "shape":"WeightPerAxleGroup", + "documentation":"

            Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.

            Unit: Kilograms

            " + }, + "Width":{ + "shape":"IsolineTruckOptionsWidthLong", + "documentation":"

            Width of the vehicle.

            Unit: centimeters

            " + } + }, + "documentation":"

            Travel mode options when the provided travel mode is \"Truck\"

            " + }, + "IsolineTruckOptionsAxleCountInteger":{ + "type":"integer", + "box":true, + "max":255, + "min":2 + }, + "IsolineTruckOptionsHeightAboveFirstAxleLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "IsolineTruckOptionsHeightLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "IsolineTruckOptionsLengthLong":{ + "type":"long", + "max":30000, + "min":0 + }, + "IsolineTruckOptionsMaxSpeedDouble":{ + "type":"double", + "max":252.0, + "min":3.6 + }, + "IsolineTruckOptionsOccupancyInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "IsolineTruckOptionsTireCountInteger":{ + "type":"integer", + "box":true, + "max":255, + "min":1 + }, + "IsolineTruckOptionsWidthLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "IsolineTruckType":{ + "type":"string", + "enum":[ + "LightTruck", + "StraightTruck", + "Tractor" + ] + }, + "IsolineVehicleLicensePlate":{ + "type":"structure", + "members":{ + "LastCharacter":{ + "shape":"IsolineVehicleLicensePlateLastCharacterString", + "documentation":"

            The last character of the License Plate.

            " + } + }, + "documentation":"

            The vehicle license plate.

            " + }, + "IsolineVehicleLicensePlateLastCharacterString":{ + "type":"string", + "max":1, + "min":1 + }, + "IsolineZoneCategory":{ + "type":"string", + "enum":[ + "CongestionPricing", + "Environmental", + "Vignette" + ] + }, + "LanguageTag":{ + "type":"string", + "max":35, + "min":2 + }, + "LineString":{ + "type":"list", + "member":{"shape":"Position"}, + "min":2 + }, + "LinearRing":{ + "type":"list", + "member":{"shape":"Position"}, + "min":4 + }, + "LinearRings":{ + "type":"list", + "member":{"shape":"LinearRing"}, + "min":1 + }, + "LocalizedString":{ + "type":"structure", + "required":["Value"], + "members":{ + "Language":{ + "shape":"LanguageTag", + "documentation":"

            A list of BCP 47 compliant language codes for the results to be rendered in. The request uses the regional default as the fallback if the requested language can't be provided.

            " + }, + "Value":{ + "shape":"String", + "documentation":"

            The value of the localized string.

            " + } + }, + "documentation":"

            The localized string.

            " + }, + "LocalizedStringList":{ + "type":"list", + "member":{"shape":"LocalizedString"} + }, + "MatchingStrategy":{ + "type":"string", + "enum":[ + "MatchAny", + "MatchMostSignificantRoad" + ] + }, + "MeasurementSystem":{ + "type":"string", + "enum":[ + "Metric", + "Imperial" + ] + }, + "OptimizeWaypointsRequest":{ + "type":"structure", + "required":["Origin"], + "members":{ + "Avoid":{ + "shape":"WaypointOptimizationAvoidanceOptions", + "documentation":"

            Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an avoidance can't be satisfied for a particular case, this setting is ignored.

            " + }, + "DepartureTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Departure time from the waypoint.

            Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "Destination":{ + "shape":"Position", + "documentation":"

            The final position for the route in the World Geodetic System (WGS 84) format: [longitude, latitude].

            " + }, + "DestinationOptions":{ + "shape":"WaypointOptimizationDestinationOptions", + "documentation":"

            Destination related options.

            " + }, + "Driver":{ + "shape":"WaypointOptimizationDriverOptions", + "documentation":"

            Driver related options.

            " + }, + "Exclude":{ + "shape":"WaypointOptimizationExclusionOptions", + "documentation":"

            Features to be strictly excluded while calculating the route.

            " + }, + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + }, + "OptimizeSequencingFor":{ + "shape":"WaypointOptimizationSequencingObjective", + "documentation":"

            Specifies the optimization criteria for the calculated sequence.

            Default Value: FastestRoute.

            " + }, + "Origin":{ + "shape":"Position", + "documentation":"

            The start position for the route.

            " + }, + "OriginOptions":{ + "shape":"WaypointOptimizationOriginOptions", + "documentation":"

            Origin related options.

            " + }, + "Traffic":{ + "shape":"WaypointOptimizationTrafficOptions", + "documentation":"

            Traffic-related options.

            " + }, + "TravelMode":{ + "shape":"WaypointOptimizationTravelMode", + "documentation":"

            Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

            Default Value: Car

            " + }, + "TravelModeOptions":{ + "shape":"WaypointOptimizationTravelModeOptions", + "documentation":"

            Travel mode related options for the provided travel mode.

            " + }, + "Waypoints":{ + "shape":"WaypointOptimizationWaypointList", + "documentation":"

            List of waypoints between the Origin and Destination.

            " + } + } + }, + "OptimizeWaypointsResponse":{ + "type":"structure", + "required":[ + "Connections", + "Distance", + "Duration", + "ImpedingWaypoints", + "OptimizedWaypoints", + "PricingBucket", + "TimeBreakdown" + ], + "members":{ + "Connections":{ + "shape":"WaypointOptimizationConnectionList", + "documentation":"

            Details about the connection from one waypoint to the next, within the optimized sequence.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Overall distance to travel the whole sequence.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Overall duration to travel the whole sequence.

            Unit: seconds

            " + }, + "ImpedingWaypoints":{ + "shape":"WaypointOptimizationImpedingWaypointList", + "documentation":"

            Returns waypoints that caused the optimization problem to fail, and the constraints that were unsatisfied leading to the failure.

            " + }, + "OptimizedWaypoints":{ + "shape":"WaypointOptimizationOptimizedWaypointList", + "documentation":"

            Waypoints in the order of the optimized sequence.

            " + }, + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "TimeBreakdown":{ + "shape":"WaypointOptimizationTimeBreakdown", + "documentation":"

            Time breakdown for the sequence.

            " + } + } + }, + "Polyline":{ + "type":"string", + "min":1, + "sensitive":true + }, + "PolylineCorridor":{ + "type":"structure", + "required":[ + "Polyline", + "Radius" + ], + "members":{ + "Polyline":{ + "shape":"Polyline", + "documentation":"

            An ordered list of positions used to plot a route on a map in a lossy compression format.

            LineString and Polyline are mutually exclusive properties.

            " + }, + "Radius":{ + "shape":"Integer", + "documentation":"

            Considers all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.

            Unit: Meters

            " + } + }, + "documentation":"

            Geometry defined as an encoded corridor - an encoded polyline with a radius that defines the width of the corridor.

            ", + "sensitive":true + }, + "PolylineRing":{ + "type":"string", + "min":1, + "sensitive":true + }, + "PolylineRingList":{ + "type":"list", + "member":{"shape":"PolylineRing"}, + "min":1 + }, + "Position":{ + "type":"list", + "member":{"shape":"Double"}, + "max":2, + "min":2, + "sensitive":true + }, + "Position23":{ + "type":"list", + "member":{"shape":"Double"}, + "max":3, + "min":2, + "sensitive":true + }, + "RoadSnapHazardousCargoType":{ + "type":"string", + "enum":[ + "Combustible", + "Corrosive", + "Explosive", + "Flammable", + "Gas", + "HarmfulToWater", + "Organic", + "Other", + "Poison", + "PoisonousInhalation", + "Radioactive" + ] + }, + "RoadSnapHazardousCargoTypeList":{ + "type":"list", + "member":{"shape":"RoadSnapHazardousCargoType"}, + "max":11, + "min":0 + }, + "RoadSnapNotice":{ + "type":"structure", + "required":[ + "Code", + "Title", + "TracePointIndexes" + ], + "members":{ + "Code":{ + "shape":"RoadSnapNoticeCode", + "documentation":"

            Code corresponding to the issue.

            " + }, + "Title":{ + "shape":"String", + "documentation":"

            The notice title.

            " + }, + "TracePointIndexes":{ + "shape":"RoadSnapTracePointIndexList", + "documentation":"

            TracePoint indices for which the provided notice code corresponds to.

            " + } + }, + "documentation":"

            Notices provide information around factors that may have influenced snapping in a manner atypical to the standard use cases.

            " + }, + "RoadSnapNoticeCode":{ + "type":"string", + "enum":[ + "TracePointsHeadingIgnored", + "TracePointsIgnored", + "TracePointsMovedByLargeDistance", + "TracePointsNotMatched", + "TracePointsOutOfSequence", + "TracePointsSpeedEstimated", + "TracePointsSpeedIgnored" + ] + }, + "RoadSnapNoticeList":{ + "type":"list", + "member":{"shape":"RoadSnapNotice"} + }, + "RoadSnapSnappedGeometry":{ + "type":"structure", + "members":{ + "LineString":{ + "shape":"LineString", + "documentation":"

            An ordered list of positions used to plot a route on a map.

            LineString and Polyline are mutually exclusive properties.

            " + }, + "Polyline":{ + "shape":"Polyline", + "documentation":"

            An ordered list of positions used to plot a route on a map in a lossy compression format.

            LineString and Polyline are mutually exclusive properties.

            " + } + }, + "documentation":"

            Interpolated geometry for the snapped route that is overlay-able onto a map.

            " + }, + "RoadSnapSnappedTracePoint":{ + "type":"structure", + "required":[ + "Confidence", + "OriginalPosition", + "SnappedPosition" + ], + "members":{ + "Confidence":{ + "shape":"RoadSnapSnappedTracePointConfidenceDouble", + "documentation":"

            Confidence value for the correctness of this point match.

            " + }, + "OriginalPosition":{ + "shape":"Position", + "documentation":"

            Position of the TracePoint provided within the request, at the same index.

            " + }, + "SnappedPosition":{ + "shape":"Position", + "documentation":"

            Snapped position of the TracePoint provided within the request, at the same index.

            " + } + }, + "documentation":"

            TracePoints snapped onto the road network.

            " + }, + "RoadSnapSnappedTracePointConfidenceDouble":{ + "type":"double", + "box":true, + "max":1, + "min":0 + }, + "RoadSnapSnappedTracePointList":{ + "type":"list", + "member":{"shape":"RoadSnapSnappedTracePoint"} + }, + "RoadSnapTracePoint":{ + "type":"structure", + "required":["Position"], + "members":{ + "Heading":{ + "shape":"Heading", + "documentation":"

            GPS Heading at the position.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            Position defined as [longitude, latitude].

            " + }, + "Speed":{ + "shape":"SpeedKilometersPerHour", + "documentation":"

            Speed at the specified trace point .

            Unit: KilometersPerHour

            " + }, + "Timestamp":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Timestamp of the event.

            " + } + }, + "documentation":"

            TracePoint indices for which the provided notice code corresponds to.

            " + }, + "RoadSnapTracePointIndexList":{ + "type":"list", + "member":{"shape":"Integer"}, + "max":1000, + "min":1 + }, + "RoadSnapTrailerOptions":{ + "type":"structure", + "members":{ + "TrailerCount":{ + "shape":"RoadSnapTrailerOptionsTrailerCountInteger", + "documentation":"

            Number of trailers attached to the vehicle.

            Default Value: 0

            " + } + }, + "documentation":"

            Trailer options corresponding to the vehicle.

            " + }, + "RoadSnapTrailerOptionsTrailerCountInteger":{ + "type":"integer", + "box":true, + "max":255, + "min":0 + }, + "RoadSnapTravelMode":{ + "type":"string", + "enum":[ + "Car", + "Pedestrian", + "Scooter", + "Truck" + ] + }, + "RoadSnapTravelModeOptions":{ + "type":"structure", + "members":{ + "Truck":{ + "shape":"RoadSnapTruckOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Truck\".

            " + } + }, + "documentation":"

            Travel mode related options for the provided travel mode.

            " + }, + "RoadSnapTruckOptions":{ + "type":"structure", + "members":{ + "GrossWeight":{ + "shape":"WeightKilograms", + "documentation":"

            Gross weight of the vehicle including trailers, and goods at capacity.

            Unit: Kilograms

            " + }, + "HazardousCargos":{ + "shape":"RoadSnapHazardousCargoTypeList", + "documentation":"

            List of Hazardous cargos contained in the vehicle.

            " + }, + "Height":{ + "shape":"RoadSnapTruckOptionsHeightLong", + "documentation":"

            Height of the vehicle.

            Unit: centimeters

            " + }, + "Length":{ + "shape":"RoadSnapTruckOptionsLengthLong", + "documentation":"

            Length of the vehicle.

            Unit: centimeters

            " + }, + "Trailer":{ + "shape":"RoadSnapTrailerOptions", + "documentation":"

            Trailer options corresponding to the vehicle.

            " + }, + "TunnelRestrictionCode":{ + "shape":"TunnelRestrictionCode", + "documentation":"

            The tunnel restriction code.

            Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. They relate to the types of dangerous goods that can be transported through them.

            • Tunnel Category B

              • Risk Level: Limited risk

              • Restrictions: Few restrictions

            • Tunnel Category C

              • Risk Level: Medium risk

              • Restrictions: Some restrictions

            • Tunnel Category D

              • Risk Level: High risk

              • Restrictions: Many restrictions occur

            • Tunnel Category E

              • Risk Level: Very high risk

              • Restrictions: Restricted tunnel

            " + }, + "Width":{ + "shape":"RoadSnapTruckOptionsWidthLong", + "documentation":"

            Width of the vehicle in centimenters.

            " + } + }, + "documentation":"

            Travel mode options when the provided travel mode is \"Truck\".

            " + }, + "RoadSnapTruckOptionsHeightLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "RoadSnapTruckOptionsLengthLong":{ + "type":"long", + "max":30000, + "min":0 + }, + "RoadSnapTruckOptionsWidthLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "RoundaboutAngle":{ + "type":"double", + "max":360, + "min":-360 + }, + "Route":{ + "type":"structure", + "required":[ + "Legs", + "MajorRoadLabels" + ], + "members":{ + "Legs":{ + "shape":"RouteLegList", + "documentation":"

            A leg is a section of a route from one waypoint to the next. A leg could be of type Vehicle, Pedestrian or Ferry. Legs of different types could occur together within a single route. For example, a car employing the use of a Ferry will contain Vehicle legs corresponding to journey on land, and Ferry legs corresponding to the journey via Ferry.

            " + }, + "MajorRoadLabels":{ + "shape":"RouteMajorRoadLabelsList", + "documentation":"

            Important labels including names and route numbers that differentiate the current route from the alternatives presented.

            " + }, + "Summary":{ + "shape":"RouteSummary", + "documentation":"

            Summarized details of the leg.

            " + } + }, + "documentation":"

            The route.

            " + }, + "RouteAllowOptions":{ + "type":"structure", + "members":{ + "Hot":{ + "shape":"Boolean", + "documentation":"

            Allow Hot (High Occupancy Toll) lanes while calculating the route.

            " + }, + "Hov":{ + "shape":"Boolean", + "documentation":"

            Allow Hov (High Occupancy vehicle) lanes while calculating the route.

            " + } + }, + "documentation":"

            Features that are allowed while calculating. a route

            " + }, + "RouteAvoidanceArea":{ + "type":"structure", + "required":["Geometry"], + "members":{ + "Except":{ + "shape":"RouteAvoidanceAreaGeometryList", + "documentation":"

            Exceptions to the provided avoidance geometry, to be included while calculating the route.

            " + }, + "Geometry":{"shape":"RouteAvoidanceAreaGeometry"} + }, + "documentation":"

            Areas to be avoided.

            " + }, + "RouteAvoidanceAreaGeometry":{ + "type":"structure", + "members":{ + "Corridor":{ + "shape":"Corridor", + "documentation":"

            Geometry defined as a corridor - a LineString with a radius that defines the width of the corridor.

            " + }, + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

            Geometry defined as a bounding box. The first pair represents the X and Y coordinates (longitude and latitude,) of the southwest corner of the bounding box; the second pair represents the X and Y coordinates (longitude and latitude) of the northeast corner.

            " + }, + "Polygon":{ + "shape":"RouteAvoidanceAreaGeometryPolygonList", + "documentation":"

            Geometry defined as a polygon with only one linear ring.

            " + }, + "PolylineCorridor":{ + "shape":"PolylineCorridor", + "documentation":"

            Geometry defined as an encoded corridor - an encoded polyline with a radius that defines the width of the corridor.

            " + }, + "PolylinePolygon":{ + "shape":"RouteAvoidanceAreaGeometryPolylinePolygonList", + "documentation":"

            A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it contains PolylinePolygon of the first linear ring (the outer ring) and from 2nd item to the last item (the inner rings). For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.

            " + } + }, + "documentation":"

            Geometry of the area to be avoided.

            " + }, + "RouteAvoidanceAreaGeometryList":{ + "type":"list", + "member":{"shape":"RouteAvoidanceAreaGeometry"} + }, + "RouteAvoidanceAreaGeometryPolygonList":{ + "type":"list", + "member":{"shape":"LinearRing"}, + "max":1, + "min":1 + }, + "RouteAvoidanceAreaGeometryPolylinePolygonList":{ + "type":"list", + "member":{"shape":"PolylineRing"}, + "max":1, + "min":1 + }, + "RouteAvoidanceAreaList":{ + "type":"list", + "member":{"shape":"RouteAvoidanceArea"} + }, + "RouteAvoidanceOptions":{ + "type":"structure", + "members":{ + "Areas":{ + "shape":"RouteAvoidanceAreaList", + "documentation":"

            Areas to be avoided.

            " + }, + "CarShuttleTrains":{ + "shape":"Boolean", + "documentation":"

            Avoid car-shuttle-trains while calculating the route.

            " + }, + "ControlledAccessHighways":{ + "shape":"Boolean", + "documentation":"

            Avoid controlled access highways while calculating the route.

            " + }, + "DirtRoads":{ + "shape":"Boolean", + "documentation":"

            Avoid dirt roads while calculating the route.

            " + }, + "Ferries":{ + "shape":"Boolean", + "documentation":"

            Avoid ferries while calculating the route.

            " + }, + "SeasonalClosure":{ + "shape":"Boolean", + "documentation":"

            Avoid roads that have seasonal closure while calculating the route.

            " + }, + "TollRoads":{ + "shape":"Boolean", + "documentation":"

            Avoids roads where the specified toll transponders are the only mode of payment.

            " + }, + "TollTransponders":{ + "shape":"Boolean", + "documentation":"

            Avoids roads where the specified toll transponders are the only mode of payment.

            " + }, + "TruckRoadTypes":{ + "shape":"TruckRoadTypeList", + "documentation":"

            Truck road type identifiers. BK1 through BK4 apply only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

            There are currently no other supported values as of 26th April 2024.

            " + }, + "Tunnels":{ + "shape":"Boolean", + "documentation":"

            Avoid tunnels while calculating the route.

            " + }, + "UTurns":{ + "shape":"Boolean", + "documentation":"

            Avoid U-turns for calculation on highways and motorways.

            " + }, + "ZoneCategories":{ + "shape":"RouteAvoidanceZoneCategoryList", + "documentation":"

            Zone categories to be avoided.

            " + } + }, + "documentation":"

            Options related to areas to be avoided.

            " + }, + "RouteAvoidanceZoneCategory":{ + "type":"structure", + "required":["Category"], + "members":{ + "Category":{ + "shape":"RouteZoneCategory", + "documentation":"

            Zone category to be avoided.

            " + } + }, + "documentation":"

            Zone categories to be avoided.

            " + }, + "RouteAvoidanceZoneCategoryList":{ + "type":"list", + "member":{"shape":"RouteAvoidanceZoneCategory"}, + "max":3, + "min":0 + }, + "RouteCarOptions":{ + "type":"structure", + "members":{ + "EngineType":{ + "shape":"RouteEngineType", + "documentation":"

            Engine type of the vehicle.

            " + }, + "LicensePlate":{ + "shape":"RouteVehicleLicensePlate", + "documentation":"

            The vehicle License Plate.

            " + }, + "MaxSpeed":{ + "shape":"RouteCarOptionsMaxSpeedDouble", + "documentation":"

            Maximum speed specified.

            Unit: KilometersPerHour

            ", + "box":true + }, + "Occupancy":{ + "shape":"RouteCarOptionsOccupancyInteger", + "documentation":"

            The number of occupants in the vehicle.

            Default Value: 1

            " + } + }, + "documentation":"

            Travel mode options when the provided travel mode is \"Car\"

            " + }, + "RouteCarOptionsMaxSpeedDouble":{ + "type":"double", + "max":252.0, + "min":3.6 + }, + "RouteCarOptionsOccupancyInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "RouteContinueHighwayStepDetails":{ + "type":"structure", + "required":["Intersection"], + "members":{ + "Intersection":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the intersection, if applicable to the step.

            " + }, + "SteeringDirection":{ + "shape":"RouteSteeringDirection", + "documentation":"

            Steering direction for the step.

            " + }, + "TurnAngle":{ + "shape":"TurnAngle", + "documentation":"

            Angle of the turn.

            " + }, + "TurnIntensity":{ + "shape":"RouteTurnIntensity", + "documentation":"

            Intensity of the turn.

            " + } + }, + "documentation":"

            Details related to the continue highway step.

            " + }, + "RouteContinueStepDetails":{ + "type":"structure", + "required":["Intersection"], + "members":{ + "Intersection":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the intersection, if applicable to the step.

            " + } + }, + "documentation":"

            Details related to the continue step.

            " + }, + "RouteDestinationOptions":{ + "type":"structure", + "members":{ + "AvoidActionsForDistance":{ + "shape":"RouteDestinationOptionsAvoidActionsForDistanceLong", + "documentation":"

            Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.

            " + }, + "AvoidUTurns":{ + "shape":"Boolean", + "documentation":"

            Avoid U-turns for calculation on highways and motorways.

            " + }, + "Heading":{ + "shape":"Heading", + "documentation":"

            GPS Heading at the position.

            " + }, + "Matching":{ + "shape":"RouteMatchingOptions", + "documentation":"

            Options to configure matching the provided position to the road network.

            " + }, + "SideOfStreet":{ + "shape":"RouteSideOfStreetOptions", + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + }, + "StopDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the stop.

            Unit: seconds

            " + } + }, + "documentation":"

            Options related to the destination.

            " + }, + "RouteDestinationOptionsAvoidActionsForDistanceLong":{ + "type":"long", + "max":2000 + }, + "RouteDirection":{ + "type":"string", + "enum":[ + "East", + "North", + "South", + "West" + ] + }, + "RouteDriverOptions":{ + "type":"structure", + "members":{ + "Schedule":{ + "shape":"RouteDriverScheduleIntervalList", + "documentation":"

            Driver work-rest schedule. Stops are added to fulfil the provided rest schedule.

            " + } + }, + "documentation":"

            Driver related options.

            " + }, + "RouteDriverScheduleInterval":{ + "type":"structure", + "required":[ + "DriveDuration", + "RestDuration" + ], + "members":{ + "DriveDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Maximum allowed driving time before stopping to rest.

            Unit: seconds

            " + }, + "RestDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Resting time before the driver can continue driving.

            Unit: seconds

            " + } + }, + "documentation":"

            Interval of the driver work-rest schedule. Stops are added to fulfil the provided rest schedule.

            " + }, + "RouteDriverScheduleIntervalList":{ + "type":"list", + "member":{"shape":"RouteDriverScheduleInterval"} + }, + "RouteEmissionType":{ + "type":"structure", + "required":["Type"], + "members":{ + "Co2EmissionClass":{ + "shape":"String", + "documentation":"

            The CO 2 emission classes.

            " + }, + "Type":{ + "shape":"String", + "documentation":"

            Type of the emission.

            Valid values: Euro1, Euro2, Euro3, Euro4, Euro5, Euro6, EuroEev

            " + } + }, + "documentation":"

            Type of the emission.

            Valid values: Euro1, Euro2, Euro3, Euro4, Euro5, Euro6, EuroEev

            " + }, + "RouteEngineType":{ + "type":"string", + "enum":[ + "Electric", + "InternalCombustion", + "PluginHybrid" + ] + }, + "RouteEnterHighwayStepDetails":{ + "type":"structure", + "required":["Intersection"], + "members":{ + "Intersection":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the intersection, if applicable to the step.

            " + }, + "SteeringDirection":{ + "shape":"RouteSteeringDirection", + "documentation":"

            Steering direction for the step.

            " + }, + "TurnAngle":{ + "shape":"TurnAngle", + "documentation":"

            Angle of the turn.

            " + }, + "TurnIntensity":{ + "shape":"RouteTurnIntensity", + "documentation":"

            Intensity of the turn.

            " + } + }, + "documentation":"

            Details related to the enter highway step.

            " + }, + "RouteExclusionOptions":{ + "type":"structure", + "required":["Countries"], + "members":{ + "Countries":{ + "shape":"CountryCodeList", + "documentation":"

            List of countries to be avoided defined by two-letter or three-letter country codes.

            " + } + }, + "documentation":"

            Exclusion options for the route.

            " + }, + "RouteExitStepDetails":{ + "type":"structure", + "required":["Intersection"], + "members":{ + "Intersection":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the intersection, if applicable to the step.

            " + }, + "RelativeExit":{ + "shape":"RouteExitStepDetailsRelativeExitInteger", + "documentation":"

            Exit to be taken.

            " + }, + "SteeringDirection":{ + "shape":"RouteSteeringDirection", + "documentation":"

            Steering direction for the step.

            " + }, + "TurnAngle":{ + "shape":"TurnAngle", + "documentation":"

            Angle of the turn.

            " + }, + "TurnIntensity":{ + "shape":"RouteTurnIntensity", + "documentation":"

            Intensity of the turn.

            " + } + }, + "documentation":"

            Details related to the exit step.

            " + }, + "RouteExitStepDetailsRelativeExitInteger":{ + "type":"integer", + "box":true, + "max":12, + "min":1 + }, + "RouteFerryAfterTravelStep":{ + "type":"structure", + "required":[ + "Duration", + "Type" + ], + "members":{ + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the step.

            Unit: seconds

            " + }, + "Instruction":{ + "shape":"String", + "documentation":"

            Brief description of the step in the requested language.

            Only available when the TravelStepType is Default.

            " + }, + "Type":{ + "shape":"RouteFerryAfterTravelStepType", + "documentation":"

            Type of the step.

            " + } + }, + "documentation":"

            Steps of a leg that must be performed after the travel portion of the leg.

            " + }, + "RouteFerryAfterTravelStepList":{ + "type":"list", + "member":{"shape":"RouteFerryAfterTravelStep"} + }, + "RouteFerryAfterTravelStepType":{ + "type":"string", + "enum":["Deboard"] + }, + "RouteFerryArrival":{ + "type":"structure", + "required":["Place"], + "members":{ + "Place":{ + "shape":"RouteFerryPlace", + "documentation":"

            The place details.

            " + }, + "Time":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            The time.

            " + } + }, + "documentation":"

            Details corresponding to the arrival for the leg.

            " + }, + "RouteFerryBeforeTravelStep":{ + "type":"structure", + "required":[ + "Duration", + "Type" + ], + "members":{ + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the step.

            Unit: seconds

            " + }, + "Instruction":{ + "shape":"String", + "documentation":"

            Brief description of the step in the requested language.

            Only available when the TravelStepType is Default.

            " + }, + "Type":{ + "shape":"RouteFerryBeforeTravelStepType", + "documentation":"

            Type of the step.

            " + } + }, + "documentation":"

            Steps of a leg that must be performed before the travel portion of the leg.

            " + }, + "RouteFerryBeforeTravelStepList":{ + "type":"list", + "member":{"shape":"RouteFerryBeforeTravelStep"} + }, + "RouteFerryBeforeTravelStepType":{ + "type":"string", + "enum":["Board"] + }, + "RouteFerryDeparture":{ + "type":"structure", + "required":["Place"], + "members":{ + "Place":{ + "shape":"RouteFerryPlace", + "documentation":"

            The place details.

            " + }, + "Time":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            The time.

            " + } + }, + "documentation":"

            Details corresponding to the departure for the leg.

            " + }, + "RouteFerryLegDetails":{ + "type":"structure", + "required":[ + "AfterTravelSteps", + "Arrival", + "BeforeTravelSteps", + "Departure", + "Notices", + "PassThroughWaypoints", + "Spans", + "TravelSteps" + ], + "members":{ + "AfterTravelSteps":{ + "shape":"RouteFerryAfterTravelStepList", + "documentation":"

            Steps of a leg that must be performed after the travel portion of the leg.

            " + }, + "Arrival":{ + "shape":"RouteFerryArrival", + "documentation":"

            Details corresponding to the arrival for the leg.

            " + }, + "BeforeTravelSteps":{ + "shape":"RouteFerryBeforeTravelStepList", + "documentation":"

            Steps of a leg that must be performed before the travel portion of the leg.

            " + }, + "Departure":{ + "shape":"RouteFerryDeparture", + "documentation":"

            Details corresponding to the departure for the leg.

            " + }, + "Notices":{ + "shape":"RouteFerryNoticeList", + "documentation":"

            Notices are additional information returned that indicate issues that occurred during route calculation.

            " + }, + "PassThroughWaypoints":{ + "shape":"RoutePassThroughWaypointList", + "documentation":"

            Waypoints that were passed through during the leg. This includes the waypoints that were configured with the PassThrough option.

            " + }, + "RouteName":{ + "shape":"String", + "documentation":"

            Route name of the ferry line.

            " + }, + "Spans":{ + "shape":"RouteFerrySpanList", + "documentation":"

            Spans that were computed for the requested SpanAdditionalFeatures.

            " + }, + "Summary":{ + "shape":"RouteFerrySummary", + "documentation":"

            Summarized details of the leg.

            " + }, + "TravelSteps":{ + "shape":"RouteFerryTravelStepList", + "documentation":"

            Steps of a leg that must be performed before the travel portion of the leg.

            " + } + }, + "documentation":"

            FerryLegDetails is populated when the Leg type is Ferry, and provides additional information that is specific

            " + }, + "RouteFerryNotice":{ + "type":"structure", + "required":["Code"], + "members":{ + "Code":{ + "shape":"RouteFerryNoticeCode", + "documentation":"

            Code corresponding to the issue.

            " + }, + "Impact":{ + "shape":"RouteNoticeImpact", + "documentation":"

            Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.

            " + } + }, + "documentation":"

            Notices are additional information returned that indicate issues that occurred during route calculation.

            " + }, + "RouteFerryNoticeCode":{ + "type":"string", + "enum":[ + "AccuratePolylineUnavailable", + "NoSchedule", + "Other", + "ViolatedAvoidFerry", + "ViolatedAvoidRailFerry" + ] + }, + "RouteFerryNoticeList":{ + "type":"list", + "member":{"shape":"RouteFerryNotice"} + }, + "RouteFerryOverviewSummary":{ + "type":"structure", + "required":[ + "Distance", + "Duration" + ], + "members":{ + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Distance of the step.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the step.

            Unit: seconds

            " + } + }, + "documentation":"

            Summarized details of the leg.

            " + }, + "RouteFerryPlace":{ + "type":"structure", + "required":["Position"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

            The name of the place.

            " + }, + "OriginalPosition":{ + "shape":"Position23", + "documentation":"

            Position provided in the request.

            " + }, + "Position":{ + "shape":"Position23", + "documentation":"

            Position defined as [longitude, latitude].

            " + }, + "WaypointIndex":{ + "shape":"RouteFerryPlaceWaypointIndexInteger", + "documentation":"

            Index of the waypoint in the request.

            " + } + }, + "documentation":"

            Position provided in the request.

            " + }, + "RouteFerryPlaceWaypointIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RouteFerrySpan":{ + "type":"structure", + "members":{ + "Country":{ + "shape":"CountryCode3", + "documentation":"

            3 letter Country code corresponding to the Span.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Distance of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.

            Unit: seconds

            " + }, + "GeometryOffset":{ + "shape":"RouteFerrySpanGeometryOffsetInteger", + "documentation":"

            Offset in the leg geometry corresponding to the start of this span.

            " + }, + "Names":{ + "shape":"LocalizedStringList", + "documentation":"

            Provides an array of names of the ferry span in available languages.

            " + }, + "Region":{ + "shape":"RouteFerrySpanRegionString", + "documentation":"

            2-3 letter Region code corresponding to the Span. This is either a province or a state.

            " + } + }, + "documentation":"

            Span computed for the requested SpanAdditionalFeatures.

            " + }, + "RouteFerrySpanGeometryOffsetInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RouteFerrySpanList":{ + "type":"list", + "member":{"shape":"RouteFerrySpan"} + }, + "RouteFerrySpanRegionString":{ + "type":"string", + "max":3, + "min":0 + }, + "RouteFerrySummary":{ + "type":"structure", + "members":{ + "Overview":{ + "shape":"RouteFerryOverviewSummary", + "documentation":"

            Summarized details for the leg including before travel, travel and after travel steps.

            " + }, + "TravelOnly":{ + "shape":"RouteFerryTravelOnlySummary", + "documentation":"

            Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is in meters

            " + } + }, + "documentation":"

            Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is the same as the Distance within the Overview summary.

            " + }, + "RouteFerryTravelOnlySummary":{ + "type":"structure", + "required":["Duration"], + "members":{ + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Total duration in free flowing traffic, which is the best case or shortest duration possible to cover the leg.

            Unit: seconds

            " + } + }, + "documentation":"

            Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is the same as the Distance within the Overview summary.

            " + }, + "RouteFerryTravelStep":{ + "type":"structure", + "required":[ + "Duration", + "Type" + ], + "members":{ + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Distance of the step.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the step.

            Unit: seconds

            " + }, + "GeometryOffset":{ + "shape":"RouteFerryTravelStepGeometryOffsetInteger", + "documentation":"

            Offset in the leg geometry corresponding to the start of this step.

            " + }, + "Instruction":{ + "shape":"String", + "documentation":"

            Brief description of the step in the requested language.

            Only available when the TravelStepType is Default.

            " + }, + "Type":{ + "shape":"RouteFerryTravelStepType", + "documentation":"

            Type of the step.

            " + } + }, + "documentation":"

            Steps of a leg that must be performed during the travel portion of the leg.

            " + }, + "RouteFerryTravelStepGeometryOffsetInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RouteFerryTravelStepList":{ + "type":"list", + "member":{"shape":"RouteFerryTravelStep"} + }, + "RouteFerryTravelStepType":{ + "type":"string", + "enum":[ + "Depart", + "Continue", + "Arrive" + ] + }, + "RouteHazardousCargoType":{ + "type":"string", + "enum":[ + "Combustible", + "Corrosive", + "Explosive", + "Flammable", + "Gas", + "HarmfulToWater", + "Organic", + "Other", + "Poison", + "PoisonousInhalation", + "Radioactive" + ] + }, + "RouteHazardousCargoTypeList":{ + "type":"list", + "member":{"shape":"RouteHazardousCargoType"}, + "max":11, + "min":0 + }, + "RouteKeepStepDetails":{ + "type":"structure", + "required":["Intersection"], + "members":{ + "Intersection":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the intersection, if applicable to the step.

            " + }, + "SteeringDirection":{ + "shape":"RouteSteeringDirection", + "documentation":"

            Steering direction for the step.

            " + }, + "TurnAngle":{ + "shape":"TurnAngle", + "documentation":"

            Angle of the turn.

            " + }, + "TurnIntensity":{ + "shape":"RouteTurnIntensity", + "documentation":"

            Intensity of the turn.

            " + } + }, + "documentation":"

            Details that are specific to a Keep step.

            " + }, + "RouteLeg":{ + "type":"structure", + "required":[ + "Geometry", + "TravelMode", + "Type" + ], + "members":{ + "FerryLegDetails":{ + "shape":"RouteFerryLegDetails", + "documentation":"

            FerryLegDetails is populated when the Leg type is Ferry, and provides additional information that is specific

            " + }, + "Geometry":{ + "shape":"RouteLegGeometry", + "documentation":"

            Geometry of the area to be avoided.

            " + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            List of languages for instructions within steps in the response.

            " + }, + "PedestrianLegDetails":{ + "shape":"RoutePedestrianLegDetails", + "documentation":"

            Details related to the pedestrian leg.

            " + }, + "TravelMode":{ + "shape":"RouteLegTravelMode", + "documentation":"

            Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

            Default Value: Car

            " + }, + "Type":{ + "shape":"RouteLegType", + "documentation":"

            Type of the leg.

            " + }, + "VehicleLegDetails":{ + "shape":"RouteVehicleLegDetails", + "documentation":"

            Details related to the vehicle leg.

            " + } + }, + "documentation":"

            A leg is a section of a route from one waypoint to the next. A leg could be of type Vehicle, Pedestrian or Ferry. Legs of different types could occur together within a single route. For example, a car employing the use of a Ferry will contain Vehicle legs corresponding to journey on land, and Ferry legs corresponding to the journey via Ferry.

            " + }, + "RouteLegAdditionalFeature":{ + "type":"string", + "enum":[ + "Elevation", + "Incidents", + "PassThroughWaypoints", + "Summary", + "Tolls", + "TravelStepInstructions", + "TruckRoadTypes", + "TypicalDuration", + "Zones" + ] + }, + "RouteLegAdditionalFeatureList":{ + "type":"list", + "member":{"shape":"RouteLegAdditionalFeature"}, + "max":9, + "min":0 + }, + "RouteLegGeometry":{ + "type":"structure", + "members":{ + "LineString":{ + "shape":"LineString", + "documentation":"

            An ordered list of positions used to plot a route on a map.

            LineString and Polyline are mutually exclusive properties.

            " + }, + "Polyline":{ + "shape":"Polyline", + "documentation":"

            An ordered list of positions used to plot a route on a map in a lossy compression format.

            LineString and Polyline are mutually exclusive properties.

            " + } + }, + "documentation":"

            The returned Route leg geometry.

            " + }, + "RouteLegList":{ + "type":"list", + "member":{"shape":"RouteLeg"} + }, + "RouteLegTravelMode":{ + "type":"string", + "enum":[ + "Car", + "Ferry", + "Pedestrian", + "Scooter", + "Truck" + ] + }, + "RouteLegType":{ + "type":"string", + "enum":[ + "Ferry", + "Pedestrian", + "Vehicle" + ] + }, + "RouteList":{ + "type":"list", + "member":{"shape":"Route"} + }, + "RouteMajorRoadLabel":{ + "type":"structure", + "members":{ + "RoadName":{ + "shape":"LocalizedString", + "documentation":"

            Name of the road (localized).

            " + }, + "RouteNumber":{ + "shape":"RouteNumber", + "documentation":"

            Route number of the road.

            " + } + }, + "documentation":"

            Important labels including names and route numbers that differentiate the current route from the alternatives presented.

            " + }, + "RouteMajorRoadLabelsList":{ + "type":"list", + "member":{"shape":"RouteMajorRoadLabel"}, + "max":2, + "min":0 + }, + "RouteMatchingOptions":{ + "type":"structure", + "members":{ + "NameHint":{ + "shape":"RouteMatchingOptionsNameHintString", + "documentation":"

            Attempts to match the provided position to a road similar to the provided name.

            " + }, + "OnRoadThreshold":{ + "shape":"DistanceMeters", + "documentation":"

            If the distance to a highway/bridge/tunnel/sliproad is within threshold, the waypoint will be snapped to the highway/bridge/tunnel/sliproad.

            Unit: meters

            " + }, + "Radius":{ + "shape":"DistanceMeters", + "documentation":"

            Considers all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.

            Unit: Meters

            " + }, + "Strategy":{ + "shape":"MatchingStrategy", + "documentation":"

            Strategy that defines matching of the position onto the road network. MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches to the most significant road.

            " + } + }, + "documentation":"

            Options related to route matching.

            " + }, + "RouteMatchingOptionsNameHintString":{ + "type":"string", + "max":100, + "min":0, + "sensitive":true + }, + "RouteMatrix":{ + "type":"list", + "member":{"shape":"RouteMatrixRow"} + }, + "RouteMatrixAllowOptions":{ + "type":"structure", + "members":{ + "Hot":{ + "shape":"Boolean", + "documentation":"

            Allow Hot (High Occupancy Toll) lanes while calculating the route.

            " + }, + "Hov":{ + "shape":"Boolean", + "documentation":"

            Allow Hov (High Occupancy vehicle) lanes while calculating the route.

            " + } + }, + "documentation":"

            Allow Options related to the route matrix.

            " + }, + "RouteMatrixAutoCircle":{ + "type":"structure", + "members":{ + "Margin":{ + "shape":"RouteMatrixAutoCircleMarginLong", + "documentation":"

            The margin provided for the calculation.

            " + }, + "MaxRadius":{ + "shape":"RouteMatrixAutoCircleMaxRadiusLong", + "documentation":"

            The maximum size of the radius provided for the calculation.

            " + } + }, + "documentation":"

            Provides the circle that was used while calculating the route.

            " + }, + "RouteMatrixAutoCircleMarginLong":{ + "type":"long", + "max":200000, + "min":0 + }, + "RouteMatrixAutoCircleMaxRadiusLong":{ + "type":"long", + "max":200000, + "min":0 + }, + "RouteMatrixAvoidanceArea":{ + "type":"structure", + "required":["Geometry"], + "members":{ + "Geometry":{ + "shape":"RouteMatrixAvoidanceAreaGeometry", + "documentation":"

            Geometry of the area to be avoided.

            " + } + }, + "documentation":"

            Area to be avoided.

            " + }, + "RouteMatrixAvoidanceAreaGeometry":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

            Geometry defined as a bounding box. The first pair represents the X and Y coordinates (longitude and latitude,) of the southwest corner of the bounding box; the second pair represents the X and Y coordinates (longitude and latitude) of the northeast corner.

            " + }, + "Polygon":{ + "shape":"RouteMatrixAvoidanceAreaGeometryPolygonList", + "documentation":"

            Geometry defined as a polygon with only one linear ring.

            " + }, + "PolylinePolygon":{ + "shape":"RouteMatrixAvoidanceAreaGeometryPolylinePolygonList", + "documentation":"

            A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it contains PolylinePolygon of the first linear ring (the outer ring) and from second item to the last item (the inner rings). For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.

            " + } + }, + "documentation":"

            Geometry of the area to be avoided.

            " + }, + "RouteMatrixAvoidanceAreaGeometryPolygonList":{ + "type":"list", + "member":{"shape":"LinearRing"}, + "max":1, + "min":1 + }, + "RouteMatrixAvoidanceAreaGeometryPolylinePolygonList":{ + "type":"list", + "member":{"shape":"PolylineRing"}, + "max":1, + "min":1 + }, + "RouteMatrixAvoidanceOptions":{ + "type":"structure", + "members":{ + "Areas":{ + "shape":"RouteMatrixAvoidanceOptionsAreasList", + "documentation":"

            Areas to be avoided.

            " + }, + "CarShuttleTrains":{ + "shape":"Boolean", + "documentation":"

            Avoid car-shuttle-trains while calculating the route.

            " + }, + "ControlledAccessHighways":{ + "shape":"Boolean", + "documentation":"

            Avoid controlled access highways while calculating the route.

            " + }, + "DirtRoads":{ + "shape":"Boolean", + "documentation":"

            Avoid dirt roads while calculating the route.

            " + }, + "Ferries":{ + "shape":"Boolean", + "documentation":"

            Avoid ferries while calculating the route.

            " + }, + "TollRoads":{ + "shape":"Boolean", + "documentation":"

            Avoids roads where the specified toll transponders are the only mode of payment.

            " + }, + "TollTransponders":{ + "shape":"Boolean", + "documentation":"

            Avoids roads where the specified toll transponders are the only mode of payment.

            " + }, + "TruckRoadTypes":{ + "shape":"TruckRoadTypeList", + "documentation":"

            Truck road type identifiers. BK1 through BK4 apply only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

            There are currently no other supported values as of 26th April 2024.

            " + }, + "Tunnels":{ + "shape":"Boolean", + "documentation":"

            Avoid tunnels while calculating the route.

            " + }, + "UTurns":{ + "shape":"Boolean", + "documentation":"

            Avoid U-turns for calculation on highways and motorways.

            " + }, + "ZoneCategories":{ + "shape":"RouteMatrixAvoidanceZoneCategoryList", + "documentation":"

            Zone categories to be avoided.

            " + } + }, + "documentation":"

            Options related to the route matrix.

            " + }, + "RouteMatrixAvoidanceOptionsAreasList":{ + "type":"list", + "member":{"shape":"RouteMatrixAvoidanceArea"}, + "max":250, + "min":0 + }, + "RouteMatrixAvoidanceZoneCategory":{ + "type":"structure", + "members":{ + "Category":{ + "shape":"RouteMatrixZoneCategory", + "documentation":"

            Zone category to be avoided.

            " + } + }, + "documentation":"

            Zone categories to be avoided.

            " + }, + "RouteMatrixAvoidanceZoneCategoryList":{ + "type":"list", + "member":{"shape":"RouteMatrixAvoidanceZoneCategory"}, + "max":3, + "min":0 + }, + "RouteMatrixBoundary":{ + "type":"structure", + "members":{ + "Geometry":{ + "shape":"RouteMatrixBoundaryGeometry", + "documentation":"

            Geometry of the area to be avoided.

            " + }, + "Unbounded":{ + "shape":"Boolean", + "documentation":"

            No restrictions in terms of a routing boundary, and is typically used for longer routes.

            " + } + }, + "documentation":"

            Boundary within which the matrix is to be calculated. All data, origins and destinations outside the boundary are considered invalid.

            " + }, + "RouteMatrixBoundaryGeometry":{ + "type":"structure", + "members":{ + "AutoCircle":{ + "shape":"RouteMatrixAutoCircle", + "documentation":"

            Provides the circle that was used while calculating the route.

            " + }, + "Circle":{ + "shape":"Circle", + "documentation":"

            Geometry defined as a circle. When request routing boundary was set as AutoCircle, the response routing boundary will return Circle derived from the AutoCircle settings.

            " + }, + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

            Geometry defined as a bounding box. The first pair represents the X and Y coordinates (longitude and latitude,) of the southwest corner of the bounding box; the second pair represents the X and Y coordinates (longitude and latitude) of the northeast corner.

            " + }, + "Polygon":{ + "shape":"RouteMatrixBoundaryGeometryPolygonList", + "documentation":"

            Geometry defined as a polygon with only one linear ring.

            " + } + }, + "documentation":"

            Geometry of the routing boundary.

            " + }, + "RouteMatrixBoundaryGeometryPolygonList":{ + "type":"list", + "member":{"shape":"LinearRing"}, + "max":1, + "min":1 + }, + "RouteMatrixCarOptions":{ + "type":"structure", + "members":{ + "LicensePlate":{ + "shape":"RouteMatrixVehicleLicensePlate", + "documentation":"

            The vehicle License Plate.

            " + }, + "MaxSpeed":{ + "shape":"RouteMatrixCarOptionsMaxSpeedDouble", + "documentation":"

            Maximum speed

            Unit: KilometersPerHour

            ", + "box":true + }, + "Occupancy":{ + "shape":"RouteMatrixCarOptionsOccupancyInteger", + "documentation":"

            The number of occupants in the vehicle.

            Default Value: 1

            " + } + }, + "documentation":"

            Options related to the car.

            " + }, + "RouteMatrixCarOptionsMaxSpeedDouble":{ + "type":"double", + "max":252.0, + "min":3.6 + }, + "RouteMatrixCarOptionsOccupancyInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "RouteMatrixDestination":{ + "type":"structure", + "required":["Position"], + "members":{ + "Options":{ + "shape":"RouteMatrixDestinationOptions", + "documentation":"

            Destination related options.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            Position defined as [longitude, latitude].

            " + } + }, + "documentation":"

            The route destination.

            " + }, + "RouteMatrixDestinationOptions":{ + "type":"structure", + "members":{ + "AvoidActionsForDistance":{ + "shape":"RouteMatrixDestinationOptionsAvoidActionsForDistanceLong", + "documentation":"

            Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.

            " + }, + "Heading":{ + "shape":"Heading", + "documentation":"

            GPS Heading at the position.

            " + }, + "Matching":{ + "shape":"RouteMatrixMatchingOptions", + "documentation":"

            Options to configure matching the provided position to the road network.

            " + }, + "SideOfStreet":{ + "shape":"RouteMatrixSideOfStreetOptions", + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + } + }, + "documentation":"

            Options related to the destination.

            " + }, + "RouteMatrixDestinationOptionsAvoidActionsForDistanceLong":{ + "type":"long", + "min":0 + }, + "RouteMatrixEntry":{ + "type":"structure", + "required":[ + "Distance", + "Duration" + ], + "members":{ + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            The total distance of travel for the route.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            The expected duration of travel for the route.

            Unit: seconds

            " + }, + "Error":{ + "shape":"RouteMatrixErrorCode", + "documentation":"

            Error code that occurred during calculation of the route.

            " + } + }, + "documentation":"

            The calculated route matrix containing the results for all pairs of Origins to Destination positions. Each row corresponds to one entry in Origins. Each entry in the row corresponds to the route from that entry in Origins to an entry in Destination positions.

            " + }, + "RouteMatrixErrorCode":{ + "type":"string", + "enum":[ + "NoMatch", + "NoMatchDestination", + "NoMatchOrigin", + "NoRoute", + "OutOfBounds", + "OutOfBoundsDestination", + "OutOfBoundsOrigin", + "Other", + "Violation" + ] + }, + "RouteMatrixExclusionOptions":{ + "type":"structure", + "required":["Countries"], + "members":{ + "Countries":{ + "shape":"CountryCodeList", + "documentation":"

            List of countries to be avoided defined by two-letter or three-letter country codes.

            " + } + }, + "documentation":"

            Exclusion options.

            " + }, + "RouteMatrixHazardousCargoType":{ + "type":"string", + "enum":[ + "Combustible", + "Corrosive", + "Explosive", + "Flammable", + "Gas", + "HarmfulToWater", + "Organic", + "Other", + "Poison", + "PoisonousInhalation", + "Radioactive" + ] + }, + "RouteMatrixHazardousCargoTypeList":{ + "type":"list", + "member":{"shape":"RouteMatrixHazardousCargoType"}, + "max":11, + "min":0 + }, + "RouteMatrixMatchingOptions":{ + "type":"structure", + "members":{ + "NameHint":{ + "shape":"SensitiveString", + "documentation":"

            Attempts to match the provided position to a road similar to the provided name.

            " + }, + "OnRoadThreshold":{ + "shape":"RouteMatrixMatchingOptionsOnRoadThresholdLong", + "documentation":"

            If the distance to a highway/bridge/tunnel/sliproad is within threshold, the waypoint will be snapped to the highway/bridge/tunnel/sliproad.

            Unit: meters

            " + }, + "Radius":{ + "shape":"DistanceMeters", + "documentation":"

            Considers all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.

            Unit: Meters

            " + }, + "Strategy":{ + "shape":"MatchingStrategy", + "documentation":"

            Strategy that defines matching of the position onto the road network. MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches to the most significant road.

            " + } + }, + "documentation":"

            Matching options.

            " + }, + "RouteMatrixMatchingOptionsOnRoadThresholdLong":{ + "type":"long", + "min":0 + }, + "RouteMatrixOrigin":{ + "type":"structure", + "required":["Position"], + "members":{ + "Options":{ + "shape":"RouteMatrixOriginOptions", + "documentation":"

            Origin related options.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            Position defined as [longitude, latitude].

            " + } + }, + "documentation":"

            The start position for the route.

            " + }, + "RouteMatrixOriginOptions":{ + "type":"structure", + "members":{ + "AvoidActionsForDistance":{ + "shape":"RouteMatrixOriginOptionsAvoidActionsForDistanceLong", + "documentation":"

            Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.

            " + }, + "Heading":{ + "shape":"Heading", + "documentation":"

            GPS Heading at the position.

            " + }, + "Matching":{ + "shape":"RouteMatrixMatchingOptions", + "documentation":"

            Options to configure matching the provided position to the road network.

            " + }, + "SideOfStreet":{ + "shape":"RouteMatrixSideOfStreetOptions", + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + } + }, + "documentation":"

            Origin related options.

            " + }, + "RouteMatrixOriginOptionsAvoidActionsForDistanceLong":{ + "type":"long", + "min":0 + }, + "RouteMatrixRow":{ + "type":"list", + "member":{"shape":"RouteMatrixEntry"} + }, + "RouteMatrixScooterOptions":{ + "type":"structure", + "members":{ + "LicensePlate":{ + "shape":"RouteMatrixVehicleLicensePlate", + "documentation":"

            The vehicle License Plate.

            " + }, + "MaxSpeed":{ + "shape":"RouteMatrixScooterOptionsMaxSpeedDouble", + "documentation":"

            Maximum speed.

            Unit: KilometersPerHour

            ", + "box":true + }, + "Occupancy":{ + "shape":"RouteMatrixScooterOptionsOccupancyInteger", + "documentation":"

            The number of occupants in the vehicle.

            Default Value: 1

            " + } + }, + "documentation":"

            Travel mode options when the provided travel mode is \"Scooter\"

            " + }, + "RouteMatrixScooterOptionsMaxSpeedDouble":{ + "type":"double", + "max":252.0, + "min":3.6 + }, + "RouteMatrixScooterOptionsOccupancyInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "RouteMatrixSideOfStreetOptions":{ + "type":"structure", + "required":["Position"], + "members":{ + "Position":{ + "shape":"Position", + "documentation":"

            Position defined as [longitude, latitude].

            " + }, + "UseWith":{ + "shape":"SideOfStreetMatchingStrategy", + "documentation":"

            Strategy that defines when the side of street position should be used. AnyStreet will always use the provided position.

            Default Value: DividedStreetOnly

            " + } + }, + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + }, + "RouteMatrixTrafficOptions":{ + "type":"structure", + "members":{ + "FlowEventThresholdOverride":{ + "shape":"DurationSeconds", + "documentation":"

            Duration for which flow traffic is considered valid. For this period, the flow traffic is used over historical traffic data. Flow traffic refers to congestion, which changes very quickly. Duration in seconds for which flow traffic event would be considered valid. While flow traffic event is valid it will be used over the historical traffic data.

            " + }, + "Usage":{ + "shape":"TrafficUsage", + "documentation":"

            Determines if traffic should be used or ignored while calculating the route.

            Default Value: UseTrafficData

            " + } + }, + "documentation":"

            Traffic related options.

            " + }, + "RouteMatrixTrailerOptions":{ + "type":"structure", + "members":{ + "TrailerCount":{ + "shape":"RouteMatrixTrailerOptionsTrailerCountInteger", + "documentation":"

            Number of trailers attached to the vehicle.

            Default Value: 0

            " + } + }, + "documentation":"

            Trailer options corresponding to the vehicle.

            " + }, + "RouteMatrixTrailerOptionsTrailerCountInteger":{ + "type":"integer", + "box":true, + "max":255, + "min":0 + }, + "RouteMatrixTravelMode":{ + "type":"string", + "enum":[ + "Car", + "Pedestrian", + "Scooter", + "Truck" + ] + }, + "RouteMatrixTravelModeOptions":{ + "type":"structure", + "members":{ + "Car":{ + "shape":"RouteMatrixCarOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Car\"

            " + }, + "Scooter":{ + "shape":"RouteMatrixScooterOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Scooter\"

            " + }, + "Truck":{ + "shape":"RouteMatrixTruckOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Truck\"

            " + } + }, + "documentation":"

            Travel mode related options for the provided travel mode.

            " + }, + "RouteMatrixTruckOptions":{ + "type":"structure", + "members":{ + "AxleCount":{ + "shape":"RouteMatrixTruckOptionsAxleCountInteger", + "documentation":"

            Total number of axles of the vehicle.

            " + }, + "GrossWeight":{ + "shape":"WeightKilograms", + "documentation":"

            Gross weight of the vehicle including trailers, and goods at capacity.

            Unit: Kilograms

            " + }, + "HazardousCargos":{ + "shape":"RouteMatrixHazardousCargoTypeList", + "documentation":"

            List of Hazardous cargo contained in the vehicle.

            " + }, + "Height":{ + "shape":"RouteMatrixTruckOptionsHeightLong", + "documentation":"

            Height of the vehicle.

            Unit: centimeters

            " + }, + "KpraLength":{ + "shape":"DimensionCentimeters", + "documentation":"

            Kingpin to rear axle length of the vehicle

            Unit: centimeters

            " + }, + "Length":{ + "shape":"RouteMatrixTruckOptionsLengthLong", + "documentation":"

            Length of the vehicle.

            Unit: centimeters

            " + }, + "LicensePlate":{ + "shape":"RouteMatrixVehicleLicensePlate", + "documentation":"

            The vehicle License Plate.

            " + }, + "MaxSpeed":{ + "shape":"RouteMatrixTruckOptionsMaxSpeedDouble", + "documentation":"

            Maximum speed

            Unit: KilometersPerHour

            ", + "box":true + }, + "Occupancy":{ + "shape":"RouteMatrixTruckOptionsOccupancyInteger", + "documentation":"

            The number of occupants in the vehicle.

            Default Value: 1

            " + }, + "PayloadCapacity":{ + "shape":"WeightKilograms", + "documentation":"

            Payload capacity of the vehicle and trailers attached.

            Unit: kilograms

            " + }, + "Trailer":{ + "shape":"RouteMatrixTrailerOptions", + "documentation":"

            Trailer options corresponding to the vehicle.

            " + }, + "TruckType":{ + "shape":"RouteMatrixTruckType", + "documentation":"

            Type of the truck.

            " + }, + "TunnelRestrictionCode":{ + "shape":"TunnelRestrictionCode", + "documentation":"

            The tunnel restriction code.

            Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. They relate to the types of dangerous goods that can be transported through them.

            • Tunnel Category B

              • Risk Level: Limited risk

              • Restrictions: Few restrictions

            • Tunnel Category C

              • Risk Level: Medium risk

              • Restrictions: Some restrictions

            • Tunnel Category D

              • Risk Level: High risk

              • Restrictions: Many restrictions occur

            • Tunnel Category E

              • Risk Level: Very high risk

              • Restrictions: Restricted tunnel

            " + }, + "WeightPerAxle":{ + "shape":"WeightKilograms", + "documentation":"

            Heaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.

            Unit: Kilograms

            " + }, + "WeightPerAxleGroup":{ + "shape":"WeightPerAxleGroup", + "documentation":"

            Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.

            " + }, + "Width":{ + "shape":"RouteMatrixTruckOptionsWidthLong", + "documentation":"

            Width of the vehicle.

            Unit: centimeters

            " + } + }, + "documentation":"

            Travel mode options when the provided travel mode is \"Truck\"

            " + }, + "RouteMatrixTruckOptionsAxleCountInteger":{ + "type":"integer", + "box":true, + "max":255, + "min":2 + }, + "RouteMatrixTruckOptionsHeightLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "RouteMatrixTruckOptionsLengthLong":{ + "type":"long", + "max":30000, + "min":0 + }, + "RouteMatrixTruckOptionsMaxSpeedDouble":{ + "type":"double", + "max":252.0, + "min":3.6 + }, + "RouteMatrixTruckOptionsOccupancyInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "RouteMatrixTruckOptionsWidthLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "RouteMatrixTruckType":{ + "type":"string", + "enum":[ + "LightTruck", + "StraightTruck", + "Tractor" + ] + }, + "RouteMatrixVehicleLicensePlate":{ + "type":"structure", + "members":{ + "LastCharacter":{ + "shape":"RouteMatrixVehicleLicensePlateLastCharacterString", + "documentation":"

            The last character of the License Plate.

            " + } + }, + "documentation":"

            The vehicle License Plate.

            " + }, + "RouteMatrixVehicleLicensePlateLastCharacterString":{ + "type":"string", + "max":1, + "min":1 + }, + "RouteMatrixZoneCategory":{ + "type":"string", + "enum":[ + "CongestionPricing", + "Environmental", + "Vignette" + ] + }, + "RouteNoticeDetailRange":{ + "type":"structure", + "members":{ + "Min":{ + "shape":"RouteNoticeDetailRangeMinInteger", + "documentation":"

            Minimum value for the range.

            " + }, + "Max":{ + "shape":"RouteNoticeDetailRangeMaxInteger", + "documentation":"

            Maximum value for the range.

            " + } + }, + "documentation":"

            Notice Detail that is a range.

            " + }, + "RouteNoticeDetailRangeMaxInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RouteNoticeDetailRangeMinInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RouteNoticeImpact":{ + "type":"string", + "enum":[ + "High", + "Low" + ] + }, + "RouteNumber":{ + "type":"structure", + "required":["Value"], + "members":{ + "Direction":{ + "shape":"RouteDirection", + "documentation":"

            Directional identifier of the route.

            " + }, + "Language":{ + "shape":"LanguageTag", + "documentation":"

            List of languages for instructions corresponding to the route number.

            " + }, + "Value":{ + "shape":"String", + "documentation":"

            The route number.

            " + } + }, + "documentation":"

            The route number.

            " + }, + "RouteNumberList":{ + "type":"list", + "member":{"shape":"RouteNumber"} + }, + "RouteOriginOptions":{ + "type":"structure", + "members":{ + "AvoidActionsForDistance":{ + "shape":"RouteOriginOptionsAvoidActionsForDistanceLong", + "documentation":"

            Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.

            " + }, + "AvoidUTurns":{ + "shape":"Boolean", + "documentation":"

            Avoid U-turns for calculation on highways and motorways.

            " + }, + "Heading":{ + "shape":"Heading", + "documentation":"

            GPS Heading at the position.

            " + }, + "Matching":{ + "shape":"RouteMatchingOptions", + "documentation":"

            Options to configure matching the provided position to the road network.

            " + }, + "SideOfStreet":{ + "shape":"RouteSideOfStreetOptions", + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + } + }, + "documentation":"

            Origin related options.

            " + }, + "RouteOriginOptionsAvoidActionsForDistanceLong":{ + "type":"long", + "max":2000 + }, + "RoutePassThroughPlace":{ + "type":"structure", + "required":["Position"], + "members":{ + "OriginalPosition":{ + "shape":"Position23", + "documentation":"

            Position provided in the request.

            " + }, + "Position":{ + "shape":"Position23", + "documentation":"

            Position defined as [longitude, latitude].

            " + }, + "WaypointIndex":{ + "shape":"RoutePassThroughPlaceWaypointIndexInteger", + "documentation":"

            Index of the waypoint in the request.

            " + } + }, + "documentation":"

            The place where the waypoint is passed through and not treated as a stop.

            " + }, + "RoutePassThroughPlaceWaypointIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RoutePassThroughWaypoint":{ + "type":"structure", + "required":["Place"], + "members":{ + "GeometryOffset":{ + "shape":"RoutePassThroughWaypointGeometryOffsetInteger", + "documentation":"

            Offset in the leg geometry corresponding to the start of this step.

            " + }, + "Place":{ + "shape":"RoutePassThroughPlace", + "documentation":"

            The place details.

            " + } + }, + "documentation":"

            If the waypoint should be treated as a stop. If yes, the route is split up into different legs around the stop.

            " + }, + "RoutePassThroughWaypointGeometryOffsetInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RoutePassThroughWaypointList":{ + "type":"list", + "member":{"shape":"RoutePassThroughWaypoint"} + }, + "RoutePedestrianArrival":{ + "type":"structure", + "required":["Place"], + "members":{ + "Place":{ + "shape":"RoutePedestrianPlace", + "documentation":"

            The place details.

            " + }, + "Time":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            The time.

            " + } + }, + "documentation":"

            Details corresponding to the arrival for a leg.

            Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "RoutePedestrianDeparture":{ + "type":"structure", + "required":["Place"], + "members":{ + "Place":{ + "shape":"RoutePedestrianPlace", + "documentation":"

            The place details.

            " + }, + "Time":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            The time.

            " + } + }, + "documentation":"

            Details corresponding to the departure for a leg.

            Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "RoutePedestrianLegDetails":{ + "type":"structure", + "required":[ + "Arrival", + "Departure", + "Notices", + "PassThroughWaypoints", + "Spans", + "TravelSteps" + ], + "members":{ + "Arrival":{ + "shape":"RoutePedestrianArrival", + "documentation":"

            Details corresponding to the arrival for the leg.

            " + }, + "Departure":{ + "shape":"RoutePedestrianDeparture", + "documentation":"

            Details corresponding to the departure for the leg.

            " + }, + "Notices":{ + "shape":"RoutePedestrianNoticeList", + "documentation":"

            Notices are additional information returned that indicate issues that occurred during route calculation.

            " + }, + "PassThroughWaypoints":{ + "shape":"RoutePassThroughWaypointList", + "documentation":"

            Waypoints that were passed through during the leg. This includes the waypoints that were configured with the PassThrough option.

            " + }, + "Spans":{ + "shape":"RoutePedestrianSpanList", + "documentation":"

            Spans that were computed for the requested SpanAdditionalFeatures.

            " + }, + "Summary":{ + "shape":"RoutePedestrianSummary", + "documentation":"

            Summarized details of the leg.

            " + }, + "TravelSteps":{ + "shape":"RoutePedestrianTravelStepList", + "documentation":"

            Steps of a leg that must be performed before the travel portion of the leg.

            " + } + }, + "documentation":"

            Details that are specific to a pedestrian leg.

            " + }, + "RoutePedestrianNotice":{ + "type":"structure", + "required":["Code"], + "members":{ + "Code":{ + "shape":"RoutePedestrianNoticeCode", + "documentation":"

            Code corresponding to the issue.

            " + }, + "Impact":{ + "shape":"RouteNoticeImpact", + "documentation":"

            Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.

            " + } + }, + "documentation":"

            Notices are additional information returned that indicate issues that occurred during route calculation.

            " + }, + "RoutePedestrianNoticeCode":{ + "type":"string", + "enum":[ + "AccuratePolylineUnavailable", + "Other", + "ViolatedAvoidDirtRoad", + "ViolatedAvoidTunnel", + "ViolatedPedestrianOption" + ] + }, + "RoutePedestrianNoticeList":{ + "type":"list", + "member":{"shape":"RoutePedestrianNotice"} + }, + "RoutePedestrianOptions":{ + "type":"structure", + "members":{ + "Speed":{ + "shape":"RoutePedestrianOptionsSpeedDouble", + "documentation":"

            Walking speed in Kilometers per hour.

            ", + "box":true + } + }, + "documentation":"

            Options related to the pedestrian.

            " + }, + "RoutePedestrianOptionsSpeedDouble":{ + "type":"double", + "max":7.2, + "min":1.8 + }, + "RoutePedestrianOverviewSummary":{ + "type":"structure", + "required":[ + "Distance", + "Duration" + ], + "members":{ + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Distance of the step.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the step.

            " + } + }, + "documentation":"

            Provides a summary of a pedestrian route step.

            " + }, + "RoutePedestrianPlace":{ + "type":"structure", + "required":["Position"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

            The name of the place.

            " + }, + "OriginalPosition":{ + "shape":"Position23", + "documentation":"

            Position provided in the request.

            " + }, + "Position":{ + "shape":"Position23", + "documentation":"

            Position defined as [longitude, latitude].

            " + }, + "SideOfStreet":{ + "shape":"RouteSideOfStreet", + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + }, + "WaypointIndex":{ + "shape":"RoutePedestrianPlaceWaypointIndexInteger", + "documentation":"

            Index of the waypoint in the request.

            " + } + }, + "documentation":"

            Place details corresponding to the arrival or departure.

            " + }, + "RoutePedestrianPlaceWaypointIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RoutePedestrianSpan":{ + "type":"structure", + "members":{ + "BestCaseDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the computed span without traffic congestion.

            Unit: seconds

            " + }, + "Country":{ + "shape":"CountryCode3", + "documentation":"

            3 letter Country code corresponding to the Span.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Distance of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.

            Unit: seconds

            " + }, + "DynamicSpeed":{ + "shape":"RouteSpanDynamicSpeedDetails", + "documentation":"

            Dynamic speed details corresponding to the span.

            Unit: KilometersPerHour

            " + }, + "FunctionalClassification":{ + "shape":"RoutePedestrianSpanFunctionalClassificationInteger", + "documentation":"

            Functional classification of the road segment corresponding to the span.

            " + }, + "GeometryOffset":{ + "shape":"RoutePedestrianSpanGeometryOffsetInteger", + "documentation":"

            Offset in the leg geometry corresponding to the start of this span.

            " + }, + "Incidents":{ + "shape":"IndexList", + "documentation":"

            Incidents corresponding to the span. These index into the Incidents in the parent Leg.

            " + }, + "Names":{ + "shape":"LocalizedStringList", + "documentation":"

            Provides an array of names of the pedestrian span in available languages.

            " + }, + "PedestrianAccess":{ + "shape":"RouteSpanPedestrianAccessAttributeList", + "documentation":"

            Access attributes for a pedestrian corresponding to the span.

            " + }, + "Region":{ + "shape":"RoutePedestrianSpanRegionString", + "documentation":"

            2-3 letter Region code corresponding to the Span. This is either a province or a state.

            " + }, + "RoadAttributes":{ + "shape":"RouteSpanRoadAttributeList", + "documentation":"

            Attributes for the road segment corresponding to the span.

            " + }, + "RouteNumbers":{ + "shape":"RouteNumberList", + "documentation":"

            Designated route name or number corresponding to the span.

            " + }, + "SpeedLimit":{ + "shape":"RouteSpanSpeedLimitDetails", + "documentation":"

            Speed limit details corresponding to the span.

            Unit: KilometersPerHour

            " + }, + "TypicalDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the computed span under typical traffic congestion.

            Unit: seconds

            " + } + }, + "documentation":"

            Span computed for the requested SpanAdditionalFeatures.

            " + }, + "RoutePedestrianSpanFunctionalClassificationInteger":{ + "type":"integer", + "box":true, + "max":5, + "min":1 + }, + "RoutePedestrianSpanGeometryOffsetInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RoutePedestrianSpanList":{ + "type":"list", + "member":{"shape":"RoutePedestrianSpan"} + }, + "RoutePedestrianSpanRegionString":{ + "type":"string", + "max":3, + "min":0 + }, + "RoutePedestrianSummary":{ + "type":"structure", + "members":{ + "Overview":{ + "shape":"RoutePedestrianOverviewSummary", + "documentation":"

            Summarized details for the leg including before travel, travel and after travel steps.

            " + }, + "TravelOnly":{ + "shape":"RoutePedestrianTravelOnlySummary", + "documentation":"

            Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is in meters

            " + } + }, + "documentation":"

            Summarized details for the leg including before travel, travel and after travel steps.

            " + }, + "RoutePedestrianTravelOnlySummary":{ + "type":"structure", + "required":["Duration"], + "members":{ + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the step.

            Unit: seconds

            " + } + }, + "documentation":"

            Summarized details for the leg including travel steps.

            " + }, + "RoutePedestrianTravelStep":{ + "type":"structure", + "required":[ + "Duration", + "Type" + ], + "members":{ + "ContinueStepDetails":{ + "shape":"RouteContinueStepDetails", + "documentation":"

            Details related to the continue step.

            " + }, + "CurrentRoad":{ + "shape":"RouteRoad", + "documentation":"

            Details of the current road. See RouteRoad for details of sub-attributes.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Distance of the step.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the step.

            Unit: seconds

            " + }, + "ExitNumber":{ + "shape":"LocalizedStringList", + "documentation":"

            Exit number of the road exit, if applicable.

            " + }, + "GeometryOffset":{ + "shape":"RoutePedestrianTravelStepGeometryOffsetInteger", + "documentation":"

            Offset in the leg geometry corresponding to the start of this step.

            " + }, + "Instruction":{ + "shape":"String", + "documentation":"

            Brief description of the step in the requested language.

            Only available when the TravelStepType is Default.

            " + }, + "KeepStepDetails":{ + "shape":"RouteKeepStepDetails", + "documentation":"

            Details that are specific to a Keep step.

            " + }, + "NextRoad":{ + "shape":"RouteRoad", + "documentation":"

            Details of the next road. See RouteRoad for details of sub-attributes.

            " + }, + "RoundaboutEnterStepDetails":{ + "shape":"RouteRoundaboutEnterStepDetails", + "documentation":"

            Details that are specific to a Roundabout Enter step.

            " + }, + "RoundaboutExitStepDetails":{ + "shape":"RouteRoundaboutExitStepDetails", + "documentation":"

            Details that are specific to a Roundabout Exit step.

            " + }, + "RoundaboutPassStepDetails":{ + "shape":"RouteRoundaboutPassStepDetails", + "documentation":"

            Details that are specific to a Roundabout Pass step.

            " + }, + "Signpost":{ + "shape":"RouteSignpost", + "documentation":"

            Sign post information of the action, applicable only for TurnByTurn steps. See RouteSignpost for details of sub-attributes.

            " + }, + "TurnStepDetails":{ + "shape":"RouteTurnStepDetails", + "documentation":"

            Details that are specific to a turn step.

            " + }, + "Type":{ + "shape":"RoutePedestrianTravelStepType", + "documentation":"

            Type of the step.

            " + } + }, + "documentation":"

            Steps of a leg that must be performed during the travel portion of the leg.

            " + }, + "RoutePedestrianTravelStepGeometryOffsetInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RoutePedestrianTravelStepList":{ + "type":"list", + "member":{"shape":"RoutePedestrianTravelStep"} + }, + "RoutePedestrianTravelStepType":{ + "type":"string", + "enum":[ + "Arrive", + "Continue", + "Depart", + "Keep", + "RoundaboutEnter", + "RoundaboutExit", + "RoundaboutPass", + "Turn", + "Exit", + "Ramp", + "UTurn" + ] + }, + "RouteRampStepDetails":{ + "type":"structure", + "required":["Intersection"], + "members":{ + "Intersection":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the intersection, if applicable to the step.

            " + }, + "SteeringDirection":{ + "shape":"RouteSteeringDirection", + "documentation":"

            Steering direction for the step.

            " + }, + "TurnAngle":{ + "shape":"TurnAngle", + "documentation":"

            Angle of the turn.

            " + }, + "TurnIntensity":{ + "shape":"RouteTurnIntensity", + "documentation":"

            Intensity of the turn.

            " + } + }, + "documentation":"

            Details that are specific to a ramp step.

            " + }, + "RouteResponseNotice":{ + "type":"structure", + "required":["Code"], + "members":{ + "Code":{ + "shape":"RouteResponseNoticeCode", + "documentation":"

            Code corresponding to the issue.

            " + }, + "Impact":{ + "shape":"RouteNoticeImpact", + "documentation":"

            Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.

            " + } + }, + "documentation":"

            Notices are additional information returned that indicate issues that occurred during route calculation.

            " + }, + "RouteResponseNoticeCode":{ + "type":"string", + "enum":[ + "MainLanguageNotFound", + "Other", + "TravelTimeExceedsDriverWorkHours" + ] + }, + "RouteResponseNoticeList":{ + "type":"list", + "member":{"shape":"RouteResponseNotice"} + }, + "RouteRoad":{ + "type":"structure", + "required":[ + "RoadName", + "RouteNumber", + "Towards" + ], + "members":{ + "RoadName":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the road (localized).

            " + }, + "RouteNumber":{ + "shape":"RouteNumberList", + "documentation":"

            Route number of the road.

            " + }, + "Towards":{ + "shape":"LocalizedStringList", + "documentation":"

            Names of destinations that can be reached when traveling on the road.

            " + }, + "Type":{ + "shape":"RouteRoadType", + "documentation":"

            The type of road.

            " + } + }, + "documentation":"

            The road on the route.

            " + }, + "RouteRoadType":{ + "type":"string", + "enum":[ + "Highway", + "Rural", + "Urban" + ] + }, + "RouteRoundaboutEnterStepDetails":{ + "type":"structure", + "required":["Intersection"], + "members":{ + "Intersection":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the intersection, if applicable to the step.

            " + }, + "SteeringDirection":{ + "shape":"RouteSteeringDirection", + "documentation":"

            Steering direction for the step.

            " + }, + "TurnAngle":{ + "shape":"TurnAngle", + "documentation":"

            Angle of the turn.

            " + }, + "TurnIntensity":{ + "shape":"RouteTurnIntensity", + "documentation":"

            Intensity of the turn.

            " + } + }, + "documentation":"

            Details about the roundabout leg.

            " + }, + "RouteRoundaboutExitStepDetails":{ + "type":"structure", + "required":["Intersection"], + "members":{ + "Intersection":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the intersection, if applicable to the step.

            " + }, + "RelativeExit":{ + "shape":"RouteRoundaboutExitStepDetailsRelativeExitInteger", + "documentation":"

            Exit to be taken.

            " + }, + "RoundaboutAngle":{ + "shape":"RoundaboutAngle", + "documentation":"

            Angle of the roundabout.

            " + }, + "SteeringDirection":{ + "shape":"RouteSteeringDirection", + "documentation":"

            Steering direction for the step.

            " + } + }, + "documentation":"

            Details about the roundabout step.

            " + }, + "RouteRoundaboutExitStepDetailsRelativeExitInteger":{ + "type":"integer", + "box":true, + "max":12, + "min":1 + }, + "RouteRoundaboutPassStepDetails":{ + "type":"structure", + "required":["Intersection"], + "members":{ + "Intersection":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the intersection, if applicable to the step.

            " + }, + "SteeringDirection":{ + "shape":"RouteSteeringDirection", + "documentation":"

            Steering direction for the step.

            " + }, + "TurnAngle":{ + "shape":"TurnAngle", + "documentation":"

            Angle of the turn.

            " + }, + "TurnIntensity":{ + "shape":"RouteTurnIntensity", + "documentation":"

            Intensity of the turn.

            " + } + }, + "documentation":"

            Details about the step.

            " + }, + "RouteScooterOptions":{ + "type":"structure", + "members":{ + "EngineType":{ + "shape":"RouteEngineType", + "documentation":"

            Engine type of the vehicle.

            " + }, + "LicensePlate":{ + "shape":"RouteVehicleLicensePlate", + "documentation":"

            The vehicle License Plate.

            " + }, + "MaxSpeed":{ + "shape":"RouteScooterOptionsMaxSpeedDouble", + "documentation":"

            Maximum speed

            Unit: KilometersPerHour

            ", + "box":true + }, + "Occupancy":{ + "shape":"RouteScooterOptionsOccupancyInteger", + "documentation":"

            The number of occupants in the vehicle.

            Default Value: 1

            " + } + }, + "documentation":"

            Travel mode options when the provided travel mode is \"Scooter\"

            " + }, + "RouteScooterOptionsMaxSpeedDouble":{ + "type":"double", + "max":252.0, + "min":3.6 + }, + "RouteScooterOptionsOccupancyInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "RouteSideOfStreet":{ + "type":"string", + "enum":[ + "Left", + "Right" + ] + }, + "RouteSideOfStreetOptions":{ + "type":"structure", + "required":["Position"], + "members":{ + "Position":{ + "shape":"Position", + "documentation":"

            Position defined as [longitude, latitude].

            " + }, + "UseWith":{ + "shape":"SideOfStreetMatchingStrategy", + "documentation":"

            Strategy that defines when the side of street position should be used.

            Default Value: DividedStreetOnly

            " + } + }, + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + }, + "RouteSignpost":{ + "type":"structure", + "required":["Labels"], + "members":{ + "Labels":{ + "shape":"RouteSignpostLabelList", + "documentation":"

            Labels present on the sign post.

            " + } + }, + "documentation":"

            Sign post information of the action, applicable only for TurnByTurn steps. See RouteSignpost for details of sub-attributes.

            " + }, + "RouteSignpostLabel":{ + "type":"structure", + "members":{ + "RouteNumber":{ + "shape":"RouteNumber", + "documentation":"

            Route number of the road.

            " + }, + "Text":{ + "shape":"LocalizedString", + "documentation":"

            The Signpost text.

            " + } + }, + "documentation":"

            Labels presented on the sign post.

            " + }, + "RouteSignpostLabelList":{ + "type":"list", + "member":{"shape":"RouteSignpostLabel"} + }, + "RouteSpanAdditionalFeature":{ + "type":"string", + "enum":[ + "BestCaseDuration", + "CarAccess", + "Country", + "Distance", + "Duration", + "DynamicSpeed", + "FunctionalClassification", + "Gates", + "Incidents", + "Names", + "Notices", + "PedestrianAccess", + "RailwayCrossings", + "Region", + "RoadAttributes", + "RouteNumbers", + "ScooterAccess", + "SpeedLimit", + "TollSystems", + "TruckAccess", + "TruckRoadTypes", + "TypicalDuration", + "Zones", + "Consumption" + ] + }, + "RouteSpanAdditionalFeatureList":{ + "type":"list", + "member":{"shape":"RouteSpanAdditionalFeature"}, + "max":24, + "min":0 + }, + "RouteSpanCarAccessAttribute":{ + "type":"string", + "enum":[ + "Allowed", + "NoThroughTraffic", + "TollRoad" + ] + }, + "RouteSpanCarAccessAttributeList":{ + "type":"list", + "member":{"shape":"RouteSpanCarAccessAttribute"}, + "max":3, + "min":0 + }, + "RouteSpanDynamicSpeedDetails":{ + "type":"structure", + "members":{ + "BestCaseSpeed":{ + "shape":"SpeedKilometersPerHour", + "documentation":"

            Estimated speed while traversing the span without traffic congestion.

            Unit: KilometersPerHour

            " + }, + "TurnDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Estimated time to turn from this span into the next.

            Unit: seconds

            " + }, + "TypicalSpeed":{ + "shape":"SpeedKilometersPerHour", + "documentation":"

            Estimated speed while traversing the span under typical traffic congestion.

            Unit: KilometersPerHour

            " + } + }, + "documentation":"

            Details about the dynamic speed.

            Unit: KilometersPerHour

            " + }, + "RouteSpanGateAttribute":{ + "type":"string", + "enum":[ + "Emergency", + "KeyAccess", + "PermissionRequired" + ] + }, + "RouteSpanPedestrianAccessAttribute":{ + "type":"string", + "enum":[ + "Allowed", + "Indoors", + "NoThroughTraffic", + "Park", + "Stairs", + "TollRoad" + ] + }, + "RouteSpanPedestrianAccessAttributeList":{ + "type":"list", + "member":{"shape":"RouteSpanPedestrianAccessAttribute"}, + "max":6, + "min":0 + }, + "RouteSpanRailwayCrossingAttribute":{ + "type":"string", + "enum":[ + "Protected", + "Unprotected" + ] + }, + "RouteSpanRoadAttribute":{ + "type":"string", + "enum":[ + "Bridge", + "BuiltUpArea", + "ControlledAccessHighway", + "DirtRoad", + "DividedRoad", + "Motorway", + "PrivateRoad", + "Ramp", + "RightHandTraffic", + "Roundabout", + "Tunnel", + "UnderConstruction" + ] + }, + "RouteSpanRoadAttributeList":{ + "type":"list", + "member":{"shape":"RouteSpanRoadAttribute"}, + "max":12, + "min":0 + }, + "RouteSpanScooterAccessAttribute":{ + "type":"string", + "enum":[ + "Allowed", + "NoThroughTraffic", + "TollRoad" + ] + }, + "RouteSpanScooterAccessAttributeList":{ + "type":"list", + "member":{"shape":"RouteSpanScooterAccessAttribute"}, + "max":3, + "min":0 + }, + "RouteSpanSpeedLimitDetails":{ + "type":"structure", + "members":{ + "MaxSpeed":{ + "shape":"SpeedKilometersPerHour", + "documentation":"

            Maximum speed.

            Unit: KilometersPerHour

            " + }, + "Unlimited":{ + "shape":"Boolean", + "documentation":"

            If the span doesn't have a speed limit like the Autobahn.

            " + } + }, + "documentation":"

            Details about the speed limit corresponding to the span.

            Unit: KilometersPerHour

            " + }, + "RouteSpanTruckAccessAttribute":{ + "type":"string", + "enum":[ + "Allowed", + "NoThroughTraffic", + "TollRoad" + ] + }, + "RouteSpanTruckAccessAttributeList":{ + "type":"list", + "member":{"shape":"RouteSpanTruckAccessAttribute"}, + "max":3, + "min":0 + }, + "RouteSteeringDirection":{ + "type":"string", + "enum":[ + "Left", + "Right", + "Straight" + ] + }, + "RouteSummary":{ + "type":"structure", + "members":{ + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Distance of the route.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the route.

            Unit: seconds

            " + }, + "Tolls":{ + "shape":"RouteTollSummary", + "documentation":"

            Toll summary for the complete route.

            " + } + }, + "documentation":"

            Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is the same as the Distance within the Overview summary.

            " + }, + "RouteToll":{ + "type":"structure", + "required":[ + "PaymentSites", + "Rates", + "Systems" + ], + "members":{ + "Country":{ + "shape":"CountryCode3", + "documentation":"

            The alpha-2 or alpha-3 character code for the country.

            " + }, + "PaymentSites":{ + "shape":"RouteTollPaymentSiteList", + "documentation":"

            Locations or sites where the toll fare is collected.

            " + }, + "Rates":{ + "shape":"RouteTollRateList", + "documentation":"

            Toll rates that need to be paid to travel this leg of the route.

            " + }, + "Systems":{ + "shape":"IndexList", + "documentation":"

            Toll systems are authorities that collect payments for the toll.

            " + } + }, + "documentation":"

            Provides details about toll information along a route, including the payment sites, applicable toll rates, toll systems, and the country associated with the toll collection.

            " + }, + "RouteTollList":{ + "type":"list", + "member":{"shape":"RouteToll"} + }, + "RouteTollOptions":{ + "type":"structure", + "members":{ + "AllTransponders":{ + "shape":"Boolean", + "documentation":"

            Specifies if the user has valid transponder with access to all toll systems. This impacts toll calculation, and if true the price with transponders is used.

            " + }, + "AllVignettes":{ + "shape":"Boolean", + "documentation":"

            Specifies if the user has valid vignettes with access for all toll roads. If a user has a vignette for a toll road, then toll cost for that road is omitted since no further payment is necessary.

            " + }, + "Currency":{ + "shape":"CurrencyCode", + "documentation":"

            Currency code corresponding to the price. This is the same as Currency specified in the request.

            " + }, + "EmissionType":{ + "shape":"RouteEmissionType", + "documentation":"

            Emission type of the vehicle for toll cost calculation.

            Valid values: Euro1, Euro2, Euro3, Euro4, Euro5, Euro6, EuroEev

            " + }, + "VehicleCategory":{ + "shape":"RouteTollVehicleCategory", + "documentation":"

            Vehicle category for toll cost calculation.

            " + } + }, + "documentation":"

            Options related to Tolls on a route.

            " + }, + "RouteTollPass":{ + "type":"structure", + "members":{ + "IncludesReturnTrip":{ + "shape":"Boolean", + "documentation":"

            If the pass includes the rate for the return leg of the trip.

            " + }, + "SeniorPass":{ + "shape":"Boolean", + "documentation":"

            If the pass is only valid for senior persons.

            " + }, + "TransferCount":{ + "shape":"RouteTollPassTransferCountInteger", + "documentation":"

            If the toll pass can be transferred, and how many times.

            " + }, + "TripCount":{ + "shape":"RouteTollPassTripCountInteger", + "documentation":"

            Number of trips the pass is valid for.

            " + }, + "ValidityPeriod":{ + "shape":"RouteTollPassValidityPeriod", + "documentation":"

            Period for which the pass is valid.

            " + } + }, + "documentation":"

            Details if the toll rate can be a pass that supports multiple trips.

            " + }, + "RouteTollPassTransferCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RouteTollPassTripCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RouteTollPassValidityPeriod":{ + "type":"structure", + "required":["Period"], + "members":{ + "Period":{ + "shape":"RouteTollPassValidityPeriodType", + "documentation":"

            Validity period.

            " + }, + "PeriodCount":{ + "shape":"RouteTollPassValidityPeriodPeriodCountInteger", + "documentation":"

            Counts for the validity period.

            " + } + }, + "documentation":"

            Period for which the pass is valid.

            " + }, + "RouteTollPassValidityPeriodPeriodCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RouteTollPassValidityPeriodType":{ + "type":"string", + "enum":[ + "Annual", + "Days", + "ExtendedAnnual", + "Minutes", + "Months" + ] + }, + "RouteTollPaymentMethod":{ + "type":"string", + "enum":[ + "BankCard", + "Cash", + "CashExact", + "CreditCard", + "PassSubscription", + "TravelCard", + "Transponder", + "VideoToll" + ] + }, + "RouteTollPaymentMethodList":{ + "type":"list", + "member":{"shape":"RouteTollPaymentMethod"}, + "max":8, + "min":0 + }, + "RouteTollPaymentSite":{ + "type":"structure", + "required":["Position"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

            Name of the payment site.

            " + }, + "Position":{ + "shape":"Position23", + "documentation":"

            Position defined as [longitude, latitude].

            " + } + }, + "documentation":"

            Locations or sites where the toll fare is collected.

            " + }, + "RouteTollPaymentSiteList":{ + "type":"list", + "member":{"shape":"RouteTollPaymentSite"} + }, + "RouteTollPrice":{ + "type":"structure", + "required":[ + "Currency", + "Estimate", + "Range", + "Value" + ], + "members":{ + "Currency":{ + "shape":"CurrencyCode", + "documentation":"

            Currency code corresponding to the price. This is the same as Currency specified in the request.

            " + }, + "Estimate":{ + "shape":"Boolean", + "documentation":"

            If the price is an estimate or an exact value.

            " + }, + "PerDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration for which the price corresponds to.

            Unit: seconds

            " + }, + "Range":{ + "shape":"Boolean", + "documentation":"

            If the price is a range or an exact value. If any of the toll fares making up the route is a range, the overall price is also a range.

            " + }, + "RangeValue":{ + "shape":"RouteTollPriceValueRange", + "documentation":"

            Price range with a minimum and maximum value, if a range.

            " + }, + "Value":{ + "shape":"RouteTollPriceValueDouble", + "documentation":"

            Exact price, if not a range.

            " + } + }, + "documentation":"

            The toll price.

            " + }, + "RouteTollPriceSummary":{ + "type":"structure", + "required":[ + "Currency", + "Estimate", + "Range", + "Value" + ], + "members":{ + "Currency":{ + "shape":"CurrencyCode", + "documentation":"

            Currency code corresponding to the price. This is the same as Currency specified in the request.

            " + }, + "Estimate":{ + "shape":"Boolean", + "documentation":"

            If the price is an estimate or an exact value.

            " + }, + "Range":{ + "shape":"Boolean", + "documentation":"

            If the price is a range or an exact value. If any of the toll fares making up the route is a range, the overall price is also a range.

            " + }, + "RangeValue":{ + "shape":"RouteTollPriceValueRange", + "documentation":"

            Price range with a minimum and maximum value, if a range.

            " + }, + "Value":{ + "shape":"RouteTollPriceSummaryValueDouble", + "documentation":"

            Exact price, if not a range.

            " + } + }, + "documentation":"

            Summary of the route and toll price.

            " + }, + "RouteTollPriceSummaryValueDouble":{ + "type":"double", + "box":true, + "min":0.0 + }, + "RouteTollPriceValueDouble":{ + "type":"double", + "box":true, + "min":0.0 + }, + "RouteTollPriceValueRange":{ + "type":"structure", + "required":[ + "Min", + "Max" + ], + "members":{ + "Min":{ + "shape":"RouteTollPriceValueRangeMinDouble", + "documentation":"

            Minimum price.

            " + }, + "Max":{ + "shape":"RouteTollPriceValueRangeMaxDouble", + "documentation":"

            Maximum price.

            " + } + }, + "documentation":"

            Price range with a minimum and maximum value, if a range.

            " + }, + "RouteTollPriceValueRangeMaxDouble":{ + "type":"double", + "box":true, + "min":0.0 + }, + "RouteTollPriceValueRangeMinDouble":{ + "type":"double", + "box":true, + "min":0.0 + }, + "RouteTollRate":{ + "type":"structure", + "required":[ + "Id", + "LocalPrice", + "Name", + "PaymentMethods", + "Transponders" + ], + "members":{ + "ApplicableTimes":{ + "shape":"String", + "documentation":"

            Time when the rate is valid.

            " + }, + "ConvertedPrice":{ + "shape":"RouteTollPrice", + "documentation":"

            Price in the converted currency as specified in the request.

            " + }, + "Id":{ + "shape":"String", + "documentation":"

            The Toll rate Id.

            " + }, + "LocalPrice":{ + "shape":"RouteTollPrice", + "documentation":"

            Price in the local regional currency.

            " + }, + "Name":{ + "shape":"String", + "documentation":"

            The name of the toll.

            " + }, + "Pass":{ + "shape":"RouteTollPass", + "documentation":"

            Details if the toll rate can be a pass that supports multiple trips.

            " + }, + "PaymentMethods":{ + "shape":"RouteTollPaymentMethodList", + "documentation":"

            Accepted payment methods at the toll.

            " + }, + "Transponders":{ + "shape":"RouteTransponderList", + "documentation":"

            Transponders for which this toll can be applied.

            " + } + }, + "documentation":"

            The toll rate.

            " + }, + "RouteTollRateList":{ + "type":"list", + "member":{"shape":"RouteTollRate"} + }, + "RouteTollSummary":{ + "type":"structure", + "members":{ + "Total":{ + "shape":"RouteTollPriceSummary", + "documentation":"

            Total toll summary for the complete route. Total is the only summary available today.

            " + } + }, + "documentation":"

            The toll summary for the complete route.

            " + }, + "RouteTollSystem":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

            The toll system name.

            " + } + }, + "documentation":"

            Toll systems are authorities that collect payments for the toll.

            " + }, + "RouteTollSystemList":{ + "type":"list", + "member":{"shape":"RouteTollSystem"} + }, + "RouteTollVehicleCategory":{ + "type":"string", + "enum":["Minibus"] + }, + "RouteTrafficOptions":{ + "type":"structure", + "members":{ + "FlowEventThresholdOverride":{ + "shape":"DurationSeconds", + "documentation":"

            Duration for which flow traffic is considered valid. For this period, the flow traffic is used over historical traffic data. Flow traffic refers to congestion, which changes very quickly. Duration in seconds for which flow traffic event would be considered valid. While flow traffic event is valid it will be used over the historical traffic data.

            " + }, + "Usage":{ + "shape":"TrafficUsage", + "documentation":"

            Determines if traffic should be used or ignored while calculating the route.

            Default Value: UseTrafficData

            " + } + }, + "documentation":"

            Traffic options for the route.

            " + }, + "RouteTrailerOptions":{ + "type":"structure", + "members":{ + "AxleCount":{ + "shape":"RouteTrailerOptionsAxleCountInteger", + "documentation":"

            Total number of axles of the vehicle.

            " + }, + "TrailerCount":{ + "shape":"RouteTrailerOptionsTrailerCountInteger", + "documentation":"

            Number of trailers attached to the vehicle.

            Default Value: 0

            " + } + }, + "documentation":"

            Trailer options corresponding to the vehicle.

            " + }, + "RouteTrailerOptionsAxleCountInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "RouteTrailerOptionsTrailerCountInteger":{ + "type":"integer", + "box":true, + "max":255, + "min":1 + }, + "RouteTransponder":{ + "type":"structure", + "members":{ + "SystemName":{ + "shape":"String", + "documentation":"

            Names of the toll system collecting the toll.

            " + } + }, + "documentation":"

            Transponders for which this toll can be applied.

            " + }, + "RouteTransponderList":{ + "type":"list", + "member":{"shape":"RouteTransponder"} + }, + "RouteTravelMode":{ + "type":"string", + "enum":[ + "Car", + "Pedestrian", + "Scooter", + "Truck" + ] + }, + "RouteTravelModeOptions":{ + "type":"structure", + "members":{ + "Car":{ + "shape":"RouteCarOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Car\"

            " + }, + "Pedestrian":{ + "shape":"RoutePedestrianOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Pedestrian\"

            " + }, + "Scooter":{ + "shape":"RouteScooterOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Scooter\"

            " + }, + "Truck":{ + "shape":"RouteTruckOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Truck\"

            " + } + }, + "documentation":"

            Travel mode related options for the provided travel mode.

            " + }, + "RouteTravelStepType":{ + "type":"string", + "enum":[ + "Default", + "TurnByTurn" + ] + }, + "RouteTruckOptions":{ + "type":"structure", + "members":{ + "AxleCount":{ + "shape":"RouteTruckOptionsAxleCountInteger", + "documentation":"

            Total number of axles of the vehicle.

            " + }, + "EngineType":{ + "shape":"RouteEngineType", + "documentation":"

            Engine type of the vehicle.

            " + }, + "GrossWeight":{ + "shape":"WeightKilograms", + "documentation":"

            Gross weight of the vehicle including trailers, and goods at capacity.

            Unit: Kilograms

            " + }, + "HazardousCargos":{ + "shape":"RouteHazardousCargoTypeList", + "documentation":"

            List of Hazardous cargo contained in the vehicle.

            " + }, + "Height":{ + "shape":"RouteTruckOptionsHeightLong", + "documentation":"

            Height of the vehicle.

            Unit: centimeters

            " + }, + "HeightAboveFirstAxle":{ + "shape":"RouteTruckOptionsHeightAboveFirstAxleLong", + "documentation":"

            Height of the vehicle above its first axle.

            Unit: centimeters

            " + }, + "KpraLength":{ + "shape":"DimensionCentimeters", + "documentation":"

            Kingpin to rear axle length of the vehicle.

            Unit: centimeters

            " + }, + "Length":{ + "shape":"RouteTruckOptionsLengthLong", + "documentation":"

            Length of the vehicle.

            Unit: c

            " + }, + "LicensePlate":{ + "shape":"RouteVehicleLicensePlate", + "documentation":"

            The vehicle License Plate.

            " + }, + "MaxSpeed":{ + "shape":"RouteTruckOptionsMaxSpeedDouble", + "documentation":"

            Maximum speed

            Unit: KilometersPerHour

            ", + "box":true + }, + "Occupancy":{ + "shape":"RouteTruckOptionsOccupancyInteger", + "documentation":"

            The number of occupants in the vehicle.

            Default Value: 1

            " + }, + "PayloadCapacity":{ + "shape":"WeightKilograms", + "documentation":"

            Payload capacity of the vehicle and trailers attached.

            Unit: kilograms

            " + }, + "TireCount":{ + "shape":"RouteTruckOptionsTireCountInteger", + "documentation":"

            Number of tires on the vehicle.

            " + }, + "Trailer":{ + "shape":"RouteTrailerOptions", + "documentation":"

            Trailer options corresponding to the vehicle.

            " + }, + "TruckType":{ + "shape":"RouteTruckType", + "documentation":"

            Type of the truck.

            " + }, + "TunnelRestrictionCode":{ + "shape":"RouteTruckOptionsTunnelRestrictionCodeString", + "documentation":"

            The tunnel restriction code.

            Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. They relate to the types of dangerous goods that can be transported through them.

            • Tunnel Category B

              • Risk Level: Limited risk

              • Restrictions: Few restrictions

            • Tunnel Category C

              • Risk Level: Medium risk

              • Restrictions: Some restrictions

            • Tunnel Category D

              • Risk Level: High risk

              • Restrictions: Many restrictions occur

            • Tunnel Category E

              • Risk Level: Very high risk

              • Restrictions: Restricted tunnel

            " + }, + "WeightPerAxle":{ + "shape":"WeightKilograms", + "documentation":"

            Heaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.

            Unit: Kilograms

            " + }, + "WeightPerAxleGroup":{ + "shape":"WeightPerAxleGroup", + "documentation":"

            Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.

            Unit: Kilograms

            " + }, + "Width":{ + "shape":"RouteTruckOptionsWidthLong", + "documentation":"

            Width of the vehicle.

            Unit: centimeters

            " + } + }, + "documentation":"

            Travel mode options when the provided travel mode is \"Truck\"

            " + }, + "RouteTruckOptionsAxleCountInteger":{ + "type":"integer", + "box":true, + "max":255, + "min":2 + }, + "RouteTruckOptionsHeightAboveFirstAxleLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "RouteTruckOptionsHeightLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "RouteTruckOptionsLengthLong":{ + "type":"long", + "max":30000, + "min":0 + }, + "RouteTruckOptionsMaxSpeedDouble":{ + "type":"double", + "max":252.0, + "min":3.6 + }, + "RouteTruckOptionsOccupancyInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "RouteTruckOptionsTireCountInteger":{ + "type":"integer", + "box":true, + "max":255, + "min":1 + }, + "RouteTruckOptionsTunnelRestrictionCodeString":{ + "type":"string", + "max":20, + "min":0 + }, + "RouteTruckOptionsWidthLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "RouteTruckType":{ + "type":"string", + "enum":[ + "LightTruck", + "StraightTruck", + "Tractor" + ] + }, + "RouteTurnIntensity":{ + "type":"string", + "enum":[ + "Sharp", + "Slight", + "Typical" + ] + }, + "RouteTurnStepDetails":{ + "type":"structure", + "required":["Intersection"], + "members":{ + "Intersection":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the intersection, if applicable to the step.

            " + }, + "SteeringDirection":{ + "shape":"RouteSteeringDirection", + "documentation":"

            Steering direction for the step.

            " + }, + "TurnAngle":{ + "shape":"TurnAngle", + "documentation":"

            Angle of the turn.

            " + }, + "TurnIntensity":{ + "shape":"RouteTurnIntensity", + "documentation":"

            Intensity of the turn.

            " + } + }, + "documentation":"

            Details related to the turn step.

            " + }, + "RouteUTurnStepDetails":{ + "type":"structure", + "required":["Intersection"], + "members":{ + "Intersection":{ + "shape":"LocalizedStringList", + "documentation":"

            Name of the intersection, if applicable to the step.

            " + }, + "SteeringDirection":{ + "shape":"RouteSteeringDirection", + "documentation":"

            Steering direction for the step.

            " + }, + "TurnAngle":{ + "shape":"TurnAngle", + "documentation":"

            Angle of the turn.

            " + }, + "TurnIntensity":{ + "shape":"RouteTurnIntensity", + "documentation":"

            Intensity of the turn.

            " + } + }, + "documentation":"

            Details related to the U-turn step.

            " + }, + "RouteVehicleArrival":{ + "type":"structure", + "required":["Place"], + "members":{ + "Place":{ + "shape":"RouteVehiclePlace", + "documentation":"

            The place details.

            " + }, + "Time":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            The time.

            " + } + }, + "documentation":"

            Details corresponding to the arrival for a leg.

            " + }, + "RouteVehicleDeparture":{ + "type":"structure", + "required":["Place"], + "members":{ + "Place":{ + "shape":"RouteVehiclePlace", + "documentation":"

            The place details.

            " + }, + "Time":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            The departure time.

            " + } + }, + "documentation":"

            Details corresponding to the departure for the leg.

            " + }, + "RouteVehicleIncident":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

            Brief readable description of the incident.

            " + }, + "EndTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            End timestamp of the incident.

            " + }, + "Severity":{ + "shape":"RouteVehicleIncidentSeverity", + "documentation":"

            Severity of the incident Critical - The part of the route the incident affects is unusable. Major- Major impact on the leg duration, for example stop and go Minor- Minor impact on the leg duration, for example traffic jam Low - Low on duration, for example slightly increased traffic

            " + }, + "StartTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Start time of the incident.

            " + }, + "Type":{ + "shape":"RouteVehicleIncidentType", + "documentation":"

            Type of the incident.

            " + } + }, + "documentation":"

            Incidents corresponding to this leg of the route.

            " + }, + "RouteVehicleIncidentList":{ + "type":"list", + "member":{"shape":"RouteVehicleIncident"} + }, + "RouteVehicleIncidentSeverity":{ + "type":"string", + "enum":[ + "Critical", + "High", + "Medium", + "Low" + ] + }, + "RouteVehicleIncidentType":{ + "type":"string", + "enum":[ + "Accident", + "Congestion", + "Construction", + "DisabledVehicle", + "LaneRestriction", + "MassTransit", + "Other", + "PlannedEvent", + "RoadClosure", + "RoadHazard", + "Weather" + ] + }, + "RouteVehicleLegDetails":{ + "type":"structure", + "required":[ + "Arrival", + "Departure", + "Incidents", + "Notices", + "PassThroughWaypoints", + "Spans", + "Tolls", + "TollSystems", + "TravelSteps", + "TruckRoadTypes", + "Zones" + ], + "members":{ + "Arrival":{ + "shape":"RouteVehicleArrival", + "documentation":"

            Details corresponding to the arrival for the leg.

            " + }, + "Departure":{ + "shape":"RouteVehicleDeparture", + "documentation":"

            Details corresponding to the departure for the leg.

            " + }, + "Incidents":{ + "shape":"RouteVehicleIncidentList", + "documentation":"

            Incidents corresponding to this leg of the route.

            " + }, + "Notices":{ + "shape":"RouteVehicleNoticeList", + "documentation":"

            Notices are additional information returned that indicate issues that occurred during route calculation.

            " + }, + "PassThroughWaypoints":{ + "shape":"RoutePassThroughWaypointList", + "documentation":"

            Waypoints that were passed through during the leg. This includes the waypoints that were configured with the PassThrough option.

            " + }, + "Spans":{ + "shape":"RouteVehicleSpanList", + "documentation":"

            Spans that were computed for the requested SpanAdditionalFeatures.

            " + }, + "Summary":{ + "shape":"RouteVehicleSummary", + "documentation":"

            Summarized details of the leg.

            " + }, + "Tolls":{ + "shape":"RouteTollList", + "documentation":"

            Toll related options.

            " + }, + "TollSystems":{ + "shape":"RouteTollSystemList", + "documentation":"

            Toll systems are authorities that collect payments for the toll.

            " + }, + "TravelSteps":{ + "shape":"RouteVehicleTravelStepList", + "documentation":"

            Steps of a leg that must be performed before the travel portion of the leg.

            " + }, + "TruckRoadTypes":{ + "shape":"TruckRoadTypeList", + "documentation":"

            Truck road type identifiers. BK1 through BK4 apply only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

            There are currently no other supported values as of 26th April 2024.

            " + }, + "Zones":{ + "shape":"RouteZoneList", + "documentation":"

            Zones corresponding to this leg of the route.

            " + } + }, + "documentation":"

            Steps of a leg that correspond to the travel portion of the leg.

            " + }, + "RouteVehicleLicensePlate":{ + "type":"structure", + "members":{ + "LastCharacter":{ + "shape":"RouteVehicleLicensePlateLastCharacterString", + "documentation":"

            The last character of the License Plate.

            " + } + }, + "documentation":"

            License plate information of the vehicle. Currently, only the last character is used where license plate based controlled access is enforced.

            " + }, + "RouteVehicleLicensePlateLastCharacterString":{ + "type":"string", + "max":1, + "min":1 + }, + "RouteVehicleNotice":{ + "type":"structure", + "required":[ + "Code", + "Details" + ], + "members":{ + "Code":{ + "shape":"RouteVehicleNoticeCode", + "documentation":"

            Code corresponding to the issue.

            " + }, + "Details":{ + "shape":"RouteVehicleNoticeDetailList", + "documentation":"

            Additional details of the notice.

            " + }, + "Impact":{ + "shape":"RouteNoticeImpact", + "documentation":"

            Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.

            " + } + }, + "documentation":"

            Notices are additional information returned that indicate issues that occurred during route calculation.

            " + }, + "RouteVehicleNoticeCode":{ + "type":"string", + "enum":[ + "AccuratePolylineUnavailable", + "Other", + "PotentialViolatedAvoidTollRoadUsage", + "PotentialViolatedCarpoolUsage", + "PotentialViolatedTurnRestrictionUsage", + "PotentialViolatedVehicleRestrictionUsage", + "PotentialViolatedZoneRestrictionUsage", + "SeasonalClosure", + "TollsDataTemporarilyUnavailable", + "TollsDataUnavailable", + "TollTransponder", + "ViolatedAvoidControlledAccessHighway", + "ViolatedAvoidDifficultTurns", + "ViolatedAvoidDirtRoad", + "ViolatedAvoidSeasonalClosure", + "ViolatedAvoidTollRoad", + "ViolatedAvoidTollTransponder", + "ViolatedAvoidTruckRoadType", + "ViolatedAvoidTunnel", + "ViolatedAvoidUTurns", + "ViolatedBlockedRoad", + "ViolatedCarpool", + "ViolatedEmergencyGate", + "ViolatedStartDirection", + "ViolatedTurnRestriction", + "ViolatedVehicleRestriction", + "ViolatedZoneRestriction" + ] + }, + "RouteVehicleNoticeDetail":{ + "type":"structure", + "members":{ + "Title":{ + "shape":"String", + "documentation":"

            The notice title.

            " + }, + "ViolatedConstraints":{ + "shape":"RouteViolatedConstraints", + "documentation":"

            Any violated constraints.

            " + } + }, + "documentation":"

            Additional details of the notice.

            " + }, + "RouteVehicleNoticeDetailList":{ + "type":"list", + "member":{"shape":"RouteVehicleNoticeDetail"} + }, + "RouteVehicleNoticeList":{ + "type":"list", + "member":{"shape":"RouteVehicleNotice"} + }, + "RouteVehicleOverviewSummary":{ + "type":"structure", + "required":[ + "Distance", + "Duration" + ], + "members":{ + "BestCaseDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Total duration in free flowing traffic, which is the best case or shortest duration possible to cover the leg.

            Unit: seconds

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Distance of the step.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the step.

            Unit: seconds

            " + }, + "TypicalDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the computed span under typical traffic congestion.

            Unit: seconds

            " + } + }, + "documentation":"

            Summarized details of the leg.

            " + }, + "RouteVehiclePlace":{ + "type":"structure", + "required":["Position"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

            The name of the place.

            " + }, + "OriginalPosition":{ + "shape":"Position23", + "documentation":"

            Position provided in the request.

            " + }, + "Position":{ + "shape":"Position23", + "documentation":"

            Position defined as [longitude, latitude].

            " + }, + "SideOfStreet":{ + "shape":"RouteSideOfStreet", + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + }, + "WaypointIndex":{ + "shape":"RouteVehiclePlaceWaypointIndexInteger", + "documentation":"

            Index of the waypoint in the request.

            " + } + }, + "documentation":"

            Place details corresponding to the arrival or departure.

            " + }, + "RouteVehiclePlaceWaypointIndexInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RouteVehicleSpan":{ + "type":"structure", + "members":{ + "BestCaseDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the computed span without traffic congestion.

            Unit: seconds

            " + }, + "CarAccess":{ + "shape":"RouteSpanCarAccessAttributeList", + "documentation":"

            Access attributes for a car corresponding to the span.

            " + }, + "Country":{ + "shape":"CountryCode3", + "documentation":"

            3 letter Country code corresponding to the Span.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Distance of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.

            Unit: seconds

            " + }, + "DynamicSpeed":{ + "shape":"RouteSpanDynamicSpeedDetails", + "documentation":"

            Dynamic speed details corresponding to the span.

            Unit: KilometersPerHour

            " + }, + "FunctionalClassification":{ + "shape":"RouteVehicleSpanFunctionalClassificationInteger", + "documentation":"

            Functional classification of the road segment corresponding to the span.

            " + }, + "Gate":{ + "shape":"RouteSpanGateAttribute", + "documentation":"

            Attributes corresponding to a gate. The gate is present at the end of the returned span.

            " + }, + "GeometryOffset":{ + "shape":"RouteVehicleSpanGeometryOffsetInteger", + "documentation":"

            Offset in the leg geometry corresponding to the start of this span.

            " + }, + "Incidents":{ + "shape":"IndexList", + "documentation":"

            Incidents corresponding to the span. These index into the Incidents in the parent Leg.

            " + }, + "Names":{ + "shape":"LocalizedStringList", + "documentation":"

            Provides an array of names of the vehicle span in available languages.

            " + }, + "Notices":{ + "shape":"IndexList", + "documentation":"

            Notices are additional information returned that indicate issues that occurred during route calculation.

            " + }, + "RailwayCrossing":{ + "shape":"RouteSpanRailwayCrossingAttribute", + "documentation":"

            Attributes corresponding to a railway crossing. The gate is present at the end of the returned span.

            " + }, + "Region":{ + "shape":"RouteVehicleSpanRegionString", + "documentation":"

            2-3 letter Region code corresponding to the Span. This is either a province or a state.

            " + }, + "RoadAttributes":{ + "shape":"RouteSpanRoadAttributeList", + "documentation":"

            Attributes for the road segment corresponding to the span.

            " + }, + "RouteNumbers":{ + "shape":"RouteNumberList", + "documentation":"

            Designated route name or number corresponding to the span.

            " + }, + "ScooterAccess":{ + "shape":"RouteSpanScooterAccessAttributeList", + "documentation":"

            Access attributes for a scooter corresponding to the span.

            " + }, + "SpeedLimit":{ + "shape":"RouteSpanSpeedLimitDetails", + "documentation":"

            Speed limit details corresponding to the span.

            Unit: KilometersPerHour

            " + }, + "TollSystems":{ + "shape":"IndexList", + "documentation":"

            Toll systems are authorities that collect payments for the toll.

            " + }, + "TruckAccess":{ + "shape":"RouteSpanTruckAccessAttributeList", + "documentation":"

            Access attributes for a truck corresponding to the span.

            " + }, + "TruckRoadTypes":{ + "shape":"IndexList", + "documentation":"

            Truck road type identifiers. BK1 through BK4 apply only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

            There are currently no other supported values as of 26th April 2024.

            " + }, + "TypicalDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the computed span under typical traffic congestion.

            Unit: seconds

            " + }, + "Zones":{ + "shape":"IndexList", + "documentation":"

            Zones corresponding to this leg of the route.

            " + } + }, + "documentation":"

            Span computed for the requested SpanAdditionalFeatures.

            " + }, + "RouteVehicleSpanFunctionalClassificationInteger":{ + "type":"integer", + "box":true, + "max":5, + "min":1 + }, + "RouteVehicleSpanGeometryOffsetInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RouteVehicleSpanList":{ + "type":"list", + "member":{"shape":"RouteVehicleSpan"} + }, + "RouteVehicleSpanRegionString":{ + "type":"string", + "max":3, + "min":0 + }, + "RouteVehicleSummary":{ + "type":"structure", + "members":{ + "Overview":{ + "shape":"RouteVehicleOverviewSummary", + "documentation":"

            Summarized details for the leg including before travel, travel and after travel steps.

            " + }, + "TravelOnly":{ + "shape":"RouteVehicleTravelOnlySummary", + "documentation":"

            Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is in meters

            " + } + }, + "documentation":"

            Summarized details of the route.

            " + }, + "RouteVehicleTravelOnlySummary":{ + "type":"structure", + "required":["Duration"], + "members":{ + "BestCaseDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Total duration in free flowing traffic, which is the best case or shortest duration possible to cover the leg.

            Unit: seconds

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the step.

            Unit: seconds

            " + }, + "TypicalDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the computed span under typical traffic congestion.

            Unit: seconds

            " + } + }, + "documentation":"

            Summarized details of the route.

            " + }, + "RouteVehicleTravelStep":{ + "type":"structure", + "required":[ + "Duration", + "Type" + ], + "members":{ + "ContinueHighwayStepDetails":{ + "shape":"RouteContinueHighwayStepDetails", + "documentation":"

            Details that are specific to a Continue Highway step.

            " + }, + "ContinueStepDetails":{ + "shape":"RouteContinueStepDetails", + "documentation":"

            Details that are specific to a Continue step.

            " + }, + "CurrentRoad":{ + "shape":"RouteRoad", + "documentation":"

            Details of the current road.

            " + }, + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Distance of the step.

            " + }, + "Duration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the step.

            Unit: seconds

            " + }, + "EnterHighwayStepDetails":{ + "shape":"RouteEnterHighwayStepDetails", + "documentation":"

            Details that are specific to a Enter Highway step.

            " + }, + "ExitNumber":{ + "shape":"LocalizedStringList", + "documentation":"

            Exit number of the road exit, if applicable.

            " + }, + "ExitStepDetails":{ + "shape":"RouteExitStepDetails", + "documentation":"

            Details that are specific to a Roundabout Exit step.

            " + }, + "GeometryOffset":{ + "shape":"RouteVehicleTravelStepGeometryOffsetInteger", + "documentation":"

            Offset in the leg geometry corresponding to the start of this step.

            " + }, + "Instruction":{ + "shape":"String", + "documentation":"

            Brief description of the step in the requested language.

            Only available when the TravelStepType is Default.

            " + }, + "KeepStepDetails":{ + "shape":"RouteKeepStepDetails", + "documentation":"

            Details that are specific to a Keep step.

            " + }, + "NextRoad":{ + "shape":"RouteRoad", + "documentation":"

            Details of the next road. See RouteRoad for details of sub-attributes.

            " + }, + "RampStepDetails":{ + "shape":"RouteRampStepDetails", + "documentation":"

            Details that are specific to a Ramp step.

            " + }, + "RoundaboutEnterStepDetails":{ + "shape":"RouteRoundaboutEnterStepDetails", + "documentation":"

            Details that are specific to a Roundabout Enter step.

            " + }, + "RoundaboutExitStepDetails":{ + "shape":"RouteRoundaboutExitStepDetails", + "documentation":"

            Details that are specific to a Roundabout Exit step.

            " + }, + "RoundaboutPassStepDetails":{ + "shape":"RouteRoundaboutPassStepDetails", + "documentation":"

            Details that are specific to a Roundabout Pass step.

            " + }, + "Signpost":{ + "shape":"RouteSignpost", + "documentation":"

            Sign post information of the action, applicable only for TurnByTurn steps. See RouteSignpost for details of sub-attributes.

            " + }, + "TurnStepDetails":{ + "shape":"RouteTurnStepDetails", + "documentation":"

            Details that are specific to a Turn step.

            " + }, + "Type":{ + "shape":"RouteVehicleTravelStepType", + "documentation":"

            Type of the step.

            " + }, + "UTurnStepDetails":{ + "shape":"RouteUTurnStepDetails", + "documentation":"

            Details that are specific to a Turn step.

            " + } + }, + "documentation":"

            Steps of a leg that correspond to the travel portion of the leg.

            " + }, + "RouteVehicleTravelStepGeometryOffsetInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "RouteVehicleTravelStepList":{ + "type":"list", + "member":{"shape":"RouteVehicleTravelStep"} + }, + "RouteVehicleTravelStepType":{ + "type":"string", + "enum":[ + "Arrive", + "Continue", + "ContinueHighway", + "Depart", + "EnterHighway", + "Exit", + "Keep", + "Ramp", + "RoundaboutEnter", + "RoundaboutExit", + "RoundaboutPass", + "Turn", + "UTurn" + ] + }, + "RouteViolatedConstraints":{ + "type":"structure", + "required":["HazardousCargos"], + "members":{ + "AllHazardsRestricted":{ + "shape":"Boolean", + "documentation":"

            This restriction applies to truck cargo, where the resulting route excludes roads on which hazardous materials are prohibited from being transported.

            " + }, + "AxleCount":{ + "shape":"RouteNoticeDetailRange", + "documentation":"

            Total number of axles of the vehicle.

            " + }, + "HazardousCargos":{ + "shape":"RouteHazardousCargoTypeList", + "documentation":"

            List of Hazardous cargo contained in the vehicle.

            " + }, + "MaxHeight":{ + "shape":"DimensionCentimeters", + "documentation":"

            The maximum height of the vehicle.

            " + }, + "MaxKpraLength":{ + "shape":"DimensionCentimeters", + "documentation":"

            The maximum Kpra length of the vehicle.

            Unit: centimeters

            " + }, + "MaxLength":{ + "shape":"DimensionCentimeters", + "documentation":"

            The maximum length of the vehicle.

            " + }, + "MaxPayloadCapacity":{ + "shape":"WeightKilograms", + "documentation":"

            The maximum load capacity of the vehicle.

            Unit: kilograms

            " + }, + "MaxWeight":{ + "shape":"RouteWeightConstraint", + "documentation":"

            The maximum weight of the route.

            Unit: Kilograms

            " + }, + "MaxWeightPerAxle":{ + "shape":"WeightKilograms", + "documentation":"

            The maximum weight per axle of the vehicle.

            Unit: Kilograms

            " + }, + "MaxWeightPerAxleGroup":{ + "shape":"WeightPerAxleGroup", + "documentation":"

            The maximum weight per axle group of the vehicle.

            Unit: Kilograms

            " + }, + "MaxWidth":{ + "shape":"DimensionCentimeters", + "documentation":"

            The maximum width of the vehicle.

            " + }, + "Occupancy":{ + "shape":"RouteNoticeDetailRange", + "documentation":"

            The number of occupants in the vehicle.

            Default Value: 1

            " + }, + "RestrictedTimes":{ + "shape":"String", + "documentation":"

            Access radius restrictions based on time.

            " + }, + "TimeDependent":{ + "shape":"Boolean", + "documentation":"

            The time dependent constraint.

            " + }, + "TrailerCount":{ + "shape":"RouteNoticeDetailRange", + "documentation":"

            Number of trailers attached to the vehicle.

            Default Value: 0

            " + }, + "TravelMode":{ + "shape":"Boolean", + "documentation":"

            Travel mode corresponding to the leg.

            " + }, + "TruckRoadType":{ + "shape":"String", + "documentation":"

            Truck road type identifiers. BK1 through BK4 apply only to Sweden. A2,A4,B2,B4,C,D,ET2,ET4 apply only to Mexico.

            There are currently no other supported values as of 26th April 2024.

            " + }, + "TruckType":{ + "shape":"RouteTruckType", + "documentation":"

            Type of the truck.

            " + }, + "TunnelRestrictionCode":{ + "shape":"TunnelRestrictionCode", + "documentation":"

            The tunnel restriction code.

            Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. They relate to the types of dangerous goods that can be transported through them.

            • Tunnel Category B

              • Risk Level: Limited risk

              • Restrictions: Few restrictions

            • Tunnel Category C

              • Risk Level: Medium risk

              • Restrictions: Some restrictions

            • Tunnel Category D

              • Risk Level: High risk

              • Restrictions: Many restrictions occur

            • Tunnel Category E

              • Risk Level: Very high risk

              • Restrictions: Restricted tunnel

            " + } + }, + "documentation":"

            This property contains a summary of violated constraints.

            " + }, + "RouteWaypoint":{ + "type":"structure", + "required":["Position"], + "members":{ + "AvoidActionsForDistance":{ + "shape":"RouteWaypointAvoidActionsForDistanceLong", + "documentation":"

            Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.

            " + }, + "AvoidUTurns":{ + "shape":"Boolean", + "documentation":"

            Avoid U-turns for calculation on highways and motorways.

            " + }, + "Heading":{ + "shape":"Heading", + "documentation":"

            GPS Heading at the position.

            " + }, + "Matching":{ + "shape":"RouteMatchingOptions", + "documentation":"

            Options to configure matching the provided position to the road network.

            " + }, + "PassThrough":{ + "shape":"Boolean", + "documentation":"

            If the waypoint should not be treated as a stop. If yes, the waypoint is passed through and doesn't split the route into different legs.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            Position defined as [longitude, latitude].

            " + }, + "SideOfStreet":{ + "shape":"RouteSideOfStreetOptions", + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + }, + "StopDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of the stop.

            Unit: seconds

            " + } + }, + "documentation":"

            Waypoint between the Origin and Destination.

            " + }, + "RouteWaypointAvoidActionsForDistanceLong":{ + "type":"long", + "max":2000 + }, + "RouteWaypointList":{ + "type":"list", + "member":{"shape":"RouteWaypoint"} + }, + "RouteWeightConstraint":{ + "type":"structure", + "required":[ + "Type", + "Value" + ], + "members":{ + "Type":{ + "shape":"RouteWeightConstraintType", + "documentation":"

            The type of constraint.

            " + }, + "Value":{ + "shape":"WeightKilograms", + "documentation":"

            The constraint value.

            Unit: Kilograms

            " + } + }, + "documentation":"

            The weight constraint for the route.

            Unit: Kilograms

            " + }, + "RouteWeightConstraintType":{ + "type":"string", + "enum":[ + "Current", + "Gross", + "Unknown" + ] + }, + "RouteZone":{ + "type":"structure", + "members":{ + "Category":{ + "shape":"RouteZoneCategory", + "documentation":"

            The zone category.

            " + }, + "Name":{ + "shape":"String", + "documentation":"

            The name of the zone.

            " + } + }, + "documentation":"

            The zone.

            " + }, + "RouteZoneCategory":{ + "type":"string", + "enum":[ + "CongestionPricing", + "Environmental", + "Vignette" + ] + }, + "RouteZoneList":{ + "type":"list", + "member":{"shape":"RouteZone"} + }, + "RoutingObjective":{ + "type":"string", + "enum":[ + "FastestRoute", + "ShortestRoute" + ] + }, + "SensitiveString":{ + "type":"string", + "sensitive":true + }, + "SideOfStreetMatchingStrategy":{ + "type":"string", + "enum":[ + "AnyStreet", + "DividedStreetOnly" + ] + }, + "SnapToRoadsRequest":{ + "type":"structure", + "required":["TracePoints"], + "members":{ + "Key":{ + "shape":"ApiKey", + "documentation":"

            Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.

            ", + "location":"querystring", + "locationName":"key" + }, + "SnappedGeometryFormat":{ + "shape":"GeometryFormat", + "documentation":"

            Chooses what the returned SnappedGeometry format should be.

            Default Value: FlexiblePolyline

            " + }, + "SnapRadius":{ + "shape":"SnapToRoadsRequestSnapRadiusLong", + "documentation":"

            The radius around the provided tracepoint that is considered for snapping.

            Unit: meters

            Default value: 300

            " + }, + "TracePoints":{ + "shape":"SnapToRoadsRequestTracePointsList", + "documentation":"

            List of trace points to be snapped onto the road network.

            " + }, + "TravelMode":{ + "shape":"RoadSnapTravelMode", + "documentation":"

            Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

            Default Value: Car

            " + }, + "TravelModeOptions":{ + "shape":"RoadSnapTravelModeOptions", + "documentation":"

            Travel mode related options for the provided travel mode.

            " + } + } + }, + "SnapToRoadsRequestSnapRadiusLong":{ + "type":"long", + "max":10000, + "min":0 + }, + "SnapToRoadsRequestTracePointsList":{ + "type":"list", + "member":{"shape":"RoadSnapTracePoint"}, + "max":5000, + "min":2 + }, + "SnapToRoadsResponse":{ + "type":"structure", + "required":[ + "Notices", + "PricingBucket", + "SnappedGeometryFormat", + "SnappedTracePoints" + ], + "members":{ + "Notices":{ + "shape":"RoadSnapNoticeList", + "documentation":"

            Notices are additional information returned that indicate issues that occurred during route calculation.

            " + }, + "PricingBucket":{ + "shape":"String", + "documentation":"

            The pricing bucket for which the query is charged at.

            ", + "location":"header", + "locationName":"x-amz-geo-pricing-bucket" + }, + "SnappedGeometry":{ + "shape":"RoadSnapSnappedGeometry", + "documentation":"

            The interpolated geometry for the snapped route onto the road network.

            " + }, + "SnappedGeometryFormat":{ + "shape":"GeometryFormat", + "documentation":"

            Specifies the format of the geometry returned for each leg of the route.

            " + }, + "SnappedTracePoints":{ + "shape":"RoadSnapSnappedTracePointList", + "documentation":"

            The trace points snapped onto the road network.

            " + } + } + }, + "SpeedKilometersPerHour":{ + "type":"double", + "min":0.0 + }, + "String":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + } + }, + "documentation":"

            The request was denied due to request throttling.

            ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, + "TimeOfDay":{ + "type":"string", + "pattern":"([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](Z|[+-]([0-1]?[0-9]|2[0-3]):[0-5][0-9])" + }, + "TimeThresholdList":{ + "type":"list", + "member":{"shape":"TimeThresholdListMemberLong"}, + "max":5, + "min":1 + }, + "TimeThresholdListMemberLong":{ + "type":"long", + "max":10800, + "min":0 + }, + "TimestampWithTimezoneOffset":{ + "type":"string", + "pattern":"([1-2][0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\\.[0-9]{0,9})?(Z|[+-]([01][0-9]|2[0-3]):[0-5][0-9])" + }, + "TrafficUsage":{ + "type":"string", + "enum":[ + "IgnoreTrafficData", + "UseTrafficData" + ] + }, + "TruckRoadType":{ + "type":"string", + "max":3, + "min":1 + }, + "TruckRoadTypeList":{ + "type":"list", + "member":{"shape":"TruckRoadType"}, + "max":12, + "min":1 + }, + "TunnelRestrictionCode":{ + "type":"string", + "max":1, + "min":1 + }, + "TurnAngle":{ + "type":"double", + "max":180, + "min":-180 + }, + "ValidationException":{ + "type":"structure", + "required":[ + "Message", + "Reason", + "FieldList" + ], + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + }, + "Reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

            A message with the reason for the validation exception error.

            ", + "locationName":"reason" + }, + "FieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

            The field where the invalid entry was detected.

            ", + "locationName":"fieldList" + } + }, + "documentation":"

            The input fails to satisfy the constraints specified by an AWS service.

            ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "Name", + "Message" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

            The name of the Validation Exception Field.

            ", + "locationName":"name" + }, + "Message":{ + "shape":"String", + "documentation":"

            The error message.

            ", + "locationName":"message" + } + }, + "documentation":"

            The input fails to satisfy the constraints specified by the Amazon Location service.

            " + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "UnknownOperation", + "Missing", + "CannotParse", + "FieldValidationFailed", + "Other", + "UnknownField" + ] + }, + "WaypointId":{ + "type":"string", + "max":100, + "min":1 + }, + "WaypointIndex":{"type":"integer"}, + "WaypointOptimizationAccessHours":{ + "type":"structure", + "required":[ + "From", + "To" + ], + "members":{ + "From":{ + "shape":"WaypointOptimizationAccessHoursEntry", + "documentation":"

            Contains the ID of the starting waypoint in this connection.

            " + }, + "To":{ + "shape":"WaypointOptimizationAccessHoursEntry", + "documentation":"

            Contains the ID of the ending waypoint in this connection.

            " + } + }, + "documentation":"

            Access hours corresponding to when a destination can be visited.

            " + }, + "WaypointOptimizationAccessHoursEntry":{ + "type":"structure", + "required":[ + "DayOfWeek", + "TimeOfDay" + ], + "members":{ + "DayOfWeek":{ + "shape":"DayOfWeek", + "documentation":"

            Day of the week.

            " + }, + "TimeOfDay":{ + "shape":"TimeOfDay", + "documentation":"

            Time of the day.

            " + } + }, + "documentation":"

            Hours of entry.

            " + }, + "WaypointOptimizationAvoidanceArea":{ + "type":"structure", + "required":["Geometry"], + "members":{ + "Geometry":{ + "shape":"WaypointOptimizationAvoidanceAreaGeometry", + "documentation":"

            Geometry of the area to be avoided.

            " + } + }, + "documentation":"

            The area to be avoided.

            " + }, + "WaypointOptimizationAvoidanceAreaGeometry":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

            Geometry defined as a bounding box. The first pair represents the X and Y coordinates (longitude and latitude,) of the southwest corner of the bounding box; the second pair represents the X and Y coordinates (longitude and latitude) of the northeast corner.

            " + } + }, + "documentation":"

            Geometry of the area to be avoided.

            " + }, + "WaypointOptimizationAvoidanceOptions":{ + "type":"structure", + "members":{ + "Areas":{ + "shape":"WaypointOptimizationAvoidanceOptionsAreasList", + "documentation":"

            Areas to be avoided.

            " + }, + "CarShuttleTrains":{ + "shape":"Boolean", + "documentation":"

            Avoidance options for cars-shuttles-trains.

            " + }, + "ControlledAccessHighways":{ + "shape":"Boolean", + "documentation":"

            Avoid controlled access highways while calculating the route.

            " + }, + "DirtRoads":{ + "shape":"Boolean", + "documentation":"

            Avoid dirt roads while calculating the route.

            " + }, + "Ferries":{ + "shape":"Boolean", + "documentation":"

            Avoidance options for ferries.

            " + }, + "TollRoads":{ + "shape":"Boolean", + "documentation":"

            Avoids roads where the specified toll transponders are the only mode of payment.

            " + }, + "Tunnels":{ + "shape":"Boolean", + "documentation":"

            Avoid tunnels while calculating the route.

            " + }, + "UTurns":{ + "shape":"Boolean", + "documentation":"

            Avoid U-turns for calculation on highways and motorways.

            " + } + }, + "documentation":"

            Options for WaypointOptimizationAvoidance.

            " + }, + "WaypointOptimizationAvoidanceOptionsAreasList":{ + "type":"list", + "member":{"shape":"WaypointOptimizationAvoidanceArea"}, + "max":20, + "min":0 + }, + "WaypointOptimizationConnection":{ + "type":"structure", + "required":[ + "Distance", + "From", + "RestDuration", + "To", + "TravelDuration", + "WaitDuration" + ], + "members":{ + "Distance":{ + "shape":"DistanceMeters", + "documentation":"

            Distance of the step.

            " + }, + "From":{ + "shape":"WaypointId", + "documentation":"

            contains the ID of the starting waypoint in this connection.

            " + }, + "RestDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Resting time before the driver can continue driving.

            " + }, + "To":{ + "shape":"WaypointId", + "documentation":"

            Contains the ID of the ending waypoint in this connection.

            " + }, + "TravelDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Total duration.

            Unit: seconds

            " + }, + "WaitDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Duration of a wait step.

            Unit: seconds

            " + } + }, + "documentation":"

            This contains information such as distance and duration from one waypoint to the next waypoint in the sequence.

            " + }, + "WaypointOptimizationConnectionList":{ + "type":"list", + "member":{"shape":"WaypointOptimizationConnection"} + }, + "WaypointOptimizationConstraint":{ + "type":"string", + "enum":[ + "AccessHours", + "AppointmentTime", + "Before", + "Heading", + "ServiceDuration", + "SideOfStreet" + ] + }, + "WaypointOptimizationDestinationOptions":{ + "type":"structure", + "members":{ + "AccessHours":{ + "shape":"WaypointOptimizationAccessHours", + "documentation":"

            Access hours corresponding to when a waypoint can be visited.

            " + }, + "AppointmentTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Appointment time at the destination.

            " + }, + "Heading":{ + "shape":"Heading", + "documentation":"

            GPS Heading at the position.

            " + }, + "Id":{ + "shape":"WaypointId", + "documentation":"

            The waypoint Id.

            " + }, + "ServiceDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Service time spent at the destination. At an appointment, the service time should be the appointment duration.

            Unit: seconds

            " + }, + "SideOfStreet":{ + "shape":"WaypointOptimizationSideOfStreetOptions", + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + } + }, + "documentation":"

            Destination related options.

            " + }, + "WaypointOptimizationDriverOptions":{ + "type":"structure", + "members":{ + "RestCycles":{ + "shape":"WaypointOptimizationRestCycles", + "documentation":"

            Driver work-rest schedules defined by a short and long cycle. A rest needs to be taken after the short work duration. The short cycle can be repeated until you hit the long work duration, at which point the long rest duration should be taken before restarting.

            " + }, + "RestProfile":{ + "shape":"WaypointOptimizationRestProfile", + "documentation":"

            Pre defined rest profiles for a driver schedule. The only currently supported profile is EU.

            " + }, + "TreatServiceTimeAs":{ + "shape":"WaypointOptimizationServiceTimeTreatment", + "documentation":"

            If the service time provided at a waypoint/destination should be considered as rest or work. This contributes to the total time breakdown returned within the response.

            " + } + }, + "documentation":"

            Driver related options.

            " + }, + "WaypointOptimizationExclusionOptions":{ + "type":"structure", + "required":["Countries"], + "members":{ + "Countries":{ + "shape":"CountryCodeList", + "documentation":"

            List of countries to be avoided defined by two-letter or three-letter country codes.

            " + } + }, + "documentation":"

            Exclusion options.

            " + }, + "WaypointOptimizationFailedConstraint":{ + "type":"structure", + "members":{ + "Constraint":{ + "shape":"WaypointOptimizationConstraint", + "documentation":"

            The failed constraint.

            " + }, + "Reason":{ + "shape":"String", + "documentation":"

            Reason for the failed constraint.

            " + } + }, + "documentation":"

            The failed constraint.

            " + }, + "WaypointOptimizationFailedConstraintList":{ + "type":"list", + "member":{"shape":"WaypointOptimizationFailedConstraint"} + }, + "WaypointOptimizationHazardousCargoType":{ + "type":"string", + "enum":[ + "Combustible", + "Corrosive", + "Explosive", + "Flammable", + "Gas", + "HarmfulToWater", + "Organic", + "Other", + "Poison", + "PoisonousInhalation", + "Radioactive" + ] + }, + "WaypointOptimizationHazardousCargoTypeList":{ + "type":"list", + "member":{"shape":"WaypointOptimizationHazardousCargoType"} + }, + "WaypointOptimizationImpedingWaypoint":{ + "type":"structure", + "required":[ + "FailedConstraints", + "Id", + "Position" + ], + "members":{ + "FailedConstraints":{ + "shape":"WaypointOptimizationFailedConstraintList", + "documentation":"

            Failed constraints for an impeding waypoint.

            " + }, + "Id":{ + "shape":"WaypointId", + "documentation":"

            The waypoint Id.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            Position defined as [longitude, latitude].

            " + } + }, + "documentation":"

            The impeding waypoint.

            " + }, + "WaypointOptimizationImpedingWaypointList":{ + "type":"list", + "member":{"shape":"WaypointOptimizationImpedingWaypoint"} + }, + "WaypointOptimizationOptimizedWaypoint":{ + "type":"structure", + "required":[ + "DepartureTime", + "Id", + "Position" + ], + "members":{ + "ArrivalTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Estimated time of arrival at the destination.

            Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "DepartureTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Estimated time of departure from thr origin.

            Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm

            Examples:

            2020-04-22T17:57:24Z

            2020-04-22T17:57:24+02:00

            " + }, + "Id":{ + "shape":"WaypointId", + "documentation":"

            The waypoint Id.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            Position defined as [longitude, latitude].

            " + } + }, + "documentation":"

            The optimized waypoint.

            " + }, + "WaypointOptimizationOptimizedWaypointList":{ + "type":"list", + "member":{"shape":"WaypointOptimizationOptimizedWaypoint"} + }, + "WaypointOptimizationOriginOptions":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"WaypointId", + "documentation":"

            The Origin Id.

            " + } + }, + "documentation":"

            Options related to the origin.

            " + }, + "WaypointOptimizationPedestrianOptions":{ + "type":"structure", + "members":{ + "Speed":{ + "shape":"WaypointOptimizationPedestrianOptionsSpeedDouble", + "documentation":"

            Walking speed.

            Unit: KilometersPerHour

            ", + "box":true + } + }, + "documentation":"

            Options related to a pedestrian.

            " + }, + "WaypointOptimizationPedestrianOptionsSpeedDouble":{ + "type":"double", + "max":7.2, + "min":1.8 + }, + "WaypointOptimizationRestCycleDurations":{ + "type":"structure", + "required":[ + "RestDuration", + "WorkDuration" + ], + "members":{ + "RestDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Resting phase of the cycle.

            Unit: seconds

            " + }, + "WorkDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Working phase of the cycle.

            Unit: seconds

            " + } + }, + "documentation":"

            Driver work-rest schedules defined by a short and long cycle. A rest needs to be taken after the short work duration. The short cycle can be repeated until you hit the long work duration, at which point the long rest duration should be taken before restarting.

            Unit: seconds

            " + }, + "WaypointOptimizationRestCycles":{ + "type":"structure", + "required":[ + "LongCycle", + "ShortCycle" + ], + "members":{ + "LongCycle":{ + "shape":"WaypointOptimizationRestCycleDurations", + "documentation":"

            Long cycle for a driver work-rest schedule.

            " + }, + "ShortCycle":{ + "shape":"WaypointOptimizationRestCycleDurations", + "documentation":"

            Short cycle for a driver work-rest schedule

            " + } + }, + "documentation":"

            Resting phase of the cycle.

            " + }, + "WaypointOptimizationRestProfile":{ + "type":"structure", + "required":["Profile"], + "members":{ + "Profile":{ + "shape":"WaypointOptimizationRestProfileProfileString", + "documentation":"

            Pre defined rest profiles for a driver schedule. The only currently supported profile is EU.

            " + } + }, + "documentation":"

            Pre defined rest profiles for a driver schedule. The only currently supported profile is EU.

            " + }, + "WaypointOptimizationRestProfileProfileString":{ + "type":"string", + "max":2, + "min":2 + }, + "WaypointOptimizationSequencingObjective":{ + "type":"string", + "enum":[ + "FastestRoute", + "ShortestRoute" + ] + }, + "WaypointOptimizationServiceTimeTreatment":{ + "type":"string", + "enum":[ + "Rest", + "Work" + ] + }, + "WaypointOptimizationSideOfStreetOptions":{ + "type":"structure", + "required":["Position"], + "members":{ + "Position":{ + "shape":"Position", + "documentation":"

            Position defined as [longitude, latitude].

            " + }, + "UseWith":{ + "shape":"SideOfStreetMatchingStrategy", + "documentation":"

            Strategy that defines when the side of street position should be used. AnyStreet will always use the provided position.

            Default Value: DividedStreetOnly

            " + } + }, + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + }, + "WaypointOptimizationTimeBreakdown":{ + "type":"structure", + "required":[ + "RestDuration", + "ServiceDuration", + "TravelDuration", + "WaitDuration" + ], + "members":{ + "RestDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Resting phase of the cycle.

            Unit: seconds

            " + }, + "ServiceDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Service time spent at the destination. At an appointment, the service time should be the appointment duration.

            Unit: seconds

            " + }, + "TravelDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Traveling phase of the cycle.

            Unit: seconds

            " + }, + "WaitDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Waiting phase of the cycle.

            Unit: seconds

            " + } + }, + "documentation":"

            Time breakdown for the sequence.

            " + }, + "WaypointOptimizationTrafficOptions":{ + "type":"structure", + "members":{ + "Usage":{ + "shape":"TrafficUsage", + "documentation":"

            Determines if traffic should be used or ignored while calculating the route.

            Default Value: UseTrafficData

            " + } + }, + "documentation":"

            Options related to traffic.

            " + }, + "WaypointOptimizationTrailerOptions":{ + "type":"structure", + "members":{ + "TrailerCount":{ + "shape":"WaypointOptimizationTrailerOptionsTrailerCountInteger", + "documentation":"

            Number of trailers attached to the vehicle.

            Default Value: 0

            " + } + }, + "documentation":"

            Trailer options corresponding to the vehicle.

            " + }, + "WaypointOptimizationTrailerOptionsTrailerCountInteger":{ + "type":"integer", + "box":true, + "max":255, + "min":0 + }, + "WaypointOptimizationTravelMode":{ + "type":"string", + "enum":[ + "Car", + "Pedestrian", + "Scooter", + "Truck" + ] + }, + "WaypointOptimizationTravelModeOptions":{ + "type":"structure", + "members":{ + "Pedestrian":{ + "shape":"WaypointOptimizationPedestrianOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Pedestrian\"

            " + }, + "Truck":{ + "shape":"WaypointOptimizationTruckOptions", + "documentation":"

            Travel mode options when the provided travel mode is \"Truck\"

            " + } + }, + "documentation":"

            Travel mode related options for the provided travel mode.

            " + }, + "WaypointOptimizationTruckOptions":{ + "type":"structure", + "members":{ + "GrossWeight":{ + "shape":"WeightKilograms", + "documentation":"

            Gross weight of the vehicle including trailers, and goods at capacity.

            Unit: Kilograms

            " + }, + "HazardousCargos":{ + "shape":"WaypointOptimizationHazardousCargoTypeList", + "documentation":"

            List of Hazardous cargo contained in the vehicle.

            " + }, + "Height":{ + "shape":"WaypointOptimizationTruckOptionsHeightLong", + "documentation":"

            Height of the vehicle.

            Unit: centimeters

            " + }, + "Length":{ + "shape":"WaypointOptimizationTruckOptionsLengthLong", + "documentation":"

            Length of the vehicle.

            Unit: centimeters

            " + }, + "Trailer":{ + "shape":"WaypointOptimizationTrailerOptions", + "documentation":"

            Trailer options corresponding to the vehicle.

            " + }, + "TruckType":{ + "shape":"WaypointOptimizationTruckType", + "documentation":"

            Type of the truck.

            " + }, + "TunnelRestrictionCode":{ + "shape":"TunnelRestrictionCode", + "documentation":"

            The tunnel restriction code.

            Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. They relate to the types of dangerous goods that can be transported through them.

            • Tunnel Category B

              • Risk Level: Limited risk

              • Restrictions: Few restrictions

            • Tunnel Category C

              • Risk Level: Medium risk

              • Restrictions: Some restrictions

            • Tunnel Category D

              • Risk Level: High risk

              • Restrictions: Many restrictions occur

            • Tunnel Category E

              • Risk Level: Very high risk

              • Restrictions: Restricted tunnel

            " + }, + "WeightPerAxle":{ + "shape":"WeightKilograms", + "documentation":"

            Heaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.

            Unit: Kilograms

            " + }, + "Width":{ + "shape":"WaypointOptimizationTruckOptionsWidthLong", + "documentation":"

            Width of the vehicle.

            Unit: centimeters

            " + } + }, + "documentation":"

            Travel mode options when the provided travel mode is \"Truck\"

            " + }, + "WaypointOptimizationTruckOptionsHeightLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "WaypointOptimizationTruckOptionsLengthLong":{ + "type":"long", + "max":30000, + "min":0 + }, + "WaypointOptimizationTruckOptionsWidthLong":{ + "type":"long", + "max":5000, + "min":0 + }, + "WaypointOptimizationTruckType":{ + "type":"string", + "enum":[ + "StraightTruck", + "Tractor" + ] + }, + "WaypointOptimizationWaypoint":{ + "type":"structure", + "required":["Position"], + "members":{ + "AccessHours":{ + "shape":"WaypointOptimizationAccessHours", + "documentation":"

            Access hours corresponding to when a waypoint can be visited.

            " + }, + "AppointmentTime":{ + "shape":"TimestampWithTimezoneOffset", + "documentation":"

            Appointment time at the waypoint.

            " + }, + "Before":{ + "shape":"BeforeWaypointsList", + "documentation":"

            Constraint defining what waypoints are to be visited after this waypoint.

            " + }, + "Heading":{ + "shape":"Heading", + "documentation":"

            GPS Heading at the position.

            " + }, + "Id":{ + "shape":"WaypointId", + "documentation":"

            The waypoint Id.

            " + }, + "Position":{ + "shape":"Position", + "documentation":"

            Position defined as [longitude, latitude].

            " + }, + "ServiceDuration":{ + "shape":"DurationSeconds", + "documentation":"

            Service time spent at the waypoint. At an appointment, the service time should be the appointment duration.

            Unit: seconds

            " + }, + "SideOfStreet":{ + "shape":"WaypointOptimizationSideOfStreetOptions", + "documentation":"

            Options to configure matching the provided position to a side of the street.

            " + } + }, + "documentation":"

            Waypoint between the Origin and Destination.

            " + }, + "WaypointOptimizationWaypointList":{ + "type":"list", + "member":{"shape":"WaypointOptimizationWaypoint"} + }, + "WeightKilograms":{ + "type":"long", + "max":4294967295, + "min":0 + }, + "WeightPerAxleGroup":{ + "type":"structure", + "members":{ + "Single":{ + "shape":"WeightKilograms", + "documentation":"

            Weight for single axle group.

            Unit: Kilograms

            " + }, + "Tandem":{ + "shape":"WeightKilograms", + "documentation":"

            Weight for tandem axle group.

            Unit: Kilograms

            " + }, + "Triple":{ + "shape":"WeightKilograms", + "documentation":"

            Weight for triple axle group.

            Unit: Kilograms

            " + }, + "Quad":{ + "shape":"WeightKilograms", + "documentation":"

            Weight for quad axle group.

            Unit: Kilograms

            " + }, + "Quint":{ + "shape":"WeightKilograms", + "documentation":"

            Weight for quad quint group.

            Unit: Kilograms

            " + } + }, + "documentation":"

            Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.

            Unit: Kilograms

            " + } + }, + "documentation":"

            With the Amazon Location Routes API you can calculate routes and estimate travel time based on up-to-date road network and live traffic information.

            Calculate optimal travel routes and estimate travel times using up-to-date road network and traffic data. Key features include:

            • Point-to-point routing with estimated travel time, distance, and turn-by-turn directions

            • Multi-point route optimization to minimize travel time or distance

            • Route matrices for efficient multi-destination planning

            • Isoline calculations to determine reachable areas within specified time or distance thresholds

            • Map-matching to align GPS traces with the road network

            " +} diff --git a/tools/code-generation/api-descriptions/keyspaces-2022-02-10.normal.json b/tools/code-generation/api-descriptions/keyspaces-2022-02-10.normal.json index 087dfd7c3ce..864cd361988 100644 --- a/tools/code-generation/api-descriptions/keyspaces-2022-02-10.normal.json +++ b/tools/code-generation/api-descriptions/keyspaces-2022-02-10.normal.json @@ -2,9 +2,11 @@ "version":"2.0", "metadata":{ "apiVersion":"2022-02-10", + "auth":["aws.auth#sigv4"], "endpointPrefix":"cassandra", "jsonVersion":"1.0", "protocol":"json", + "protocols":["json"], "serviceFullName":"Amazon Keyspaces", "serviceId":"Keyspaces", "signatureVersion":"v4", @@ -28,7 +30,7 @@ {"shape":"ConflictException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

            The CreateKeyspace operation adds a new keyspace to your account. In an Amazon Web Services account, keyspace names must be unique within each Region.

            CreateKeyspace is an asynchronous operation. You can monitor the creation status of the new keyspace by using the GetKeyspace operation.

            For more information, see Creating keyspaces in the Amazon Keyspaces Developer Guide.

            " + "documentation":"

            The CreateKeyspace operation adds a new keyspace to your account. In an Amazon Web Services account, keyspace names must be unique within each Region.

            CreateKeyspace is an asynchronous operation. You can monitor the creation status of the new keyspace by using the GetKeyspace operation.

            For more information, see Create a keyspace in the Amazon Keyspaces Developer Guide.

            " }, "CreateTable":{ "name":"CreateTable", @@ -46,7 +48,25 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

            The CreateTable operation adds a new table to the specified keyspace. Within a keyspace, table names must be unique.

            CreateTable is an asynchronous operation. When the request is received, the status of the table is set to CREATING. You can monitor the creation status of the new table by using the GetTable operation, which returns the current status of the table. You can start using a table when the status is ACTIVE.

            For more information, see Creating tables in the Amazon Keyspaces Developer Guide.

            " + "documentation":"

            The CreateTable operation adds a new table to the specified keyspace. Within a keyspace, table names must be unique.

            CreateTable is an asynchronous operation. When the request is received, the status of the table is set to CREATING. You can monitor the creation status of the new table by using the GetTable operation, which returns the current status of the table. You can start using a table when the status is ACTIVE.

            For more information, see Create a table in the Amazon Keyspaces Developer Guide.

            " + }, + "CreateType":{ + "name":"CreateType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTypeRequest"}, + "output":{"shape":"CreateTypeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

            The CreateType operation creates a new user-defined type in the specified keyspace.

            For more information, see User-defined types (UDTs) in the Amazon Keyspaces Developer Guide.

            " }, "DeleteKeyspace":{ "name":"DeleteKeyspace", @@ -84,6 +104,24 @@ ], "documentation":"

            The DeleteTable operation deletes a table and all of its data. After a DeleteTable request is received, the specified table is in the DELETING state until Amazon Keyspaces completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is either in the CREATING or UPDATING states, then Amazon Keyspaces returns a ResourceInUseException. If the specified table does not exist, Amazon Keyspaces returns a ResourceNotFoundException. If the table is already in the DELETING state, no error is returned.

            " }, + "DeleteType":{ + "name":"DeleteType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTypeRequest"}, + "output":{"shape":"DeleteTypeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

            The DeleteType operation deletes a user-defined type (UDT). You can only delete a type that is not used in a table or another UDT.

            " + }, "GetKeyspace":{ "name":"GetKeyspace", "http":{ @@ -116,7 +154,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

            Returns information about the table, including the table's name and current status, the keyspace name, configuration settings, and metadata.

            To read table metadata using GetTable, Select action permissions for the table and system tables are required to complete the operation.

            " + "documentation":"

            Returns information about the table, including the table's name and current status, the keyspace name, configuration settings, and metadata.

            To read table metadata using GetTable, the IAM principal needs Select action permissions for the table and the system keyspace.

            " }, "GetTableAutoScalingSettings":{ "name":"GetTableAutoScalingSettings", @@ -135,6 +173,23 @@ ], "documentation":"

            Returns auto scaling related settings of the specified table in JSON format. If the table is a multi-Region table, the Amazon Web Services Region specific auto scaling settings of the table are included.

            Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic. For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.

            GetTableAutoScalingSettings can't be used as an action in an IAM policy.

            To define permissions for GetTableAutoScalingSettings, you must allow the following two actions in the IAM policy statement's Action element:

            • application-autoscaling:DescribeScalableTargets

            • application-autoscaling:DescribeScalingPolicies

            " }, + "GetType":{ + "name":"GetType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTypeRequest"}, + "output":{"shape":"GetTypeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

            The GetType operation returns information about the type, for example the field definitions, the timestamp when the type was last modified, the level of nesting, the status, and details about if the type is used in other types and tables.

            To read keyspace metadata using GetType, the IAM principal needs Select action permissions for the system keyspace.

            " + }, "ListKeyspaces":{ "name":"ListKeyspaces", "http":{ @@ -150,7 +205,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

            Returns a list of keyspaces.

            " + "documentation":"

            The ListKeyspaces operation returns a list of keyspaces.

            " }, "ListTables":{ "name":"ListTables", @@ -167,7 +222,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

            Returns a list of tables for a specified keyspace.

            " + "documentation":"

            The ListTables operation returns a list of tables for a specified keyspace.

            To read keyspace metadata using ListTables, the IAM principal needs Select action permissions for the system keyspace.

            " }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -184,7 +239,24 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

            Returns a list of all tags associated with the specified Amazon Keyspaces resource.

            " + "documentation":"

            Returns a list of all tags associated with the specified Amazon Keyspaces resource.

            To read keyspace metadata using ListTagsForResource, the IAM principal needs Select action permissions for the specified resource and the system keyspace.

            " + }, + "ListTypes":{ + "name":"ListTypes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTypesRequest"}, + "output":{"shape":"ListTypesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

            The ListTypes operation returns a list of types for a specified keyspace.

            To read keyspace metadata using ListTypes, the IAM principal needs Select action permissions for the system keyspace.

            " }, "RestoreTable":{ "name":"RestoreTable", @@ -216,6 +288,7 @@ {"shape":"ValidationException"}, {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} ], @@ -552,6 +625,45 @@ } } }, + "CreateTypeRequest":{ + "type":"structure", + "required":[ + "keyspaceName", + "typeName", + "fieldDefinitions" + ], + "members":{ + "keyspaceName":{ + "shape":"KeyspaceName", + "documentation":"

            The name of the keyspace.

            " + }, + "typeName":{ + "shape":"TypeName", + "documentation":"

            The name of the user-defined type.

            UDT names must contain 48 characters or less, must begin with an alphabetic character, and can only contain alpha-numeric characters and underscores. Amazon Keyspaces converts upper case characters automatically into lower case characters.

            Alternatively, you can declare a UDT name in double quotes. When declaring a UDT name inside double quotes, Amazon Keyspaces preserves upper casing and allows special characters.

            You can also use double quotes as part of the name when you create the UDT, but you must escape each double quote character with an additional double quote character.

            " + }, + "fieldDefinitions":{ + "shape":"FieldList", + "documentation":"

            The field definitions, consisting of names and types, that define this type.

            " + } + } + }, + "CreateTypeResponse":{ + "type":"structure", + "required":[ + "keyspaceArn", + "typeName" + ], + "members":{ + "keyspaceArn":{ + "shape":"ARN", + "documentation":"

            The unique identifier of the keyspace that contains the new type in the format of an Amazon Resource Name (ARN).

            " + }, + "typeName":{ + "shape":"TypeName", + "documentation":"

            The formatted name of the user-defined type that was created. Note that Amazon Keyspaces requires the formatted name of the type for other operations, for example GetType.

            " + } + } + }, "DefaultTimeToLive":{ "type":"integer", "box":true, @@ -595,6 +707,41 @@ "members":{ } }, + "DeleteTypeRequest":{ + "type":"structure", + "required":[ + "keyspaceName", + "typeName" + ], + "members":{ + "keyspaceName":{ + "shape":"KeyspaceName", + "documentation":"

            The name of the keyspace of the to be deleted type.

            " + }, + "typeName":{ + "shape":"TypeName", + "documentation":"

            The name of the type to be deleted.

            " + } + } + }, + "DeleteTypeResponse":{ + "type":"structure", + "required":[ + "keyspaceArn", + "typeName" + ], + "members":{ + "keyspaceArn":{ + "shape":"ARN", + "documentation":"

            The unique identifier of the keyspace from which the type was deleted in the format of an Amazon Resource Name (ARN).

            " + }, + "typeName":{ + "shape":"TypeName", + "documentation":"

            The name of the type that was deleted.

            " + } + } + }, + "Depth":{"type":"integer"}, "DoubleObject":{"type":"double"}, "EncryptionSpecification":{ "type":"structure", @@ -618,6 +765,34 @@ "AWS_OWNED_KMS_KEY" ] }, + "FieldDefinition":{ + "type":"structure", + "required":[ + "name", + "type" + ], + "members":{ + "name":{ + "shape":"FieldDefinitionNameString", + "documentation":"

            The identifier.

            " + }, + "type":{ + "shape":"GenericString", + "documentation":"

            Any supported Cassandra data type, including collections and other user-defined types that are contained in the same keyspace.

            For more information, see Cassandra data type support in the Amazon Keyspaces Developer Guide.

            " + } + }, + "documentation":"

            A field definition consists out of a name and a type.

            " + }, + "FieldDefinitionNameString":{ + "type":"string", + "max":128, + "min":1 + }, + "FieldList":{ + "type":"list", + "member":{"shape":"FieldDefinition"}, + "min":1 + }, "GenericString":{"type":"string"}, "GetKeyspaceRequest":{ "type":"structure", @@ -785,6 +960,69 @@ } } }, + "GetTypeRequest":{ + "type":"structure", + "required":[ + "keyspaceName", + "typeName" + ], + "members":{ + "keyspaceName":{ + "shape":"KeyspaceName", + "documentation":"

            The name of the keyspace that contains this type.

            " + }, + "typeName":{ + "shape":"TypeName", + "documentation":"

            The formatted name of the type. For example, if the name of the type was created without double quotes, Amazon Keyspaces saved the name in lower-case characters. If the name was created in double quotes, you must use double quotes to specify the type name.

            " + } + } + }, + "GetTypeResponse":{ + "type":"structure", + "required":[ + "keyspaceName", + "typeName", + "keyspaceArn" + ], + "members":{ + "keyspaceName":{ + "shape":"KeyspaceName", + "documentation":"

            The name of the keyspace that contains this type.

            " + }, + "typeName":{ + "shape":"TypeName", + "documentation":"

            The name of the type.

            " + }, + "fieldDefinitions":{ + "shape":"FieldList", + "documentation":"

            The names and types that define this type.

            " + }, + "lastModifiedTimestamp":{ + "shape":"Timestamp", + "documentation":"

            The timestamp that shows when this type was last modified.

            " + }, + "status":{ + "shape":"TypeStatus", + "documentation":"

            The status of this type.

            " + }, + "directReferringTables":{ + "shape":"TableNameList", + "documentation":"

            The tables that use this type.

            " + }, + "directParentTypes":{ + "shape":"TypeNameList", + "documentation":"

            The types that use this type.

            " + }, + "maxNestingDepth":{ + "shape":"Depth", + "documentation":"

            The level of nesting implemented for this type.

            " + }, + "keyspaceArn":{ + "shape":"ARN", + "documentation":"

            The unique identifier of the keyspace that contains this type in the format of an Amazon Resource Name (ARN).

            " + } + } + }, "IntegerObject":{"type":"integer"}, "InternalServerException":{ "type":"structure", @@ -924,6 +1162,38 @@ } } }, + "ListTypesRequest":{ + "type":"structure", + "required":["keyspaceName"], + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

            The pagination token. To resume pagination, provide the NextToken value as an argument of a subsequent API invocation.

            " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

            The total number of types to return in the output. If the total number of types available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as an argument of a subsequent API invocation.

            " + }, + "keyspaceName":{ + "shape":"KeyspaceName", + "documentation":"

            The name of the keyspace that contains the listed types.

            " + } + } + }, + "ListTypesResponse":{ + "type":"structure", + "required":["types"], + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

            The pagination token. To resume pagination, provide the NextToken value as an argument of a subsequent API invocation.

            " + }, + "types":{ + "shape":"TypeNameList", + "documentation":"

            The list of types contained in the specified keyspace.

            " + } + } + }, "MaxResults":{ "type":"integer", "box":true, @@ -1077,10 +1347,10 @@ }, "resourceArn":{ "shape":"ARN", - "documentation":"

            The unique identifier in the format of Amazon Resource Name (ARN), for the resource not found.

            " + "documentation":"

            The unique identifier in the format of Amazon Resource Name (ARN) for the resource could't be found.

            " } }, - "documentation":"

            The operation tried to access a keyspace or table that doesn't exist. The resource might not be specified correctly, or its status might not be ACTIVE.

            ", + "documentation":"

            The operation tried to access a keyspace, table, or type that doesn't exist. The resource might not be specified correctly, or its status might not be ACTIVE.

            ", "exception":true }, "RestoreTableRequest":{ @@ -1214,6 +1484,10 @@ "min":1, "pattern":"[a-zA-Z0-9][a-zA-Z0-9_]{0,47}" }, + "TableNameList":{ + "type":"list", + "member":{"shape":"TableName"} + }, "TableStatus":{ "type":"string", "enum":[ @@ -1355,6 +1629,24 @@ "enum":["ENABLED"] }, "Timestamp":{"type":"timestamp"}, + "TypeName":{ + "type":"string", + "max":48, + "min":1 + }, + "TypeNameList":{ + "type":"list", + "member":{"shape":"TypeName"} + }, + "TypeStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CREATING", + "DELETING", + "RESTORING" + ] + }, "UntagResourceRequest":{ "type":"structure", "required":[ diff --git a/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json b/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json index 9b38531ba33..ec6854a661c 100644 --- a/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json +++ b/tools/code-generation/api-descriptions/network-firewall-2020-11-12.normal.json @@ -1802,6 +1802,16 @@ "type":"list", "member":{"shape":"TCPFlag"} }, + "FlowTimeouts":{ + "type":"structure", + "members":{ + "TcpIdleTimeoutSeconds":{ + "shape":"TcpIdleTimeoutRangeBound", + "documentation":"

            The number of seconds that can pass without any TCP traffic sent through the firewall before the firewall determines that the connection is idle. After the idle timeout passes, data packets are dropped, however, the next TCP SYN packet is considered a new flow and is processed by the firewall. Clients or targets can use TCP keepalive packets to reset the idle timeout.

            You can define the TcpIdleTimeoutSeconds value to be between 60 and 6000 seconds. If no value is provided, it defaults to 350 seconds.

            " + } + }, + "documentation":"

            Describes the amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle and Network Firewall removes the flow entry from its flow table. Existing connections and flows are not impacted when you update this value. Only new connections after you update this value are impacted.

            " + }, "GeneratedRulesType":{ "type":"string", "enum":[ @@ -2837,6 +2847,10 @@ "StreamExceptionPolicy":{ "shape":"StreamExceptionPolicy", "documentation":"

            Configures how Network Firewall processes traffic when a network connection breaks midstream. Network connections can break due to disruptions in external networks or within the firewall itself.

            • DROP - Network Firewall fails closed and drops all subsequent traffic going to the firewall. This is the default behavior.

            • CONTINUE - Network Firewall continues to apply rules to the subsequent traffic without context from traffic before the break. This impacts the behavior of rules that depend on this context. For example, if you have a stateful rule to drop http traffic, Network Firewall won't match the traffic for this rule because the service won't have the context from session initialization defining the application layer protocol as HTTP. However, this behavior is rule dependent—a TCP-layer rule using a flow:stateless rule would still match, as would the aws:drop_strict default action.

            • REJECT - Network Firewall fails closed and drops all subsequent traffic going to the firewall. Network Firewall also sends a TCP reject packet back to your client so that the client can immediately establish a new session. Network Firewall will have context about the new session and will apply rules to the subsequent traffic.

            " + }, + "FlowTimeouts":{ + "shape":"FlowTimeouts", + "documentation":"

            Configures the amount of time that can pass without any traffic sent through the firewall before the firewall determines that the connection is idle.

            " } }, "documentation":"

            Configuration settings for the handling of the stateful rule groups in a firewall policy.

            " @@ -3256,6 +3270,7 @@ "type":"list", "member":{"shape":"TargetType"} }, + "TcpIdleTimeoutRangeBound":{"type":"integer"}, "ThrottlingException":{ "type":"structure", "members":{ @@ -3751,5 +3766,5 @@ "member":{"shape":"VpcId"} } }, - "documentation":"

            This is the API Reference for Network Firewall. This guide is for developers who need detailed information about the Network Firewall API actions, data types, and errors.

            • The REST API requires you to handle connection details, such as calculating signatures, handling request retries, and error handling. For general information about using the Amazon Web Services REST APIs, see Amazon Web Services APIs.

              To access Network Firewall using the REST API endpoint: https://network-firewall.<region>.amazonaws.com

            • Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see Amazon Web Services SDKs.

            • For descriptions of Network Firewall features, including and step-by-step instructions on how to use them through the Network Firewall console, see the Network Firewall Developer Guide.

            Network Firewall is a stateful, managed, network firewall and intrusion detection and prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the perimeter of your VPC. This includes filtering traffic going to and coming from an internet gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible with Suricata, a free, open source network analysis and threat detection engine. Network Firewall supports Suricata version 6.0.9. For information about Suricata, see the Suricata website.

            You can use Network Firewall to monitor and protect your VPC traffic in a number of ways. The following are just a few examples:

            • Allow domains or IP addresses for known Amazon Web Services service endpoints, such as Amazon S3, and block all other forms of traffic.

            • Use custom lists of known bad domains to limit the types of domain names that your applications can access.

            • Perform deep packet inspection on traffic entering or leaving your VPC.

            • Use stateful protocol detection to filter protocols like HTTPS, regardless of the port used.

            To enable Network Firewall for your VPCs, you perform steps in both Amazon VPC and in Network Firewall. For information about using Amazon VPC, see Amazon VPC User Guide.

            To start using Network Firewall, do the following:

            1. (Optional) If you don't already have a VPC that you want to protect, create it in Amazon VPC.

            2. In Amazon VPC, in each Availability Zone where you want to have a firewall endpoint, create a subnet for the sole use of Network Firewall.

            3. In Network Firewall, create stateless and stateful rule groups, to define the components of the network traffic filtering behavior that you want your firewall to have.

            4. In Network Firewall, create a firewall policy that uses your rule groups and specifies additional default traffic filtering behavior.

            5. In Network Firewall, create a firewall and specify your new firewall policy and VPC subnets. Network Firewall creates a firewall endpoint in each subnet that you specify, with the behavior that's defined in the firewall policy.

            6. In Amazon VPC, use ingress routing enhancements to route traffic through the new firewall endpoints.

            " + "documentation":"

            This is the API Reference for Network Firewall. This guide is for developers who need detailed information about the Network Firewall API actions, data types, and errors.

            • The REST API requires you to handle connection details, such as calculating signatures, handling request retries, and error handling. For general information about using the Amazon Web Services REST APIs, see Amazon Web Services APIs.

              To access Network Firewall using the REST API endpoint: https://network-firewall.<region>.amazonaws.com

            • Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see Amazon Web Services SDKs.

            • For descriptions of Network Firewall features, including and step-by-step instructions on how to use them through the Network Firewall console, see the Network Firewall Developer Guide.

            Network Firewall is a stateful, managed, network firewall and intrusion detection and prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the perimeter of your VPC. This includes filtering traffic going to and coming from an internet gateway, NAT gateway, or over VPN or Direct Connect. Network Firewall uses rules that are compatible with Suricata, a free, open source network analysis and threat detection engine.

            You can use Network Firewall to monitor and protect your VPC traffic in a number of ways. The following are just a few examples:

            • Allow domains or IP addresses for known Amazon Web Services service endpoints, such as Amazon S3, and block all other forms of traffic.

            • Use custom lists of known bad domains to limit the types of domain names that your applications can access.

            • Perform deep packet inspection on traffic entering or leaving your VPC.

            • Use stateful protocol detection to filter protocols like HTTPS, regardless of the port used.

            To enable Network Firewall for your VPCs, you perform steps in both Amazon VPC and in Network Firewall. For information about using Amazon VPC, see Amazon VPC User Guide.

            To start using Network Firewall, do the following:

            1. (Optional) If you don't already have a VPC that you want to protect, create it in Amazon VPC.

            2. In Amazon VPC, in each Availability Zone where you want to have a firewall endpoint, create a subnet for the sole use of Network Firewall.

            3. In Network Firewall, create stateless and stateful rule groups, to define the components of the network traffic filtering behavior that you want your firewall to have.

            4. In Network Firewall, create a firewall policy that uses your rule groups and specifies additional default traffic filtering behavior.

            5. In Network Firewall, create a firewall and specify your new firewall policy and VPC subnets. Network Firewall creates a firewall endpoint in each subnet that you specify, with the behavior that's defined in the firewall policy.

            6. In Amazon VPC, use ingress routing enhancements to route traffic through the new firewall endpoints.

            " } diff --git a/tools/code-generation/api-descriptions/opensearch-2021-01-01.normal.json b/tools/code-generation/api-descriptions/opensearch-2021-01-01.normal.json index 86452bc4e2a..0dd3f5a57a1 100644 --- a/tools/code-generation/api-descriptions/opensearch-2021-01-01.normal.json +++ b/tools/code-generation/api-descriptions/opensearch-2021-01-01.normal.json @@ -130,6 +130,25 @@ ], "documentation":"

            Cancels a scheduled service software update for an Amazon OpenSearch Service domain. You can only perform this operation before the AutomatedUpdateDate and when the domain's UpdateStatus is PENDING_UPDATE. For more information, see Service software updates in Amazon OpenSearch Service.

            " }, + "CreateApplication":{ + "name":"CreateApplication", + "http":{ + "method":"POST", + "requestUri":"/2021-01-01/opensearch/application", + "responseCode":200 + }, + "input":{"shape":"CreateApplicationRequest"}, + "output":{"shape":"CreateApplicationResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalException"}, + {"shape":"DisabledOperationException"} + ], + "documentation":"

            Creates an OpenSearch Application.

            " + }, "CreateDomain":{ "name":"CreateDomain", "http":{ @@ -202,6 +221,26 @@ ], "documentation":"

            Creates an Amazon OpenSearch Service-managed VPC endpoint.

            " }, + "DeleteApplication":{ + "name":"DeleteApplication", + "http":{ + "method":"DELETE", + "requestUri":"/2021-01-01/opensearch/application/{id}", + "responseCode":200 + }, + "input":{"shape":"DeleteApplicationRequest"}, + "output":{"shape":"DeleteApplicationResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalException"}, + {"shape":"DisabledOperationException"} + ], + "documentation":"

            Deletes an existing OpenSearch Application.

            " + }, "DeleteDataSource":{ "name":"DeleteDataSource", "http":{ @@ -558,6 +597,25 @@ ], "documentation":"

            Removes a package from the specified Amazon OpenSearch Service domain. The package can't be in use with any OpenSearch index for the dissociation to succeed. The package is still available in OpenSearch Service for association later. For more information, see Custom packages for Amazon OpenSearch Service.

            " }, + "GetApplication":{ + "name":"GetApplication", + "http":{ + "method":"GET", + "requestUri":"/2021-01-01/opensearch/application/{id}", + "responseCode":200 + }, + "input":{"shape":"GetApplicationRequest"}, + "output":{"shape":"GetApplicationResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalException"}, + {"shape":"DisabledOperationException"} + ], + "documentation":"

            Check the configuration and status of an existing OpenSearch Application.

            " + }, "GetCompatibleVersions":{ "name":"GetCompatibleVersions", "http":{ @@ -661,6 +719,25 @@ ], "documentation":"

            Returns the most recent status of the last upgrade or upgrade eligibility check performed on an Amazon OpenSearch Service domain.

            " }, + "ListApplications":{ + "name":"ListApplications", + "http":{ + "method":"GET", + "requestUri":"/2021-01-01/opensearch/list-applications", + "responseCode":200 + }, + "input":{"shape":"ListApplicationsRequest"}, + "output":{"shape":"ListApplicationsResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalException"}, + {"shape":"DisabledOperationException"} + ], + "documentation":"

            List all OpenSearch Applications under your account.

            " + }, "ListDataSources":{ "name":"ListDataSources", "http":{ @@ -952,6 +1029,26 @@ ], "documentation":"

            Schedules a service software update for an Amazon OpenSearch Service domain. For more information, see Service software updates in Amazon OpenSearch Service.

            " }, + "UpdateApplication":{ + "name":"UpdateApplication", + "http":{ + "method":"PUT", + "requestUri":"/2021-01-01/opensearch/application/{id}", + "responseCode":200 + }, + "input":{"shape":"UpdateApplicationRequest"}, + "output":{"shape":"UpdateApplicationResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalException"}, + {"shape":"DisabledOperationException"} + ], + "documentation":"

            Update the OpenSearch Application.

            " + }, "UpdateDataSource":{ "name":"UpdateDataSource", "http":{ @@ -1124,6 +1221,10 @@ }, "documentation":"

            Information about an Amazon OpenSearch Service domain.

            " }, + "AWSServicePrincipal":{ + "type":"string", + "enum":["application.opensearchservice.amazonaws.com"] + }, "AcceptInboundConnectionRequest":{ "type":"structure", "required":["ConnectionId"], @@ -1377,6 +1478,92 @@ }, "documentation":"

            The status of fine-grained access control settings for a domain.

            " }, + "AppConfig":{ + "type":"structure", + "members":{ + "key":{ + "shape":"AppConfigType", + "documentation":"

            Specify the item to configure, such as admin role for the OpenSearch Application.

            " + }, + "value":{ + "shape":"AppConfigValue", + "documentation":"

            Specifies the value to configure for the key, such as an IAM user ARN.

            " + } + }, + "documentation":"

            Configurations of the OpenSearch Application.

            " + }, + "AppConfigType":{ + "type":"string", + "enum":[ + "opensearchDashboards.dashboardAdmin.users", + "opensearchDashboards.dashboardAdmin.groups" + ] + }, + "AppConfigValue":{ + "type":"string", + "max":4096, + "min":1 + }, + "AppConfigs":{ + "type":"list", + "member":{"shape":"AppConfig"}, + "max":200 + }, + "ApplicationName":{ + "type":"string", + "max":30, + "min":3, + "pattern":"[a-z][a-z0-9\\-]+" + }, + "ApplicationStatus":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "DELETING", + "ACTIVE", + "FAILED" + ] + }, + "ApplicationStatuses":{ + "type":"list", + "member":{"shape":"ApplicationStatus"} + }, + "ApplicationSummaries":{ + "type":"list", + "member":{"shape":"ApplicationSummary"} + }, + "ApplicationSummary":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Id", + "documentation":"

            Unique identifier for an OpenSearch application.

            " + }, + "arn":{"shape":"ARN"}, + "name":{ + "shape":"ApplicationName", + "documentation":"

            Name of an OpenSearch Application.

            " + }, + "endpoint":{ + "shape":"String", + "documentation":"

            Endpoint URL of an OpenSearch Application.

            " + }, + "status":{ + "shape":"ApplicationStatus", + "documentation":"

            Status of an OpenSearch Application. Possible values are CREATING, UPDATING, DELETING, FAILED, ACTIVE, and DELETED.

            " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

            Timestamp at which an OpenSearch Application was created.

            " + }, + "lastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

            Timestamp at which an OpenSearch Application was last updated.

            " + } + }, + "documentation":"

            Basic information of the OpenSearch Application.

            " + }, "AssociatePackageRequest":{ "type":"structure", "required":[ @@ -1411,10 +1598,7 @@ }, "AuthorizeVpcEndpointAccessRequest":{ "type":"structure", - "required":[ - "DomainName", - "Account" - ], + "required":["DomainName"], "members":{ "DomainName":{ "shape":"DomainName", @@ -1425,6 +1609,10 @@ "Account":{ "shape":"AWSAccount", "documentation":"

            The Amazon Web Services account ID to grant access to.

            " + }, + "Service":{ + "shape":"AWSServicePrincipal", + "documentation":"

            The Amazon Web Services service SP to grant access to.

            " } } }, @@ -2111,6 +2299,65 @@ "documentation":"

            The connection properties of an outbound connection.

            " }, "ConnectionStatusMessage":{"type":"string"}, + "CreateApplicationRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

            A unique client idempotency token. It will be auto generated if not provided.

            ", + "idempotencyToken":true + }, + "name":{ + "shape":"ApplicationName", + "documentation":"

            Name of the OpenSearch Appication to create. Application names are unique across the applications owned by an account within an Amazon Web Services Region.

            " + }, + "dataSources":{ + "shape":"DataSources", + "documentation":"

            Data sources to be associated with the OpenSearch Application.

            " + }, + "iamIdentityCenterOptions":{ + "shape":"IamIdentityCenterOptionsInput", + "documentation":"

            Settings of IAM Identity Center for the OpenSearch Application.

            " + }, + "appConfigs":{ + "shape":"AppConfigs", + "documentation":"

            Configurations of the OpenSearch Application, inlcuding admin configuration.

            " + }, + "tagList":{"shape":"TagList"} + } + }, + "CreateApplicationResponse":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Id", + "documentation":"

            Unique identifier for the created OpenSearch Application.

            " + }, + "name":{ + "shape":"ApplicationName", + "documentation":"

            Name of the created OpenSearch Application.

            " + }, + "arn":{"shape":"ARN"}, + "dataSources":{ + "shape":"DataSources", + "documentation":"

            Data sources associated with the created OpenSearch Application.

            " + }, + "iamIdentityCenterOptions":{ + "shape":"IamIdentityCenterOptions", + "documentation":"

            Settings of IAM Identity Center for the created OpenSearch Application.

            " + }, + "appConfigs":{ + "shape":"AppConfigs", + "documentation":"

            Configurations of the OpenSearch Application, inlcuding admin configuration.

            " + }, + "tagList":{"shape":"TagList"}, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

            Timestamp when the OpenSearch Application was created.

            " + } + } + }, "CreateDomainRequest":{ "type":"structure", "required":["DomainName"], @@ -2175,6 +2422,10 @@ "shape":"AdvancedSecurityOptionsInput", "documentation":"

            Options for fine-grained access control.

            " }, + "IdentityCenterOptions":{ + "shape":"IdentityCenterOptionsInput", + "documentation":"

            Options for IAM Identity Center Option control for the domain.

            " + }, "TagList":{ "shape":"TagList", "documentation":"

            List of tags to add to the domain upon creation.

            " @@ -2351,6 +2602,17 @@ }, "documentation":"

            Cross-cluster search specific connection properties.

            " }, + "DataSource":{ + "type":"structure", + "members":{ + "dataSourceArn":{"shape":"ARN"}, + "dataSourceDescription":{ + "shape":"DataSourceDescription", + "documentation":"

            Detailed description of a data source.

            " + } + }, + "documentation":"

            Data sources that are associated with an OpenSearch Application.

            " + }, "DataSourceDescription":{ "type":"string", "max":1000, @@ -2406,6 +2668,27 @@ "documentation":"

            The type of data source.

            ", "union":true }, + "DataSources":{ + "type":"list", + "member":{"shape":"DataSource"} + }, + "DeleteApplicationRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Id", + "documentation":"

            Unique identifier for the OpenSearch Application that you want to delete.

            ", + "location":"uri", + "locationName":"id" + } + } + }, + "DeleteApplicationResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteDataSourceRequest":{ "type":"structure", "required":[ @@ -3227,6 +3510,10 @@ "shape":"AdvancedSecurityOptionsStatus", "documentation":"

            Container for fine-grained access control settings for the domain.

            " }, + "IdentityCenterOptions":{ + "shape":"IdentityCenterOptionsStatus", + "documentation":"

            Container for IAM Identity Center Option control for the domain.

            " + }, "AutoTuneOptions":{ "shape":"AutoTuneOptionsStatus", "documentation":"

            Container for Auto-Tune settings for the domain.

            " @@ -3634,6 +3921,10 @@ "shape":"AdvancedSecurityOptions", "documentation":"

            Settings for fine-grained access control.

            " }, + "IdentityCenterOptions":{ + "shape":"IdentityCenterOptions", + "documentation":"

            Container for IAM Identity Center Option control for the domain.

            " + }, "AutoTuneOptions":{ "shape":"AutoTuneOptionsOutput", "documentation":"

            Auto-Tune settings for the domain.

            " @@ -3899,6 +4190,60 @@ "type":"list", "member":{"shape":"GUID"} }, + "GetApplicationRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Id", + "documentation":"

            Unique identifier of the checked OpenSearch Application.

            ", + "location":"uri", + "locationName":"id" + } + } + }, + "GetApplicationResponse":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Id", + "documentation":"

            Unique identifier of the checked OpenSearch Application.

            " + }, + "arn":{"shape":"ARN"}, + "name":{ + "shape":"ApplicationName", + "documentation":"

            Name of the checked OpenSearch Application.

            " + }, + "endpoint":{ + "shape":"String", + "documentation":"

            Endpoint URL of the checked OpenSearch Application.

            " + }, + "status":{ + "shape":"ApplicationStatus", + "documentation":"

            Current status of the checked OpenSearch Application. Possible values are CREATING, UPDATING, DELETING, FAILED, ACTIVE, and DELETED.

            " + }, + "iamIdentityCenterOptions":{ + "shape":"IamIdentityCenterOptions", + "documentation":"

            IAM Identity Center settings for the checked OpenSearch Application.

            " + }, + "dataSources":{ + "shape":"DataSources", + "documentation":"

            Associated data sources to the checked OpenSearch Application.

            " + }, + "appConfigs":{ + "shape":"AppConfigs", + "documentation":"

            App configurations of the checked OpenSearch Application.

            " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

            Timestamp at which the checked OpenSearch Application was created.

            " + }, + "lastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

            Timestamp at which the checked OpenSearch Application was last updated.

            " + } + } + }, "GetCompatibleVersionsRequest":{ "type":"structure", "members":{ @@ -4153,12 +4498,135 @@ }, "documentation":"

            The IP address type status for the domain.

            " }, + "IamIdentityCenterOptions":{ + "type":"structure", + "members":{ + "enabled":{ + "shape":"Boolean", + "documentation":"

            IAM Identity Center is enabled for the OpenSearch Application.

            " + }, + "iamIdentityCenterInstanceArn":{"shape":"ARN"}, + "iamRoleForIdentityCenterApplicationArn":{ + "shape":"RoleArn", + "documentation":"

            Amazon Resource Name of the IAM Identity Center's Application created for the OpenSearch Application after enabling IAM Identity Center.

            " + }, + "iamIdentityCenterApplicationArn":{"shape":"ARN"} + }, + "documentation":"

            Settings for IAM Identity Center for an OpenSearch Application.

            " + }, + "IamIdentityCenterOptionsInput":{ + "type":"structure", + "members":{ + "enabled":{ + "shape":"Boolean", + "documentation":"

            Enable/disable settings for IAM Identity Center.

            " + }, + "iamIdentityCenterInstanceArn":{"shape":"ARN"}, + "iamRoleForIdentityCenterApplicationArn":{ + "shape":"RoleArn", + "documentation":"

            Amazon Resource Name of IAM Identity Center's application.

            " + } + }, + "documentation":"

            Settings for IAM Identity Center.

            " + }, + "Id":{ + "type":"string", + "pattern":"[a-z0-9]{3,30}" + }, + "IdentityCenterApplicationARN":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[a-z\\\\-]*:[a-z]+:[a-z0-9\\\\-]*:[0-9]*:[a-z0-9\\\\-]+\\/[a-z0-9\\\\-]+\\/[a-z0-9\\\\-]+" + }, + "IdentityCenterInstanceARN":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[a-z\\\\-]*:[a-z]+:[a-z0-9\\\\-]*:[0-9]*:[a-z0-9\\\\-]+\\/[a-z0-9\\\\-]+" + }, + "IdentityCenterOptions":{ + "type":"structure", + "members":{ + "EnabledAPIAccess":{ + "shape":"Boolean", + "documentation":"

            True to enable IAM Identity Center for API access in Amazon OpenSearch Service.

            " + }, + "IdentityCenterInstanceARN":{ + "shape":"IdentityCenterInstanceARN", + "documentation":"

            The ARN for IAM Identity Center Instance.

            " + }, + "SubjectKey":{ + "shape":"SubjectKeyIdCOption", + "documentation":"

            Specify the attribute that contains the subject (username, userID, email) of IAM Identity Center.

            " + }, + "RolesKey":{ + "shape":"RolesKeyIdCOption", + "documentation":"

            Specify the attribute that contains the backend role (groupName, groupID) of IAM Identity Center

            " + }, + "IdentityCenterApplicationARN":{ + "shape":"IdentityCenterApplicationARN", + "documentation":"

            The ARN for IAM Identity Center Application which will integrate with Amazon OpenSearch Service.

            " + }, + "IdentityStoreId":{ + "shape":"IdentityStoreId", + "documentation":"

            The ID of IAM Identity Store.

            " + } + }, + "documentation":"

            Container for IAM Identity Center Options settings.

            " + }, + "IdentityCenterOptionsInput":{ + "type":"structure", + "members":{ + "EnabledAPIAccess":{ + "shape":"Boolean", + "documentation":"

            True to enable IAM Identity Center for API access in Amazon OpenSearch Service.

            " + }, + "IdentityCenterInstanceARN":{ + "shape":"IdentityCenterInstanceARN", + "documentation":"

            The ARN for IAM Identity Center Instance which will be used for IAM Identity Center Application creation.

            " + }, + "SubjectKey":{ + "shape":"SubjectKeyIdCOption", + "documentation":"

            Specify the attribute that contains the subject (username, userID, email) of IAM Identity Center.

            " + }, + "RolesKey":{ + "shape":"RolesKeyIdCOption", + "documentation":"

            Specify the attribute that contains the backend role (groupName, groupID) of IAM Identity Center

            " + } + }, + "documentation":"

            Container for IAM Identity Center Options settings.

            " + }, + "IdentityCenterOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"IdentityCenterOptions", + "documentation":"

            Container for IAM Identity Center Options settings.

            " + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"

            The status of IAM Identity Center Options settings for a domain.

            " + } + }, + "documentation":"

            The status of IAM Identity Center Options settings for a domain.

            " + }, "IdentityPoolId":{ "type":"string", "max":55, "min":1, "pattern":"[\\w-]+:[0-9a-f-]+" }, + "IdentityStoreId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^d-[0-9a-f]{10}$|^[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}$" + }, "InboundConnection":{ "type":"structure", "members":{ @@ -4425,6 +4893,37 @@ "value":{"shape":"Limits"}, "documentation":"

            The role of a given instance and all applicable limits. The role performed by a given OpenSearch instance can be one of the following:

            • data - A data node.

            • master - A dedicated master node.

            • ultra_warm - An UltraWarm node.

            " }, + "ListApplicationsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "statuses":{ + "shape":"ApplicationStatuses", + "documentation":"

            OpenSearch Application Status can be used as filters for the listing request. Possible values are CREATING, UPDATING, DELETING, FAILED, ACTIVE, and DELETED.

            ", + "location":"querystring", + "locationName":"statuses" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListApplicationsResponse":{ + "type":"structure", + "members":{ + "ApplicationSummaries":{ + "shape":"ApplicationSummaries", + "documentation":"

            Summary of the OpenSearch Applications, including ID, ARN, name, endpoint, status, create time and last update time.

            " + }, + "nextToken":{"shape":"NextToken"} + } + }, "ListDataSourcesRequest":{ "type":"structure", "required":["DomainName"], @@ -5859,10 +6358,7 @@ }, "RevokeVpcEndpointAccessRequest":{ "type":"structure", - "required":[ - "DomainName", - "Account" - ], + "required":["DomainName"], "members":{ "DomainName":{ "shape":"DomainName", @@ -5873,6 +6369,10 @@ "Account":{ "shape":"AWSAccount", "documentation":"

            The account ID to revoke access from.

            " + }, + "Service":{ + "shape":"AWSServicePrincipal", + "documentation":"

            The service SP to revoke access from.

            " } } }, @@ -5892,6 +6392,13 @@ "max":64, "min":1 }, + "RolesKeyIdCOption":{ + "type":"string", + "enum":[ + "GroupName", + "GroupId" + ] + }, "RollbackOnDisable":{ "type":"string", "documentation":"

            The rollback state while disabling Auto-Tune for the domain.

            ", @@ -6369,6 +6876,14 @@ "max":64, "min":1 }, + "SubjectKeyIdCOption":{ + "type":"string", + "enum":[ + "UserName", + "UserId", + "Email" + ] + }, "TLSSecurityPolicy":{ "type":"string", "enum":[ @@ -6419,12 +6934,67 @@ "documentation":"

            The unit of a maintenance schedule duration. Valid value is HOUR.

            ", "enum":["HOURS"] }, + "Timestamp":{"type":"timestamp"}, "TotalNumberOfStages":{"type":"integer"}, "UIntValue":{ "type":"integer", "min":0 }, "UncompressedPluginSizeInBytes":{"type":"long"}, + "UpdateApplicationRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Id", + "documentation":"

            Unique identifier of the OpenSearch Application to be updated.

            ", + "location":"uri", + "locationName":"id" + }, + "dataSources":{ + "shape":"DataSources", + "documentation":"

            Data sources to be associated with the OpenSearch Application.

            " + }, + "appConfigs":{ + "shape":"AppConfigs", + "documentation":"

            Configurations to be changed for the OpenSearch Application.

            " + } + } + }, + "UpdateApplicationResponse":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Id", + "documentation":"

            Unique identifier of the updated OpenSearch Application.

            " + }, + "name":{ + "shape":"ApplicationName", + "documentation":"

            Name of the updated OpenSearch Application.

            " + }, + "arn":{"shape":"ARN"}, + "dataSources":{ + "shape":"DataSources", + "documentation":"

            Data sources associated with the updated OpenSearch Application.

            " + }, + "iamIdentityCenterOptions":{ + "shape":"IamIdentityCenterOptions", + "documentation":"

            IAM Identity Center settings for the updated OpenSearch Application.

            " + }, + "appConfigs":{ + "shape":"AppConfigs", + "documentation":"

            Configurations for the updated OpenSearch Application.

            " + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

            Timestamp at which the OpenSearch Application was created.

            " + }, + "lastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

            Timestamp at which the OpenSearch Application was last updated.

            " + } + } + }, "UpdateDataSourceRequest":{ "type":"structure", "required":[ @@ -6532,6 +7102,7 @@ "shape":"AdvancedSecurityOptionsInput", "documentation":"

            Options for fine-grained access control.

            " }, + "IdentityCenterOptions":{"shape":"IdentityCenterOptionsInput"}, "AutoTuneOptions":{ "shape":"AutoTuneOptions", "documentation":"

            Options for Auto-Tune.

            " diff --git a/tools/code-generation/api-descriptions/opensearchserverless-2021-11-01.normal.json b/tools/code-generation/api-descriptions/opensearchserverless-2021-11-01.normal.json index 9d705d7c7bb..1cfc970ee35 100644 --- a/tools/code-generation/api-descriptions/opensearchserverless-2021-11-01.normal.json +++ b/tools/code-generation/api-descriptions/opensearchserverless-2021-11-01.normal.json @@ -1133,6 +1133,25 @@ } } }, + "CreateIamIdentityCenterConfigOptions":{ + "type":"structure", + "required":["instanceArn"], + "members":{ + "groupAttribute":{ + "shape":"IamIdentityCenterGroupAttribute", + "documentation":"

            The group attribute for this IAM Identity Center integration. Defaults to GroupId.

            " + }, + "instanceArn":{ + "shape":"IamIdentityCenterInstanceArn", + "documentation":"

            The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless.

            " + }, + "userAttribute":{ + "shape":"IamIdentityCenterUserAttribute", + "documentation":"

            The user attribute for this IAM Identity Center integration. Defaults to UserId.

            " + } + }, + "documentation":"

            Describes IAM Identity Center options for creating an OpenSearch Serverless security configuration in the form of a key-value map.

            " + }, "CreateLifecyclePolicyRequest":{ "type":"structure", "required":[ @@ -1189,6 +1208,10 @@ "shape":"ConfigDescription", "documentation":"

            A description of the security configuration.

            " }, + "iamIdentityCenterOptions":{ + "shape":"CreateIamIdentityCenterConfigOptions", + "documentation":"

            Describes IAM Identity Center options in the form of a key-value map. This field is required if you specify iamidentitycenter for the type parameter.

            " + }, "name":{ "shape":"ConfigName", "documentation":"

            The name of the security configuration.

            " @@ -1676,6 +1699,63 @@ } } }, + "IamIdentityCenterApplicationArn":{ + "type":"string", + "max":1224, + "min":10, + "pattern":"^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$" + }, + "IamIdentityCenterConfigOptions":{ + "type":"structure", + "members":{ + "applicationArn":{ + "shape":"IamIdentityCenterApplicationArn", + "documentation":"

            The ARN of the IAM Identity Center application used to integrate with OpenSearch Serverless.

            " + }, + "applicationDescription":{ + "shape":"String", + "documentation":"

            The description of the IAM Identity Center application used to integrate with OpenSearch Serverless.

            " + }, + "applicationName":{ + "shape":"String", + "documentation":"

            The name of the IAM Identity Center application used to integrate with OpenSearch Serverless.

            " + }, + "groupAttribute":{ + "shape":"IamIdentityCenterGroupAttribute", + "documentation":"

            The group attribute for this IAM Identity Center integration. Defaults to GroupId.

            " + }, + "instanceArn":{ + "shape":"IamIdentityCenterInstanceArn", + "documentation":"

            The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless.

            " + }, + "userAttribute":{ + "shape":"IamIdentityCenterUserAttribute", + "documentation":"

            The user attribute for this IAM Identity Center integration. Defaults to UserId

            " + } + }, + "documentation":"

            Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map.

            " + }, + "IamIdentityCenterGroupAttribute":{ + "type":"string", + "enum":[ + "GroupId", + "GroupName" + ] + }, + "IamIdentityCenterInstanceArn":{ + "type":"string", + "max":1224, + "min":10, + "pattern":"^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$" + }, + "IamIdentityCenterUserAttribute":{ + "type":"string", + "enum":[ + "UserId", + "UserName", + "Email" + ] + }, "IndexingCapacityValue":{ "type":"integer", "box":true, @@ -2225,6 +2305,10 @@ "shape":"ConfigDescription", "documentation":"

            The description of the security configuration.

            " }, + "iamIdentityCenterOptions":{ + "shape":"IamIdentityCenterConfigOptions", + "documentation":"

            Describes IAM Identity Center options in the form of a key-value map.

            " + }, "id":{ "shape":"SecurityConfigId", "documentation":"

            The unique identifier of the security configuration.

            " @@ -2295,7 +2379,10 @@ }, "SecurityConfigType":{ "type":"string", - "enum":["saml"] + "enum":[ + "saml", + "iamidentitycenter" + ] }, "SecurityGroupId":{ "type":"string", @@ -2663,6 +2750,20 @@ } } }, + "UpdateIamIdentityCenterConfigOptions":{ + "type":"structure", + "members":{ + "groupAttribute":{ + "shape":"IamIdentityCenterGroupAttribute", + "documentation":"

            The group attribute for this IAM Identity Center integration. Defaults to GroupId.

            " + }, + "userAttribute":{ + "shape":"IamIdentityCenterUserAttribute", + "documentation":"

            The user attribute for this IAM Identity Center integration. Defaults to UserId.

            " + } + }, + "documentation":"

            Describes IAM Identity Center options for updating an OpenSearch Serverless security configuration in the form of a key-value map.

            " + }, "UpdateLifecyclePolicyRequest":{ "type":"structure", "required":[ @@ -2727,6 +2828,10 @@ "shape":"ConfigDescription", "documentation":"

            A description of the security configuration.

            " }, + "iamIdentityCenterOptionsUpdates":{ + "shape":"UpdateIamIdentityCenterConfigOptions", + "documentation":"

            Describes IAM Identity Center options in the form of a key-value map.

            " + }, "id":{ "shape":"SecurityConfigId", "documentation":"

            The security configuration identifier. For SAML the ID will be saml/<accountId>/<idpProviderName>. For example, saml/123456789123/OKTADev.

            " diff --git a/tools/code-generation/api-descriptions/redshift-2012-12-01.normal.json b/tools/code-generation/api-descriptions/redshift-2012-12-01.normal.json index f28b14c8445..aedb38de4b4 100644 --- a/tools/code-generation/api-descriptions/redshift-2012-12-01.normal.json +++ b/tools/code-generation/api-descriptions/redshift-2012-12-01.normal.json @@ -492,7 +492,7 @@ {"shape":"TagLimitExceededFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

            Creates a zero-ETL integration with Amazon Redshift.

            " + "documentation":"

            Creates a zero-ETL integration or S3 event integration with Amazon Redshift.

            " }, "CreateRedshiftIdcApplication":{ "name":"CreateRedshiftIdcApplication", @@ -817,7 +817,7 @@ {"shape":"IntegrationConflictOperationFault"}, {"shape":"UnsupportedOperationFault"} ], - "documentation":"

            Deletes a zero-ETL integration with Amazon Redshift.

            " + "documentation":"

            Deletes a zero-ETL integration or S3 event integration with Amazon Redshift.

            " }, "DeletePartner":{ "name":"DeletePartner", @@ -1334,7 +1334,7 @@ {"shape":"IntegrationNotFoundFault"}, {"shape":"UnsupportedOperationFault"} ], - "documentation":"

            Describes one or more zero-ETL integrations with Amazon Redshift.

            " + "documentation":"

            Describes one or more zero-ETL or S3 event integrations with Amazon Redshift.

            " }, "DescribeLoggingStatus":{ "name":"DescribeLoggingStatus", @@ -2117,7 +2117,7 @@ {"shape":"IntegrationAlreadyExistsFault"}, {"shape":"UnsupportedOperationFault"} ], - "documentation":"

            Modifies a zero-ETL integration with Amazon Redshift.

            " + "documentation":"

            Modifies a zero-ETL integration or S3 event integration with Amazon Redshift.

            " }, "ModifyRedshiftIdcApplication":{ "name":"ModifyRedshiftIdcApplication", @@ -4640,11 +4640,11 @@ ], "members":{ "SourceArn":{ - "shape":"String", + "shape":"SourceArn", "documentation":"

            The Amazon Resource Name (ARN) of the database to use as the source for replication.

            " }, "TargetArn":{ - "shape":"String", + "shape":"TargetArn", "documentation":"

            The Amazon Resource Name (ARN) of the Amazon Redshift data warehouse to use as the target for replication.

            " }, "IntegrationName":{ @@ -6009,11 +6009,11 @@ "type":"structure", "members":{ "IntegrationArn":{ - "shape":"String", + "shape":"InboundIntegrationArn", "documentation":"

            The Amazon Resource Name (ARN) of the inbound integration.

            " }, "TargetArn":{ - "shape":"String", + "shape":"TargetArn", "documentation":"

            The Amazon Resource Name (ARN) of the target of an inbound integration.

            " }, "MaxRecords":{ @@ -6441,7 +6441,7 @@ }, "ResourceType":{ "shape":"String", - "documentation":"

            The type of resource with which you want to view tags. Valid resource types are:

            • Cluster

            • CIDR/IP

            • EC2 security group

            • Snapshot

            • Cluster security group

            • Subnet group

            • HSM connection

            • HSM certificate

            • Parameter group

            • Snapshot copy grant

            • Integration (zero-ETL integration)

              To describe the tags associated with an integration, don't specify ResourceType, instead specify the ResourceName of the integration.

            For more information about Amazon Redshift resource types and constructing ARNs, go to Specifying Policy Elements: Actions, Effects, Resources, and Principals in the Amazon Redshift Cluster Management Guide.

            " + "documentation":"

            The type of resource with which you want to view tags. Valid resource types are:

            • Cluster

            • CIDR/IP

            • EC2 security group

            • Snapshot

            • Cluster security group

            • Subnet group

            • HSM connection

            • HSM certificate

            • Parameter group

            • Snapshot copy grant

            • Integration (zero-ETL integration or S3 event integration)

              To describe the tags associated with an integration, don't specify ResourceType, instead specify the ResourceName of the integration.

            For more information about Amazon Redshift resource types and constructing ARNs, go to Specifying Policy Elements: Actions, Effects, Resources, and Principals in the Amazon Redshift Cluster Management Guide.

            " }, "MaxRecords":{ "shape":"IntegerOptional", @@ -7520,7 +7520,7 @@ "type":"structure", "members":{ "IntegrationArn":{ - "shape":"String", + "shape":"InboundIntegrationArn", "documentation":"

            The Amazon Resource Name (ARN) of an inbound integration.

            " }, "SourceArn":{ @@ -7528,7 +7528,7 @@ "documentation":"

            The Amazon Resource Name (ARN) of the source of an inbound integration.

            " }, "TargetArn":{ - "shape":"String", + "shape":"TargetArn", "documentation":"

            The Amazon Resource Name (ARN) of the target of an inbound integration.

            " }, "Status":{ @@ -7546,6 +7546,12 @@ }, "documentation":"

            The content of an inbound integration.

            " }, + "InboundIntegrationArn":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^arn:aws[a-z\\-]*:.+:[a-z0-9\\-]*:[0-9]*:integration:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + }, "InboundIntegrationList":{ "type":"list", "member":{ @@ -7608,7 +7614,7 @@ "type":"structure", "members":{ "IntegrationArn":{ - "shape":"String", + "shape":"IntegrationArn", "documentation":"

            The Amazon Resource Name (ARN) of the integration.

            " }, "IntegrationName":{ @@ -7616,11 +7622,11 @@ "documentation":"

            The name of the integration.

            " }, "SourceArn":{ - "shape":"String", + "shape":"SourceArn", "documentation":"

            The Amazon Resource Name (ARN) of the database used as the source for replication.

            " }, "TargetArn":{ - "shape":"String", + "shape":"TargetArn", "documentation":"

            The Amazon Resource Name (ARN) of the Amazon Redshift data warehouse to use as the target for replication.

            " }, "Status":{ @@ -7669,7 +7675,7 @@ "type":"string", "max":255, "min":1, - "pattern":"arn:aws[a-z\\-]*:redshift:[a-z0-9\\-]*:[0-9]*:integration:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + "pattern":"^arn:aws[a-z\\-]*:redshift:[a-z0-9\\-]*:[0-9]*:integration:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" }, "IntegrationConflictOperationFault":{ "type":"structure", @@ -7752,7 +7758,7 @@ "type":"structure", "members":{ }, - "documentation":"

            You can't create any more zero-ETL integrations because the quota has been reached.

            ", + "documentation":"

            You can't create any more zero-ETL or S3 event integrations because the quota has been reached.

            ", "error":{ "code":"IntegrationQuotaExceededFault", "httpStatusCode":400, @@ -11319,6 +11325,12 @@ "DESC" ] }, + "SourceArn":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^arn:aws[a-z\\-]*:(s3|dynamodb):.*:.*:[a-zA-Z0-9._\\-\\/]+$" + }, "SourceIdsList":{ "type":"list", "member":{ @@ -11696,6 +11708,12 @@ }, "documentation":"

            " }, + "TargetArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[a-z\\-]*:redshift(-serverless)?:[a-z0-9\\-]+:[0-9]{12}:(namespace\\/|namespace:)[a-z0-9\\-]+$" + }, "TrackList":{ "type":"list", "member":{ diff --git a/tools/code-generation/api-descriptions/redshift-serverless-2021-04-21.normal.json b/tools/code-generation/api-descriptions/redshift-serverless-2021-04-21.normal.json index 26a91f59bbb..5a71966458b 100644 --- a/tools/code-generation/api-descriptions/redshift-serverless-2021-04-21.normal.json +++ b/tools/code-generation/api-descriptions/redshift-serverless-2021-04-21.normal.json @@ -1401,6 +1401,10 @@ "shape":"Integer", "documentation":"

            The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.

            " }, + "pricePerformanceTarget":{ + "shape":"PerformanceTarget", + "documentation":"

            An object that represents the price performance target settings for the workgroup.

            " + }, "publiclyAccessible":{ "shape":"Boolean", "documentation":"

            A value that specifies whether the workgroup can be accessed from a public network.

            " @@ -2597,6 +2601,33 @@ }, "ParameterKey":{"type":"string"}, "ParameterValue":{"type":"string"}, + "PerformanceTarget":{ + "type":"structure", + "members":{ + "level":{ + "shape":"PerformanceTargetLevelInteger", + "documentation":"

            The target price performance level for the workgroup. Valid values include 1, 25, 50, 75, and 100. These correspond to the price performance levels LOW_COST, ECONOMICAL, BALANCED, RESOURCEFUL, and HIGH_PERFORMANCE.

            " + }, + "status":{ + "shape":"PerformanceTargetStatus", + "documentation":"

            Whether the price performance target is enabled for the workgroup.

            " + } + }, + "documentation":"

            An object that represents the price performance target settings for the workgroup.

            " + }, + "PerformanceTargetLevelInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "PerformanceTargetStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "PutResourcePolicyRequest":{ "type":"structure", "required":[ @@ -3616,6 +3647,10 @@ "shape":"Integer", "documentation":"

            The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.

            " }, + "pricePerformanceTarget":{ + "shape":"PerformanceTarget", + "documentation":"

            An object that represents the price performance target settings for the workgroup.

            " + }, "publiclyAccessible":{ "shape":"Boolean", "documentation":"

            A value that specifies whether the workgroup can be accessible from a public network.

            " @@ -3824,6 +3859,10 @@ "shape":"Integer", "documentation":"

            The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.

            " }, + "pricePerformanceTarget":{ + "shape":"PerformanceTarget", + "documentation":"

            An object that represents the price performance target settings for the workgroup.

            " + }, "publiclyAccessible":{ "shape":"Boolean", "documentation":"

            A value that specifies whether the workgroup can be accessible from a public network.

            " diff --git a/tools/code-generation/api-descriptions/route53-2013-04-01.normal.json b/tools/code-generation/api-descriptions/route53-2013-04-01.normal.json index 590e550071d..917e4012132 100644 --- a/tools/code-generation/api-descriptions/route53-2013-04-01.normal.json +++ b/tools/code-generation/api-descriptions/route53-2013-04-01.normal.json @@ -235,7 +235,7 @@ {"shape":"QueryLoggingConfigAlreadyExists"}, {"shape":"InsufficientCloudWatchLogsResourcePolicy"} ], - "documentation":"

            Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.

            DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:

            • Route 53 edge location that responded to the DNS query

            • Domain or subdomain that was requested

            • DNS record type, such as A or AAAA

            • DNS response code, such as NoError or ServFail

            Log Group and Resource Policy

            Before you create a query logging configuration, perform the following operations.

            If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically.

            1. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:

              • You must create the log group in the us-east-1 region.

              • You must use the same Amazon Web Services account to create the log group and the hosted zone that you want to configure query logging for.

              • When you create log groups for query logging, we recommend that you use a consistent prefix, for example:

                /aws/route53/hosted zone name

                In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated Amazon Web Services resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.

            2. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example:

              arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*

              To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values:

              • For aws:SourceArn, supply the hosted zone ARN used in creating the query logging configuration. For example, aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID.

              • For aws:SourceAccount, supply the account ID for the account that creates the query logging configuration. For example, aws:SourceAccount:111111111111.

              For more information, see The confused deputy problem in the Amazon Web Services IAM User Guide.

              You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the Amazon Web Services SDKs, or the CLI.

            Log Streams and Edge Locations

            When Route 53 finishes creating the configuration for DNS query logging, it does the following:

            • Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location.

            • Begins to send query logs to the applicable log stream.

            The name of each log stream is in the following format:

            hosted zone ID/edge location code

            The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the Route 53 Product Details page.

            Queries That Are Logged

            Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide.

            Log File Format

            For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide.

            Pricing

            For information about charges for query logs, see Amazon CloudWatch Pricing.

            How to Stop Logging

            If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig.

            " + "documentation":"

            Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.

            DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:

            • Route 53 edge location that responded to the DNS query

            • Domain or subdomain that was requested

            • DNS record type, such as A or AAAA

            • DNS response code, such as NoError or ServFail

            Log Group and Resource Policy

            Before you create a query logging configuration, perform the following operations.

            If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically.

            1. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:

              • You must create the log group in the us-east-1 region.

              • You must use the same Amazon Web Services account to create the log group and the hosted zone that you want to configure query logging for.

              • When you create log groups for query logging, we recommend that you use a consistent prefix, for example:

                /aws/route53/hosted zone name

                In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated Amazon Web Services resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.

            2. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example:

              arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*

              To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values:

              • For aws:SourceArn, supply the hosted zone ARN used in creating the query logging configuration. For example, aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID.

              • For aws:SourceAccount, supply the account ID for the account that creates the query logging configuration. For example, aws:SourceAccount:111111111111.

              For more information, see The confused deputy problem in the Amazon Web Services IAM User Guide.

              You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the Amazon Web Services SDKs, or the CLI.

            Log Streams and Edge Locations

            When Route 53 finishes creating the configuration for DNS query logging, it does the following:

            • Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location.

            • Begins to send query logs to the applicable log stream.

            The name of each log stream is in the following format:

            hosted zone ID/edge location code

            The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the Route 53 Product Details page.

            Queries That Are Logged

            Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide.

            Log File Format

            For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide.

            Pricing

            For information about charges for query logs, see Amazon CloudWatch Pricing.

            How to Stop Logging

            If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig.

            " }, "CreateReusableDelegationSet":{ "name":"CreateReusableDelegationSet", @@ -708,7 +708,7 @@ {"shape":"NoSuchHostedZone"}, {"shape":"InvalidInput"} ], - "documentation":"

            Gets information about a specified hosted zone including the four name servers assigned to the hosted zone.

            " + "documentation":"

            Gets information about a specified hosted zone including the four name servers assigned to the hosted zone.

            returns the VPCs associated with the specified hosted zone and does not reflect the VPC associations by Route 53 Profiles. To get the associations to a Profile, call the ListProfileAssociations API.

            " }, "GetHostedZoneCount":{ "name":"GetHostedZoneCount", @@ -929,7 +929,7 @@ {"shape":"InvalidInput"}, {"shape":"InvalidPaginationToken"} ], - "documentation":"

            Lists all the private hosted zones that a specified VPC is associated with, regardless of which Amazon Web Services account or Amazon Web Services service owns the hosted zones. The HostedZoneOwner structure in the response contains one of the following values:

            • An OwningAccount element, which contains the account number of either the current Amazon Web Services account or another Amazon Web Services account. Some services, such as Cloud Map, create hosted zones using the current account.

            • An OwningService element, which identifies the Amazon Web Services service that created and owns the hosted zone. For example, if a hosted zone was created by Amazon Elastic File System (Amazon EFS), the value of Owner is efs.amazonaws.com.

            When listing private hosted zones, the hosted zone and the Amazon VPC must belong to the same partition where the hosted zones were created. A partition is a group of Amazon Web Services Regions. Each Amazon Web Services account is scoped to one partition.

            The following are the supported partitions:

            • aws - Amazon Web Services Regions

            • aws-cn - China Regions

            • aws-us-gov - Amazon Web Services GovCloud (US) Region

            For more information, see Access Management in the Amazon Web Services General Reference.

            " + "documentation":"

            Lists all the private hosted zones that a specified VPC is associated with, regardless of which Amazon Web Services account or Amazon Web Services service owns the hosted zones. The HostedZoneOwner structure in the response contains one of the following values:

            • An OwningAccount element, which contains the account number of either the current Amazon Web Services account or another Amazon Web Services account. Some services, such as Cloud Map, create hosted zones using the current account.

            • An OwningService element, which identifies the Amazon Web Services service that created and owns the hosted zone. For example, if a hosted zone was created by Amazon Elastic File System (Amazon EFS), the value of Owner is efs.amazonaws.com.

            ListHostedZonesByVPC returns the hosted zones associated with the specified VPC and does not reflect the hosted zone associations to VPCs via Route 53 Profiles. To get the associations to a Profile, call the ListProfileResourceAssociations API.

            When listing private hosted zones, the hosted zone and the Amazon VPC must belong to the same partition where the hosted zones were created. A partition is a group of Amazon Web Services Regions. Each Amazon Web Services account is scoped to one partition.

            The following are the supported partitions:

            • aws - Amazon Web Services Regions

            • aws-cn - China Regions

            • aws-us-gov - Amazon Web Services GovCloud (US) Region

            For more information, see Access Management in the Amazon Web Services General Reference.

            " }, "ListQueryLoggingConfigs":{ "name":"ListQueryLoggingConfigs", @@ -3442,7 +3442,7 @@ }, "Type":{ "shape":"HealthCheckType", - "documentation":"

            The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.

            You can't change the value of Type after you create a health check.

            You can create the following types of health checks:

            • HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

            • HTTPS: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

              If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

            • HTTP_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

            • HTTPS_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

            • TCP: Route 53 tries to establish a TCP connection.

            • CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. If the state of the alarm is OK, the health check is considered healthy. If the state is ALARM, the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is OK or ALARM, the health check status depends on the setting for InsufficientDataHealthStatus: Healthy, Unhealthy, or LastKnownStatus.

            • CALCULATED: For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of HealthThreshold.

            • RECOVERY_CONTROL: The health check is associated with a Route53 Application Recovery Controller routing control. If the routing control state is ON, the health check is considered healthy. If the state is OFF, the health check is considered unhealthy.

            For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

            " + "documentation":"

            The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.

            You can't change the value of Type after you create a health check.

            You can create the following types of health checks:

            • HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

            • HTTPS: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

              If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0, v1.1, or v1.2.

            • HTTP_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

            • HTTPS_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

            • TCP: Route 53 tries to establish a TCP connection.

            • CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. If the state of the alarm is OK, the health check is considered healthy. If the state is ALARM, the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is OK or ALARM, the health check status depends on the setting for InsufficientDataHealthStatus: Healthy, Unhealthy, or LastKnownStatus.

            • CALCULATED: For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of HealthThreshold.

            • RECOVERY_CONTROL: The health check is associated with a Route53 Application Recovery Controller routing control. If the routing control state is ON, the health check is considered healthy. If the state is OFF, the health check is considered unhealthy.

            For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

            " }, "ResourcePath":{ "shape":"ResourcePath", @@ -5381,7 +5381,11 @@ "SPF", "AAAA", "CAA", - "DS" + "DS", + "TLSA", + "SSHFP", + "SVCB", + "HTTPS" ] }, "RecordData":{ @@ -5457,7 +5461,7 @@ }, "Type":{ "shape":"RRType", - "documentation":"

            The DNS record type. For information about different record types and how data is encoded for them, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

            Valid values for basic resource record sets: A | AAAA | CAA | CNAME | DS |MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

            Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.

            Valid values for multivalue answer resource record sets: A | AAAA | MX | NAPTR | PTR | SPF | SRV | TXT

            SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS Record Type.

            Values for alias resource record sets:

            • Amazon API Gateway custom regional APIs and edge-optimized APIs: A

            • CloudFront distributions: A

              If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of A and one with a value of AAAA.

            • Amazon API Gateway environment that has a regionalized subdomain: A

            • ELB load balancers: A | AAAA

            • Amazon S3 buckets: A

            • Amazon Virtual Private Cloud interface VPC endpoints A

            • Another resource record set in this hosted zone: Specify the type of the resource record set that you're creating the alias for. All values are supported except NS and SOA.

              If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of Type is CNAME. This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.

            " + "documentation":"

            The DNS record type. For information about different record types and how data is encoded for them, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

            Valid values for basic resource record sets: A | AAAA | CAA | CNAME | DS |MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT| TLSA| SSHFP| SVCB| HTTPS

            Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT| TLSA| SSHFP| SVCB| HTTPS. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.

            Valid values for multivalue answer resource record sets: A | AAAA | MX | NAPTR | PTR | SPF | SRV | TXT| CAA| TLSA| SSHFP| SVCB| HTTPS

            SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS Record Type.

            Values for alias resource record sets:

            • Amazon API Gateway custom regional APIs and edge-optimized APIs: A

            • CloudFront distributions: A

              If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of A and one with a value of AAAA.

            • Amazon API Gateway environment that has a regionalized subdomain: A

            • ELB load balancers: A | AAAA

            • Amazon S3 buckets: A

            • Amazon Virtual Private Cloud interface VPC endpoints A

            • Another resource record set in this hosted zone: Specify the type of the resource record set that you're creating the alias for. All values are supported except NS and SOA.

              If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of Type is CNAME. This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.

            " }, "SetIdentifier":{ "shape":"ResourceRecordSetIdentifier", @@ -6430,6 +6434,7 @@ "sa-east-1", "ca-central-1", "cn-north-1", + "cn-northwest-1", "af-south-1", "eu-south-1", "eu-south-2", diff --git a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json index dac3cca2e00..7307b931fe3 100644 --- a/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json +++ b/tools/code-generation/api-descriptions/sagemaker-2017-07-24.normal.json @@ -696,7 +696,7 @@ "errors":[ {"shape":"ResourceNotFound"} ], - "documentation":"

            Creates a URL for a specified UserProfile in a Domain. When accessed in a web browser, the user will be automatically signed in to the domain, and granted access to all of the Apps and files associated with the Domain's Amazon Elastic File System volume. This operation can only be called when the authentication mode equals IAM.

            The IAM role or user passed to this API defines the permissions to access the app. Once the presigned URL is created, no additional permission is required to access this URL. IAM authorization policies for this API are also enforced for every HTTP request and WebSocket frame that attempts to connect to the app.

            You can restrict access to this API and to the URL that it returns to a list of IP addresses, Amazon VPCs or Amazon VPC Endpoints that you specify. For more information, see Connect to Amazon SageMaker Studio Through an Interface VPC Endpoint .

            The URL that you get from a call to CreatePresignedDomainUrl has a default timeout of 5 minutes. You can configure this value using ExpiresInSeconds. If you try to use the URL after the timeout limit expires, you are directed to the Amazon Web Services console sign-in page.

            " + "documentation":"

            Creates a URL for a specified UserProfile in a Domain. When accessed in a web browser, the user will be automatically signed in to the domain, and granted access to all of the Apps and files associated with the Domain's Amazon Elastic File System volume. This operation can only be called when the authentication mode equals IAM.

            The IAM role or user passed to this API defines the permissions to access the app. Once the presigned URL is created, no additional permission is required to access this URL. IAM authorization policies for this API are also enforced for every HTTP request and WebSocket frame that attempts to connect to the app.

            You can restrict access to this API and to the URL that it returns to a list of IP addresses, Amazon VPCs or Amazon VPC Endpoints that you specify. For more information, see Connect to Amazon SageMaker Studio Through an Interface VPC Endpoint .

            • The URL that you get from a call to CreatePresignedDomainUrl has a default timeout of 5 minutes. You can configure this value using ExpiresInSeconds. If you try to use the URL after the timeout limit expires, you are directed to the Amazon Web Services console sign-in page.

            • The JupyterLab session default expiration time is 12 hours. You can configure this value using SessionExpirationDurationInSeconds.

            " }, "CreatePresignedMlflowTrackingServerUrl":{ "name":"CreatePresignedMlflowTrackingServerUrl", @@ -10206,6 +10206,10 @@ "ModelCard":{ "shape":"ModelPackageModelCard", "documentation":"

            The model card associated with the model package. Since ModelPackageModelCard is tied to a model package, it is a specific usage of a model card and its schema is simplified compared to the schema of ModelCard. The ModelPackageModelCard schema does not include model_package_details, and model_overview is composed of the model_creator and model_artifact properties. For more information about the model package model card schema, see Model package model card schema. For more information about the model card associated with the model package, see View the Details of a Model Version.

            " + }, + "ModelLifeCycle":{ + "shape":"ModelLifeCycle", + "documentation":"

            A structure describing the current state of the model in its life cycle.

            " } } }, @@ -15724,6 +15728,10 @@ "ModelCard":{ "shape":"ModelPackageModelCard", "documentation":"

            The model card associated with the model package. Since ModelPackageModelCard is tied to a model package, it is a specific usage of a model card and its schema is simplified compared to the schema of ModelCard. The ModelPackageModelCard schema does not include model_package_details, and model_overview is composed of the model_creator and model_artifact properties. For more information about the model package model card schema, see Model package model card schema. For more information about the model card associated with the model package, see View the Details of a Model Version.

            " + }, + "ModelLifeCycle":{ + "shape":"ModelLifeCycle", + "documentation":"

            A structure describing the current state of the model in its life cycle.

            " } } }, @@ -28104,6 +28112,28 @@ "max":1, "min":1 }, + "ModelLifeCycle":{ + "type":"structure", + "required":[ + "Stage", + "StageStatus" + ], + "members":{ + "Stage":{ + "shape":"EntityName", + "documentation":"

            The current stage in the model life cycle.

            " + }, + "StageStatus":{ + "shape":"EntityName", + "documentation":"

            The current status of a stage in model life cycle.

            " + }, + "StageDescription":{ + "shape":"StageDescription", + "documentation":"

            Describes the stage related details.

            " + } + }, + "documentation":"

            A structure describing the current state of the model in its life cycle.

            " + }, "ModelMetadataFilter":{ "type":"structure", "required":[ @@ -28317,6 +28347,10 @@ }, "SecurityConfig":{"shape":"ModelPackageSecurityConfig"}, "ModelCard":{"shape":"ModelPackageModelCard"}, + "ModelLifeCycle":{ + "shape":"ModelLifeCycle", + "documentation":"

            A structure describing the current state of the model in its life cycle.

            " + }, "Tags":{ "shape":"TagList", "documentation":"

            A list of the tags associated with the model package. For more information, see Tagging Amazon Web Services resources in the Amazon Web Services General Reference Guide.

            " @@ -35034,6 +35068,12 @@ "TFRecord" ] }, + "StageDescription":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"^.{0,1024}$" + }, "StageStatus":{ "type":"string", "enum":[ @@ -36467,7 +36507,6 @@ "ml.p4de.24xlarge", "ml.p5.48xlarge", "ml.p5e.48xlarge", - "ml.p5en.48xlarge", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", @@ -36489,7 +36528,6 @@ "ml.trn1.2xlarge", "ml.trn1.32xlarge", "ml.trn1n.32xlarge", - "ml.trn2.48xlarge", "ml.m6i.large", "ml.m6i.xlarge", "ml.m6i.2xlarge", @@ -38659,6 +38697,14 @@ "ModelCard":{ "shape":"ModelPackageModelCard", "documentation":"

            The model card associated with the model package. Since ModelPackageModelCard is tied to a model package, it is a specific usage of a model card and its schema is simplified compared to the schema of ModelCard. The ModelPackageModelCard schema does not include model_package_details, and model_overview is composed of the model_creator and model_artifact properties. For more information about the model package model card schema, see Model package model card schema. For more information about the model card associated with the model package, see View the Details of a Model Version.

            " + }, + "ModelLifeCycle":{ + "shape":"ModelLifeCycle", + "documentation":"

            A structure describing the current state of the model in its life cycle.

            " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

            A unique token that guarantees that the call to this API is idempotent.

            " } } }, @@ -39452,7 +39498,7 @@ "type":"string", "max":176, "min":1, - "pattern":"(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:[a-z\\-]*\\/)?([a-zA-Z0-9]([a-zA-Z0-9-]){0,62})(?Creates a group that can be used in WorkMail by calling the RegisterToWorkMail operation.

            ", "idempotent":true }, + "CreateIdentityCenterApplication":{ + "name":"CreateIdentityCenterApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIdentityCenterApplicationRequest"}, + "output":{"shape":"CreateIdentityCenterApplicationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"} + ], + "documentation":"

            Creates the WorkMail application in IAM Identity Center that can be used later in the WorkMail - IdC integration. For more information, see PutIdentityProviderConfiguration. This action does not affect the authentication settings for any WorkMail organizations.

            ", + "idempotent":true + }, "CreateImpersonationRole":{ "name":"CreateImpersonationRole", "http":{ @@ -324,6 +340,37 @@ "documentation":"

            Deletes a group from WorkMail.

            ", "idempotent":true }, + "DeleteIdentityCenterApplication":{ + "name":"DeleteIdentityCenterApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIdentityCenterApplicationRequest"}, + "output":{"shape":"DeleteIdentityCenterApplicationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

            Deletes the IAM Identity Center application from WorkMail. This action does not affect the authentication settings for any WorkMail organizations.

            ", + "idempotent":true + }, + "DeleteIdentityProviderConfiguration":{ + "name":"DeleteIdentityProviderConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIdentityProviderConfigurationRequest"}, + "output":{"shape":"DeleteIdentityProviderConfigurationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

            Disables the integration between IdC and WorkMail. Authentication will continue with the directory as it was before the IdC integration. You might have to reset your directory passwords and reconfigure your desktop and mobile email clients.

            ", + "idempotent":true + }, "DeleteImpersonationRole":{ "name":"DeleteImpersonationRole", "http":{ @@ -404,6 +451,22 @@ "documentation":"

            Deletes an WorkMail organization and all underlying AWS resources managed by WorkMail as part of the organization. You can choose whether to delete the associated directory. For more information, see Removing an organization in the WorkMail Administrator Guide.

            ", "idempotent":true }, + "DeletePersonalAccessToken":{ + "name":"DeletePersonalAccessToken", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePersonalAccessTokenRequest"}, + "output":{"shape":"DeletePersonalAccessTokenResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

            Deletes the Personal Access Token from the provided WorkMail Organization.

            ", + "idempotent":true + }, "DeleteResource":{ "name":"DeleteResource", "http":{ @@ -545,6 +608,23 @@ "documentation":"

            Returns the data available for the group.

            ", "idempotent":true }, + "DescribeIdentityProviderConfiguration":{ + "name":"DescribeIdentityProviderConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIdentityProviderConfigurationRequest"}, + "output":{"shape":"DescribeIdentityProviderConfigurationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

            Returns detailed information on the current IdC setup for the WorkMail organization.

            ", + "idempotent":true + }, "DescribeInboundDmarcSettings":{ "name":"DescribeInboundDmarcSettings", "http":{ @@ -619,6 +699,8 @@ "input":{"shape":"DescribeUserRequest"}, "output":{"shape":"DescribeUserResponse"}, "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, {"shape":"EntityNotFoundException"}, {"shape":"InvalidParameterException"}, {"shape":"OrganizationNotFoundException"}, @@ -801,6 +883,23 @@ ], "documentation":"

            Gets the mobile device access override for the given WorkMail organization, user, and device.

            " }, + "GetPersonalAccessTokenMetadata":{ + "name":"GetPersonalAccessTokenMetadata", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPersonalAccessTokenMetadataRequest"}, + "output":{"shape":"GetPersonalAccessTokenMetadataResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

            Requests details of a specific Personal Access Token within the WorkMail organization.

            ", + "idempotent":true + }, "ListAccessControlRules":{ "name":"ListAccessControlRules", "http":{ @@ -843,7 +942,8 @@ "output":{"shape":"ListAvailabilityConfigurationsResponse"}, "errors":[ {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} + {"shape":"OrganizationStateException"}, + {"shape":"InvalidParameterException"} ], "documentation":"

            List all the AvailabilityConfiguration's for the given WorkMail organization.

            " }, @@ -1009,6 +1109,24 @@ "documentation":"

            Returns summaries of the customer's organizations.

            ", "idempotent":true }, + "ListPersonalAccessTokens":{ + "name":"ListPersonalAccessTokens", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPersonalAccessTokensRequest"}, + "output":{"shape":"ListPersonalAccessTokensResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

            Returns a summary of your Personal Access Tokens.

            ", + "idempotent":true + }, "ListResourceDelegates":{ "name":"ListResourceDelegates", "http":{ @@ -1109,6 +1227,23 @@ "documentation":"

            Creates or updates the email monitoring configuration for a specified organization.

            ", "idempotent":true }, + "PutIdentityProviderConfiguration":{ + "name":"PutIdentityProviderConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutIdentityProviderConfigurationRequest"}, + "output":{"shape":"PutIdentityProviderConfigurationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

            Enables integration between IAM Identity Center (IdC) and WorkMail to proxy authentication requests for mailbox users. You can connect your IdC directory or your external directory to WorkMail through IdC and manage access to WorkMail mailboxes in a single place. For enhanced protection, you could enable Multifactor Authentication (MFA) and Personal Access Tokens.

            ", + "idempotent":true + }, "PutInboundDmarcSettings":{ "name":"PutInboundDmarcSettings", "http":{ @@ -1354,7 +1489,7 @@ {"shape":"UnsupportedOperationException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

            Updates attibutes in a group.

            ", + "documentation":"

            Updates attributes in a group.

            ", "idempotent":true }, "UpdateImpersonationRole":{ @@ -1601,6 +1736,12 @@ "min":1, "pattern":"arn:aws:workmail:[a-z0-9-]*:[a-z0-9-]+:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}" }, + "ApplicationArn":{ + "type":"string", + "max":1224, + "min":10, + "pattern":"^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$" + }, "AssociateDelegateToResourceRequest":{ "type":"structure", "required":[ @@ -1866,6 +2007,37 @@ } } }, + "CreateIdentityCenterApplicationRequest":{ + "type":"structure", + "required":[ + "Name", + "InstanceArn" + ], + "members":{ + "Name":{ + "shape":"IdentityCenterApplicationName", + "documentation":"

            The name of the IAM Identity Center application.

            " + }, + "InstanceArn":{ + "shape":"InstanceArn", + "documentation":"

            The Amazon Resource Name (ARN) of the instance.

            " + }, + "ClientToken":{ + "shape":"IdempotencyClientToken", + "documentation":"

            The idempotency token associated with the request.

            ", + "idempotencyToken":true + } + } + }, + "CreateIdentityCenterApplicationResponse":{ + "type":"structure", + "members":{ + "ApplicationArn":{ + "shape":"ApplicationArn", + "documentation":"

            The Amazon Resource Name (ARN) of the application.

            " + } + } + }, "CreateImpersonationRoleRequest":{ "type":"structure", "required":[ @@ -2101,6 +2273,10 @@ "HiddenFromGlobalAddressList":{ "shape":"Boolean", "documentation":"

            If this parameter is enabled, the user will be hidden from the address book.

            " + }, + "IdentityProviderUserId":{ + "shape":"IdentityProviderUserId", + "documentation":"

            User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

            " } } }, @@ -2239,6 +2415,36 @@ "members":{ } }, + "DeleteIdentityCenterApplicationRequest":{ + "type":"structure", + "required":["ApplicationArn"], + "members":{ + "ApplicationArn":{ + "shape":"ApplicationArn", + "documentation":"

            The Amazon Resource Name (ARN) of the application.

            " + } + } + }, + "DeleteIdentityCenterApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteIdentityProviderConfigurationRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

            The Organization ID.

            " + } + } + }, + "DeleteIdentityProviderConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteImpersonationRoleRequest":{ "type":"structure", "required":[ @@ -2360,6 +2566,10 @@ "ForceDelete":{ "shape":"Boolean", "documentation":"

            Deletes a WorkMail organization even if the organization has enabled users.

            " + }, + "DeleteIdentityCenterApplication":{ + "shape":"Boolean", + "documentation":"

            Deletes IAM Identity Center application for WorkMail. This action does not affect authentication settings for any organization.

            " } } }, @@ -2376,6 +2586,28 @@ } } }, + "DeletePersonalAccessTokenRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "PersonalAccessTokenId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

            The Organization ID.

            " + }, + "PersonalAccessTokenId":{ + "shape":"PersonalAccessTokenId", + "documentation":"

            The Personal Access Token ID.

            " + } + } + }, + "DeletePersonalAccessTokenResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteResourceRequest":{ "type":"structure", "required":[ @@ -2593,6 +2825,33 @@ } } }, + "DescribeIdentityProviderConfigurationRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

            The Organization ID.

            " + } + } + }, + "DescribeIdentityProviderConfigurationResponse":{ + "type":"structure", + "members":{ + "AuthenticationMode":{ + "shape":"IdentityProviderAuthenticationMode", + "documentation":"

            The authentication mode used in WorkMail.

            " + }, + "IdentityCenterConfiguration":{ + "shape":"IdentityCenterConfiguration", + "documentation":"

            The details of the IAM Identity Center configuration.

            " + }, + "PersonalAccessTokenConfiguration":{ + "shape":"PersonalAccessTokenConfiguration", + "documentation":"

            The details of the Personal Access Token configuration.

            " + } + } + }, "DescribeInboundDmarcSettingsRequest":{ "type":"structure", "required":["OrganizationId"], @@ -2914,6 +3173,14 @@ "Office":{ "shape":"UserAttribute", "documentation":"

            Office where the user is located.

            " + }, + "IdentityProviderUserId":{ + "shape":"IdentityProviderUserId", + "documentation":"

            User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

            " + }, + "IdentityProviderIdentityStoreId":{ + "shape":"IdentityProviderIdentityStoreId", + "documentation":"

            Identity Store ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

            " } } }, @@ -3571,6 +3838,56 @@ } } }, + "GetPersonalAccessTokenMetadataRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "PersonalAccessTokenId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

            The Organization ID.

            " + }, + "PersonalAccessTokenId":{ + "shape":"PersonalAccessTokenId", + "documentation":"

            The Personal Access Token ID.

            " + } + } + }, + "GetPersonalAccessTokenMetadataResponse":{ + "type":"structure", + "members":{ + "PersonalAccessTokenId":{ + "shape":"PersonalAccessTokenId", + "documentation":"

            The Personal Access Token ID.

            " + }, + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

            The WorkMail User ID.

            " + }, + "Name":{ + "shape":"PersonalAccessTokenName", + "documentation":"

            The Personal Access Token name.

            " + }, + "DateCreated":{ + "shape":"Timestamp", + "documentation":"

            The date when the Personal Access Token ID was created.

            " + }, + "DateLastUsed":{ + "shape":"Timestamp", + "documentation":"

            The date when the Personal Access Token ID was last used.

            " + }, + "ExpiresTime":{ + "shape":"Timestamp", + "documentation":"

            The time when the Personal Access Token ID will expire.

            " + }, + "Scopes":{ + "shape":"PersonalAccessTokenScopeList", + "documentation":"

            Lists all the Personal Access Token permissions for a mailbox.

            " + } + } + }, "Group":{ "type":"structure", "members":{ @@ -3641,6 +3958,61 @@ "min":1, "pattern":"[\\x21-\\x7e]+" }, + "IdentityCenterApplicationName":{ + "type":"string", + "max":255, + "min":0, + "pattern":"^[\\w+=,.@-]+$" + }, + "IdentityCenterConfiguration":{ + "type":"structure", + "required":[ + "InstanceArn", + "ApplicationArn" + ], + "members":{ + "InstanceArn":{ + "shape":"InstanceArn", + "documentation":"

            The Amazon Resource Name (ARN) of the of IAM Identity Center instance. Must be in the same AWS account and region as WorkMail organization.

            " + }, + "ApplicationArn":{ + "shape":"ApplicationArn", + "documentation":"

            The Amazon Resource Name (ARN) of IAMIdentity Center Application for WorkMail. Must be created by the WorkMail API, see CreateIdentityCenterApplication.

            " + } + }, + "documentation":"

            The IAM Identity Center configuration.

            " + }, + "IdentityProviderAuthenticationMode":{ + "type":"string", + "enum":[ + "IDENTITY_PROVIDER_ONLY", + "IDENTITY_PROVIDER_AND_DIRECTORY" + ] + }, + "IdentityProviderIdentityStoreId":{ + "type":"string", + "max":36, + "min":1, + "pattern":"^d-[0-9a-f]{10}$|^[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}$" + }, + "IdentityProviderUserId":{ + "type":"string", + "max":47, + "min":1, + "pattern":"^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$" + }, + "IdentityProviderUserIdForUpdate":{ + "type":"string", + "max":47, + "min":0, + "pattern":"^$|^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$" + }, + "IdentityProviderUserIdPrefix":{ + "type":"string", + "max":47, + "min":1, + "pattern":"^[A-Fa-f0-9-]+$" + }, "ImpersonationMatchedRule":{ "type":"structure", "members":{ @@ -3788,6 +4160,12 @@ "min":1, "pattern":"[\\x21-\\x7e]+" }, + "InstanceArn":{ + "type":"string", + "max":1124, + "min":10, + "pattern":"^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$" + }, "InvalidConfigurationException":{ "type":"structure", "members":{ @@ -4319,6 +4697,41 @@ } } }, + "ListPersonalAccessTokensRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

            The Organization ID.

            " + }, + "UserId":{ + "shape":"EntityIdentifier", + "documentation":"

            The WorkMail User ID.

            " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

            The token from the previous response to query the next page.

            " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

            The maximum amount of items that should be returned in a response.

            " + } + } + }, + "ListPersonalAccessTokensResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

            The token from the previous response to query the next page.

            " + }, + "PersonalAccessTokenSummaries":{ + "shape":"PersonalAccessTokenSummaryList", + "documentation":"

            Lists all the personal tokens in an organization or user, if user ID is provided.

            " + } + } + }, "ListResourceDelegatesRequest":{ "type":"structure", "required":[ @@ -4447,6 +4860,10 @@ "State":{ "shape":"EntityState", "documentation":"

            Filters only users with the provided state.

            " + }, + "IdentityProviderUserIdPrefix":{ + "shape":"IdentityProviderUserIdPrefix", + "documentation":"

            Filters only users with the ID from the IAM Identity Center.

            " } }, "documentation":"

            Filtering options for ListUsers operation. This is only used as input to Operation.

            " @@ -4811,7 +5228,8 @@ "NewResourceDescription":{ "type":"string", "max":64, - "min":0 + "min":0, + "sensitive":true }, "NextToken":{ "type":"string", @@ -4927,6 +5345,96 @@ "type":"list", "member":{"shape":"Permission"} }, + "PersonalAccessTokenConfiguration":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{ + "shape":"PersonalAccessTokenConfigurationStatus", + "documentation":"

            The status of the Personal Access Token allowed for the organization.

            • Active - Mailbox users can login to the web application and choose Settings to see the new Personal Access Tokens page to create and delete the Personal Access Tokens. Mailbox users can use the Personal Access Tokens to set up mailbox connection from desktop or mobile email clients.

            • Inactive - Personal Access Tokens are disabled for your organization. Mailbox users can’t create, list, or delete Personal Access Tokens and can’t use them to connect to their mailboxes from desktop or mobile email clients.

            " + }, + "LifetimeInDays":{ + "shape":"PersonalAccessTokenLifetimeInDays", + "documentation":"

            The validity of the Personal Access Token status in days.

            " + } + }, + "documentation":"

            Displays the Personal Access Token status.

            " + }, + "PersonalAccessTokenConfigurationStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE" + ] + }, + "PersonalAccessTokenId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "PersonalAccessTokenLifetimeInDays":{ + "type":"integer", + "box":true, + "max":3653, + "min":1 + }, + "PersonalAccessTokenName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[^\\x00-\\x1F\\x7F\\x3C\\x3E\\x5C]+" + }, + "PersonalAccessTokenScope":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[^\\x00-\\x1F\\x7F\\x3C\\x3E\\x5C]+" + }, + "PersonalAccessTokenScopeList":{ + "type":"list", + "member":{"shape":"PersonalAccessTokenScope"}, + "max":10, + "min":1 + }, + "PersonalAccessTokenSummary":{ + "type":"structure", + "members":{ + "PersonalAccessTokenId":{ + "shape":"PersonalAccessTokenId", + "documentation":"

            The ID of the Personal Access Token.

            " + }, + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

            The user ID of the WorkMail user associated with the Personal Access Token.

            " + }, + "Name":{ + "shape":"PersonalAccessTokenName", + "documentation":"

            The name of the Personal Access Token.

            " + }, + "DateCreated":{ + "shape":"Timestamp", + "documentation":"

            The date when the Personal Access Token was created.

            " + }, + "DateLastUsed":{ + "shape":"Timestamp", + "documentation":"

            The date when the Personal Access Token was last used.

            " + }, + "ExpiresTime":{ + "shape":"Timestamp", + "documentation":"

            The date when the Personal Access Token will expire.

            " + }, + "Scopes":{ + "shape":"PersonalAccessTokenScopeList", + "documentation":"

            Lists all the Personal Access Token permissions for a mailbox.

            " + } + }, + "documentation":"

            The summary of the Personal Access Token.

            " + }, + "PersonalAccessTokenSummaryList":{ + "type":"list", + "member":{"shape":"PersonalAccessTokenSummary"} + }, "PolicyDescription":{ "type":"string", "max":256, @@ -5024,6 +5532,38 @@ "members":{ } }, + "PutIdentityProviderConfigurationRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "AuthenticationMode", + "IdentityCenterConfiguration", + "PersonalAccessTokenConfiguration" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

            The ID of the WorkMail Organization.

            " + }, + "AuthenticationMode":{ + "shape":"IdentityProviderAuthenticationMode", + "documentation":"

            The authentication mode used in WorkMail.

            " + }, + "IdentityCenterConfiguration":{ + "shape":"IdentityCenterConfiguration", + "documentation":"

            The details of the IAM Identity Center configuration.

            " + }, + "PersonalAccessTokenConfiguration":{ + "shape":"PersonalAccessTokenConfiguration", + "documentation":"

            The details of the Personal Access Token configuration.

            " + } + } + }, + "PutIdentityProviderConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "PutInboundDmarcSettingsRequest":{ "type":"structure", "required":[ @@ -5297,7 +5837,8 @@ "ResourceDescription":{ "type":"string", "max":64, - "min":1 + "min":1, + "sensitive":true }, "ResourceId":{ "type":"string", @@ -5908,7 +6449,7 @@ }, "ZipCode":{ "shape":"UserAttribute", - "documentation":"

            Updates the user's zipcode.

            " + "documentation":"

            Updates the user's zip code.

            " }, "Department":{ "shape":"UserAttribute", @@ -5921,6 +6462,10 @@ "Office":{ "shape":"UserAttribute", "documentation":"

            Updates the user's office.

            " + }, + "IdentityProviderUserId":{ + "shape":"IdentityProviderUserIdForUpdate", + "documentation":"

            User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

            " } } }, @@ -5968,6 +6513,14 @@ "DisabledDate":{ "shape":"Timestamp", "documentation":"

            The date indicating when the user was disabled from WorkMail use.

            " + }, + "IdentityProviderUserId":{ + "shape":"IdentityProviderUserId", + "documentation":"

            User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

            " + }, + "IdentityProviderIdentityStoreId":{ + "shape":"IdentityProviderIdentityStoreId", + "documentation":"

            Identity store ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

            " } }, "documentation":"

            The representation of an WorkMail user.

            " diff --git a/tools/code-generation/endpoints/geo-maps-2020-11-19.endpoint-rule-set.json b/tools/code-generation/endpoints/geo-maps-2020-11-19.endpoint-rule-set.json new file mode 100644 index 00000000000..f5ada188357 --- /dev/null +++ b/tools/code-generation/endpoints/geo-maps-2020-11-19.endpoint-rule-set.json @@ -0,0 +1,688 @@ +{ + "version": "1.0", + "parameters": { + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://maps.geo.{Region}.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://maps.geo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://maps.geo-fips.{Region}.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://maps.geo.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://maps.geo.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://maps.geo-fips.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://maps.geo-fips.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://maps.geo.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://geo-maps-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://geo-maps-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://geo-maps.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://geo-maps.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/geo-maps-2020-11-19.endpoint-tests.json b/tools/code-generation/endpoints/geo-maps-2020-11-19.endpoint-tests.json new file mode 100644 index 00000000000..3caf56f6935 --- /dev/null +++ b/tools/code-generation/endpoints/geo-maps-2020-11-19.endpoint-tests.json @@ -0,0 +1,392 @@ +{ + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://maps.geo-fips.us-east-1.api.aws/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://maps.geo-fips.us-east-1.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://maps.geo.us-east-1.api.aws/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://maps.geo.us-east-1.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://geo-maps-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-maps-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://geo-maps.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-maps.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://maps.geo-fips.us-gov-west-1.us-gov.api.aws/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://maps.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://maps.geo.us-gov-west-1.us-gov.api.aws/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://maps.geo.us-gov-west-1.us-gov.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-maps-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-maps.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-maps-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-maps.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-maps-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-maps.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-maps-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-maps.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-rule-set.json b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-rule-set.json new file mode 100644 index 00000000000..d4ff8f54a26 --- /dev/null +++ b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-rule-set.json @@ -0,0 +1,688 @@ +{ + "version": "1.0", + "parameters": { + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://places.geo.{Region}.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://places.geo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://places.geo-fips.{Region}.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://places.geo.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://places.geo.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://places.geo-fips.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://places.geo-fips.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://places.geo.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://geo-places-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://geo-places-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://geo-places.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://geo-places.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-tests.json b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-tests.json new file mode 100644 index 00000000000..7203f138617 --- /dev/null +++ b/tools/code-generation/endpoints/geo-places-2020-11-19.endpoint-tests.json @@ -0,0 +1,392 @@ +{ + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://places.geo-fips.us-east-1.api.aws/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://places.geo-fips.us-east-1.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://places.geo.us-east-1.api.aws/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://places.geo.us-east-1.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://geo-places-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-places-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://geo-places.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-places.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://places.geo-fips.us-gov-west-1.us-gov.api.aws/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://places.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://places.geo.us-gov-west-1.us-gov.api.aws/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://places.geo.us-gov-west-1.us-gov.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-places-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-places.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-places-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-places.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-places-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-places.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-places-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-places.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/geo-routes-2020-11-19.endpoint-rule-set.json b/tools/code-generation/endpoints/geo-routes-2020-11-19.endpoint-rule-set.json new file mode 100644 index 00000000000..caebb42f6e2 --- /dev/null +++ b/tools/code-generation/endpoints/geo-routes-2020-11-19.endpoint-rule-set.json @@ -0,0 +1,688 @@ +{ + "version": "1.0", + "parameters": { + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://routes.geo.{Region}.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://routes.geo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://routes.geo-fips.{Region}.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://routes.geo.{Region}.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://routes.geo.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://routes.geo-fips.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://routes.geo-fips.{Region}.us-gov.{PartitionResult#dnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://routes.geo.{Region}.us-gov.{PartitionResult#dualStackDnsSuffix}/v2", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://geo-routes-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://geo-routes-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://geo-routes.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://geo-routes.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/geo-routes-2020-11-19.endpoint-tests.json b/tools/code-generation/endpoints/geo-routes-2020-11-19.endpoint-tests.json new file mode 100644 index 00000000000..93433688087 --- /dev/null +++ b/tools/code-generation/endpoints/geo-routes-2020-11-19.endpoint-tests.json @@ -0,0 +1,392 @@ +{ + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://routes.geo-fips.us-east-1.api.aws/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://routes.geo-fips.us-east-1.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://routes.geo.us-east-1.api.aws/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://routes.geo.us-east-1.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://geo-routes-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-routes-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://geo-routes.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-routes.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://routes.geo-fips.us-gov-west-1.us-gov.api.aws/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://routes.geo-fips.us-gov-west-1.us-gov.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://routes.geo.us-gov-west-1.us-gov.api.aws/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://routes.geo.us-gov-west-1.us-gov.amazonaws.com/v2" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-routes-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-routes.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-routes-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-routes.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-routes-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-routes.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-routes-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://geo-routes.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tools/code-generation/endpoints/workmail-2017-10-01.endpoint-rule-set.json b/tools/code-generation/endpoints/workmail-2017-10-01.endpoint-rule-set.json index a0b2c379c0d..48b64c9a9ec 100644 --- a/tools/code-generation/endpoints/workmail-2017-10-01.endpoint-rule-set.json +++ b/tools/code-generation/endpoints/workmail-2017-10-01.endpoint-rule-set.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [],