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