/** * 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 APIGateway { namespace Model { /** *

Requests API Gateway to create a Deployment resource.

See * Also:

AWS * API Reference

*/ class CreateDeploymentRequest : public APIGatewayRequest { public: AWS_APIGATEWAY_API CreateDeploymentRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateDeployment"; } AWS_APIGATEWAY_API Aws::String SerializePayload() const override; /** *

The string identifier of the associated RestApi.

*/ inline const Aws::String& GetRestApiId() const{ return m_restApiId; } /** *

The string identifier of the associated RestApi.

*/ inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; } /** *

The string identifier of the associated RestApi.

*/ inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; } /** *

The string identifier of the associated RestApi.

*/ inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); } /** *

The string identifier of the associated RestApi.

*/ inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); } /** *

The string identifier of the associated RestApi.

*/ inline CreateDeploymentRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;} /** *

The string identifier of the associated RestApi.

*/ inline CreateDeploymentRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;} /** *

The string identifier of the associated RestApi.

*/ inline CreateDeploymentRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;} /** *

The name of the Stage resource for the Deployment resource to create.

*/ inline const Aws::String& GetStageName() const{ return m_stageName; } /** *

The name of the Stage resource for the Deployment resource to create.

*/ inline bool StageNameHasBeenSet() const { return m_stageNameHasBeenSet; } /** *

The name of the Stage resource for the Deployment resource to create.

*/ inline void SetStageName(const Aws::String& value) { m_stageNameHasBeenSet = true; m_stageName = value; } /** *

The name of the Stage resource for the Deployment resource to create.

*/ inline void SetStageName(Aws::String&& value) { m_stageNameHasBeenSet = true; m_stageName = std::move(value); } /** *

The name of the Stage resource for the Deployment resource to create.

*/ inline void SetStageName(const char* value) { m_stageNameHasBeenSet = true; m_stageName.assign(value); } /** *

The name of the Stage resource for the Deployment resource to create.

*/ inline CreateDeploymentRequest& WithStageName(const Aws::String& value) { SetStageName(value); return *this;} /** *

The name of the Stage resource for the Deployment resource to create.

*/ inline CreateDeploymentRequest& WithStageName(Aws::String&& value) { SetStageName(std::move(value)); return *this;} /** *

The name of the Stage resource for the Deployment resource to create.

*/ inline CreateDeploymentRequest& WithStageName(const char* value) { SetStageName(value); return *this;} /** *

The description of the Stage resource for the Deployment resource to * create.

*/ inline const Aws::String& GetStageDescription() const{ return m_stageDescription; } /** *

The description of the Stage resource for the Deployment resource to * create.

*/ inline bool StageDescriptionHasBeenSet() const { return m_stageDescriptionHasBeenSet; } /** *

The description of the Stage resource for the Deployment resource to * create.

*/ inline void SetStageDescription(const Aws::String& value) { m_stageDescriptionHasBeenSet = true; m_stageDescription = value; } /** *

The description of the Stage resource for the Deployment resource to * create.

*/ inline void SetStageDescription(Aws::String&& value) { m_stageDescriptionHasBeenSet = true; m_stageDescription = std::move(value); } /** *

The description of the Stage resource for the Deployment resource to * create.

*/ inline void SetStageDescription(const char* value) { m_stageDescriptionHasBeenSet = true; m_stageDescription.assign(value); } /** *

The description of the Stage resource for the Deployment resource to * create.

*/ inline CreateDeploymentRequest& WithStageDescription(const Aws::String& value) { SetStageDescription(value); return *this;} /** *

The description of the Stage resource for the Deployment resource to * create.

*/ inline CreateDeploymentRequest& WithStageDescription(Aws::String&& value) { SetStageDescription(std::move(value)); return *this;} /** *

The description of the Stage resource for the Deployment resource to * create.

*/ inline CreateDeploymentRequest& WithStageDescription(const char* value) { SetStageDescription(value); return *this;} /** *

The description for the Deployment resource to create.

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

The description for the Deployment resource to create.

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

The description for the Deployment resource to create.

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

The description for the Deployment resource to create.

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

The description for the Deployment resource to create.

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

The description for the Deployment resource to create.

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

The description for the Deployment resource to create.

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

The description for the Deployment resource to create.

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

Enables a cache cluster for the Stage resource specified in the input.

*/ inline bool GetCacheClusterEnabled() const{ return m_cacheClusterEnabled; } /** *

Enables a cache cluster for the Stage resource specified in the input.

*/ inline bool CacheClusterEnabledHasBeenSet() const { return m_cacheClusterEnabledHasBeenSet; } /** *

Enables a cache cluster for the Stage resource specified in the input.

*/ inline void SetCacheClusterEnabled(bool value) { m_cacheClusterEnabledHasBeenSet = true; m_cacheClusterEnabled = value; } /** *

Enables a cache cluster for the Stage resource specified in the input.

*/ inline CreateDeploymentRequest& WithCacheClusterEnabled(bool value) { SetCacheClusterEnabled(value); return *this;} /** *

The stage's cache capacity in GB. For more information about choosing a cache * size, see Enabling * API caching to enhance responsiveness.

*/ inline const CacheClusterSize& GetCacheClusterSize() const{ return m_cacheClusterSize; } /** *

The stage's cache capacity in GB. For more information about choosing a cache * size, see Enabling * API caching to enhance responsiveness.

*/ inline bool CacheClusterSizeHasBeenSet() const { return m_cacheClusterSizeHasBeenSet; } /** *

The stage's cache capacity in GB. For more information about choosing a cache * size, see Enabling * API caching to enhance responsiveness.

*/ inline void SetCacheClusterSize(const CacheClusterSize& value) { m_cacheClusterSizeHasBeenSet = true; m_cacheClusterSize = value; } /** *

The stage's cache capacity in GB. For more information about choosing a cache * size, see Enabling * API caching to enhance responsiveness.

*/ inline void SetCacheClusterSize(CacheClusterSize&& value) { m_cacheClusterSizeHasBeenSet = true; m_cacheClusterSize = std::move(value); } /** *

The stage's cache capacity in GB. For more information about choosing a cache * size, see Enabling * API caching to enhance responsiveness.

*/ inline CreateDeploymentRequest& WithCacheClusterSize(const CacheClusterSize& value) { SetCacheClusterSize(value); return *this;} /** *

The stage's cache capacity in GB. For more information about choosing a cache * size, see Enabling * API caching to enhance responsiveness.

*/ inline CreateDeploymentRequest& WithCacheClusterSize(CacheClusterSize&& value) { SetCacheClusterSize(std::move(value)); return *this;} /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline const Aws::Map& GetVariables() const{ return m_variables; } /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline bool VariablesHasBeenSet() const { return m_variablesHasBeenSet; } /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline void SetVariables(const Aws::Map& value) { m_variablesHasBeenSet = true; m_variables = value; } /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline void SetVariables(Aws::Map&& value) { m_variablesHasBeenSet = true; m_variables = std::move(value); } /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline CreateDeploymentRequest& WithVariables(const Aws::Map& value) { SetVariables(value); return *this;} /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline CreateDeploymentRequest& WithVariables(Aws::Map&& value) { SetVariables(std::move(value)); return *this;} /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline CreateDeploymentRequest& AddVariables(const Aws::String& key, const Aws::String& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, value); return *this; } /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline CreateDeploymentRequest& AddVariables(Aws::String&& key, const Aws::String& value) { m_variablesHasBeenSet = true; m_variables.emplace(std::move(key), value); return *this; } /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline CreateDeploymentRequest& AddVariables(const Aws::String& key, Aws::String&& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, std::move(value)); return *this; } /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline CreateDeploymentRequest& AddVariables(Aws::String&& key, Aws::String&& value) { m_variablesHasBeenSet = true; m_variables.emplace(std::move(key), std::move(value)); return *this; } /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline CreateDeploymentRequest& AddVariables(const char* key, Aws::String&& value) { m_variablesHasBeenSet = true; m_variables.emplace(key, std::move(value)); return *this; } /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline CreateDeploymentRequest& AddVariables(Aws::String&& key, const char* value) { m_variablesHasBeenSet = true; m_variables.emplace(std::move(key), value); return *this; } /** *

A map that defines the stage variables for the Stage resource that is * associated with the new deployment. Variable names can have alphanumeric and * underscore characters, and the values must match * [A-Za-z0-9-._~:/?#&=,]+.

*/ inline CreateDeploymentRequest& AddVariables(const char* key, const char* value) { m_variablesHasBeenSet = true; m_variables.emplace(key, value); return *this; } /** *

The input configuration for the canary deployment when the deployment is a * canary release deployment.

*/ inline const DeploymentCanarySettings& GetCanarySettings() const{ return m_canarySettings; } /** *

The input configuration for the canary deployment when the deployment is a * canary release deployment.

*/ inline bool CanarySettingsHasBeenSet() const { return m_canarySettingsHasBeenSet; } /** *

The input configuration for the canary deployment when the deployment is a * canary release deployment.

*/ inline void SetCanarySettings(const DeploymentCanarySettings& value) { m_canarySettingsHasBeenSet = true; m_canarySettings = value; } /** *

The input configuration for the canary deployment when the deployment is a * canary release deployment.

*/ inline void SetCanarySettings(DeploymentCanarySettings&& value) { m_canarySettingsHasBeenSet = true; m_canarySettings = std::move(value); } /** *

The input configuration for the canary deployment when the deployment is a * canary release deployment.

*/ inline CreateDeploymentRequest& WithCanarySettings(const DeploymentCanarySettings& value) { SetCanarySettings(value); return *this;} /** *

The input configuration for the canary deployment when the deployment is a * canary release deployment.

*/ inline CreateDeploymentRequest& WithCanarySettings(DeploymentCanarySettings&& value) { SetCanarySettings(std::move(value)); return *this;} /** *

Specifies whether active tracing with X-ray is enabled for the Stage.

*/ inline bool GetTracingEnabled() const{ return m_tracingEnabled; } /** *

Specifies whether active tracing with X-ray is enabled for the Stage.

*/ inline bool TracingEnabledHasBeenSet() const { return m_tracingEnabledHasBeenSet; } /** *

Specifies whether active tracing with X-ray is enabled for the Stage.

*/ inline void SetTracingEnabled(bool value) { m_tracingEnabledHasBeenSet = true; m_tracingEnabled = value; } /** *

Specifies whether active tracing with X-ray is enabled for the Stage.

*/ inline CreateDeploymentRequest& WithTracingEnabled(bool value) { SetTracingEnabled(value); return *this;} private: Aws::String m_restApiId; bool m_restApiIdHasBeenSet = false; Aws::String m_stageName; bool m_stageNameHasBeenSet = false; Aws::String m_stageDescription; bool m_stageDescriptionHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; bool m_cacheClusterEnabled; bool m_cacheClusterEnabledHasBeenSet = false; CacheClusterSize m_cacheClusterSize; bool m_cacheClusterSizeHasBeenSet = false; Aws::Map m_variables; bool m_variablesHasBeenSet = false; DeploymentCanarySettings m_canarySettings; bool m_canarySettingsHasBeenSet = false; bool m_tracingEnabled; bool m_tracingEnabledHasBeenSet = false; }; } // namespace Model } // namespace APIGateway } // namespace Aws