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/ssm/SSM_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/ssm/model/PingStatus.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/ssm/model/PlatformType.h>
12 #include <aws/ssm/model/ResourceType.h>
13 #include <aws/ssm/model/InstanceAggregatedAssociationOverview.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23   class JsonView;
24 } // namespace Json
25 } // namespace Utils
26 namespace SSM
27 {
28 namespace Model
29 {
30 
31   /**
32    * <p>Describes a filter for a specific list of instances. </p><p><h3>See
33    * Also:</h3>   <a
34    * href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/InstanceInformation">AWS
35    * API Reference</a></p>
36    */
37   class AWS_SSM_API InstanceInformation
38   {
39   public:
40     InstanceInformation();
41     InstanceInformation(Aws::Utils::Json::JsonView jsonValue);
42     InstanceInformation& operator=(Aws::Utils::Json::JsonView jsonValue);
43     Aws::Utils::Json::JsonValue Jsonize() const;
44 
45 
46     /**
47      * <p>The instance ID. </p>
48      */
GetInstanceId()49     inline const Aws::String& GetInstanceId() const{ return m_instanceId; }
50 
51     /**
52      * <p>The instance ID. </p>
53      */
InstanceIdHasBeenSet()54     inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
55 
56     /**
57      * <p>The instance ID. </p>
58      */
SetInstanceId(const Aws::String & value)59     inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; }
60 
61     /**
62      * <p>The instance ID. </p>
63      */
SetInstanceId(Aws::String && value)64     inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); }
65 
66     /**
67      * <p>The instance ID. </p>
68      */
SetInstanceId(const char * value)69     inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); }
70 
71     /**
72      * <p>The instance ID. </p>
73      */
WithInstanceId(const Aws::String & value)74     inline InstanceInformation& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
75 
76     /**
77      * <p>The instance ID. </p>
78      */
WithInstanceId(Aws::String && value)79     inline InstanceInformation& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;}
80 
81     /**
82      * <p>The instance ID. </p>
83      */
WithInstanceId(const char * value)84     inline InstanceInformation& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
85 
86 
87     /**
88      * <p>Connection status of SSM Agent. </p>  <p>The status
89      * <code>Inactive</code> has been deprecated and is no longer in use.</p>
90      */
GetPingStatus()91     inline const PingStatus& GetPingStatus() const{ return m_pingStatus; }
92 
93     /**
94      * <p>Connection status of SSM Agent. </p>  <p>The status
95      * <code>Inactive</code> has been deprecated and is no longer in use.</p>
96      */
PingStatusHasBeenSet()97     inline bool PingStatusHasBeenSet() const { return m_pingStatusHasBeenSet; }
98 
99     /**
100      * <p>Connection status of SSM Agent. </p>  <p>The status
101      * <code>Inactive</code> has been deprecated and is no longer in use.</p>
102      */
SetPingStatus(const PingStatus & value)103     inline void SetPingStatus(const PingStatus& value) { m_pingStatusHasBeenSet = true; m_pingStatus = value; }
104 
105     /**
106      * <p>Connection status of SSM Agent. </p>  <p>The status
107      * <code>Inactive</code> has been deprecated and is no longer in use.</p>
108      */
SetPingStatus(PingStatus && value)109     inline void SetPingStatus(PingStatus&& value) { m_pingStatusHasBeenSet = true; m_pingStatus = std::move(value); }
110 
111     /**
112      * <p>Connection status of SSM Agent. </p>  <p>The status
113      * <code>Inactive</code> has been deprecated and is no longer in use.</p>
114      */
WithPingStatus(const PingStatus & value)115     inline InstanceInformation& WithPingStatus(const PingStatus& value) { SetPingStatus(value); return *this;}
116 
117     /**
118      * <p>Connection status of SSM Agent. </p>  <p>The status
119      * <code>Inactive</code> has been deprecated and is no longer in use.</p>
120      */
WithPingStatus(PingStatus && value)121     inline InstanceInformation& WithPingStatus(PingStatus&& value) { SetPingStatus(std::move(value)); return *this;}
122 
123 
124     /**
125      * <p>The date and time when the agent last pinged the Systems Manager service.
126      * </p>
127      */
GetLastPingDateTime()128     inline const Aws::Utils::DateTime& GetLastPingDateTime() const{ return m_lastPingDateTime; }
129 
130     /**
131      * <p>The date and time when the agent last pinged the Systems Manager service.
132      * </p>
133      */
LastPingDateTimeHasBeenSet()134     inline bool LastPingDateTimeHasBeenSet() const { return m_lastPingDateTimeHasBeenSet; }
135 
136     /**
137      * <p>The date and time when the agent last pinged the Systems Manager service.
138      * </p>
139      */
SetLastPingDateTime(const Aws::Utils::DateTime & value)140     inline void SetLastPingDateTime(const Aws::Utils::DateTime& value) { m_lastPingDateTimeHasBeenSet = true; m_lastPingDateTime = value; }
141 
142     /**
143      * <p>The date and time when the agent last pinged the Systems Manager service.
144      * </p>
145      */
SetLastPingDateTime(Aws::Utils::DateTime && value)146     inline void SetLastPingDateTime(Aws::Utils::DateTime&& value) { m_lastPingDateTimeHasBeenSet = true; m_lastPingDateTime = std::move(value); }
147 
148     /**
149      * <p>The date and time when the agent last pinged the Systems Manager service.
150      * </p>
151      */
WithLastPingDateTime(const Aws::Utils::DateTime & value)152     inline InstanceInformation& WithLastPingDateTime(const Aws::Utils::DateTime& value) { SetLastPingDateTime(value); return *this;}
153 
154     /**
155      * <p>The date and time when the agent last pinged the Systems Manager service.
156      * </p>
157      */
WithLastPingDateTime(Aws::Utils::DateTime && value)158     inline InstanceInformation& WithLastPingDateTime(Aws::Utils::DateTime&& value) { SetLastPingDateTime(std::move(value)); return *this;}
159 
160 
161     /**
162      * <p>The version of SSM Agent running on your Linux instance. </p>
163      */
GetAgentVersion()164     inline const Aws::String& GetAgentVersion() const{ return m_agentVersion; }
165 
166     /**
167      * <p>The version of SSM Agent running on your Linux instance. </p>
168      */
AgentVersionHasBeenSet()169     inline bool AgentVersionHasBeenSet() const { return m_agentVersionHasBeenSet; }
170 
171     /**
172      * <p>The version of SSM Agent running on your Linux instance. </p>
173      */
SetAgentVersion(const Aws::String & value)174     inline void SetAgentVersion(const Aws::String& value) { m_agentVersionHasBeenSet = true; m_agentVersion = value; }
175 
176     /**
177      * <p>The version of SSM Agent running on your Linux instance. </p>
178      */
SetAgentVersion(Aws::String && value)179     inline void SetAgentVersion(Aws::String&& value) { m_agentVersionHasBeenSet = true; m_agentVersion = std::move(value); }
180 
181     /**
182      * <p>The version of SSM Agent running on your Linux instance. </p>
183      */
SetAgentVersion(const char * value)184     inline void SetAgentVersion(const char* value) { m_agentVersionHasBeenSet = true; m_agentVersion.assign(value); }
185 
186     /**
187      * <p>The version of SSM Agent running on your Linux instance. </p>
188      */
WithAgentVersion(const Aws::String & value)189     inline InstanceInformation& WithAgentVersion(const Aws::String& value) { SetAgentVersion(value); return *this;}
190 
191     /**
192      * <p>The version of SSM Agent running on your Linux instance. </p>
193      */
WithAgentVersion(Aws::String && value)194     inline InstanceInformation& WithAgentVersion(Aws::String&& value) { SetAgentVersion(std::move(value)); return *this;}
195 
196     /**
197      * <p>The version of SSM Agent running on your Linux instance. </p>
198      */
WithAgentVersion(const char * value)199     inline InstanceInformation& WithAgentVersion(const char* value) { SetAgentVersion(value); return *this;}
200 
201 
202     /**
203      * <p>Indicates whether the latest version of SSM Agent is running on your Linux
204      * Managed Instance. This field doesn't indicate whether or not the latest version
205      * is installed on Windows managed instances, because some older versions of
206      * Windows Server use the EC2Config service to process Systems Manager
207      * requests.</p>
208      */
GetIsLatestVersion()209     inline bool GetIsLatestVersion() const{ return m_isLatestVersion; }
210 
211     /**
212      * <p>Indicates whether the latest version of SSM Agent is running on your Linux
213      * Managed Instance. This field doesn't indicate whether or not the latest version
214      * is installed on Windows managed instances, because some older versions of
215      * Windows Server use the EC2Config service to process Systems Manager
216      * requests.</p>
217      */
IsLatestVersionHasBeenSet()218     inline bool IsLatestVersionHasBeenSet() const { return m_isLatestVersionHasBeenSet; }
219 
220     /**
221      * <p>Indicates whether the latest version of SSM Agent is running on your Linux
222      * Managed Instance. This field doesn't indicate whether or not the latest version
223      * is installed on Windows managed instances, because some older versions of
224      * Windows Server use the EC2Config service to process Systems Manager
225      * requests.</p>
226      */
SetIsLatestVersion(bool value)227     inline void SetIsLatestVersion(bool value) { m_isLatestVersionHasBeenSet = true; m_isLatestVersion = value; }
228 
229     /**
230      * <p>Indicates whether the latest version of SSM Agent is running on your Linux
231      * Managed Instance. This field doesn't indicate whether or not the latest version
232      * is installed on Windows managed instances, because some older versions of
233      * Windows Server use the EC2Config service to process Systems Manager
234      * requests.</p>
235      */
WithIsLatestVersion(bool value)236     inline InstanceInformation& WithIsLatestVersion(bool value) { SetIsLatestVersion(value); return *this;}
237 
238 
239     /**
240      * <p>The operating system platform type. </p>
241      */
GetPlatformType()242     inline const PlatformType& GetPlatformType() const{ return m_platformType; }
243 
244     /**
245      * <p>The operating system platform type. </p>
246      */
PlatformTypeHasBeenSet()247     inline bool PlatformTypeHasBeenSet() const { return m_platformTypeHasBeenSet; }
248 
249     /**
250      * <p>The operating system platform type. </p>
251      */
SetPlatformType(const PlatformType & value)252     inline void SetPlatformType(const PlatformType& value) { m_platformTypeHasBeenSet = true; m_platformType = value; }
253 
254     /**
255      * <p>The operating system platform type. </p>
256      */
SetPlatformType(PlatformType && value)257     inline void SetPlatformType(PlatformType&& value) { m_platformTypeHasBeenSet = true; m_platformType = std::move(value); }
258 
259     /**
260      * <p>The operating system platform type. </p>
261      */
WithPlatformType(const PlatformType & value)262     inline InstanceInformation& WithPlatformType(const PlatformType& value) { SetPlatformType(value); return *this;}
263 
264     /**
265      * <p>The operating system platform type. </p>
266      */
WithPlatformType(PlatformType && value)267     inline InstanceInformation& WithPlatformType(PlatformType&& value) { SetPlatformType(std::move(value)); return *this;}
268 
269 
270     /**
271      * <p>The name of the operating system platform running on your instance. </p>
272      */
GetPlatformName()273     inline const Aws::String& GetPlatformName() const{ return m_platformName; }
274 
275     /**
276      * <p>The name of the operating system platform running on your instance. </p>
277      */
PlatformNameHasBeenSet()278     inline bool PlatformNameHasBeenSet() const { return m_platformNameHasBeenSet; }
279 
280     /**
281      * <p>The name of the operating system platform running on your instance. </p>
282      */
SetPlatformName(const Aws::String & value)283     inline void SetPlatformName(const Aws::String& value) { m_platformNameHasBeenSet = true; m_platformName = value; }
284 
285     /**
286      * <p>The name of the operating system platform running on your instance. </p>
287      */
SetPlatformName(Aws::String && value)288     inline void SetPlatformName(Aws::String&& value) { m_platformNameHasBeenSet = true; m_platformName = std::move(value); }
289 
290     /**
291      * <p>The name of the operating system platform running on your instance. </p>
292      */
SetPlatformName(const char * value)293     inline void SetPlatformName(const char* value) { m_platformNameHasBeenSet = true; m_platformName.assign(value); }
294 
295     /**
296      * <p>The name of the operating system platform running on your instance. </p>
297      */
WithPlatformName(const Aws::String & value)298     inline InstanceInformation& WithPlatformName(const Aws::String& value) { SetPlatformName(value); return *this;}
299 
300     /**
301      * <p>The name of the operating system platform running on your instance. </p>
302      */
WithPlatformName(Aws::String && value)303     inline InstanceInformation& WithPlatformName(Aws::String&& value) { SetPlatformName(std::move(value)); return *this;}
304 
305     /**
306      * <p>The name of the operating system platform running on your instance. </p>
307      */
WithPlatformName(const char * value)308     inline InstanceInformation& WithPlatformName(const char* value) { SetPlatformName(value); return *this;}
309 
310 
311     /**
312      * <p>The version of the OS platform running on your instance. </p>
313      */
GetPlatformVersion()314     inline const Aws::String& GetPlatformVersion() const{ return m_platformVersion; }
315 
316     /**
317      * <p>The version of the OS platform running on your instance. </p>
318      */
PlatformVersionHasBeenSet()319     inline bool PlatformVersionHasBeenSet() const { return m_platformVersionHasBeenSet; }
320 
321     /**
322      * <p>The version of the OS platform running on your instance. </p>
323      */
SetPlatformVersion(const Aws::String & value)324     inline void SetPlatformVersion(const Aws::String& value) { m_platformVersionHasBeenSet = true; m_platformVersion = value; }
325 
326     /**
327      * <p>The version of the OS platform running on your instance. </p>
328      */
SetPlatformVersion(Aws::String && value)329     inline void SetPlatformVersion(Aws::String&& value) { m_platformVersionHasBeenSet = true; m_platformVersion = std::move(value); }
330 
331     /**
332      * <p>The version of the OS platform running on your instance. </p>
333      */
SetPlatformVersion(const char * value)334     inline void SetPlatformVersion(const char* value) { m_platformVersionHasBeenSet = true; m_platformVersion.assign(value); }
335 
336     /**
337      * <p>The version of the OS platform running on your instance. </p>
338      */
WithPlatformVersion(const Aws::String & value)339     inline InstanceInformation& WithPlatformVersion(const Aws::String& value) { SetPlatformVersion(value); return *this;}
340 
341     /**
342      * <p>The version of the OS platform running on your instance. </p>
343      */
WithPlatformVersion(Aws::String && value)344     inline InstanceInformation& WithPlatformVersion(Aws::String&& value) { SetPlatformVersion(std::move(value)); return *this;}
345 
346     /**
347      * <p>The version of the OS platform running on your instance. </p>
348      */
WithPlatformVersion(const char * value)349     inline InstanceInformation& WithPlatformVersion(const char* value) { SetPlatformVersion(value); return *this;}
350 
351 
352     /**
353      * <p>The activation ID created by Amazon Web Services Systems Manager when the
354      * server or virtual machine (VM) was registered.</p>
355      */
GetActivationId()356     inline const Aws::String& GetActivationId() const{ return m_activationId; }
357 
358     /**
359      * <p>The activation ID created by Amazon Web Services Systems Manager when the
360      * server or virtual machine (VM) was registered.</p>
361      */
ActivationIdHasBeenSet()362     inline bool ActivationIdHasBeenSet() const { return m_activationIdHasBeenSet; }
363 
364     /**
365      * <p>The activation ID created by Amazon Web Services Systems Manager when the
366      * server or virtual machine (VM) was registered.</p>
367      */
SetActivationId(const Aws::String & value)368     inline void SetActivationId(const Aws::String& value) { m_activationIdHasBeenSet = true; m_activationId = value; }
369 
370     /**
371      * <p>The activation ID created by Amazon Web Services Systems Manager when the
372      * server or virtual machine (VM) was registered.</p>
373      */
SetActivationId(Aws::String && value)374     inline void SetActivationId(Aws::String&& value) { m_activationIdHasBeenSet = true; m_activationId = std::move(value); }
375 
376     /**
377      * <p>The activation ID created by Amazon Web Services Systems Manager when the
378      * server or virtual machine (VM) was registered.</p>
379      */
SetActivationId(const char * value)380     inline void SetActivationId(const char* value) { m_activationIdHasBeenSet = true; m_activationId.assign(value); }
381 
382     /**
383      * <p>The activation ID created by Amazon Web Services Systems Manager when the
384      * server or virtual machine (VM) was registered.</p>
385      */
WithActivationId(const Aws::String & value)386     inline InstanceInformation& WithActivationId(const Aws::String& value) { SetActivationId(value); return *this;}
387 
388     /**
389      * <p>The activation ID created by Amazon Web Services Systems Manager when the
390      * server or virtual machine (VM) was registered.</p>
391      */
WithActivationId(Aws::String && value)392     inline InstanceInformation& WithActivationId(Aws::String&& value) { SetActivationId(std::move(value)); return *this;}
393 
394     /**
395      * <p>The activation ID created by Amazon Web Services Systems Manager when the
396      * server or virtual machine (VM) was registered.</p>
397      */
WithActivationId(const char * value)398     inline InstanceInformation& WithActivationId(const char* value) { SetActivationId(value); return *this;}
399 
400 
401     /**
402      * <p>The Identity and Access Management (IAM) role assigned to the on-premises
403      * Systems Manager managed instance. This call doesn't return the IAM role for
404      * Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role
405      * for an EC2 instance, use the Amazon EC2 <code>DescribeInstances</code>
406      * operation. For information, see <a
407      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
408      * in the <i>Amazon EC2 API Reference</i> or <a
409      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
410      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
411      */
GetIamRole()412     inline const Aws::String& GetIamRole() const{ return m_iamRole; }
413 
414     /**
415      * <p>The Identity and Access Management (IAM) role assigned to the on-premises
416      * Systems Manager managed instance. This call doesn't return the IAM role for
417      * Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role
418      * for an EC2 instance, use the Amazon EC2 <code>DescribeInstances</code>
419      * operation. For information, see <a
420      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
421      * in the <i>Amazon EC2 API Reference</i> or <a
422      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
423      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
424      */
IamRoleHasBeenSet()425     inline bool IamRoleHasBeenSet() const { return m_iamRoleHasBeenSet; }
426 
427     /**
428      * <p>The Identity and Access Management (IAM) role assigned to the on-premises
429      * Systems Manager managed instance. This call doesn't return the IAM role for
430      * Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role
431      * for an EC2 instance, use the Amazon EC2 <code>DescribeInstances</code>
432      * operation. For information, see <a
433      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
434      * in the <i>Amazon EC2 API Reference</i> or <a
435      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
436      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
437      */
SetIamRole(const Aws::String & value)438     inline void SetIamRole(const Aws::String& value) { m_iamRoleHasBeenSet = true; m_iamRole = value; }
439 
440     /**
441      * <p>The Identity and Access Management (IAM) role assigned to the on-premises
442      * Systems Manager managed instance. This call doesn't return the IAM role for
443      * Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role
444      * for an EC2 instance, use the Amazon EC2 <code>DescribeInstances</code>
445      * operation. For information, see <a
446      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
447      * in the <i>Amazon EC2 API Reference</i> or <a
448      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
449      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
450      */
SetIamRole(Aws::String && value)451     inline void SetIamRole(Aws::String&& value) { m_iamRoleHasBeenSet = true; m_iamRole = std::move(value); }
452 
453     /**
454      * <p>The Identity and Access Management (IAM) role assigned to the on-premises
455      * Systems Manager managed instance. This call doesn't return the IAM role for
456      * Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role
457      * for an EC2 instance, use the Amazon EC2 <code>DescribeInstances</code>
458      * operation. For information, see <a
459      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
460      * in the <i>Amazon EC2 API Reference</i> or <a
461      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
462      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
463      */
SetIamRole(const char * value)464     inline void SetIamRole(const char* value) { m_iamRoleHasBeenSet = true; m_iamRole.assign(value); }
465 
466     /**
467      * <p>The Identity and Access Management (IAM) role assigned to the on-premises
468      * Systems Manager managed instance. This call doesn't return the IAM role for
469      * Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role
470      * for an EC2 instance, use the Amazon EC2 <code>DescribeInstances</code>
471      * operation. For information, see <a
472      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
473      * in the <i>Amazon EC2 API Reference</i> or <a
474      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
475      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
476      */
WithIamRole(const Aws::String & value)477     inline InstanceInformation& WithIamRole(const Aws::String& value) { SetIamRole(value); return *this;}
478 
479     /**
480      * <p>The Identity and Access Management (IAM) role assigned to the on-premises
481      * Systems Manager managed instance. This call doesn't return the IAM role for
482      * Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role
483      * for an EC2 instance, use the Amazon EC2 <code>DescribeInstances</code>
484      * operation. For information, see <a
485      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
486      * in the <i>Amazon EC2 API Reference</i> or <a
487      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
488      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
489      */
WithIamRole(Aws::String && value)490     inline InstanceInformation& WithIamRole(Aws::String&& value) { SetIamRole(std::move(value)); return *this;}
491 
492     /**
493      * <p>The Identity and Access Management (IAM) role assigned to the on-premises
494      * Systems Manager managed instance. This call doesn't return the IAM role for
495      * Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role
496      * for an EC2 instance, use the Amazon EC2 <code>DescribeInstances</code>
497      * operation. For information, see <a
498      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
499      * in the <i>Amazon EC2 API Reference</i> or <a
500      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
501      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
502      */
WithIamRole(const char * value)503     inline InstanceInformation& WithIamRole(const char* value) { SetIamRole(value); return *this;}
504 
505 
506     /**
507      * <p>The date the server or VM was registered with Amazon Web Services as a
508      * managed instance.</p>
509      */
GetRegistrationDate()510     inline const Aws::Utils::DateTime& GetRegistrationDate() const{ return m_registrationDate; }
511 
512     /**
513      * <p>The date the server or VM was registered with Amazon Web Services as a
514      * managed instance.</p>
515      */
RegistrationDateHasBeenSet()516     inline bool RegistrationDateHasBeenSet() const { return m_registrationDateHasBeenSet; }
517 
518     /**
519      * <p>The date the server or VM was registered with Amazon Web Services as a
520      * managed instance.</p>
521      */
SetRegistrationDate(const Aws::Utils::DateTime & value)522     inline void SetRegistrationDate(const Aws::Utils::DateTime& value) { m_registrationDateHasBeenSet = true; m_registrationDate = value; }
523 
524     /**
525      * <p>The date the server or VM was registered with Amazon Web Services as a
526      * managed instance.</p>
527      */
SetRegistrationDate(Aws::Utils::DateTime && value)528     inline void SetRegistrationDate(Aws::Utils::DateTime&& value) { m_registrationDateHasBeenSet = true; m_registrationDate = std::move(value); }
529 
530     /**
531      * <p>The date the server or VM was registered with Amazon Web Services as a
532      * managed instance.</p>
533      */
WithRegistrationDate(const Aws::Utils::DateTime & value)534     inline InstanceInformation& WithRegistrationDate(const Aws::Utils::DateTime& value) { SetRegistrationDate(value); return *this;}
535 
536     /**
537      * <p>The date the server or VM was registered with Amazon Web Services as a
538      * managed instance.</p>
539      */
WithRegistrationDate(Aws::Utils::DateTime && value)540     inline InstanceInformation& WithRegistrationDate(Aws::Utils::DateTime&& value) { SetRegistrationDate(std::move(value)); return *this;}
541 
542 
543     /**
544      * <p>The type of instance. Instances are either EC2 instances or managed
545      * instances. </p>
546      */
GetResourceType()547     inline const ResourceType& GetResourceType() const{ return m_resourceType; }
548 
549     /**
550      * <p>The type of instance. Instances are either EC2 instances or managed
551      * instances. </p>
552      */
ResourceTypeHasBeenSet()553     inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
554 
555     /**
556      * <p>The type of instance. Instances are either EC2 instances or managed
557      * instances. </p>
558      */
SetResourceType(const ResourceType & value)559     inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
560 
561     /**
562      * <p>The type of instance. Instances are either EC2 instances or managed
563      * instances. </p>
564      */
SetResourceType(ResourceType && value)565     inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); }
566 
567     /**
568      * <p>The type of instance. Instances are either EC2 instances or managed
569      * instances. </p>
570      */
WithResourceType(const ResourceType & value)571     inline InstanceInformation& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;}
572 
573     /**
574      * <p>The type of instance. Instances are either EC2 instances or managed
575      * instances. </p>
576      */
WithResourceType(ResourceType && value)577     inline InstanceInformation& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;}
578 
579 
580     /**
581      * <p>The name assigned to an on-premises server or virtual machine (VM) when it is
582      * activated as a Systems Manager managed instance. The name is specified as the
583      * <code>DefaultInstanceName</code> property using the <a>CreateActivation</a>
584      * command. It is applied to the managed instance by specifying the Activation Code
585      * and Activation ID when you install SSM Agent on the instance, as explained in <a
586      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html">Install
587      * SSM Agent for a hybrid environment (Linux)</a> and <a
588      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html">Install
589      * SSM Agent for a hybrid environment (Windows)</a>. To retrieve the Name tag of an
590      * EC2 instance, use the Amazon EC2 <code>DescribeInstances</code> operation. For
591      * information, see <a
592      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
593      * in the <i>Amazon EC2 API Reference</i> or <a
594      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
595      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
596      */
GetName()597     inline const Aws::String& GetName() const{ return m_name; }
598 
599     /**
600      * <p>The name assigned to an on-premises server or virtual machine (VM) when it is
601      * activated as a Systems Manager managed instance. The name is specified as the
602      * <code>DefaultInstanceName</code> property using the <a>CreateActivation</a>
603      * command. It is applied to the managed instance by specifying the Activation Code
604      * and Activation ID when you install SSM Agent on the instance, as explained in <a
605      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html">Install
606      * SSM Agent for a hybrid environment (Linux)</a> and <a
607      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html">Install
608      * SSM Agent for a hybrid environment (Windows)</a>. To retrieve the Name tag of an
609      * EC2 instance, use the Amazon EC2 <code>DescribeInstances</code> operation. For
610      * information, see <a
611      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
612      * in the <i>Amazon EC2 API Reference</i> or <a
613      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
614      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
615      */
NameHasBeenSet()616     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
617 
618     /**
619      * <p>The name assigned to an on-premises server or virtual machine (VM) when it is
620      * activated as a Systems Manager managed instance. The name is specified as the
621      * <code>DefaultInstanceName</code> property using the <a>CreateActivation</a>
622      * command. It is applied to the managed instance by specifying the Activation Code
623      * and Activation ID when you install SSM Agent on the instance, as explained in <a
624      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html">Install
625      * SSM Agent for a hybrid environment (Linux)</a> and <a
626      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html">Install
627      * SSM Agent for a hybrid environment (Windows)</a>. To retrieve the Name tag of an
628      * EC2 instance, use the Amazon EC2 <code>DescribeInstances</code> operation. For
629      * information, see <a
630      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
631      * in the <i>Amazon EC2 API Reference</i> or <a
632      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
633      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
634      */
SetName(const Aws::String & value)635     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
636 
637     /**
638      * <p>The name assigned to an on-premises server or virtual machine (VM) when it is
639      * activated as a Systems Manager managed instance. The name is specified as the
640      * <code>DefaultInstanceName</code> property using the <a>CreateActivation</a>
641      * command. It is applied to the managed instance by specifying the Activation Code
642      * and Activation ID when you install SSM Agent on the instance, as explained in <a
643      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html">Install
644      * SSM Agent for a hybrid environment (Linux)</a> and <a
645      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html">Install
646      * SSM Agent for a hybrid environment (Windows)</a>. To retrieve the Name tag of an
647      * EC2 instance, use the Amazon EC2 <code>DescribeInstances</code> operation. For
648      * information, see <a
649      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
650      * in the <i>Amazon EC2 API Reference</i> or <a
651      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
652      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
653      */
SetName(Aws::String && value)654     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
655 
656     /**
657      * <p>The name assigned to an on-premises server or virtual machine (VM) when it is
658      * activated as a Systems Manager managed instance. The name is specified as the
659      * <code>DefaultInstanceName</code> property using the <a>CreateActivation</a>
660      * command. It is applied to the managed instance by specifying the Activation Code
661      * and Activation ID when you install SSM Agent on the instance, as explained in <a
662      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html">Install
663      * SSM Agent for a hybrid environment (Linux)</a> and <a
664      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html">Install
665      * SSM Agent for a hybrid environment (Windows)</a>. To retrieve the Name tag of an
666      * EC2 instance, use the Amazon EC2 <code>DescribeInstances</code> operation. For
667      * information, see <a
668      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
669      * in the <i>Amazon EC2 API Reference</i> or <a
670      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
671      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
672      */
SetName(const char * value)673     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
674 
675     /**
676      * <p>The name assigned to an on-premises server or virtual machine (VM) when it is
677      * activated as a Systems Manager managed instance. The name is specified as the
678      * <code>DefaultInstanceName</code> property using the <a>CreateActivation</a>
679      * command. It is applied to the managed instance by specifying the Activation Code
680      * and Activation ID when you install SSM Agent on the instance, as explained in <a
681      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html">Install
682      * SSM Agent for a hybrid environment (Linux)</a> and <a
683      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html">Install
684      * SSM Agent for a hybrid environment (Windows)</a>. To retrieve the Name tag of an
685      * EC2 instance, use the Amazon EC2 <code>DescribeInstances</code> operation. For
686      * information, see <a
687      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
688      * in the <i>Amazon EC2 API Reference</i> or <a
689      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
690      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
691      */
WithName(const Aws::String & value)692     inline InstanceInformation& WithName(const Aws::String& value) { SetName(value); return *this;}
693 
694     /**
695      * <p>The name assigned to an on-premises server or virtual machine (VM) when it is
696      * activated as a Systems Manager managed instance. The name is specified as the
697      * <code>DefaultInstanceName</code> property using the <a>CreateActivation</a>
698      * command. It is applied to the managed instance by specifying the Activation Code
699      * and Activation ID when you install SSM Agent on the instance, as explained in <a
700      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html">Install
701      * SSM Agent for a hybrid environment (Linux)</a> and <a
702      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html">Install
703      * SSM Agent for a hybrid environment (Windows)</a>. To retrieve the Name tag of an
704      * EC2 instance, use the Amazon EC2 <code>DescribeInstances</code> operation. For
705      * information, see <a
706      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
707      * in the <i>Amazon EC2 API Reference</i> or <a
708      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
709      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
710      */
WithName(Aws::String && value)711     inline InstanceInformation& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
712 
713     /**
714      * <p>The name assigned to an on-premises server or virtual machine (VM) when it is
715      * activated as a Systems Manager managed instance. The name is specified as the
716      * <code>DefaultInstanceName</code> property using the <a>CreateActivation</a>
717      * command. It is applied to the managed instance by specifying the Activation Code
718      * and Activation ID when you install SSM Agent on the instance, as explained in <a
719      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html">Install
720      * SSM Agent for a hybrid environment (Linux)</a> and <a
721      * href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html">Install
722      * SSM Agent for a hybrid environment (Windows)</a>. To retrieve the Name tag of an
723      * EC2 instance, use the Amazon EC2 <code>DescribeInstances</code> operation. For
724      * information, see <a
725      * href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html">DescribeInstances</a>
726      * in the <i>Amazon EC2 API Reference</i> or <a
727      * href="https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html">describe-instances</a>
728      * in the <i>Amazon Web Services CLI Command Reference</i>.</p>
729      */
WithName(const char * value)730     inline InstanceInformation& WithName(const char* value) { SetName(value); return *this;}
731 
732 
733     /**
734      * <p>The IP address of the managed instance.</p>
735      */
GetIPAddress()736     inline const Aws::String& GetIPAddress() const{ return m_iPAddress; }
737 
738     /**
739      * <p>The IP address of the managed instance.</p>
740      */
IPAddressHasBeenSet()741     inline bool IPAddressHasBeenSet() const { return m_iPAddressHasBeenSet; }
742 
743     /**
744      * <p>The IP address of the managed instance.</p>
745      */
SetIPAddress(const Aws::String & value)746     inline void SetIPAddress(const Aws::String& value) { m_iPAddressHasBeenSet = true; m_iPAddress = value; }
747 
748     /**
749      * <p>The IP address of the managed instance.</p>
750      */
SetIPAddress(Aws::String && value)751     inline void SetIPAddress(Aws::String&& value) { m_iPAddressHasBeenSet = true; m_iPAddress = std::move(value); }
752 
753     /**
754      * <p>The IP address of the managed instance.</p>
755      */
SetIPAddress(const char * value)756     inline void SetIPAddress(const char* value) { m_iPAddressHasBeenSet = true; m_iPAddress.assign(value); }
757 
758     /**
759      * <p>The IP address of the managed instance.</p>
760      */
WithIPAddress(const Aws::String & value)761     inline InstanceInformation& WithIPAddress(const Aws::String& value) { SetIPAddress(value); return *this;}
762 
763     /**
764      * <p>The IP address of the managed instance.</p>
765      */
WithIPAddress(Aws::String && value)766     inline InstanceInformation& WithIPAddress(Aws::String&& value) { SetIPAddress(std::move(value)); return *this;}
767 
768     /**
769      * <p>The IP address of the managed instance.</p>
770      */
WithIPAddress(const char * value)771     inline InstanceInformation& WithIPAddress(const char* value) { SetIPAddress(value); return *this;}
772 
773 
774     /**
775      * <p>The fully qualified host name of the managed instance.</p>
776      */
GetComputerName()777     inline const Aws::String& GetComputerName() const{ return m_computerName; }
778 
779     /**
780      * <p>The fully qualified host name of the managed instance.</p>
781      */
ComputerNameHasBeenSet()782     inline bool ComputerNameHasBeenSet() const { return m_computerNameHasBeenSet; }
783 
784     /**
785      * <p>The fully qualified host name of the managed instance.</p>
786      */
SetComputerName(const Aws::String & value)787     inline void SetComputerName(const Aws::String& value) { m_computerNameHasBeenSet = true; m_computerName = value; }
788 
789     /**
790      * <p>The fully qualified host name of the managed instance.</p>
791      */
SetComputerName(Aws::String && value)792     inline void SetComputerName(Aws::String&& value) { m_computerNameHasBeenSet = true; m_computerName = std::move(value); }
793 
794     /**
795      * <p>The fully qualified host name of the managed instance.</p>
796      */
SetComputerName(const char * value)797     inline void SetComputerName(const char* value) { m_computerNameHasBeenSet = true; m_computerName.assign(value); }
798 
799     /**
800      * <p>The fully qualified host name of the managed instance.</p>
801      */
WithComputerName(const Aws::String & value)802     inline InstanceInformation& WithComputerName(const Aws::String& value) { SetComputerName(value); return *this;}
803 
804     /**
805      * <p>The fully qualified host name of the managed instance.</p>
806      */
WithComputerName(Aws::String && value)807     inline InstanceInformation& WithComputerName(Aws::String&& value) { SetComputerName(std::move(value)); return *this;}
808 
809     /**
810      * <p>The fully qualified host name of the managed instance.</p>
811      */
WithComputerName(const char * value)812     inline InstanceInformation& WithComputerName(const char* value) { SetComputerName(value); return *this;}
813 
814 
815     /**
816      * <p>The status of the association.</p>
817      */
GetAssociationStatus()818     inline const Aws::String& GetAssociationStatus() const{ return m_associationStatus; }
819 
820     /**
821      * <p>The status of the association.</p>
822      */
AssociationStatusHasBeenSet()823     inline bool AssociationStatusHasBeenSet() const { return m_associationStatusHasBeenSet; }
824 
825     /**
826      * <p>The status of the association.</p>
827      */
SetAssociationStatus(const Aws::String & value)828     inline void SetAssociationStatus(const Aws::String& value) { m_associationStatusHasBeenSet = true; m_associationStatus = value; }
829 
830     /**
831      * <p>The status of the association.</p>
832      */
SetAssociationStatus(Aws::String && value)833     inline void SetAssociationStatus(Aws::String&& value) { m_associationStatusHasBeenSet = true; m_associationStatus = std::move(value); }
834 
835     /**
836      * <p>The status of the association.</p>
837      */
SetAssociationStatus(const char * value)838     inline void SetAssociationStatus(const char* value) { m_associationStatusHasBeenSet = true; m_associationStatus.assign(value); }
839 
840     /**
841      * <p>The status of the association.</p>
842      */
WithAssociationStatus(const Aws::String & value)843     inline InstanceInformation& WithAssociationStatus(const Aws::String& value) { SetAssociationStatus(value); return *this;}
844 
845     /**
846      * <p>The status of the association.</p>
847      */
WithAssociationStatus(Aws::String && value)848     inline InstanceInformation& WithAssociationStatus(Aws::String&& value) { SetAssociationStatus(std::move(value)); return *this;}
849 
850     /**
851      * <p>The status of the association.</p>
852      */
WithAssociationStatus(const char * value)853     inline InstanceInformation& WithAssociationStatus(const char* value) { SetAssociationStatus(value); return *this;}
854 
855 
856     /**
857      * <p>The date the association was last run.</p>
858      */
GetLastAssociationExecutionDate()859     inline const Aws::Utils::DateTime& GetLastAssociationExecutionDate() const{ return m_lastAssociationExecutionDate; }
860 
861     /**
862      * <p>The date the association was last run.</p>
863      */
LastAssociationExecutionDateHasBeenSet()864     inline bool LastAssociationExecutionDateHasBeenSet() const { return m_lastAssociationExecutionDateHasBeenSet; }
865 
866     /**
867      * <p>The date the association was last run.</p>
868      */
SetLastAssociationExecutionDate(const Aws::Utils::DateTime & value)869     inline void SetLastAssociationExecutionDate(const Aws::Utils::DateTime& value) { m_lastAssociationExecutionDateHasBeenSet = true; m_lastAssociationExecutionDate = value; }
870 
871     /**
872      * <p>The date the association was last run.</p>
873      */
SetLastAssociationExecutionDate(Aws::Utils::DateTime && value)874     inline void SetLastAssociationExecutionDate(Aws::Utils::DateTime&& value) { m_lastAssociationExecutionDateHasBeenSet = true; m_lastAssociationExecutionDate = std::move(value); }
875 
876     /**
877      * <p>The date the association was last run.</p>
878      */
WithLastAssociationExecutionDate(const Aws::Utils::DateTime & value)879     inline InstanceInformation& WithLastAssociationExecutionDate(const Aws::Utils::DateTime& value) { SetLastAssociationExecutionDate(value); return *this;}
880 
881     /**
882      * <p>The date the association was last run.</p>
883      */
WithLastAssociationExecutionDate(Aws::Utils::DateTime && value)884     inline InstanceInformation& WithLastAssociationExecutionDate(Aws::Utils::DateTime&& value) { SetLastAssociationExecutionDate(std::move(value)); return *this;}
885 
886 
887     /**
888      * <p>The last date the association was successfully run.</p>
889      */
GetLastSuccessfulAssociationExecutionDate()890     inline const Aws::Utils::DateTime& GetLastSuccessfulAssociationExecutionDate() const{ return m_lastSuccessfulAssociationExecutionDate; }
891 
892     /**
893      * <p>The last date the association was successfully run.</p>
894      */
LastSuccessfulAssociationExecutionDateHasBeenSet()895     inline bool LastSuccessfulAssociationExecutionDateHasBeenSet() const { return m_lastSuccessfulAssociationExecutionDateHasBeenSet; }
896 
897     /**
898      * <p>The last date the association was successfully run.</p>
899      */
SetLastSuccessfulAssociationExecutionDate(const Aws::Utils::DateTime & value)900     inline void SetLastSuccessfulAssociationExecutionDate(const Aws::Utils::DateTime& value) { m_lastSuccessfulAssociationExecutionDateHasBeenSet = true; m_lastSuccessfulAssociationExecutionDate = value; }
901 
902     /**
903      * <p>The last date the association was successfully run.</p>
904      */
SetLastSuccessfulAssociationExecutionDate(Aws::Utils::DateTime && value)905     inline void SetLastSuccessfulAssociationExecutionDate(Aws::Utils::DateTime&& value) { m_lastSuccessfulAssociationExecutionDateHasBeenSet = true; m_lastSuccessfulAssociationExecutionDate = std::move(value); }
906 
907     /**
908      * <p>The last date the association was successfully run.</p>
909      */
WithLastSuccessfulAssociationExecutionDate(const Aws::Utils::DateTime & value)910     inline InstanceInformation& WithLastSuccessfulAssociationExecutionDate(const Aws::Utils::DateTime& value) { SetLastSuccessfulAssociationExecutionDate(value); return *this;}
911 
912     /**
913      * <p>The last date the association was successfully run.</p>
914      */
WithLastSuccessfulAssociationExecutionDate(Aws::Utils::DateTime && value)915     inline InstanceInformation& WithLastSuccessfulAssociationExecutionDate(Aws::Utils::DateTime&& value) { SetLastSuccessfulAssociationExecutionDate(std::move(value)); return *this;}
916 
917 
918     /**
919      * <p>Information about the association.</p>
920      */
GetAssociationOverview()921     inline const InstanceAggregatedAssociationOverview& GetAssociationOverview() const{ return m_associationOverview; }
922 
923     /**
924      * <p>Information about the association.</p>
925      */
AssociationOverviewHasBeenSet()926     inline bool AssociationOverviewHasBeenSet() const { return m_associationOverviewHasBeenSet; }
927 
928     /**
929      * <p>Information about the association.</p>
930      */
SetAssociationOverview(const InstanceAggregatedAssociationOverview & value)931     inline void SetAssociationOverview(const InstanceAggregatedAssociationOverview& value) { m_associationOverviewHasBeenSet = true; m_associationOverview = value; }
932 
933     /**
934      * <p>Information about the association.</p>
935      */
SetAssociationOverview(InstanceAggregatedAssociationOverview && value)936     inline void SetAssociationOverview(InstanceAggregatedAssociationOverview&& value) { m_associationOverviewHasBeenSet = true; m_associationOverview = std::move(value); }
937 
938     /**
939      * <p>Information about the association.</p>
940      */
WithAssociationOverview(const InstanceAggregatedAssociationOverview & value)941     inline InstanceInformation& WithAssociationOverview(const InstanceAggregatedAssociationOverview& value) { SetAssociationOverview(value); return *this;}
942 
943     /**
944      * <p>Information about the association.</p>
945      */
WithAssociationOverview(InstanceAggregatedAssociationOverview && value)946     inline InstanceInformation& WithAssociationOverview(InstanceAggregatedAssociationOverview&& value) { SetAssociationOverview(std::move(value)); return *this;}
947 
948   private:
949 
950     Aws::String m_instanceId;
951     bool m_instanceIdHasBeenSet;
952 
953     PingStatus m_pingStatus;
954     bool m_pingStatusHasBeenSet;
955 
956     Aws::Utils::DateTime m_lastPingDateTime;
957     bool m_lastPingDateTimeHasBeenSet;
958 
959     Aws::String m_agentVersion;
960     bool m_agentVersionHasBeenSet;
961 
962     bool m_isLatestVersion;
963     bool m_isLatestVersionHasBeenSet;
964 
965     PlatformType m_platformType;
966     bool m_platformTypeHasBeenSet;
967 
968     Aws::String m_platformName;
969     bool m_platformNameHasBeenSet;
970 
971     Aws::String m_platformVersion;
972     bool m_platformVersionHasBeenSet;
973 
974     Aws::String m_activationId;
975     bool m_activationIdHasBeenSet;
976 
977     Aws::String m_iamRole;
978     bool m_iamRoleHasBeenSet;
979 
980     Aws::Utils::DateTime m_registrationDate;
981     bool m_registrationDateHasBeenSet;
982 
983     ResourceType m_resourceType;
984     bool m_resourceTypeHasBeenSet;
985 
986     Aws::String m_name;
987     bool m_nameHasBeenSet;
988 
989     Aws::String m_iPAddress;
990     bool m_iPAddressHasBeenSet;
991 
992     Aws::String m_computerName;
993     bool m_computerNameHasBeenSet;
994 
995     Aws::String m_associationStatus;
996     bool m_associationStatusHasBeenSet;
997 
998     Aws::Utils::DateTime m_lastAssociationExecutionDate;
999     bool m_lastAssociationExecutionDateHasBeenSet;
1000 
1001     Aws::Utils::DateTime m_lastSuccessfulAssociationExecutionDate;
1002     bool m_lastSuccessfulAssociationExecutionDateHasBeenSet;
1003 
1004     InstanceAggregatedAssociationOverview m_associationOverview;
1005     bool m_associationOverviewHasBeenSet;
1006   };
1007 
1008 } // namespace Model
1009 } // namespace SSM
1010 } // namespace Aws
1011