/** * 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 MigrationHubRefactorSpaces { namespace Model { /** */ class CreateServiceRequest : public MigrationHubRefactorSpacesRequest { public: AWS_MIGRATIONHUBREFACTORSPACES_API CreateServiceRequest(); // 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 "CreateService"; } AWS_MIGRATIONHUBREFACTORSPACES_API Aws::String SerializePayload() const override; /** *

The ID of the application which the service is created.

*/ inline const Aws::String& GetApplicationIdentifier() const{ return m_applicationIdentifier; } /** *

The ID of the application which the service is created.

*/ inline bool ApplicationIdentifierHasBeenSet() const { return m_applicationIdentifierHasBeenSet; } /** *

The ID of the application which the service is created.

*/ inline void SetApplicationIdentifier(const Aws::String& value) { m_applicationIdentifierHasBeenSet = true; m_applicationIdentifier = value; } /** *

The ID of the application which the service is created.

*/ inline void SetApplicationIdentifier(Aws::String&& value) { m_applicationIdentifierHasBeenSet = true; m_applicationIdentifier = std::move(value); } /** *

The ID of the application which the service is created.

*/ inline void SetApplicationIdentifier(const char* value) { m_applicationIdentifierHasBeenSet = true; m_applicationIdentifier.assign(value); } /** *

The ID of the application which the service is created.

*/ inline CreateServiceRequest& WithApplicationIdentifier(const Aws::String& value) { SetApplicationIdentifier(value); return *this;} /** *

The ID of the application which the service is created.

*/ inline CreateServiceRequest& WithApplicationIdentifier(Aws::String&& value) { SetApplicationIdentifier(std::move(value)); return *this;} /** *

The ID of the application which the service is created.

*/ inline CreateServiceRequest& WithApplicationIdentifier(const char* value) { SetApplicationIdentifier(value); return *this;} /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request.

*/ inline CreateServiceRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request.

*/ inline CreateServiceRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

A unique, case-sensitive identifier that you provide to ensure the * idempotency of the request.

*/ inline CreateServiceRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

The description of the service.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the service.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the service.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the service.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the service.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the service.

*/ inline CreateServiceRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the service.

*/ inline CreateServiceRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the service.

*/ inline CreateServiceRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The type of endpoint to use for the service. The type can be a URL in a VPC * or an Lambda function.

*/ inline const ServiceEndpointType& GetEndpointType() const{ return m_endpointType; } /** *

The type of endpoint to use for the service. The type can be a URL in a VPC * or an Lambda function.

*/ inline bool EndpointTypeHasBeenSet() const { return m_endpointTypeHasBeenSet; } /** *

The type of endpoint to use for the service. The type can be a URL in a VPC * or an Lambda function.

*/ inline void SetEndpointType(const ServiceEndpointType& value) { m_endpointTypeHasBeenSet = true; m_endpointType = value; } /** *

The type of endpoint to use for the service. The type can be a URL in a VPC * or an Lambda function.

*/ inline void SetEndpointType(ServiceEndpointType&& value) { m_endpointTypeHasBeenSet = true; m_endpointType = std::move(value); } /** *

The type of endpoint to use for the service. The type can be a URL in a VPC * or an Lambda function.

*/ inline CreateServiceRequest& WithEndpointType(const ServiceEndpointType& value) { SetEndpointType(value); return *this;} /** *

The type of endpoint to use for the service. The type can be a URL in a VPC * or an Lambda function.

*/ inline CreateServiceRequest& WithEndpointType(ServiceEndpointType&& value) { SetEndpointType(std::move(value)); return *this;} /** *

The ID of the environment in which the service is created.

*/ inline const Aws::String& GetEnvironmentIdentifier() const{ return m_environmentIdentifier; } /** *

The ID of the environment in which the service is created.

*/ inline bool EnvironmentIdentifierHasBeenSet() const { return m_environmentIdentifierHasBeenSet; } /** *

The ID of the environment in which the service is created.

*/ inline void SetEnvironmentIdentifier(const Aws::String& value) { m_environmentIdentifierHasBeenSet = true; m_environmentIdentifier = value; } /** *

The ID of the environment in which the service is created.

*/ inline void SetEnvironmentIdentifier(Aws::String&& value) { m_environmentIdentifierHasBeenSet = true; m_environmentIdentifier = std::move(value); } /** *

The ID of the environment in which the service is created.

*/ inline void SetEnvironmentIdentifier(const char* value) { m_environmentIdentifierHasBeenSet = true; m_environmentIdentifier.assign(value); } /** *

The ID of the environment in which the service is created.

*/ inline CreateServiceRequest& WithEnvironmentIdentifier(const Aws::String& value) { SetEnvironmentIdentifier(value); return *this;} /** *

The ID of the environment in which the service is created.

*/ inline CreateServiceRequest& WithEnvironmentIdentifier(Aws::String&& value) { SetEnvironmentIdentifier(std::move(value)); return *this;} /** *

The ID of the environment in which the service is created.

*/ inline CreateServiceRequest& WithEnvironmentIdentifier(const char* value) { SetEnvironmentIdentifier(value); return *this;} /** *

The configuration for the Lambda endpoint type.

*/ inline const LambdaEndpointInput& GetLambdaEndpoint() const{ return m_lambdaEndpoint; } /** *

The configuration for the Lambda endpoint type.

*/ inline bool LambdaEndpointHasBeenSet() const { return m_lambdaEndpointHasBeenSet; } /** *

The configuration for the Lambda endpoint type.

*/ inline void SetLambdaEndpoint(const LambdaEndpointInput& value) { m_lambdaEndpointHasBeenSet = true; m_lambdaEndpoint = value; } /** *

The configuration for the Lambda endpoint type.

*/ inline void SetLambdaEndpoint(LambdaEndpointInput&& value) { m_lambdaEndpointHasBeenSet = true; m_lambdaEndpoint = std::move(value); } /** *

The configuration for the Lambda endpoint type.

*/ inline CreateServiceRequest& WithLambdaEndpoint(const LambdaEndpointInput& value) { SetLambdaEndpoint(value); return *this;} /** *

The configuration for the Lambda endpoint type.

*/ inline CreateServiceRequest& WithLambdaEndpoint(LambdaEndpointInput&& value) { SetLambdaEndpoint(std::move(value)); return *this;} /** *

The name of the service.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the service.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the service.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the service.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the service.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the service.

*/ inline CreateServiceRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the service.

*/ inline CreateServiceRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the service.

*/ inline CreateServiceRequest& WithName(const char* value) { SetName(value); return *this;} /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline CreateServiceRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline CreateServiceRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline CreateServiceRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline CreateServiceRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline CreateServiceRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline CreateServiceRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline CreateServiceRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline CreateServiceRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags to assign to the service. A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key-value pair..

*/ inline CreateServiceRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The configuration for the URL endpoint type. When creating a route to a * service, Refactor Spaces automatically resolves the address in the * UrlEndpointInput object URL when the Domain Name System (DNS) * time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60 * seconds.

*/ inline const UrlEndpointInput& GetUrlEndpoint() const{ return m_urlEndpoint; } /** *

The configuration for the URL endpoint type. When creating a route to a * service, Refactor Spaces automatically resolves the address in the * UrlEndpointInput object URL when the Domain Name System (DNS) * time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60 * seconds.

*/ inline bool UrlEndpointHasBeenSet() const { return m_urlEndpointHasBeenSet; } /** *

The configuration for the URL endpoint type. When creating a route to a * service, Refactor Spaces automatically resolves the address in the * UrlEndpointInput object URL when the Domain Name System (DNS) * time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60 * seconds.

*/ inline void SetUrlEndpoint(const UrlEndpointInput& value) { m_urlEndpointHasBeenSet = true; m_urlEndpoint = value; } /** *

The configuration for the URL endpoint type. When creating a route to a * service, Refactor Spaces automatically resolves the address in the * UrlEndpointInput object URL when the Domain Name System (DNS) * time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60 * seconds.

*/ inline void SetUrlEndpoint(UrlEndpointInput&& value) { m_urlEndpointHasBeenSet = true; m_urlEndpoint = std::move(value); } /** *

The configuration for the URL endpoint type. When creating a route to a * service, Refactor Spaces automatically resolves the address in the * UrlEndpointInput object URL when the Domain Name System (DNS) * time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60 * seconds.

*/ inline CreateServiceRequest& WithUrlEndpoint(const UrlEndpointInput& value) { SetUrlEndpoint(value); return *this;} /** *

The configuration for the URL endpoint type. When creating a route to a * service, Refactor Spaces automatically resolves the address in the * UrlEndpointInput object URL when the Domain Name System (DNS) * time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60 * seconds.

*/ inline CreateServiceRequest& WithUrlEndpoint(UrlEndpointInput&& value) { SetUrlEndpoint(std::move(value)); return *this;} /** *

The ID of the VPC.

*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *

The ID of the VPC.

*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *

The ID of the VPC.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *

The ID of the VPC.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *

The ID of the VPC.

*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *

The ID of the VPC.

*/ inline CreateServiceRequest& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

The ID of the VPC.

*/ inline CreateServiceRequest& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

The ID of the VPC.

*/ inline CreateServiceRequest& WithVpcId(const char* value) { SetVpcId(value); return *this;} private: Aws::String m_applicationIdentifier; bool m_applicationIdentifierHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; ServiceEndpointType m_endpointType; bool m_endpointTypeHasBeenSet = false; Aws::String m_environmentIdentifier; bool m_environmentIdentifierHasBeenSet = false; LambdaEndpointInput m_lambdaEndpoint; bool m_lambdaEndpointHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; UrlEndpointInput m_urlEndpoint; bool m_urlEndpointHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubRefactorSpaces } // namespace Aws