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

Contains information about a deployment job that IoT Greengrass sends to a * Greengrass core device.

See Also:

AWS * API Reference

*/ class EffectiveDeployment { public: AWS_GREENGRASSV2_API EffectiveDeployment(); AWS_GREENGRASSV2_API EffectiveDeployment(Aws::Utils::Json::JsonView jsonValue); AWS_GREENGRASSV2_API EffectiveDeployment& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GREENGRASSV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ID of the deployment.

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

The ID of the deployment.

*/ inline bool DeploymentIdHasBeenSet() const { return m_deploymentIdHasBeenSet; } /** *

The ID of the deployment.

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

The ID of the deployment.

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

The ID of the deployment.

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

The ID of the deployment.

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

The ID of the deployment.

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

The ID of the deployment.

*/ inline EffectiveDeployment& 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 bool DeploymentNameHasBeenSet() const { return m_deploymentNameHasBeenSet; } /** *

The name of the deployment.

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

The name of the deployment.

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

The name of the deployment.

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

The name of the deployment.

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

The name of the deployment.

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

The name of the deployment.

*/ inline EffectiveDeployment& WithDeploymentName(const char* value) { SetDeploymentName(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 bool IotJobIdHasBeenSet() const { return m_iotJobIdHasBeenSet; } /** *

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

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

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

*/ inline void SetIotJobId(Aws::String&& value) { m_iotJobIdHasBeenSet = true; 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_iotJobIdHasBeenSet = true; m_iotJobId.assign(value); } /** *

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

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

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

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

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

*/ inline EffectiveDeployment& 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 bool IotJobArnHasBeenSet() const { return m_iotJobArnHasBeenSet; } /** *

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

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

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

*/ inline void SetIotJobArn(Aws::String&& value) { m_iotJobArnHasBeenSet = true; 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_iotJobArnHasBeenSet = true; m_iotJobArn.assign(value); } /** *

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

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

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

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

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

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

The description of the deployment job.

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

The description of the deployment job.

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

The description of the deployment job.

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

The description of the deployment job.

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

The description of the deployment job.

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

The description of the deployment job.

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

The description of the deployment job.

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

The description of the deployment job.

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

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 bool TargetArnHasBeenSet() const { return m_targetArnHasBeenSet; } /** *

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

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

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

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

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

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

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

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

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

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

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

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

The status of the deployment job on the Greengrass core device.

  • *

    IN_PROGRESS – The deployment job is running.

  • * QUEUED – The deployment job is in the job queue and waiting to * run.

  • FAILED – The deployment failed. For more * information, see the statusDetails field.

  • * COMPLETED – The deployment to an IoT thing was completed * successfully.

  • TIMED_OUT – The deployment didn't * complete in the allotted time.

  • CANCELED – The * deployment was canceled by the user.

  • REJECTED – * The deployment was rejected. For more information, see the * statusDetails field.

  • SUCCEEDED – * The deployment to an IoT thing group was completed successfully.

*/ inline const EffectiveDeploymentExecutionStatus& GetCoreDeviceExecutionStatus() const{ return m_coreDeviceExecutionStatus; } /** *

The status of the deployment job on the Greengrass core device.

  • *

    IN_PROGRESS – The deployment job is running.

  • * QUEUED – The deployment job is in the job queue and waiting to * run.

  • FAILED – The deployment failed. For more * information, see the statusDetails field.

  • * COMPLETED – The deployment to an IoT thing was completed * successfully.

  • TIMED_OUT – The deployment didn't * complete in the allotted time.

  • CANCELED – The * deployment was canceled by the user.

  • REJECTED – * The deployment was rejected. For more information, see the * statusDetails field.

  • SUCCEEDED – * The deployment to an IoT thing group was completed successfully.

*/ inline bool CoreDeviceExecutionStatusHasBeenSet() const { return m_coreDeviceExecutionStatusHasBeenSet; } /** *

The status of the deployment job on the Greengrass core device.

  • *

    IN_PROGRESS – The deployment job is running.

  • * QUEUED – The deployment job is in the job queue and waiting to * run.

  • FAILED – The deployment failed. For more * information, see the statusDetails field.

  • * COMPLETED – The deployment to an IoT thing was completed * successfully.

  • TIMED_OUT – The deployment didn't * complete in the allotted time.

  • CANCELED – The * deployment was canceled by the user.

  • REJECTED – * The deployment was rejected. For more information, see the * statusDetails field.

  • SUCCEEDED – * The deployment to an IoT thing group was completed successfully.

*/ inline void SetCoreDeviceExecutionStatus(const EffectiveDeploymentExecutionStatus& value) { m_coreDeviceExecutionStatusHasBeenSet = true; m_coreDeviceExecutionStatus = value; } /** *

The status of the deployment job on the Greengrass core device.

  • *

    IN_PROGRESS – The deployment job is running.

  • * QUEUED – The deployment job is in the job queue and waiting to * run.

  • FAILED – The deployment failed. For more * information, see the statusDetails field.

  • * COMPLETED – The deployment to an IoT thing was completed * successfully.

  • TIMED_OUT – The deployment didn't * complete in the allotted time.

  • CANCELED – The * deployment was canceled by the user.

  • REJECTED – * The deployment was rejected. For more information, see the * statusDetails field.

  • SUCCEEDED – * The deployment to an IoT thing group was completed successfully.

*/ inline void SetCoreDeviceExecutionStatus(EffectiveDeploymentExecutionStatus&& value) { m_coreDeviceExecutionStatusHasBeenSet = true; m_coreDeviceExecutionStatus = std::move(value); } /** *

The status of the deployment job on the Greengrass core device.

  • *

    IN_PROGRESS – The deployment job is running.

  • * QUEUED – The deployment job is in the job queue and waiting to * run.

  • FAILED – The deployment failed. For more * information, see the statusDetails field.

  • * COMPLETED – The deployment to an IoT thing was completed * successfully.

  • TIMED_OUT – The deployment didn't * complete in the allotted time.

  • CANCELED – The * deployment was canceled by the user.

  • REJECTED – * The deployment was rejected. For more information, see the * statusDetails field.

  • SUCCEEDED – * The deployment to an IoT thing group was completed successfully.

*/ inline EffectiveDeployment& WithCoreDeviceExecutionStatus(const EffectiveDeploymentExecutionStatus& value) { SetCoreDeviceExecutionStatus(value); return *this;} /** *

The status of the deployment job on the Greengrass core device.

  • *

    IN_PROGRESS – The deployment job is running.

  • * QUEUED – The deployment job is in the job queue and waiting to * run.

  • FAILED – The deployment failed. For more * information, see the statusDetails field.

  • * COMPLETED – The deployment to an IoT thing was completed * successfully.

  • TIMED_OUT – The deployment didn't * complete in the allotted time.

  • CANCELED – The * deployment was canceled by the user.

  • REJECTED – * The deployment was rejected. For more information, see the * statusDetails field.

  • SUCCEEDED – * The deployment to an IoT thing group was completed successfully.

*/ inline EffectiveDeployment& WithCoreDeviceExecutionStatus(EffectiveDeploymentExecutionStatus&& value) { SetCoreDeviceExecutionStatus(std::move(value)); return *this;} /** *

The reason code for the update, if the job was updated.

*/ inline const Aws::String& GetReason() const{ return m_reason; } /** *

The reason code for the update, if the job was updated.

*/ inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } /** *

The reason code for the update, if the job was updated.

*/ inline void SetReason(const Aws::String& value) { m_reasonHasBeenSet = true; m_reason = value; } /** *

The reason code for the update, if the job was updated.

*/ inline void SetReason(Aws::String&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } /** *

The reason code for the update, if the job was updated.

*/ inline void SetReason(const char* value) { m_reasonHasBeenSet = true; m_reason.assign(value); } /** *

The reason code for the update, if the job was updated.

*/ inline EffectiveDeployment& WithReason(const Aws::String& value) { SetReason(value); return *this;} /** *

The reason code for the update, if the job was updated.

*/ inline EffectiveDeployment& WithReason(Aws::String&& value) { SetReason(std::move(value)); return *this;} /** *

The reason code for the update, if the job was updated.

*/ inline EffectiveDeployment& WithReason(const char* value) { SetReason(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 bool CreationTimestampHasBeenSet() const { return m_creationTimestampHasBeenSet; } /** *

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

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

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

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

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

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

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

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

The time at which the deployment job was last modified, expressed in ISO 8601 * format.

*/ inline const Aws::Utils::DateTime& GetModifiedTimestamp() const{ return m_modifiedTimestamp; } /** *

The time at which the deployment job was last modified, expressed in ISO 8601 * format.

*/ inline bool ModifiedTimestampHasBeenSet() const { return m_modifiedTimestampHasBeenSet; } /** *

The time at which the deployment job was last modified, expressed in ISO 8601 * format.

*/ inline void SetModifiedTimestamp(const Aws::Utils::DateTime& value) { m_modifiedTimestampHasBeenSet = true; m_modifiedTimestamp = value; } /** *

The time at which the deployment job was last modified, expressed in ISO 8601 * format.

*/ inline void SetModifiedTimestamp(Aws::Utils::DateTime&& value) { m_modifiedTimestampHasBeenSet = true; m_modifiedTimestamp = std::move(value); } /** *

The time at which the deployment job was last modified, expressed in ISO 8601 * format.

*/ inline EffectiveDeployment& WithModifiedTimestamp(const Aws::Utils::DateTime& value) { SetModifiedTimestamp(value); return *this;} /** *

The time at which the deployment job was last modified, expressed in ISO 8601 * format.

*/ inline EffectiveDeployment& WithModifiedTimestamp(Aws::Utils::DateTime&& value) { SetModifiedTimestamp(std::move(value)); return *this;} /** *

The status details that explain why a deployment has an error. This response * will be null if the deployment is in a success state.

*/ inline const EffectiveDeploymentStatusDetails& GetStatusDetails() const{ return m_statusDetails; } /** *

The status details that explain why a deployment has an error. This response * will be null if the deployment is in a success state.

*/ inline bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; } /** *

The status details that explain why a deployment has an error. This response * will be null if the deployment is in a success state.

*/ inline void SetStatusDetails(const EffectiveDeploymentStatusDetails& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = value; } /** *

The status details that explain why a deployment has an error. This response * will be null if the deployment is in a success state.

*/ inline void SetStatusDetails(EffectiveDeploymentStatusDetails&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); } /** *

The status details that explain why a deployment has an error. This response * will be null if the deployment is in a success state.

*/ inline EffectiveDeployment& WithStatusDetails(const EffectiveDeploymentStatusDetails& value) { SetStatusDetails(value); return *this;} /** *

The status details that explain why a deployment has an error. This response * will be null if the deployment is in a success state.

*/ inline EffectiveDeployment& WithStatusDetails(EffectiveDeploymentStatusDetails&& value) { SetStatusDetails(std::move(value)); return *this;} private: Aws::String m_deploymentId; bool m_deploymentIdHasBeenSet = false; Aws::String m_deploymentName; bool m_deploymentNameHasBeenSet = false; Aws::String m_iotJobId; bool m_iotJobIdHasBeenSet = false; Aws::String m_iotJobArn; bool m_iotJobArnHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_targetArn; bool m_targetArnHasBeenSet = false; EffectiveDeploymentExecutionStatus m_coreDeviceExecutionStatus; bool m_coreDeviceExecutionStatusHasBeenSet = false; Aws::String m_reason; bool m_reasonHasBeenSet = false; Aws::Utils::DateTime m_creationTimestamp; bool m_creationTimestampHasBeenSet = false; Aws::Utils::DateTime m_modifiedTimestamp; bool m_modifiedTimestampHasBeenSet = false; EffectiveDeploymentStatusDetails m_statusDetails; bool m_statusDetailsHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws