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 <aws/greengrassv2/model/DeploymentStatus.h>
10 #include <aws/core/utils/memory/stl/AWSMap.h>
11 #include <aws/greengrassv2/model/DeploymentPolicies.h>
12 #include <aws/greengrassv2/model/DeploymentIoTJobConfiguration.h>
13 #include <aws/core/utils/DateTime.h>
14 #include <aws/greengrassv2/model/ComponentDeploymentSpecification.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 template<typename RESULT_TYPE>
20 class AmazonWebServiceResult;
21 
22 namespace Utils
23 {
24 namespace Json
25 {
26   class JsonValue;
27 } // namespace Json
28 } // namespace Utils
29 namespace GreengrassV2
30 {
31 namespace Model
32 {
33   class AWS_GREENGRASSV2_API GetDeploymentResult
34   {
35   public:
36     GetDeploymentResult();
37     GetDeploymentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
38     GetDeploymentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
39 
40 
41     /**
42      * <p>The <a
43      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
44      * of the target IoT thing or thing group.</p>
45      */
GetTargetArn()46     inline const Aws::String& GetTargetArn() const{ return m_targetArn; }
47 
48     /**
49      * <p>The <a
50      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
51      * of the target IoT thing or thing group.</p>
52      */
SetTargetArn(const Aws::String & value)53     inline void SetTargetArn(const Aws::String& value) { m_targetArn = value; }
54 
55     /**
56      * <p>The <a
57      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
58      * of the target IoT thing or thing group.</p>
59      */
SetTargetArn(Aws::String && value)60     inline void SetTargetArn(Aws::String&& value) { m_targetArn = std::move(value); }
61 
62     /**
63      * <p>The <a
64      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
65      * of the target IoT thing or thing group.</p>
66      */
SetTargetArn(const char * value)67     inline void SetTargetArn(const char* value) { m_targetArn.assign(value); }
68 
69     /**
70      * <p>The <a
71      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
72      * of the target IoT thing or thing group.</p>
73      */
WithTargetArn(const Aws::String & value)74     inline GetDeploymentResult& WithTargetArn(const Aws::String& value) { SetTargetArn(value); return *this;}
75 
76     /**
77      * <p>The <a
78      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
79      * of the target IoT thing or thing group.</p>
80      */
WithTargetArn(Aws::String && value)81     inline GetDeploymentResult& WithTargetArn(Aws::String&& value) { SetTargetArn(std::move(value)); return *this;}
82 
83     /**
84      * <p>The <a
85      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
86      * of the target IoT thing or thing group.</p>
87      */
WithTargetArn(const char * value)88     inline GetDeploymentResult& WithTargetArn(const char* value) { SetTargetArn(value); return *this;}
89 
90 
91     /**
92      * <p>The revision number of the deployment.</p>
93      */
GetRevisionId()94     inline const Aws::String& GetRevisionId() const{ return m_revisionId; }
95 
96     /**
97      * <p>The revision number of the deployment.</p>
98      */
SetRevisionId(const Aws::String & value)99     inline void SetRevisionId(const Aws::String& value) { m_revisionId = value; }
100 
101     /**
102      * <p>The revision number of the deployment.</p>
103      */
SetRevisionId(Aws::String && value)104     inline void SetRevisionId(Aws::String&& value) { m_revisionId = std::move(value); }
105 
106     /**
107      * <p>The revision number of the deployment.</p>
108      */
SetRevisionId(const char * value)109     inline void SetRevisionId(const char* value) { m_revisionId.assign(value); }
110 
111     /**
112      * <p>The revision number of the deployment.</p>
113      */
WithRevisionId(const Aws::String & value)114     inline GetDeploymentResult& WithRevisionId(const Aws::String& value) { SetRevisionId(value); return *this;}
115 
116     /**
117      * <p>The revision number of the deployment.</p>
118      */
WithRevisionId(Aws::String && value)119     inline GetDeploymentResult& WithRevisionId(Aws::String&& value) { SetRevisionId(std::move(value)); return *this;}
120 
121     /**
122      * <p>The revision number of the deployment.</p>
123      */
WithRevisionId(const char * value)124     inline GetDeploymentResult& WithRevisionId(const char* value) { SetRevisionId(value); return *this;}
125 
126 
127     /**
128      * <p>The ID of the deployment.</p>
129      */
GetDeploymentId()130     inline const Aws::String& GetDeploymentId() const{ return m_deploymentId; }
131 
132     /**
133      * <p>The ID of the deployment.</p>
134      */
SetDeploymentId(const Aws::String & value)135     inline void SetDeploymentId(const Aws::String& value) { m_deploymentId = value; }
136 
137     /**
138      * <p>The ID of the deployment.</p>
139      */
SetDeploymentId(Aws::String && value)140     inline void SetDeploymentId(Aws::String&& value) { m_deploymentId = std::move(value); }
141 
142     /**
143      * <p>The ID of the deployment.</p>
144      */
SetDeploymentId(const char * value)145     inline void SetDeploymentId(const char* value) { m_deploymentId.assign(value); }
146 
147     /**
148      * <p>The ID of the deployment.</p>
149      */
WithDeploymentId(const Aws::String & value)150     inline GetDeploymentResult& WithDeploymentId(const Aws::String& value) { SetDeploymentId(value); return *this;}
151 
152     /**
153      * <p>The ID of the deployment.</p>
154      */
WithDeploymentId(Aws::String && value)155     inline GetDeploymentResult& WithDeploymentId(Aws::String&& value) { SetDeploymentId(std::move(value)); return *this;}
156 
157     /**
158      * <p>The ID of the deployment.</p>
159      */
WithDeploymentId(const char * value)160     inline GetDeploymentResult& WithDeploymentId(const char* value) { SetDeploymentId(value); return *this;}
161 
162 
163     /**
164      * <p>The name of the deployment.</p>
165      */
GetDeploymentName()166     inline const Aws::String& GetDeploymentName() const{ return m_deploymentName; }
167 
168     /**
169      * <p>The name of the deployment.</p>
170      */
SetDeploymentName(const Aws::String & value)171     inline void SetDeploymentName(const Aws::String& value) { m_deploymentName = value; }
172 
173     /**
174      * <p>The name of the deployment.</p>
175      */
SetDeploymentName(Aws::String && value)176     inline void SetDeploymentName(Aws::String&& value) { m_deploymentName = std::move(value); }
177 
178     /**
179      * <p>The name of the deployment.</p>
180      */
SetDeploymentName(const char * value)181     inline void SetDeploymentName(const char* value) { m_deploymentName.assign(value); }
182 
183     /**
184      * <p>The name of the deployment.</p>
185      */
WithDeploymentName(const Aws::String & value)186     inline GetDeploymentResult& WithDeploymentName(const Aws::String& value) { SetDeploymentName(value); return *this;}
187 
188     /**
189      * <p>The name of the deployment.</p>
190      */
WithDeploymentName(Aws::String && value)191     inline GetDeploymentResult& WithDeploymentName(Aws::String&& value) { SetDeploymentName(std::move(value)); return *this;}
192 
193     /**
194      * <p>The name of the deployment.</p>
195      */
WithDeploymentName(const char * value)196     inline GetDeploymentResult& WithDeploymentName(const char* value) { SetDeploymentName(value); return *this;}
197 
198 
199     /**
200      * <p>The status of the deployment.</p>
201      */
GetDeploymentStatus()202     inline const DeploymentStatus& GetDeploymentStatus() const{ return m_deploymentStatus; }
203 
204     /**
205      * <p>The status of the deployment.</p>
206      */
SetDeploymentStatus(const DeploymentStatus & value)207     inline void SetDeploymentStatus(const DeploymentStatus& value) { m_deploymentStatus = value; }
208 
209     /**
210      * <p>The status of the deployment.</p>
211      */
SetDeploymentStatus(DeploymentStatus && value)212     inline void SetDeploymentStatus(DeploymentStatus&& value) { m_deploymentStatus = std::move(value); }
213 
214     /**
215      * <p>The status of the deployment.</p>
216      */
WithDeploymentStatus(const DeploymentStatus & value)217     inline GetDeploymentResult& WithDeploymentStatus(const DeploymentStatus& value) { SetDeploymentStatus(value); return *this;}
218 
219     /**
220      * <p>The status of the deployment.</p>
221      */
WithDeploymentStatus(DeploymentStatus && value)222     inline GetDeploymentResult& WithDeploymentStatus(DeploymentStatus&& value) { SetDeploymentStatus(std::move(value)); return *this;}
223 
224 
225     /**
226      * <p>The ID of the IoT job that applies the deployment to target devices.</p>
227      */
GetIotJobId()228     inline const Aws::String& GetIotJobId() const{ return m_iotJobId; }
229 
230     /**
231      * <p>The ID of the IoT job that applies the deployment to target devices.</p>
232      */
SetIotJobId(const Aws::String & value)233     inline void SetIotJobId(const Aws::String& value) { m_iotJobId = value; }
234 
235     /**
236      * <p>The ID of the IoT job that applies the deployment to target devices.</p>
237      */
SetIotJobId(Aws::String && value)238     inline void SetIotJobId(Aws::String&& value) { m_iotJobId = std::move(value); }
239 
240     /**
241      * <p>The ID of the IoT job that applies the deployment to target devices.</p>
242      */
SetIotJobId(const char * value)243     inline void SetIotJobId(const char* value) { m_iotJobId.assign(value); }
244 
245     /**
246      * <p>The ID of the IoT job that applies the deployment to target devices.</p>
247      */
WithIotJobId(const Aws::String & value)248     inline GetDeploymentResult& WithIotJobId(const Aws::String& value) { SetIotJobId(value); return *this;}
249 
250     /**
251      * <p>The ID of the IoT job that applies the deployment to target devices.</p>
252      */
WithIotJobId(Aws::String && value)253     inline GetDeploymentResult& WithIotJobId(Aws::String&& value) { SetIotJobId(std::move(value)); return *this;}
254 
255     /**
256      * <p>The ID of the IoT job that applies the deployment to target devices.</p>
257      */
WithIotJobId(const char * value)258     inline GetDeploymentResult& WithIotJobId(const char* value) { SetIotJobId(value); return *this;}
259 
260 
261     /**
262      * <p>The <a
263      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
264      * of the IoT job that applies the deployment to target devices.</p>
265      */
GetIotJobArn()266     inline const Aws::String& GetIotJobArn() const{ return m_iotJobArn; }
267 
268     /**
269      * <p>The <a
270      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
271      * of the IoT job that applies the deployment to target devices.</p>
272      */
SetIotJobArn(const Aws::String & value)273     inline void SetIotJobArn(const Aws::String& value) { m_iotJobArn = value; }
274 
275     /**
276      * <p>The <a
277      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
278      * of the IoT job that applies the deployment to target devices.</p>
279      */
SetIotJobArn(Aws::String && value)280     inline void SetIotJobArn(Aws::String&& value) { m_iotJobArn = std::move(value); }
281 
282     /**
283      * <p>The <a
284      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
285      * of the IoT job that applies the deployment to target devices.</p>
286      */
SetIotJobArn(const char * value)287     inline void SetIotJobArn(const char* value) { m_iotJobArn.assign(value); }
288 
289     /**
290      * <p>The <a
291      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
292      * of the IoT job that applies the deployment to target devices.</p>
293      */
WithIotJobArn(const Aws::String & value)294     inline GetDeploymentResult& WithIotJobArn(const Aws::String& value) { SetIotJobArn(value); return *this;}
295 
296     /**
297      * <p>The <a
298      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
299      * of the IoT job that applies the deployment to target devices.</p>
300      */
WithIotJobArn(Aws::String && value)301     inline GetDeploymentResult& WithIotJobArn(Aws::String&& value) { SetIotJobArn(std::move(value)); return *this;}
302 
303     /**
304      * <p>The <a
305      * href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>
306      * of the IoT job that applies the deployment to target devices.</p>
307      */
WithIotJobArn(const char * value)308     inline GetDeploymentResult& WithIotJobArn(const char* value) { SetIotJobArn(value); return *this;}
309 
310 
311     /**
312      * <p>The components to deploy. This is a dictionary, where each key is the name of
313      * a component, and each key's value is the version and configuration to deploy for
314      * that component.</p>
315      */
GetComponents()316     inline const Aws::Map<Aws::String, ComponentDeploymentSpecification>& GetComponents() const{ return m_components; }
317 
318     /**
319      * <p>The components to deploy. This is a dictionary, where each key is the name of
320      * a component, and each key's value is the version and configuration to deploy for
321      * that component.</p>
322      */
SetComponents(const Aws::Map<Aws::String,ComponentDeploymentSpecification> & value)323     inline void SetComponents(const Aws::Map<Aws::String, ComponentDeploymentSpecification>& value) { m_components = value; }
324 
325     /**
326      * <p>The components to deploy. This is a dictionary, where each key is the name of
327      * a component, and each key's value is the version and configuration to deploy for
328      * that component.</p>
329      */
SetComponents(Aws::Map<Aws::String,ComponentDeploymentSpecification> && value)330     inline void SetComponents(Aws::Map<Aws::String, ComponentDeploymentSpecification>&& value) { m_components = std::move(value); }
331 
332     /**
333      * <p>The components to deploy. This is a dictionary, where each key is the name of
334      * a component, and each key's value is the version and configuration to deploy for
335      * that component.</p>
336      */
WithComponents(const Aws::Map<Aws::String,ComponentDeploymentSpecification> & value)337     inline GetDeploymentResult& WithComponents(const Aws::Map<Aws::String, ComponentDeploymentSpecification>& value) { SetComponents(value); return *this;}
338 
339     /**
340      * <p>The components to deploy. This is a dictionary, where each key is the name of
341      * a component, and each key's value is the version and configuration to deploy for
342      * that component.</p>
343      */
WithComponents(Aws::Map<Aws::String,ComponentDeploymentSpecification> && value)344     inline GetDeploymentResult& WithComponents(Aws::Map<Aws::String, ComponentDeploymentSpecification>&& value) { SetComponents(std::move(value)); return *this;}
345 
346     /**
347      * <p>The components to deploy. This is a dictionary, where each key is the name of
348      * a component, and each key's value is the version and configuration to deploy for
349      * that component.</p>
350      */
AddComponents(const Aws::String & key,const ComponentDeploymentSpecification & value)351     inline GetDeploymentResult& AddComponents(const Aws::String& key, const ComponentDeploymentSpecification& value) { m_components.emplace(key, value); return *this; }
352 
353     /**
354      * <p>The components to deploy. This is a dictionary, where each key is the name of
355      * a component, and each key's value is the version and configuration to deploy for
356      * that component.</p>
357      */
AddComponents(Aws::String && key,const ComponentDeploymentSpecification & value)358     inline GetDeploymentResult& AddComponents(Aws::String&& key, const ComponentDeploymentSpecification& value) { m_components.emplace(std::move(key), value); return *this; }
359 
360     /**
361      * <p>The components to deploy. This is a dictionary, where each key is the name of
362      * a component, and each key's value is the version and configuration to deploy for
363      * that component.</p>
364      */
AddComponents(const Aws::String & key,ComponentDeploymentSpecification && value)365     inline GetDeploymentResult& AddComponents(const Aws::String& key, ComponentDeploymentSpecification&& value) { m_components.emplace(key, std::move(value)); return *this; }
366 
367     /**
368      * <p>The components to deploy. This is a dictionary, where each key is the name of
369      * a component, and each key's value is the version and configuration to deploy for
370      * that component.</p>
371      */
AddComponents(Aws::String && key,ComponentDeploymentSpecification && value)372     inline GetDeploymentResult& AddComponents(Aws::String&& key, ComponentDeploymentSpecification&& value) { m_components.emplace(std::move(key), std::move(value)); return *this; }
373 
374     /**
375      * <p>The components to deploy. This is a dictionary, where each key is the name of
376      * a component, and each key's value is the version and configuration to deploy for
377      * that component.</p>
378      */
AddComponents(const char * key,ComponentDeploymentSpecification && value)379     inline GetDeploymentResult& AddComponents(const char* key, ComponentDeploymentSpecification&& value) { m_components.emplace(key, std::move(value)); return *this; }
380 
381     /**
382      * <p>The components to deploy. This is a dictionary, where each key is the name of
383      * a component, and each key's value is the version and configuration to deploy for
384      * that component.</p>
385      */
AddComponents(const char * key,const ComponentDeploymentSpecification & value)386     inline GetDeploymentResult& AddComponents(const char* key, const ComponentDeploymentSpecification& value) { m_components.emplace(key, value); return *this; }
387 
388 
389     /**
390      * <p>The deployment policies for the deployment. These policies define how the
391      * deployment updates components and handles failure.</p>
392      */
GetDeploymentPolicies()393     inline const DeploymentPolicies& GetDeploymentPolicies() const{ return m_deploymentPolicies; }
394 
395     /**
396      * <p>The deployment policies for the deployment. These policies define how the
397      * deployment updates components and handles failure.</p>
398      */
SetDeploymentPolicies(const DeploymentPolicies & value)399     inline void SetDeploymentPolicies(const DeploymentPolicies& value) { m_deploymentPolicies = value; }
400 
401     /**
402      * <p>The deployment policies for the deployment. These policies define how the
403      * deployment updates components and handles failure.</p>
404      */
SetDeploymentPolicies(DeploymentPolicies && value)405     inline void SetDeploymentPolicies(DeploymentPolicies&& value) { m_deploymentPolicies = std::move(value); }
406 
407     /**
408      * <p>The deployment policies for the deployment. These policies define how the
409      * deployment updates components and handles failure.</p>
410      */
WithDeploymentPolicies(const DeploymentPolicies & value)411     inline GetDeploymentResult& WithDeploymentPolicies(const DeploymentPolicies& value) { SetDeploymentPolicies(value); return *this;}
412 
413     /**
414      * <p>The deployment policies for the deployment. These policies define how the
415      * deployment updates components and handles failure.</p>
416      */
WithDeploymentPolicies(DeploymentPolicies && value)417     inline GetDeploymentResult& WithDeploymentPolicies(DeploymentPolicies&& value) { SetDeploymentPolicies(std::move(value)); return *this;}
418 
419 
420     /**
421      * <p>The job configuration for the deployment configuration. The job configuration
422      * specifies the rollout, timeout, and stop configurations for the deployment
423      * configuration.</p>
424      */
GetIotJobConfiguration()425     inline const DeploymentIoTJobConfiguration& GetIotJobConfiguration() const{ return m_iotJobConfiguration; }
426 
427     /**
428      * <p>The job configuration for the deployment configuration. The job configuration
429      * specifies the rollout, timeout, and stop configurations for the deployment
430      * configuration.</p>
431      */
SetIotJobConfiguration(const DeploymentIoTJobConfiguration & value)432     inline void SetIotJobConfiguration(const DeploymentIoTJobConfiguration& value) { m_iotJobConfiguration = value; }
433 
434     /**
435      * <p>The job configuration for the deployment configuration. The job configuration
436      * specifies the rollout, timeout, and stop configurations for the deployment
437      * configuration.</p>
438      */
SetIotJobConfiguration(DeploymentIoTJobConfiguration && value)439     inline void SetIotJobConfiguration(DeploymentIoTJobConfiguration&& value) { m_iotJobConfiguration = std::move(value); }
440 
441     /**
442      * <p>The job configuration for the deployment configuration. The job configuration
443      * specifies the rollout, timeout, and stop configurations for the deployment
444      * configuration.</p>
445      */
WithIotJobConfiguration(const DeploymentIoTJobConfiguration & value)446     inline GetDeploymentResult& WithIotJobConfiguration(const DeploymentIoTJobConfiguration& value) { SetIotJobConfiguration(value); return *this;}
447 
448     /**
449      * <p>The job configuration for the deployment configuration. The job configuration
450      * specifies the rollout, timeout, and stop configurations for the deployment
451      * configuration.</p>
452      */
WithIotJobConfiguration(DeploymentIoTJobConfiguration && value)453     inline GetDeploymentResult& WithIotJobConfiguration(DeploymentIoTJobConfiguration&& value) { SetIotJobConfiguration(std::move(value)); return *this;}
454 
455 
456     /**
457      * <p>The time at which the deployment was created, expressed in ISO 8601
458      * format.</p>
459      */
GetCreationTimestamp()460     inline const Aws::Utils::DateTime& GetCreationTimestamp() const{ return m_creationTimestamp; }
461 
462     /**
463      * <p>The time at which the deployment was created, expressed in ISO 8601
464      * format.</p>
465      */
SetCreationTimestamp(const Aws::Utils::DateTime & value)466     inline void SetCreationTimestamp(const Aws::Utils::DateTime& value) { m_creationTimestamp = value; }
467 
468     /**
469      * <p>The time at which the deployment was created, expressed in ISO 8601
470      * format.</p>
471      */
SetCreationTimestamp(Aws::Utils::DateTime && value)472     inline void SetCreationTimestamp(Aws::Utils::DateTime&& value) { m_creationTimestamp = std::move(value); }
473 
474     /**
475      * <p>The time at which the deployment was created, expressed in ISO 8601
476      * format.</p>
477      */
WithCreationTimestamp(const Aws::Utils::DateTime & value)478     inline GetDeploymentResult& WithCreationTimestamp(const Aws::Utils::DateTime& value) { SetCreationTimestamp(value); return *this;}
479 
480     /**
481      * <p>The time at which the deployment was created, expressed in ISO 8601
482      * format.</p>
483      */
WithCreationTimestamp(Aws::Utils::DateTime && value)484     inline GetDeploymentResult& WithCreationTimestamp(Aws::Utils::DateTime&& value) { SetCreationTimestamp(std::move(value)); return *this;}
485 
486 
487     /**
488      * <p>Whether or not the deployment is the latest revision for its target.</p>
489      */
GetIsLatestForTarget()490     inline bool GetIsLatestForTarget() const{ return m_isLatestForTarget; }
491 
492     /**
493      * <p>Whether or not the deployment is the latest revision for its target.</p>
494      */
SetIsLatestForTarget(bool value)495     inline void SetIsLatestForTarget(bool value) { m_isLatestForTarget = value; }
496 
497     /**
498      * <p>Whether or not the deployment is the latest revision for its target.</p>
499      */
WithIsLatestForTarget(bool value)500     inline GetDeploymentResult& WithIsLatestForTarget(bool value) { SetIsLatestForTarget(value); return *this;}
501 
502 
503     /**
504      * <p>A list of key-value pairs that contain metadata for the resource. For more
505      * information, see <a
506      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
507      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
508      */
GetTags()509     inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
510 
511     /**
512      * <p>A list of key-value pairs that contain metadata for the resource. For more
513      * information, see <a
514      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
515      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
516      */
SetTags(const Aws::Map<Aws::String,Aws::String> & value)517     inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
518 
519     /**
520      * <p>A list of key-value pairs that contain metadata for the resource. For more
521      * information, see <a
522      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
523      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
524      */
SetTags(Aws::Map<Aws::String,Aws::String> && value)525     inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
526 
527     /**
528      * <p>A list of key-value pairs that contain metadata for the resource. For more
529      * information, see <a
530      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
531      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
532      */
WithTags(const Aws::Map<Aws::String,Aws::String> & value)533     inline GetDeploymentResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
534 
535     /**
536      * <p>A list of key-value pairs that contain metadata for the resource. For more
537      * information, see <a
538      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
539      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
540      */
WithTags(Aws::Map<Aws::String,Aws::String> && value)541     inline GetDeploymentResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
542 
543     /**
544      * <p>A list of key-value pairs that contain metadata for the resource. For more
545      * information, see <a
546      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
547      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
548      */
AddTags(const Aws::String & key,const Aws::String & value)549     inline GetDeploymentResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
550 
551     /**
552      * <p>A list of key-value pairs that contain metadata for the resource. For more
553      * information, see <a
554      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
555      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
556      */
AddTags(Aws::String && key,const Aws::String & value)557     inline GetDeploymentResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
558 
559     /**
560      * <p>A list of key-value pairs that contain metadata for the resource. For more
561      * information, see <a
562      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
563      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
564      */
AddTags(const Aws::String & key,Aws::String && value)565     inline GetDeploymentResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
566 
567     /**
568      * <p>A list of key-value pairs that contain metadata for the resource. For more
569      * information, see <a
570      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
571      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
572      */
AddTags(Aws::String && key,Aws::String && value)573     inline GetDeploymentResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
574 
575     /**
576      * <p>A list of key-value pairs that contain metadata for the resource. For more
577      * information, see <a
578      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
579      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
580      */
AddTags(const char * key,Aws::String && value)581     inline GetDeploymentResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
582 
583     /**
584      * <p>A list of key-value pairs that contain metadata for the resource. For more
585      * information, see <a
586      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
587      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
588      */
AddTags(Aws::String && key,const char * value)589     inline GetDeploymentResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
590 
591     /**
592      * <p>A list of key-value pairs that contain metadata for the resource. For more
593      * information, see <a
594      * href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag
595      * your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
596      */
AddTags(const char * key,const char * value)597     inline GetDeploymentResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
598 
599   private:
600 
601     Aws::String m_targetArn;
602 
603     Aws::String m_revisionId;
604 
605     Aws::String m_deploymentId;
606 
607     Aws::String m_deploymentName;
608 
609     DeploymentStatus m_deploymentStatus;
610 
611     Aws::String m_iotJobId;
612 
613     Aws::String m_iotJobArn;
614 
615     Aws::Map<Aws::String, ComponentDeploymentSpecification> m_components;
616 
617     DeploymentPolicies m_deploymentPolicies;
618 
619     DeploymentIoTJobConfiguration m_iotJobConfiguration;
620 
621     Aws::Utils::DateTime m_creationTimestamp;
622 
623     bool m_isLatestForTarget;
624 
625     Aws::Map<Aws::String, Aws::String> m_tags;
626   };
627 
628 } // namespace Model
629 } // namespace GreengrassV2
630 } // namespace Aws
631