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

The ARN * of the target IoT thing or thing group.

*/ inline const Aws::String& GetTargetArn() const{ return m_targetArn; } /** *

The ARN * of the target IoT thing or thing group.

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

The ARN * of the target IoT thing or thing group.

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

The ARN * of the target IoT thing or thing group.

*/ inline void SetTargetArn(const char* value) { m_targetArn.assign(value); } /** *

The ARN * of the target IoT thing or thing group.

*/ inline GetDeploymentResult& WithTargetArn(const Aws::String& value) { SetTargetArn(value); return *this;} /** *

The ARN * of the target IoT thing or thing group.

*/ inline GetDeploymentResult& WithTargetArn(Aws::String&& value) { SetTargetArn(std::move(value)); return *this;} /** *

The ARN * of the target IoT thing or thing group.

*/ inline GetDeploymentResult& WithTargetArn(const char* value) { SetTargetArn(value); return *this;} /** *

The revision number of the deployment.

*/ inline const Aws::String& GetRevisionId() const{ return m_revisionId; } /** *

The revision number of the deployment.

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

The revision number of the deployment.

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

The revision number of the deployment.

*/ inline void SetRevisionId(const char* value) { m_revisionId.assign(value); } /** *

The revision number of the deployment.

*/ inline GetDeploymentResult& WithRevisionId(const Aws::String& value) { SetRevisionId(value); return *this;} /** *

The revision number of the deployment.

*/ inline GetDeploymentResult& WithRevisionId(Aws::String&& value) { SetRevisionId(std::move(value)); return *this;} /** *

The revision number of the deployment.

*/ inline GetDeploymentResult& WithRevisionId(const char* value) { SetRevisionId(value); return *this;} /** *

The ID of the deployment.

*/ inline const Aws::String& GetDeploymentId() const{ return m_deploymentId; } /** *

The ID of the deployment.

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

The ID of the deployment.

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

The ID of the deployment.

*/ inline void SetDeploymentId(const char* value) { m_deploymentId.assign(value); } /** *

The ID of the deployment.

*/ inline GetDeploymentResult& WithDeploymentId(const Aws::String& value) { SetDeploymentId(value); return *this;} /** *

The ID of the deployment.

*/ inline GetDeploymentResult& WithDeploymentId(Aws::String&& value) { SetDeploymentId(std::move(value)); return *this;} /** *

The ID of the deployment.

*/ inline GetDeploymentResult& WithDeploymentId(const char* value) { SetDeploymentId(value); return *this;} /** *

The name of the deployment.

*/ inline const Aws::String& GetDeploymentName() const{ return m_deploymentName; } /** *

The name of the deployment.

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

The name of the deployment.

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

The name of the deployment.

*/ inline void SetDeploymentName(const char* value) { m_deploymentName.assign(value); } /** *

The name of the deployment.

*/ inline GetDeploymentResult& WithDeploymentName(const Aws::String& value) { SetDeploymentName(value); return *this;} /** *

The name of the deployment.

*/ inline GetDeploymentResult& WithDeploymentName(Aws::String&& value) { SetDeploymentName(std::move(value)); return *this;} /** *

The name of the deployment.

*/ inline GetDeploymentResult& WithDeploymentName(const char* value) { SetDeploymentName(value); return *this;} /** *

The status of the deployment.

*/ inline const DeploymentStatus& GetDeploymentStatus() const{ return m_deploymentStatus; } /** *

The status of the deployment.

*/ inline void SetDeploymentStatus(const DeploymentStatus& value) { m_deploymentStatus = value; } /** *

The status of the deployment.

*/ inline void SetDeploymentStatus(DeploymentStatus&& value) { m_deploymentStatus = std::move(value); } /** *

The status of the deployment.

*/ inline GetDeploymentResult& WithDeploymentStatus(const DeploymentStatus& value) { SetDeploymentStatus(value); return *this;} /** *

The status of the deployment.

*/ inline GetDeploymentResult& WithDeploymentStatus(DeploymentStatus&& value) { SetDeploymentStatus(std::move(value)); return *this;} /** *

The ID of the IoT job that applies the deployment to target devices.

*/ inline const Aws::String& GetIotJobId() const{ return m_iotJobId; } /** *

The ID of the IoT job that applies the deployment to target devices.

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

The ID of the IoT job that applies the deployment to target devices.

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

The ID of the IoT job that applies the deployment to target devices.

*/ inline void SetIotJobId(const char* value) { m_iotJobId.assign(value); } /** *

The ID of the IoT job that applies the deployment to target devices.

*/ inline GetDeploymentResult& WithIotJobId(const Aws::String& value) { SetIotJobId(value); return *this;} /** *

The ID of the IoT job that applies the deployment to target devices.

*/ inline GetDeploymentResult& WithIotJobId(Aws::String&& value) { SetIotJobId(std::move(value)); return *this;} /** *

The ID of the IoT job that applies the deployment to target devices.

*/ inline GetDeploymentResult& WithIotJobId(const char* value) { SetIotJobId(value); return *this;} /** *

The ARN * of the IoT job that applies the deployment to target devices.

*/ inline const Aws::String& GetIotJobArn() const{ return m_iotJobArn; } /** *

The ARN * of the IoT job that applies the deployment to target devices.

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

The ARN * of the IoT job that applies the deployment to target devices.

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

The ARN * of the IoT job that applies the deployment to target devices.

*/ inline void SetIotJobArn(const char* value) { m_iotJobArn.assign(value); } /** *

The ARN * of the IoT job that applies the deployment to target devices.

*/ inline GetDeploymentResult& WithIotJobArn(const Aws::String& value) { SetIotJobArn(value); return *this;} /** *

The ARN * of the IoT job that applies the deployment to target devices.

*/ inline GetDeploymentResult& WithIotJobArn(Aws::String&& value) { SetIotJobArn(std::move(value)); return *this;} /** *

The ARN * of the IoT job that applies the deployment to target devices.

*/ inline GetDeploymentResult& WithIotJobArn(const char* value) { SetIotJobArn(value); return *this;} /** *

The components to deploy. This is a dictionary, where each key is the name of * a component, and each key's value is the version and configuration to deploy for * that component.

*/ inline const Aws::Map& GetComponents() const{ return m_components; } /** *

The components to deploy. This is a dictionary, where each key is the name of * a component, and each key's value is the version and configuration to deploy for * that component.

*/ inline void SetComponents(const Aws::Map& value) { m_components = value; } /** *

The components to deploy. This is a dictionary, where each key is the name of * a component, and each key's value is the version and configuration to deploy for * that component.

*/ inline void SetComponents(Aws::Map&& value) { m_components = std::move(value); } /** *

The components to deploy. This is a dictionary, where each key is the name of * a component, and each key's value is the version and configuration to deploy for * that component.

*/ inline GetDeploymentResult& WithComponents(const Aws::Map& value) { SetComponents(value); return *this;} /** *

The components to deploy. This is a dictionary, where each key is the name of * a component, and each key's value is the version and configuration to deploy for * that component.

*/ inline GetDeploymentResult& WithComponents(Aws::Map&& value) { SetComponents(std::move(value)); return *this;} /** *

The components to deploy. This is a dictionary, where each key is the name of * a component, and each key's value is the version and configuration to deploy for * that component.

*/ inline GetDeploymentResult& AddComponents(const Aws::String& key, const ComponentDeploymentSpecification& value) { m_components.emplace(key, value); return *this; } /** *

The components to deploy. This is a dictionary, where each key is the name of * a component, and each key's value is the version and configuration to deploy for * that component.

*/ inline GetDeploymentResult& AddComponents(Aws::String&& key, const ComponentDeploymentSpecification& value) { m_components.emplace(std::move(key), value); return *this; } /** *

The components to deploy. This is a dictionary, where each key is the name of * a component, and each key's value is the version and configuration to deploy for * that component.

*/ inline GetDeploymentResult& AddComponents(const Aws::String& key, ComponentDeploymentSpecification&& value) { m_components.emplace(key, std::move(value)); return *this; } /** *

The components to deploy. This is a dictionary, where each key is the name of * a component, and each key's value is the version and configuration to deploy for * that component.

*/ inline GetDeploymentResult& AddComponents(Aws::String&& key, ComponentDeploymentSpecification&& value) { m_components.emplace(std::move(key), std::move(value)); return *this; } /** *

The components to deploy. This is a dictionary, where each key is the name of * a component, and each key's value is the version and configuration to deploy for * that component.

*/ inline GetDeploymentResult& AddComponents(const char* key, ComponentDeploymentSpecification&& value) { m_components.emplace(key, std::move(value)); return *this; } /** *

The components to deploy. This is a dictionary, where each key is the name of * a component, and each key's value is the version and configuration to deploy for * that component.

*/ inline GetDeploymentResult& AddComponents(const char* key, const ComponentDeploymentSpecification& value) { m_components.emplace(key, value); return *this; } /** *

The deployment policies for the deployment. These policies define how the * deployment updates components and handles failure.

*/ inline const DeploymentPolicies& GetDeploymentPolicies() const{ return m_deploymentPolicies; } /** *

The deployment policies for the deployment. These policies define how the * deployment updates components and handles failure.

*/ inline void SetDeploymentPolicies(const DeploymentPolicies& value) { m_deploymentPolicies = value; } /** *

The deployment policies for the deployment. These policies define how the * deployment updates components and handles failure.

*/ inline void SetDeploymentPolicies(DeploymentPolicies&& value) { m_deploymentPolicies = std::move(value); } /** *

The deployment policies for the deployment. These policies define how the * deployment updates components and handles failure.

*/ inline GetDeploymentResult& WithDeploymentPolicies(const DeploymentPolicies& value) { SetDeploymentPolicies(value); return *this;} /** *

The deployment policies for the deployment. These policies define how the * deployment updates components and handles failure.

*/ inline GetDeploymentResult& WithDeploymentPolicies(DeploymentPolicies&& value) { SetDeploymentPolicies(std::move(value)); return *this;} /** *

The job configuration for the deployment configuration. The job configuration * specifies the rollout, timeout, and stop configurations for the deployment * configuration.

*/ inline const DeploymentIoTJobConfiguration& GetIotJobConfiguration() const{ return m_iotJobConfiguration; } /** *

The job configuration for the deployment configuration. The job configuration * specifies the rollout, timeout, and stop configurations for the deployment * configuration.

*/ inline void SetIotJobConfiguration(const DeploymentIoTJobConfiguration& value) { m_iotJobConfiguration = value; } /** *

The job configuration for the deployment configuration. The job configuration * specifies the rollout, timeout, and stop configurations for the deployment * configuration.

*/ inline void SetIotJobConfiguration(DeploymentIoTJobConfiguration&& value) { m_iotJobConfiguration = std::move(value); } /** *

The job configuration for the deployment configuration. The job configuration * specifies the rollout, timeout, and stop configurations for the deployment * configuration.

*/ inline GetDeploymentResult& WithIotJobConfiguration(const DeploymentIoTJobConfiguration& value) { SetIotJobConfiguration(value); return *this;} /** *

The job configuration for the deployment configuration. The job configuration * specifies the rollout, timeout, and stop configurations for the deployment * configuration.

*/ inline GetDeploymentResult& WithIotJobConfiguration(DeploymentIoTJobConfiguration&& value) { SetIotJobConfiguration(std::move(value)); return *this;} /** *

The time at which the deployment was created, expressed in ISO 8601 * format.

*/ inline const Aws::Utils::DateTime& GetCreationTimestamp() const{ return m_creationTimestamp; } /** *

The time at which the deployment was created, expressed in ISO 8601 * format.

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

The time at which the deployment was created, expressed in ISO 8601 * format.

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

The time at which the deployment was created, expressed in ISO 8601 * format.

*/ inline GetDeploymentResult& WithCreationTimestamp(const Aws::Utils::DateTime& value) { SetCreationTimestamp(value); return *this;} /** *

The time at which the deployment was created, expressed in ISO 8601 * format.

*/ inline GetDeploymentResult& WithCreationTimestamp(Aws::Utils::DateTime&& value) { SetCreationTimestamp(std::move(value)); return *this;} /** *

Whether or not the deployment is the latest revision for its target.

*/ inline bool GetIsLatestForTarget() const{ return m_isLatestForTarget; } /** *

Whether or not the deployment is the latest revision for its target.

*/ inline void SetIsLatestForTarget(bool value) { m_isLatestForTarget = value; } /** *

Whether or not the deployment is the latest revision for its target.

*/ inline GetDeploymentResult& WithIsLatestForTarget(bool value) { SetIsLatestForTarget(value); return *this;} /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline const Aws::String& GetParentTargetArn() const{ return m_parentTargetArn; } /** *

The parent deployment's target ARN * within a subdeployment.

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

The parent deployment's target ARN * within a subdeployment.

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

The parent deployment's target ARN * within a subdeployment.

*/ inline void SetParentTargetArn(const char* value) { m_parentTargetArn.assign(value); } /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline GetDeploymentResult& WithParentTargetArn(const Aws::String& value) { SetParentTargetArn(value); return *this;} /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline GetDeploymentResult& WithParentTargetArn(Aws::String&& value) { SetParentTargetArn(std::move(value)); return *this;} /** *

The parent deployment's target ARN * within a subdeployment.

*/ inline GetDeploymentResult& WithParentTargetArn(const char* value) { SetParentTargetArn(value); return *this;} /** *

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

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

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

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

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

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

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

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

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

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

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

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

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

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

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

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

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

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

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

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

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

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

A list of key-value pairs that contain metadata for the resource. For more * information, see Tag * your resources in the IoT Greengrass V2 Developer Guide.

*/ inline GetDeploymentResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetDeploymentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetDeploymentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetDeploymentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_targetArn; Aws::String m_revisionId; Aws::String m_deploymentId; Aws::String m_deploymentName; DeploymentStatus m_deploymentStatus; Aws::String m_iotJobId; Aws::String m_iotJobArn; Aws::Map m_components; DeploymentPolicies m_deploymentPolicies; DeploymentIoTJobConfiguration m_iotJobConfiguration; Aws::Utils::DateTime m_creationTimestamp; bool m_isLatestForTarget; Aws::String m_parentTargetArn; Aws::Map m_tags; Aws::String m_requestId; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws