/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains information about a component that is a candidate to deploy to a
* Greengrass core device.See Also:
AWS
* API Reference
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::MapThe 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::MapThe 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::MapThe 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::MapThe 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::MapThe 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