/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 component version that is compatible to run on a * Greengrass core device.

See Also:

AWS * API Reference

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

The ARN * of the component version.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The ARN * of the component version.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The ARN * of the component version.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The ARN * of the component version.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The ARN * of the component version.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The ARN * of the component version.

*/ inline ResolvedComponentVersion& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The ARN * of the component version.

*/ inline ResolvedComponentVersion& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The ARN * of the component version.

*/ inline ResolvedComponentVersion& WithArn(const char* value) { SetArn(value); return *this;} /** *

The name of the component.

*/ inline const Aws::String& GetComponentName() const{ return m_componentName; } /** *

The name of the component.

*/ inline bool ComponentNameHasBeenSet() const { return m_componentNameHasBeenSet; } /** *

The name of the component.

*/ inline void SetComponentName(const Aws::String& value) { m_componentNameHasBeenSet = true; m_componentName = value; } /** *

The name of the component.

*/ inline void SetComponentName(Aws::String&& value) { m_componentNameHasBeenSet = true; m_componentName = std::move(value); } /** *

The name of the component.

*/ inline void SetComponentName(const char* value) { m_componentNameHasBeenSet = true; m_componentName.assign(value); } /** *

The name of the component.

*/ inline ResolvedComponentVersion& WithComponentName(const Aws::String& value) { SetComponentName(value); return *this;} /** *

The name of the component.

*/ inline ResolvedComponentVersion& WithComponentName(Aws::String&& value) { SetComponentName(std::move(value)); return *this;} /** *

The name of the component.

*/ inline ResolvedComponentVersion& WithComponentName(const char* value) { SetComponentName(value); return *this;} /** *

The version of the component.

*/ inline const Aws::String& GetComponentVersion() const{ return m_componentVersion; } /** *

The version of the component.

*/ inline bool ComponentVersionHasBeenSet() const { return m_componentVersionHasBeenSet; } /** *

The version of the component.

*/ inline void SetComponentVersion(const Aws::String& value) { m_componentVersionHasBeenSet = true; m_componentVersion = value; } /** *

The version of the component.

*/ inline void SetComponentVersion(Aws::String&& value) { m_componentVersionHasBeenSet = true; m_componentVersion = std::move(value); } /** *

The version of the component.

*/ inline void SetComponentVersion(const char* value) { m_componentVersionHasBeenSet = true; m_componentVersion.assign(value); } /** *

The version of the component.

*/ inline ResolvedComponentVersion& WithComponentVersion(const Aws::String& value) { SetComponentVersion(value); return *this;} /** *

The version of the component.

*/ inline ResolvedComponentVersion& WithComponentVersion(Aws::String&& value) { SetComponentVersion(std::move(value)); return *this;} /** *

The version of the component.

*/ inline ResolvedComponentVersion& WithComponentVersion(const char* value) { SetComponentVersion(value); return *this;} /** *

The recipe of the component version.

*/ inline const Aws::Utils::ByteBuffer& GetRecipe() const{ return m_recipe; } /** *

The recipe of the component version.

*/ inline bool RecipeHasBeenSet() const { return m_recipeHasBeenSet; } /** *

The recipe of the component version.

*/ inline void SetRecipe(const Aws::Utils::ByteBuffer& value) { m_recipeHasBeenSet = true; m_recipe = value; } /** *

The recipe of the component version.

*/ inline void SetRecipe(Aws::Utils::ByteBuffer&& value) { m_recipeHasBeenSet = true; m_recipe = std::move(value); } /** *

The recipe of the component version.

*/ inline ResolvedComponentVersion& WithRecipe(const Aws::Utils::ByteBuffer& value) { SetRecipe(value); return *this;} /** *

The recipe of the component version.

*/ inline ResolvedComponentVersion& WithRecipe(Aws::Utils::ByteBuffer&& value) { SetRecipe(std::move(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 ResolvedComponentVersion& 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 ResolvedComponentVersion& 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& GetMessage() const{ return m_message; } /** *

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 MessageHasBeenSet() const { return m_messageHasBeenSet; } /** *

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 SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = 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 SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = 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 SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.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 ResolvedComponentVersion& WithMessage(const Aws::String& value) { SetMessage(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 ResolvedComponentVersion& WithMessage(Aws::String&& value) { SetMessage(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 ResolvedComponentVersion& WithMessage(const char* value) { SetMessage(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_componentName; bool m_componentNameHasBeenSet = false; Aws::String m_componentVersion; bool m_componentVersionHasBeenSet = false; Aws::Utils::ByteBuffer m_recipe; bool m_recipeHasBeenSet = false; VendorGuidance m_vendorGuidance; bool m_vendorGuidanceHasBeenSet = false; Aws::String m_message; bool m_messageHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws