1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/greengrassv2/GreengrassV2_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace GreengrassV2 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Contains information about a component version in a list.</p><p><h3>See 28 * Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ComponentVersionListItem">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_GREENGRASSV2_API ComponentVersionListItem 33 { 34 public: 35 ComponentVersionListItem(); 36 ComponentVersionListItem(Aws::Utils::Json::JsonView jsonValue); 37 ComponentVersionListItem& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>The name of the component.</p> 43 */ GetComponentName()44 inline const Aws::String& GetComponentName() const{ return m_componentName; } 45 46 /** 47 * <p>The name of the component.</p> 48 */ ComponentNameHasBeenSet()49 inline bool ComponentNameHasBeenSet() const { return m_componentNameHasBeenSet; } 50 51 /** 52 * <p>The name of the component.</p> 53 */ SetComponentName(const Aws::String & value)54 inline void SetComponentName(const Aws::String& value) { m_componentNameHasBeenSet = true; m_componentName = value; } 55 56 /** 57 * <p>The name of the component.</p> 58 */ SetComponentName(Aws::String && value)59 inline void SetComponentName(Aws::String&& value) { m_componentNameHasBeenSet = true; m_componentName = std::move(value); } 60 61 /** 62 * <p>The name of the component.</p> 63 */ SetComponentName(const char * value)64 inline void SetComponentName(const char* value) { m_componentNameHasBeenSet = true; m_componentName.assign(value); } 65 66 /** 67 * <p>The name of the component.</p> 68 */ WithComponentName(const Aws::String & value)69 inline ComponentVersionListItem& WithComponentName(const Aws::String& value) { SetComponentName(value); return *this;} 70 71 /** 72 * <p>The name of the component.</p> 73 */ WithComponentName(Aws::String && value)74 inline ComponentVersionListItem& WithComponentName(Aws::String&& value) { SetComponentName(std::move(value)); return *this;} 75 76 /** 77 * <p>The name of the component.</p> 78 */ WithComponentName(const char * value)79 inline ComponentVersionListItem& WithComponentName(const char* value) { SetComponentName(value); return *this;} 80 81 82 /** 83 * <p>The version of the component.</p> 84 */ GetComponentVersion()85 inline const Aws::String& GetComponentVersion() const{ return m_componentVersion; } 86 87 /** 88 * <p>The version of the component.</p> 89 */ ComponentVersionHasBeenSet()90 inline bool ComponentVersionHasBeenSet() const { return m_componentVersionHasBeenSet; } 91 92 /** 93 * <p>The version of the component.</p> 94 */ SetComponentVersion(const Aws::String & value)95 inline void SetComponentVersion(const Aws::String& value) { m_componentVersionHasBeenSet = true; m_componentVersion = value; } 96 97 /** 98 * <p>The version of the component.</p> 99 */ SetComponentVersion(Aws::String && value)100 inline void SetComponentVersion(Aws::String&& value) { m_componentVersionHasBeenSet = true; m_componentVersion = std::move(value); } 101 102 /** 103 * <p>The version of the component.</p> 104 */ SetComponentVersion(const char * value)105 inline void SetComponentVersion(const char* value) { m_componentVersionHasBeenSet = true; m_componentVersion.assign(value); } 106 107 /** 108 * <p>The version of the component.</p> 109 */ WithComponentVersion(const Aws::String & value)110 inline ComponentVersionListItem& WithComponentVersion(const Aws::String& value) { SetComponentVersion(value); return *this;} 111 112 /** 113 * <p>The version of the component.</p> 114 */ WithComponentVersion(Aws::String && value)115 inline ComponentVersionListItem& WithComponentVersion(Aws::String&& value) { SetComponentVersion(std::move(value)); return *this;} 116 117 /** 118 * <p>The version of the component.</p> 119 */ WithComponentVersion(const char * value)120 inline ComponentVersionListItem& WithComponentVersion(const char* value) { SetComponentVersion(value); return *this;} 121 122 123 /** 124 * <p>The <a 125 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 126 * of the component version.</p> 127 */ GetArn()128 inline const Aws::String& GetArn() const{ return m_arn; } 129 130 /** 131 * <p>The <a 132 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 133 * of the component version.</p> 134 */ ArnHasBeenSet()135 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } 136 137 /** 138 * <p>The <a 139 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 140 * of the component version.</p> 141 */ SetArn(const Aws::String & value)142 inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } 143 144 /** 145 * <p>The <a 146 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 147 * of the component version.</p> 148 */ SetArn(Aws::String && value)149 inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } 150 151 /** 152 * <p>The <a 153 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 154 * of the component version.</p> 155 */ SetArn(const char * value)156 inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } 157 158 /** 159 * <p>The <a 160 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 161 * of the component version.</p> 162 */ WithArn(const Aws::String & value)163 inline ComponentVersionListItem& WithArn(const Aws::String& value) { SetArn(value); return *this;} 164 165 /** 166 * <p>The <a 167 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 168 * of the component version.</p> 169 */ WithArn(Aws::String && value)170 inline ComponentVersionListItem& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 171 172 /** 173 * <p>The <a 174 * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> 175 * of the component version.</p> 176 */ WithArn(const char * value)177 inline ComponentVersionListItem& WithArn(const char* value) { SetArn(value); return *this;} 178 179 private: 180 181 Aws::String m_componentName; 182 bool m_componentNameHasBeenSet; 183 184 Aws::String m_componentVersion; 185 bool m_componentVersionHasBeenSet; 186 187 Aws::String m_arn; 188 bool m_arnHasBeenSet; 189 }; 190 191 } // namespace Model 192 } // namespace GreengrassV2 193 } // namespace Aws 194