/** * 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 the status of a component version in the IoT Greengrass * service.

See Also:

AWS * API Reference

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

The state of the component version.

*/ inline const CloudComponentState& GetComponentState() const{ return m_componentState; } /** *

The state of the component version.

*/ inline bool ComponentStateHasBeenSet() const { return m_componentStateHasBeenSet; } /** *

The state of the component version.

*/ inline void SetComponentState(const CloudComponentState& value) { m_componentStateHasBeenSet = true; m_componentState = value; } /** *

The state of the component version.

*/ inline void SetComponentState(CloudComponentState&& value) { m_componentStateHasBeenSet = true; m_componentState = std::move(value); } /** *

The state of the component version.

*/ inline CloudComponentStatus& WithComponentState(const CloudComponentState& value) { SetComponentState(value); return *this;} /** *

The state of the component version.

*/ inline CloudComponentStatus& WithComponentState(CloudComponentState&& value) { SetComponentState(std::move(value)); return *this;} /** *

A message that communicates details, such as errors, about the status of the * component version.

*/ inline const Aws::String& GetMessage() const{ return m_message; } /** *

A message that communicates details, such as errors, about the status of the * component version.

*/ inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; } /** *

A message that communicates details, such as errors, about the status of the * component version.

*/ inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; } /** *

A message that communicates details, such as errors, about the status of the * component version.

*/ inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); } /** *

A message that communicates details, such as errors, about the status of the * component version.

*/ inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); } /** *

A message that communicates details, such as errors, about the status of the * component version.

*/ inline CloudComponentStatus& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} /** *

A message that communicates details, such as errors, about the status of the * component version.

*/ inline CloudComponentStatus& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} /** *

A message that communicates details, such as errors, about the status of the * component version.

*/ inline CloudComponentStatus& WithMessage(const char* value) { SetMessage(value); return *this;} /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline const Aws::Map& GetErrors() const{ return m_errors; } /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline bool ErrorsHasBeenSet() const { return m_errorsHasBeenSet; } /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline void SetErrors(const Aws::Map& value) { m_errorsHasBeenSet = true; m_errors = value; } /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline void SetErrors(Aws::Map&& value) { m_errorsHasBeenSet = true; m_errors = std::move(value); } /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline CloudComponentStatus& WithErrors(const Aws::Map& value) { SetErrors(value); return *this;} /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline CloudComponentStatus& WithErrors(Aws::Map&& value) { SetErrors(std::move(value)); return *this;} /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline CloudComponentStatus& AddErrors(const Aws::String& key, const Aws::String& value) { m_errorsHasBeenSet = true; m_errors.emplace(key, value); return *this; } /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline CloudComponentStatus& AddErrors(Aws::String&& key, const Aws::String& value) { m_errorsHasBeenSet = true; m_errors.emplace(std::move(key), value); return *this; } /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline CloudComponentStatus& AddErrors(const Aws::String& key, Aws::String&& value) { m_errorsHasBeenSet = true; m_errors.emplace(key, std::move(value)); return *this; } /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline CloudComponentStatus& AddErrors(Aws::String&& key, Aws::String&& value) { m_errorsHasBeenSet = true; m_errors.emplace(std::move(key), std::move(value)); return *this; } /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline CloudComponentStatus& AddErrors(const char* key, Aws::String&& value) { m_errorsHasBeenSet = true; m_errors.emplace(key, std::move(value)); return *this; } /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline CloudComponentStatus& AddErrors(Aws::String&& key, const char* value) { m_errorsHasBeenSet = true; m_errors.emplace(std::move(key), value); return *this; } /** *

A dictionary of errors that communicate why the component version is in an * error state. For example, if IoT Greengrass can't access an artifact for the * component version, then errors contains the artifact's URI as a * key, and the error message as the value for that key.

*/ inline CloudComponentStatus& AddErrors(const char* key, const char* value) { m_errorsHasBeenSet = true; m_errors.emplace(key, value); return *this; } /** *

The vendor guidance state for the component version. This state indicates * whether the component version has any issues that you should consider before you * deploy it. The vendor guidance state can be:

  • * ACTIVE – This component version is available and recommended for * use.

  • DISCONTINUED – This component version has * been discontinued by its publisher. You can deploy this component version, but * we recommend that you use a different version of this component.

  • *

    DELETED – This component version has been deleted by its * publisher, so you can't deploy it. If you have any existing deployments that * specify this component version, those deployments will fail.

*/ inline const VendorGuidance& GetVendorGuidance() const{ return m_vendorGuidance; } /** *

The vendor guidance state for the component version. This state indicates * whether the component version has any issues that you should consider before you * deploy it. The vendor guidance state can be:

  • * ACTIVE – This component version is available and recommended for * use.

  • DISCONTINUED – This component version has * been discontinued by its publisher. You can deploy this component version, but * we recommend that you use a different version of this component.

  • *

    DELETED – This component version has been deleted by its * publisher, so you can't deploy it. If you have any existing deployments that * specify this component version, those deployments will fail.

*/ inline bool VendorGuidanceHasBeenSet() const { return m_vendorGuidanceHasBeenSet; } /** *

The vendor guidance state for the component version. This state indicates * whether the component version has any issues that you should consider before you * deploy it. The vendor guidance state can be:

  • * ACTIVE – This component version is available and recommended for * use.

  • DISCONTINUED – This component version has * been discontinued by its publisher. You can deploy this component version, but * we recommend that you use a different version of this component.

  • *

    DELETED – This component version has been deleted by its * publisher, so you can't deploy it. If you have any existing deployments that * specify this component version, those deployments will fail.

*/ inline void SetVendorGuidance(const VendorGuidance& value) { m_vendorGuidanceHasBeenSet = true; m_vendorGuidance = value; } /** *

The vendor guidance state for the component version. This state indicates * whether the component version has any issues that you should consider before you * deploy it. The vendor guidance state can be:

  • * ACTIVE – This component version is available and recommended for * use.

  • DISCONTINUED – This component version has * been discontinued by its publisher. You can deploy this component version, but * we recommend that you use a different version of this component.

  • *

    DELETED – This component version has been deleted by its * publisher, so you can't deploy it. If you have any existing deployments that * specify this component version, those deployments will fail.

*/ inline void SetVendorGuidance(VendorGuidance&& value) { m_vendorGuidanceHasBeenSet = true; m_vendorGuidance = std::move(value); } /** *

The vendor guidance state for the component version. This state indicates * whether the component version has any issues that you should consider before you * deploy it. The vendor guidance state can be:

  • * ACTIVE – This component version is available and recommended for * use.

  • DISCONTINUED – This component version has * been discontinued by its publisher. You can deploy this component version, but * we recommend that you use a different version of this component.

  • *

    DELETED – This component version has been deleted by its * publisher, so you can't deploy it. If you have any existing deployments that * specify this component version, those deployments will fail.

*/ inline CloudComponentStatus& WithVendorGuidance(const VendorGuidance& value) { SetVendorGuidance(value); return *this;} /** *

The vendor guidance state for the component version. This state indicates * whether the component version has any issues that you should consider before you * deploy it. The vendor guidance state can be:

  • * ACTIVE – This component version is available and recommended for * use.

  • DISCONTINUED – This component version has * been discontinued by its publisher. You can deploy this component version, but * we recommend that you use a different version of this component.

  • *

    DELETED – This component version has been deleted by its * publisher, so you can't deploy it. If you have any existing deployments that * specify this component version, those deployments will fail.

*/ inline CloudComponentStatus& WithVendorGuidance(VendorGuidance&& value) { SetVendorGuidance(std::move(value)); return *this;} /** *

A message that communicates details about the vendor guidance state of the * component version. This message communicates why a component version is * discontinued or deleted.

*/ inline const Aws::String& GetVendorGuidanceMessage() const{ return m_vendorGuidanceMessage; } /** *

A message that communicates details about the vendor guidance state of the * component version. This message communicates why a component version is * discontinued or deleted.

*/ inline bool VendorGuidanceMessageHasBeenSet() const { return m_vendorGuidanceMessageHasBeenSet; } /** *

A message that communicates details about the vendor guidance state of the * component version. This message communicates why a component version is * discontinued or deleted.

*/ inline void SetVendorGuidanceMessage(const Aws::String& value) { m_vendorGuidanceMessageHasBeenSet = true; m_vendorGuidanceMessage = value; } /** *

A message that communicates details about the vendor guidance state of the * component version. This message communicates why a component version is * discontinued or deleted.

*/ inline void SetVendorGuidanceMessage(Aws::String&& value) { m_vendorGuidanceMessageHasBeenSet = true; m_vendorGuidanceMessage = std::move(value); } /** *

A message that communicates details about the vendor guidance state of the * component version. This message communicates why a component version is * discontinued or deleted.

*/ inline void SetVendorGuidanceMessage(const char* value) { m_vendorGuidanceMessageHasBeenSet = true; m_vendorGuidanceMessage.assign(value); } /** *

A message that communicates details about the vendor guidance state of the * component version. This message communicates why a component version is * discontinued or deleted.

*/ inline CloudComponentStatus& WithVendorGuidanceMessage(const Aws::String& value) { SetVendorGuidanceMessage(value); return *this;} /** *

A message that communicates details about the vendor guidance state of the * component version. This message communicates why a component version is * discontinued or deleted.

*/ inline CloudComponentStatus& WithVendorGuidanceMessage(Aws::String&& value) { SetVendorGuidanceMessage(std::move(value)); return *this;} /** *

A message that communicates details about the vendor guidance state of the * component version. This message communicates why a component version is * discontinued or deleted.

*/ inline CloudComponentStatus& WithVendorGuidanceMessage(const char* value) { SetVendorGuidanceMessage(value); return *this;} private: CloudComponentState m_componentState; bool m_componentStateHasBeenSet = false; Aws::String m_message; bool m_messageHasBeenSet = false; Aws::Map m_errors; bool m_errorsHasBeenSet = false; VendorGuidance m_vendorGuidance; bool m_vendorGuidanceHasBeenSet = false; Aws::String m_vendorGuidanceMessage; bool m_vendorGuidanceMessageHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws