/** * 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 AppConfig { namespace Model { class StartDeploymentResult { public: AWS_APPCONFIG_API StartDeploymentResult(); AWS_APPCONFIG_API StartDeploymentResult(const Aws::AmazonWebServiceResult& result); AWS_APPCONFIG_API StartDeploymentResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ID of the application that was deployed.

*/ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } /** *

The ID of the application that was deployed.

*/ inline void SetApplicationId(const Aws::String& value) { m_applicationId = value; } /** *

The ID of the application that was deployed.

*/ inline void SetApplicationId(Aws::String&& value) { m_applicationId = std::move(value); } /** *

The ID of the application that was deployed.

*/ inline void SetApplicationId(const char* value) { m_applicationId.assign(value); } /** *

The ID of the application that was deployed.

*/ inline StartDeploymentResult& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} /** *

The ID of the application that was deployed.

*/ inline StartDeploymentResult& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} /** *

The ID of the application that was deployed.

*/ inline StartDeploymentResult& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} /** *

The ID of the environment that was deployed.

*/ inline const Aws::String& GetEnvironmentId() const{ return m_environmentId; } /** *

The ID of the environment that was deployed.

*/ inline void SetEnvironmentId(const Aws::String& value) { m_environmentId = value; } /** *

The ID of the environment that was deployed.

*/ inline void SetEnvironmentId(Aws::String&& value) { m_environmentId = std::move(value); } /** *

The ID of the environment that was deployed.

*/ inline void SetEnvironmentId(const char* value) { m_environmentId.assign(value); } /** *

The ID of the environment that was deployed.

*/ inline StartDeploymentResult& WithEnvironmentId(const Aws::String& value) { SetEnvironmentId(value); return *this;} /** *

The ID of the environment that was deployed.

*/ inline StartDeploymentResult& WithEnvironmentId(Aws::String&& value) { SetEnvironmentId(std::move(value)); return *this;} /** *

The ID of the environment that was deployed.

*/ inline StartDeploymentResult& WithEnvironmentId(const char* value) { SetEnvironmentId(value); return *this;} /** *

The ID of the deployment strategy that was deployed.

*/ inline const Aws::String& GetDeploymentStrategyId() const{ return m_deploymentStrategyId; } /** *

The ID of the deployment strategy that was deployed.

*/ inline void SetDeploymentStrategyId(const Aws::String& value) { m_deploymentStrategyId = value; } /** *

The ID of the deployment strategy that was deployed.

*/ inline void SetDeploymentStrategyId(Aws::String&& value) { m_deploymentStrategyId = std::move(value); } /** *

The ID of the deployment strategy that was deployed.

*/ inline void SetDeploymentStrategyId(const char* value) { m_deploymentStrategyId.assign(value); } /** *

The ID of the deployment strategy that was deployed.

*/ inline StartDeploymentResult& WithDeploymentStrategyId(const Aws::String& value) { SetDeploymentStrategyId(value); return *this;} /** *

The ID of the deployment strategy that was deployed.

*/ inline StartDeploymentResult& WithDeploymentStrategyId(Aws::String&& value) { SetDeploymentStrategyId(std::move(value)); return *this;} /** *

The ID of the deployment strategy that was deployed.

*/ inline StartDeploymentResult& WithDeploymentStrategyId(const char* value) { SetDeploymentStrategyId(value); return *this;} /** *

The ID of the configuration profile that was deployed.

*/ inline const Aws::String& GetConfigurationProfileId() const{ return m_configurationProfileId; } /** *

The ID of the configuration profile that was deployed.

*/ inline void SetConfigurationProfileId(const Aws::String& value) { m_configurationProfileId = value; } /** *

The ID of the configuration profile that was deployed.

*/ inline void SetConfigurationProfileId(Aws::String&& value) { m_configurationProfileId = std::move(value); } /** *

The ID of the configuration profile that was deployed.

*/ inline void SetConfigurationProfileId(const char* value) { m_configurationProfileId.assign(value); } /** *

The ID of the configuration profile that was deployed.

*/ inline StartDeploymentResult& WithConfigurationProfileId(const Aws::String& value) { SetConfigurationProfileId(value); return *this;} /** *

The ID of the configuration profile that was deployed.

*/ inline StartDeploymentResult& WithConfigurationProfileId(Aws::String&& value) { SetConfigurationProfileId(std::move(value)); return *this;} /** *

The ID of the configuration profile that was deployed.

*/ inline StartDeploymentResult& WithConfigurationProfileId(const char* value) { SetConfigurationProfileId(value); return *this;} /** *

The sequence number of the deployment.

*/ inline int GetDeploymentNumber() const{ return m_deploymentNumber; } /** *

The sequence number of the deployment.

*/ inline void SetDeploymentNumber(int value) { m_deploymentNumber = value; } /** *

The sequence number of the deployment.

*/ inline StartDeploymentResult& WithDeploymentNumber(int value) { SetDeploymentNumber(value); return *this;} /** *

The name of the configuration.

*/ inline const Aws::String& GetConfigurationName() const{ return m_configurationName; } /** *

The name of the configuration.

*/ inline void SetConfigurationName(const Aws::String& value) { m_configurationName = value; } /** *

The name of the configuration.

*/ inline void SetConfigurationName(Aws::String&& value) { m_configurationName = std::move(value); } /** *

The name of the configuration.

*/ inline void SetConfigurationName(const char* value) { m_configurationName.assign(value); } /** *

The name of the configuration.

*/ inline StartDeploymentResult& WithConfigurationName(const Aws::String& value) { SetConfigurationName(value); return *this;} /** *

The name of the configuration.

*/ inline StartDeploymentResult& WithConfigurationName(Aws::String&& value) { SetConfigurationName(std::move(value)); return *this;} /** *

The name of the configuration.

*/ inline StartDeploymentResult& WithConfigurationName(const char* value) { SetConfigurationName(value); return *this;} /** *

Information about the source location of the configuration.

*/ inline const Aws::String& GetConfigurationLocationUri() const{ return m_configurationLocationUri; } /** *

Information about the source location of the configuration.

*/ inline void SetConfigurationLocationUri(const Aws::String& value) { m_configurationLocationUri = value; } /** *

Information about the source location of the configuration.

*/ inline void SetConfigurationLocationUri(Aws::String&& value) { m_configurationLocationUri = std::move(value); } /** *

Information about the source location of the configuration.

*/ inline void SetConfigurationLocationUri(const char* value) { m_configurationLocationUri.assign(value); } /** *

Information about the source location of the configuration.

*/ inline StartDeploymentResult& WithConfigurationLocationUri(const Aws::String& value) { SetConfigurationLocationUri(value); return *this;} /** *

Information about the source location of the configuration.

*/ inline StartDeploymentResult& WithConfigurationLocationUri(Aws::String&& value) { SetConfigurationLocationUri(std::move(value)); return *this;} /** *

Information about the source location of the configuration.

*/ inline StartDeploymentResult& WithConfigurationLocationUri(const char* value) { SetConfigurationLocationUri(value); return *this;} /** *

The configuration version that was deployed.

*/ inline const Aws::String& GetConfigurationVersion() const{ return m_configurationVersion; } /** *

The configuration version that was deployed.

*/ inline void SetConfigurationVersion(const Aws::String& value) { m_configurationVersion = value; } /** *

The configuration version that was deployed.

*/ inline void SetConfigurationVersion(Aws::String&& value) { m_configurationVersion = std::move(value); } /** *

The configuration version that was deployed.

*/ inline void SetConfigurationVersion(const char* value) { m_configurationVersion.assign(value); } /** *

The configuration version that was deployed.

*/ inline StartDeploymentResult& WithConfigurationVersion(const Aws::String& value) { SetConfigurationVersion(value); return *this;} /** *

The configuration version that was deployed.

*/ inline StartDeploymentResult& WithConfigurationVersion(Aws::String&& value) { SetConfigurationVersion(std::move(value)); return *this;} /** *

The configuration version that was deployed.

*/ inline StartDeploymentResult& WithConfigurationVersion(const char* value) { SetConfigurationVersion(value); return *this;} /** *

The description of the deployment.

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

The description of the deployment.

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

The description of the deployment.

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

The description of the deployment.

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

The description of the deployment.

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

The description of the deployment.

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

The description of the deployment.

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

Total amount of time the deployment lasted.

*/ inline int GetDeploymentDurationInMinutes() const{ return m_deploymentDurationInMinutes; } /** *

Total amount of time the deployment lasted.

*/ inline void SetDeploymentDurationInMinutes(int value) { m_deploymentDurationInMinutes = value; } /** *

Total amount of time the deployment lasted.

*/ inline StartDeploymentResult& WithDeploymentDurationInMinutes(int value) { SetDeploymentDurationInMinutes(value); return *this;} /** *

The algorithm used to define how percentage grew over time.

*/ inline const GrowthType& GetGrowthType() const{ return m_growthType; } /** *

The algorithm used to define how percentage grew over time.

*/ inline void SetGrowthType(const GrowthType& value) { m_growthType = value; } /** *

The algorithm used to define how percentage grew over time.

*/ inline void SetGrowthType(GrowthType&& value) { m_growthType = std::move(value); } /** *

The algorithm used to define how percentage grew over time.

*/ inline StartDeploymentResult& WithGrowthType(const GrowthType& value) { SetGrowthType(value); return *this;} /** *

The algorithm used to define how percentage grew over time.

*/ inline StartDeploymentResult& WithGrowthType(GrowthType&& value) { SetGrowthType(std::move(value)); return *this;} /** *

The percentage of targets to receive a deployed configuration during each * interval.

*/ inline double GetGrowthFactor() const{ return m_growthFactor; } /** *

The percentage of targets to receive a deployed configuration during each * interval.

*/ inline void SetGrowthFactor(double value) { m_growthFactor = value; } /** *

The percentage of targets to receive a deployed configuration during each * interval.

*/ inline StartDeploymentResult& WithGrowthFactor(double value) { SetGrowthFactor(value); return *this;} /** *

The amount of time that AppConfig monitored for alarms before considering the * deployment to be complete and no longer eligible for automatic rollback.

*/ inline int GetFinalBakeTimeInMinutes() const{ return m_finalBakeTimeInMinutes; } /** *

The amount of time that AppConfig monitored for alarms before considering the * deployment to be complete and no longer eligible for automatic rollback.

*/ inline void SetFinalBakeTimeInMinutes(int value) { m_finalBakeTimeInMinutes = value; } /** *

The amount of time that AppConfig monitored for alarms before considering the * deployment to be complete and no longer eligible for automatic rollback.

*/ inline StartDeploymentResult& WithFinalBakeTimeInMinutes(int value) { SetFinalBakeTimeInMinutes(value); return *this;} /** *

The state of the deployment.

*/ inline const DeploymentState& GetState() const{ return m_state; } /** *

The state of the deployment.

*/ inline void SetState(const DeploymentState& value) { m_state = value; } /** *

The state of the deployment.

*/ inline void SetState(DeploymentState&& value) { m_state = std::move(value); } /** *

The state of the deployment.

*/ inline StartDeploymentResult& WithState(const DeploymentState& value) { SetState(value); return *this;} /** *

The state of the deployment.

*/ inline StartDeploymentResult& WithState(DeploymentState&& value) { SetState(std::move(value)); return *this;} /** *

A list containing all events related to a deployment. The most recent events * are displayed first.

*/ inline const Aws::Vector& GetEventLog() const{ return m_eventLog; } /** *

A list containing all events related to a deployment. The most recent events * are displayed first.

*/ inline void SetEventLog(const Aws::Vector& value) { m_eventLog = value; } /** *

A list containing all events related to a deployment. The most recent events * are displayed first.

*/ inline void SetEventLog(Aws::Vector&& value) { m_eventLog = std::move(value); } /** *

A list containing all events related to a deployment. The most recent events * are displayed first.

*/ inline StartDeploymentResult& WithEventLog(const Aws::Vector& value) { SetEventLog(value); return *this;} /** *

A list containing all events related to a deployment. The most recent events * are displayed first.

*/ inline StartDeploymentResult& WithEventLog(Aws::Vector&& value) { SetEventLog(std::move(value)); return *this;} /** *

A list containing all events related to a deployment. The most recent events * are displayed first.

*/ inline StartDeploymentResult& AddEventLog(const DeploymentEvent& value) { m_eventLog.push_back(value); return *this; } /** *

A list containing all events related to a deployment. The most recent events * are displayed first.

*/ inline StartDeploymentResult& AddEventLog(DeploymentEvent&& value) { m_eventLog.push_back(std::move(value)); return *this; } /** *

The percentage of targets for which the deployment is available.

*/ inline double GetPercentageComplete() const{ return m_percentageComplete; } /** *

The percentage of targets for which the deployment is available.

*/ inline void SetPercentageComplete(double value) { m_percentageComplete = value; } /** *

The percentage of targets for which the deployment is available.

*/ inline StartDeploymentResult& WithPercentageComplete(double value) { SetPercentageComplete(value); return *this;} /** *

The time the deployment started.

*/ inline const Aws::Utils::DateTime& GetStartedAt() const{ return m_startedAt; } /** *

The time the deployment started.

*/ inline void SetStartedAt(const Aws::Utils::DateTime& value) { m_startedAt = value; } /** *

The time the deployment started.

*/ inline void SetStartedAt(Aws::Utils::DateTime&& value) { m_startedAt = std::move(value); } /** *

The time the deployment started.

*/ inline StartDeploymentResult& WithStartedAt(const Aws::Utils::DateTime& value) { SetStartedAt(value); return *this;} /** *

The time the deployment started.

*/ inline StartDeploymentResult& WithStartedAt(Aws::Utils::DateTime&& value) { SetStartedAt(std::move(value)); return *this;} /** *

The time the deployment completed.

*/ inline const Aws::Utils::DateTime& GetCompletedAt() const{ return m_completedAt; } /** *

The time the deployment completed.

*/ inline void SetCompletedAt(const Aws::Utils::DateTime& value) { m_completedAt = value; } /** *

The time the deployment completed.

*/ inline void SetCompletedAt(Aws::Utils::DateTime&& value) { m_completedAt = std::move(value); } /** *

The time the deployment completed.

*/ inline StartDeploymentResult& WithCompletedAt(const Aws::Utils::DateTime& value) { SetCompletedAt(value); return *this;} /** *

The time the deployment completed.

*/ inline StartDeploymentResult& WithCompletedAt(Aws::Utils::DateTime&& value) { SetCompletedAt(std::move(value)); return *this;} /** *

A list of extensions that were processed as part of the deployment. The * extensions that were previously associated to the configuration profile, * environment, or the application when StartDeployment was * called.

*/ inline const Aws::Vector& GetAppliedExtensions() const{ return m_appliedExtensions; } /** *

A list of extensions that were processed as part of the deployment. The * extensions that were previously associated to the configuration profile, * environment, or the application when StartDeployment was * called.

*/ inline void SetAppliedExtensions(const Aws::Vector& value) { m_appliedExtensions = value; } /** *

A list of extensions that were processed as part of the deployment. The * extensions that were previously associated to the configuration profile, * environment, or the application when StartDeployment was * called.

*/ inline void SetAppliedExtensions(Aws::Vector&& value) { m_appliedExtensions = std::move(value); } /** *

A list of extensions that were processed as part of the deployment. The * extensions that were previously associated to the configuration profile, * environment, or the application when StartDeployment was * called.

*/ inline StartDeploymentResult& WithAppliedExtensions(const Aws::Vector& value) { SetAppliedExtensions(value); return *this;} /** *

A list of extensions that were processed as part of the deployment. The * extensions that were previously associated to the configuration profile, * environment, or the application when StartDeployment was * called.

*/ inline StartDeploymentResult& WithAppliedExtensions(Aws::Vector&& value) { SetAppliedExtensions(std::move(value)); return *this;} /** *

A list of extensions that were processed as part of the deployment. The * extensions that were previously associated to the configuration profile, * environment, or the application when StartDeployment was * called.

*/ inline StartDeploymentResult& AddAppliedExtensions(const AppliedExtension& value) { m_appliedExtensions.push_back(value); return *this; } /** *

A list of extensions that were processed as part of the deployment. The * extensions that were previously associated to the configuration profile, * environment, or the application when StartDeployment was * called.

*/ inline StartDeploymentResult& AddAppliedExtensions(AppliedExtension&& value) { m_appliedExtensions.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Name of the Key Management Service key used to encrypt * configuration data. You can encrypt secrets stored in Secrets Manager, Amazon * Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure * string parameters stored in Amazon Web Services Systems Manager Parameter Store. *

*/ inline const Aws::String& GetKmsKeyArn() const{ return m_kmsKeyArn; } /** *

The Amazon Resource Name of the Key Management Service key used to encrypt * configuration data. You can encrypt secrets stored in Secrets Manager, Amazon * Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure * string parameters stored in Amazon Web Services Systems Manager Parameter Store. *

*/ inline void SetKmsKeyArn(const Aws::String& value) { m_kmsKeyArn = value; } /** *

The Amazon Resource Name of the Key Management Service key used to encrypt * configuration data. You can encrypt secrets stored in Secrets Manager, Amazon * Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure * string parameters stored in Amazon Web Services Systems Manager Parameter Store. *

*/ inline void SetKmsKeyArn(Aws::String&& value) { m_kmsKeyArn = std::move(value); } /** *

The Amazon Resource Name of the Key Management Service key used to encrypt * configuration data. You can encrypt secrets stored in Secrets Manager, Amazon * Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure * string parameters stored in Amazon Web Services Systems Manager Parameter Store. *

*/ inline void SetKmsKeyArn(const char* value) { m_kmsKeyArn.assign(value); } /** *

The Amazon Resource Name of the Key Management Service key used to encrypt * configuration data. You can encrypt secrets stored in Secrets Manager, Amazon * Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure * string parameters stored in Amazon Web Services Systems Manager Parameter Store. *

*/ inline StartDeploymentResult& WithKmsKeyArn(const Aws::String& value) { SetKmsKeyArn(value); return *this;} /** *

The Amazon Resource Name of the Key Management Service key used to encrypt * configuration data. You can encrypt secrets stored in Secrets Manager, Amazon * Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure * string parameters stored in Amazon Web Services Systems Manager Parameter Store. *

*/ inline StartDeploymentResult& WithKmsKeyArn(Aws::String&& value) { SetKmsKeyArn(std::move(value)); return *this;} /** *

The Amazon Resource Name of the Key Management Service key used to encrypt * configuration data. You can encrypt secrets stored in Secrets Manager, Amazon * Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure * string parameters stored in Amazon Web Services Systems Manager Parameter Store. *

*/ inline StartDeploymentResult& WithKmsKeyArn(const char* value) { SetKmsKeyArn(value); return *this;} /** *

The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses this * ID to encrypt the configuration data using a customer managed key.

*/ inline const Aws::String& GetKmsKeyIdentifier() const{ return m_kmsKeyIdentifier; } /** *

The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses this * ID to encrypt the configuration data using a customer managed key.

*/ inline void SetKmsKeyIdentifier(const Aws::String& value) { m_kmsKeyIdentifier = value; } /** *

The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses this * ID to encrypt the configuration data using a customer managed key.

*/ inline void SetKmsKeyIdentifier(Aws::String&& value) { m_kmsKeyIdentifier = std::move(value); } /** *

The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses this * ID to encrypt the configuration data using a customer managed key.

*/ inline void SetKmsKeyIdentifier(const char* value) { m_kmsKeyIdentifier.assign(value); } /** *

The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses this * ID to encrypt the configuration data using a customer managed key.

*/ inline StartDeploymentResult& WithKmsKeyIdentifier(const Aws::String& value) { SetKmsKeyIdentifier(value); return *this;} /** *

The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses this * ID to encrypt the configuration data using a customer managed key.

*/ inline StartDeploymentResult& WithKmsKeyIdentifier(Aws::String&& value) { SetKmsKeyIdentifier(std::move(value)); return *this;} /** *

The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses this * ID to encrypt the configuration data using a customer managed key.

*/ inline StartDeploymentResult& WithKmsKeyIdentifier(const char* value) { SetKmsKeyIdentifier(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 StartDeploymentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline StartDeploymentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline StartDeploymentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_applicationId; Aws::String m_environmentId; Aws::String m_deploymentStrategyId; Aws::String m_configurationProfileId; int m_deploymentNumber; Aws::String m_configurationName; Aws::String m_configurationLocationUri; Aws::String m_configurationVersion; Aws::String m_description; int m_deploymentDurationInMinutes; GrowthType m_growthType; double m_growthFactor; int m_finalBakeTimeInMinutes; DeploymentState m_state; Aws::Vector m_eventLog; double m_percentageComplete; Aws::Utils::DateTime m_startedAt; Aws::Utils::DateTime m_completedAt; Aws::Vector m_appliedExtensions; Aws::String m_kmsKeyArn; Aws::String m_kmsKeyIdentifier; Aws::String m_requestId; }; } // namespace Model } // namespace AppConfig } // namespace Aws