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

See Also:

AWS * API Reference

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

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 ComponentCandidate& WithComponentName(const Aws::String& value) { SetComponentName(value); return *this;} /** *

The name of the component.

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

The name of the component.

*/ inline ComponentCandidate& 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 ComponentCandidate& WithComponentVersion(const Aws::String& value) { SetComponentVersion(value); return *this;} /** *

The version of the component.

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

The version of the component.

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

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline const Aws::Map& GetVersionRequirements() const{ return m_versionRequirements; } /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline bool VersionRequirementsHasBeenSet() const { return m_versionRequirementsHasBeenSet; } /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline void SetVersionRequirements(const Aws::Map& value) { m_versionRequirementsHasBeenSet = true; m_versionRequirements = value; } /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline void SetVersionRequirements(Aws::Map&& value) { m_versionRequirementsHasBeenSet = true; m_versionRequirements = std::move(value); } /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline ComponentCandidate& WithVersionRequirements(const Aws::Map& value) { SetVersionRequirements(value); return *this;} /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline ComponentCandidate& WithVersionRequirements(Aws::Map&& value) { SetVersionRequirements(std::move(value)); return *this;} /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline ComponentCandidate& AddVersionRequirements(const Aws::String& key, const Aws::String& value) { m_versionRequirementsHasBeenSet = true; m_versionRequirements.emplace(key, value); return *this; } /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline ComponentCandidate& AddVersionRequirements(Aws::String&& key, const Aws::String& value) { m_versionRequirementsHasBeenSet = true; m_versionRequirements.emplace(std::move(key), value); return *this; } /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline ComponentCandidate& AddVersionRequirements(const Aws::String& key, Aws::String&& value) { m_versionRequirementsHasBeenSet = true; m_versionRequirements.emplace(key, std::move(value)); return *this; } /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline ComponentCandidate& AddVersionRequirements(Aws::String&& key, Aws::String&& value) { m_versionRequirementsHasBeenSet = true; m_versionRequirements.emplace(std::move(key), std::move(value)); return *this; } /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline ComponentCandidate& AddVersionRequirements(const char* key, Aws::String&& value) { m_versionRequirementsHasBeenSet = true; m_versionRequirements.emplace(key, std::move(value)); return *this; } /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline ComponentCandidate& AddVersionRequirements(Aws::String&& key, const char* value) { m_versionRequirementsHasBeenSet = true; m_versionRequirements.emplace(std::move(key), value); return *this; } /** *

The version requirements for the component's dependencies. Greengrass core * devices get the version requirements from component recipes.

IoT * Greengrass V2 uses semantic version constraints. For more information, see Semantic Versioning.

*/ inline ComponentCandidate& AddVersionRequirements(const char* key, const char* value) { m_versionRequirementsHasBeenSet = true; m_versionRequirements.emplace(key, value); return *this; } private: Aws::String m_componentName; bool m_componentNameHasBeenSet = false; Aws::String m_componentVersion; bool m_componentVersionHasBeenSet = false; Aws::Map m_versionRequirements; bool m_versionRequirementsHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws