/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SSM { namespace Model { /** *

Describes a filter for a specific list of managed nodes.

See * Also:

AWS * API Reference

*/ class InstanceInformation { public: AWS_SSM_API InstanceInformation(); AWS_SSM_API InstanceInformation(Aws::Utils::Json::JsonView jsonValue); AWS_SSM_API InstanceInformation& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The managed node ID.

*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *

The managed node ID.

*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *

The managed node ID.

*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *

The managed node ID.

*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *

The managed node ID.

*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *

The managed node ID.

*/ inline InstanceInformation& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *

The managed node ID.

*/ inline InstanceInformation& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *

The managed node ID.

*/ inline InstanceInformation& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *

Connection status of SSM Agent.

The status * Inactive has been deprecated and is no longer in use.

*/ inline const PingStatus& GetPingStatus() const{ return m_pingStatus; } /** *

Connection status of SSM Agent.

The status * Inactive has been deprecated and is no longer in use.

*/ inline bool PingStatusHasBeenSet() const { return m_pingStatusHasBeenSet; } /** *

Connection status of SSM Agent.

The status * Inactive has been deprecated and is no longer in use.

*/ inline void SetPingStatus(const PingStatus& value) { m_pingStatusHasBeenSet = true; m_pingStatus = value; } /** *

Connection status of SSM Agent.

The status * Inactive has been deprecated and is no longer in use.

*/ inline void SetPingStatus(PingStatus&& value) { m_pingStatusHasBeenSet = true; m_pingStatus = std::move(value); } /** *

Connection status of SSM Agent.

The status * Inactive has been deprecated and is no longer in use.

*/ inline InstanceInformation& WithPingStatus(const PingStatus& value) { SetPingStatus(value); return *this;} /** *

Connection status of SSM Agent.

The status * Inactive has been deprecated and is no longer in use.

*/ inline InstanceInformation& WithPingStatus(PingStatus&& value) { SetPingStatus(std::move(value)); return *this;} /** *

The date and time when the agent last pinged the Systems Manager service. *

*/ inline const Aws::Utils::DateTime& GetLastPingDateTime() const{ return m_lastPingDateTime; } /** *

The date and time when the agent last pinged the Systems Manager service. *

*/ inline bool LastPingDateTimeHasBeenSet() const { return m_lastPingDateTimeHasBeenSet; } /** *

The date and time when the agent last pinged the Systems Manager service. *

*/ inline void SetLastPingDateTime(const Aws::Utils::DateTime& value) { m_lastPingDateTimeHasBeenSet = true; m_lastPingDateTime = value; } /** *

The date and time when the agent last pinged the Systems Manager service. *

*/ inline void SetLastPingDateTime(Aws::Utils::DateTime&& value) { m_lastPingDateTimeHasBeenSet = true; m_lastPingDateTime = std::move(value); } /** *

The date and time when the agent last pinged the Systems Manager service. *

*/ inline InstanceInformation& WithLastPingDateTime(const Aws::Utils::DateTime& value) { SetLastPingDateTime(value); return *this;} /** *

The date and time when the agent last pinged the Systems Manager service. *

*/ inline InstanceInformation& WithLastPingDateTime(Aws::Utils::DateTime&& value) { SetLastPingDateTime(std::move(value)); return *this;} /** *

The version of SSM Agent running on your Linux managed node.

*/ inline const Aws::String& GetAgentVersion() const{ return m_agentVersion; } /** *

The version of SSM Agent running on your Linux managed node.

*/ inline bool AgentVersionHasBeenSet() const { return m_agentVersionHasBeenSet; } /** *

The version of SSM Agent running on your Linux managed node.

*/ inline void SetAgentVersion(const Aws::String& value) { m_agentVersionHasBeenSet = true; m_agentVersion = value; } /** *

The version of SSM Agent running on your Linux managed node.

*/ inline void SetAgentVersion(Aws::String&& value) { m_agentVersionHasBeenSet = true; m_agentVersion = std::move(value); } /** *

The version of SSM Agent running on your Linux managed node.

*/ inline void SetAgentVersion(const char* value) { m_agentVersionHasBeenSet = true; m_agentVersion.assign(value); } /** *

The version of SSM Agent running on your Linux managed node.

*/ inline InstanceInformation& WithAgentVersion(const Aws::String& value) { SetAgentVersion(value); return *this;} /** *

The version of SSM Agent running on your Linux managed node.

*/ inline InstanceInformation& WithAgentVersion(Aws::String&& value) { SetAgentVersion(std::move(value)); return *this;} /** *

The version of SSM Agent running on your Linux managed node.

*/ inline InstanceInformation& WithAgentVersion(const char* value) { SetAgentVersion(value); return *this;} /** *

Indicates whether the latest version of SSM Agent is running on your Linux * managed node. This field doesn't indicate whether or not the latest version is * installed on Windows managed nodes, because some older versions of Windows * Server use the EC2Config service to process Systems Manager requests.

*/ inline bool GetIsLatestVersion() const{ return m_isLatestVersion; } /** *

Indicates whether the latest version of SSM Agent is running on your Linux * managed node. This field doesn't indicate whether or not the latest version is * installed on Windows managed nodes, because some older versions of Windows * Server use the EC2Config service to process Systems Manager requests.

*/ inline bool IsLatestVersionHasBeenSet() const { return m_isLatestVersionHasBeenSet; } /** *

Indicates whether the latest version of SSM Agent is running on your Linux * managed node. This field doesn't indicate whether or not the latest version is * installed on Windows managed nodes, because some older versions of Windows * Server use the EC2Config service to process Systems Manager requests.

*/ inline void SetIsLatestVersion(bool value) { m_isLatestVersionHasBeenSet = true; m_isLatestVersion = value; } /** *

Indicates whether the latest version of SSM Agent is running on your Linux * managed node. This field doesn't indicate whether or not the latest version is * installed on Windows managed nodes, because some older versions of Windows * Server use the EC2Config service to process Systems Manager requests.

*/ inline InstanceInformation& WithIsLatestVersion(bool value) { SetIsLatestVersion(value); return *this;} /** *

The operating system platform type.

*/ inline const PlatformType& GetPlatformType() const{ return m_platformType; } /** *

The operating system platform type.

*/ inline bool PlatformTypeHasBeenSet() const { return m_platformTypeHasBeenSet; } /** *

The operating system platform type.

*/ inline void SetPlatformType(const PlatformType& value) { m_platformTypeHasBeenSet = true; m_platformType = value; } /** *

The operating system platform type.

*/ inline void SetPlatformType(PlatformType&& value) { m_platformTypeHasBeenSet = true; m_platformType = std::move(value); } /** *

The operating system platform type.

*/ inline InstanceInformation& WithPlatformType(const PlatformType& value) { SetPlatformType(value); return *this;} /** *

The operating system platform type.

*/ inline InstanceInformation& WithPlatformType(PlatformType&& value) { SetPlatformType(std::move(value)); return *this;} /** *

The name of the operating system platform running on your managed node.

*/ inline const Aws::String& GetPlatformName() const{ return m_platformName; } /** *

The name of the operating system platform running on your managed node.

*/ inline bool PlatformNameHasBeenSet() const { return m_platformNameHasBeenSet; } /** *

The name of the operating system platform running on your managed node.

*/ inline void SetPlatformName(const Aws::String& value) { m_platformNameHasBeenSet = true; m_platformName = value; } /** *

The name of the operating system platform running on your managed node.

*/ inline void SetPlatformName(Aws::String&& value) { m_platformNameHasBeenSet = true; m_platformName = std::move(value); } /** *

The name of the operating system platform running on your managed node.

*/ inline void SetPlatformName(const char* value) { m_platformNameHasBeenSet = true; m_platformName.assign(value); } /** *

The name of the operating system platform running on your managed node.

*/ inline InstanceInformation& WithPlatformName(const Aws::String& value) { SetPlatformName(value); return *this;} /** *

The name of the operating system platform running on your managed node.

*/ inline InstanceInformation& WithPlatformName(Aws::String&& value) { SetPlatformName(std::move(value)); return *this;} /** *

The name of the operating system platform running on your managed node.

*/ inline InstanceInformation& WithPlatformName(const char* value) { SetPlatformName(value); return *this;} /** *

The version of the OS platform running on your managed node.

*/ inline const Aws::String& GetPlatformVersion() const{ return m_platformVersion; } /** *

The version of the OS platform running on your managed node.

*/ inline bool PlatformVersionHasBeenSet() const { return m_platformVersionHasBeenSet; } /** *

The version of the OS platform running on your managed node.

*/ inline void SetPlatformVersion(const Aws::String& value) { m_platformVersionHasBeenSet = true; m_platformVersion = value; } /** *

The version of the OS platform running on your managed node.

*/ inline void SetPlatformVersion(Aws::String&& value) { m_platformVersionHasBeenSet = true; m_platformVersion = std::move(value); } /** *

The version of the OS platform running on your managed node.

*/ inline void SetPlatformVersion(const char* value) { m_platformVersionHasBeenSet = true; m_platformVersion.assign(value); } /** *

The version of the OS platform running on your managed node.

*/ inline InstanceInformation& WithPlatformVersion(const Aws::String& value) { SetPlatformVersion(value); return *this;} /** *

The version of the OS platform running on your managed node.

*/ inline InstanceInformation& WithPlatformVersion(Aws::String&& value) { SetPlatformVersion(std::move(value)); return *this;} /** *

The version of the OS platform running on your managed node.

*/ inline InstanceInformation& WithPlatformVersion(const char* value) { SetPlatformVersion(value); return *this;} /** *

The activation ID created by Amazon Web Services Systems Manager when the * server or virtual machine (VM) was registered.

*/ inline const Aws::String& GetActivationId() const{ return m_activationId; } /** *

The activation ID created by Amazon Web Services Systems Manager when the * server or virtual machine (VM) was registered.

*/ inline bool ActivationIdHasBeenSet() const { return m_activationIdHasBeenSet; } /** *

The activation ID created by Amazon Web Services Systems Manager when the * server or virtual machine (VM) was registered.

*/ inline void SetActivationId(const Aws::String& value) { m_activationIdHasBeenSet = true; m_activationId = value; } /** *

The activation ID created by Amazon Web Services Systems Manager when the * server or virtual machine (VM) was registered.

*/ inline void SetActivationId(Aws::String&& value) { m_activationIdHasBeenSet = true; m_activationId = std::move(value); } /** *

The activation ID created by Amazon Web Services Systems Manager when the * server or virtual machine (VM) was registered.

*/ inline void SetActivationId(const char* value) { m_activationIdHasBeenSet = true; m_activationId.assign(value); } /** *

The activation ID created by Amazon Web Services Systems Manager when the * server or virtual machine (VM) was registered.

*/ inline InstanceInformation& WithActivationId(const Aws::String& value) { SetActivationId(value); return *this;} /** *

The activation ID created by Amazon Web Services Systems Manager when the * server or virtual machine (VM) was registered.

*/ inline InstanceInformation& WithActivationId(Aws::String&& value) { SetActivationId(std::move(value)); return *this;} /** *

The activation ID created by Amazon Web Services Systems Manager when the * server or virtual machine (VM) was registered.

*/ inline InstanceInformation& WithActivationId(const char* value) { SetActivationId(value); return *this;} /** *

The Identity and Access Management (IAM) role assigned to the on-premises * Systems Manager managed node. This call doesn't return the IAM role for Amazon * Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role for an * EC2 instance, use the Amazon EC2 DescribeInstances operation. For * information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline const Aws::String& GetIamRole() const{ return m_iamRole; } /** *

The Identity and Access Management (IAM) role assigned to the on-premises * Systems Manager managed node. This call doesn't return the IAM role for Amazon * Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role for an * EC2 instance, use the Amazon EC2 DescribeInstances operation. For * information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline bool IamRoleHasBeenSet() const { return m_iamRoleHasBeenSet; } /** *

The Identity and Access Management (IAM) role assigned to the on-premises * Systems Manager managed node. This call doesn't return the IAM role for Amazon * Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role for an * EC2 instance, use the Amazon EC2 DescribeInstances operation. For * information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline void SetIamRole(const Aws::String& value) { m_iamRoleHasBeenSet = true; m_iamRole = value; } /** *

The Identity and Access Management (IAM) role assigned to the on-premises * Systems Manager managed node. This call doesn't return the IAM role for Amazon * Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role for an * EC2 instance, use the Amazon EC2 DescribeInstances operation. For * information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline void SetIamRole(Aws::String&& value) { m_iamRoleHasBeenSet = true; m_iamRole = std::move(value); } /** *

The Identity and Access Management (IAM) role assigned to the on-premises * Systems Manager managed node. This call doesn't return the IAM role for Amazon * Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role for an * EC2 instance, use the Amazon EC2 DescribeInstances operation. For * information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline void SetIamRole(const char* value) { m_iamRoleHasBeenSet = true; m_iamRole.assign(value); } /** *

The Identity and Access Management (IAM) role assigned to the on-premises * Systems Manager managed node. This call doesn't return the IAM role for Amazon * Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role for an * EC2 instance, use the Amazon EC2 DescribeInstances operation. For * information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline InstanceInformation& WithIamRole(const Aws::String& value) { SetIamRole(value); return *this;} /** *

The Identity and Access Management (IAM) role assigned to the on-premises * Systems Manager managed node. This call doesn't return the IAM role for Amazon * Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role for an * EC2 instance, use the Amazon EC2 DescribeInstances operation. For * information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline InstanceInformation& WithIamRole(Aws::String&& value) { SetIamRole(std::move(value)); return *this;} /** *

The Identity and Access Management (IAM) role assigned to the on-premises * Systems Manager managed node. This call doesn't return the IAM role for Amazon * Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM role for an * EC2 instance, use the Amazon EC2 DescribeInstances operation. For * information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline InstanceInformation& WithIamRole(const char* value) { SetIamRole(value); return *this;} /** *

The date the server or VM was registered with Amazon Web Services as a * managed node.

*/ inline const Aws::Utils::DateTime& GetRegistrationDate() const{ return m_registrationDate; } /** *

The date the server or VM was registered with Amazon Web Services as a * managed node.

*/ inline bool RegistrationDateHasBeenSet() const { return m_registrationDateHasBeenSet; } /** *

The date the server or VM was registered with Amazon Web Services as a * managed node.

*/ inline void SetRegistrationDate(const Aws::Utils::DateTime& value) { m_registrationDateHasBeenSet = true; m_registrationDate = value; } /** *

The date the server or VM was registered with Amazon Web Services as a * managed node.

*/ inline void SetRegistrationDate(Aws::Utils::DateTime&& value) { m_registrationDateHasBeenSet = true; m_registrationDate = std::move(value); } /** *

The date the server or VM was registered with Amazon Web Services as a * managed node.

*/ inline InstanceInformation& WithRegistrationDate(const Aws::Utils::DateTime& value) { SetRegistrationDate(value); return *this;} /** *

The date the server or VM was registered with Amazon Web Services as a * managed node.

*/ inline InstanceInformation& WithRegistrationDate(Aws::Utils::DateTime&& value) { SetRegistrationDate(std::move(value)); return *this;} /** *

The type of instance. Instances are either EC2 instances or managed * instances.

*/ inline const ResourceType& GetResourceType() const{ return m_resourceType; } /** *

The type of instance. Instances are either EC2 instances or managed * instances.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The type of instance. Instances are either EC2 instances or managed * instances.

*/ inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The type of instance. Instances are either EC2 instances or managed * instances.

*/ inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The type of instance. Instances are either EC2 instances or managed * instances.

*/ inline InstanceInformation& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} /** *

The type of instance. Instances are either EC2 instances or managed * instances.

*/ inline InstanceInformation& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *

The name assigned to an on-premises server, edge device, or virtual machine * (VM) when it is activated as a Systems Manager managed node. The name is * specified as the DefaultInstanceName property using the * CreateActivation command. It is applied to the managed node by specifying * the Activation Code and Activation ID when you install SSM Agent on the node, as * explained in Install * SSM Agent for a hybrid environment (Linux) and Install * SSM Agent for a hybrid environment (Windows). To retrieve the * Name tag of an EC2 instance, use the Amazon EC2 * DescribeInstances operation. For information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name assigned to an on-premises server, edge device, or virtual machine * (VM) when it is activated as a Systems Manager managed node. The name is * specified as the DefaultInstanceName property using the * CreateActivation command. It is applied to the managed node by specifying * the Activation Code and Activation ID when you install SSM Agent on the node, as * explained in Install * SSM Agent for a hybrid environment (Linux) and Install * SSM Agent for a hybrid environment (Windows). To retrieve the * Name tag of an EC2 instance, use the Amazon EC2 * DescribeInstances operation. For information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name assigned to an on-premises server, edge device, or virtual machine * (VM) when it is activated as a Systems Manager managed node. The name is * specified as the DefaultInstanceName property using the * CreateActivation command. It is applied to the managed node by specifying * the Activation Code and Activation ID when you install SSM Agent on the node, as * explained in Install * SSM Agent for a hybrid environment (Linux) and Install * SSM Agent for a hybrid environment (Windows). To retrieve the * Name tag of an EC2 instance, use the Amazon EC2 * DescribeInstances operation. For information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name assigned to an on-premises server, edge device, or virtual machine * (VM) when it is activated as a Systems Manager managed node. The name is * specified as the DefaultInstanceName property using the * CreateActivation command. It is applied to the managed node by specifying * the Activation Code and Activation ID when you install SSM Agent on the node, as * explained in Install * SSM Agent for a hybrid environment (Linux) and Install * SSM Agent for a hybrid environment (Windows). To retrieve the * Name tag of an EC2 instance, use the Amazon EC2 * DescribeInstances operation. For information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name assigned to an on-premises server, edge device, or virtual machine * (VM) when it is activated as a Systems Manager managed node. The name is * specified as the DefaultInstanceName property using the * CreateActivation command. It is applied to the managed node by specifying * the Activation Code and Activation ID when you install SSM Agent on the node, as * explained in Install * SSM Agent for a hybrid environment (Linux) and Install * SSM Agent for a hybrid environment (Windows). To retrieve the * Name tag of an EC2 instance, use the Amazon EC2 * DescribeInstances operation. For information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name assigned to an on-premises server, edge device, or virtual machine * (VM) when it is activated as a Systems Manager managed node. The name is * specified as the DefaultInstanceName property using the * CreateActivation command. It is applied to the managed node by specifying * the Activation Code and Activation ID when you install SSM Agent on the node, as * explained in Install * SSM Agent for a hybrid environment (Linux) and Install * SSM Agent for a hybrid environment (Windows). To retrieve the * Name tag of an EC2 instance, use the Amazon EC2 * DescribeInstances operation. For information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline InstanceInformation& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name assigned to an on-premises server, edge device, or virtual machine * (VM) when it is activated as a Systems Manager managed node. The name is * specified as the DefaultInstanceName property using the * CreateActivation command. It is applied to the managed node by specifying * the Activation Code and Activation ID when you install SSM Agent on the node, as * explained in Install * SSM Agent for a hybrid environment (Linux) and Install * SSM Agent for a hybrid environment (Windows). To retrieve the * Name tag of an EC2 instance, use the Amazon EC2 * DescribeInstances operation. For information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline InstanceInformation& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name assigned to an on-premises server, edge device, or virtual machine * (VM) when it is activated as a Systems Manager managed node. The name is * specified as the DefaultInstanceName property using the * CreateActivation command. It is applied to the managed node by specifying * the Activation Code and Activation ID when you install SSM Agent on the node, as * explained in Install * SSM Agent for a hybrid environment (Linux) and Install * SSM Agent for a hybrid environment (Windows). To retrieve the * Name tag of an EC2 instance, use the Amazon EC2 * DescribeInstances operation. For information, see DescribeInstances * in the Amazon EC2 API Reference or describe-instances * in the Amazon Web Services CLI Command Reference.

*/ inline InstanceInformation& WithName(const char* value) { SetName(value); return *this;} /** *

The IP address of the managed node.

*/ inline const Aws::String& GetIPAddress() const{ return m_iPAddress; } /** *

The IP address of the managed node.

*/ inline bool IPAddressHasBeenSet() const { return m_iPAddressHasBeenSet; } /** *

The IP address of the managed node.

*/ inline void SetIPAddress(const Aws::String& value) { m_iPAddressHasBeenSet = true; m_iPAddress = value; } /** *

The IP address of the managed node.

*/ inline void SetIPAddress(Aws::String&& value) { m_iPAddressHasBeenSet = true; m_iPAddress = std::move(value); } /** *

The IP address of the managed node.

*/ inline void SetIPAddress(const char* value) { m_iPAddressHasBeenSet = true; m_iPAddress.assign(value); } /** *

The IP address of the managed node.

*/ inline InstanceInformation& WithIPAddress(const Aws::String& value) { SetIPAddress(value); return *this;} /** *

The IP address of the managed node.

*/ inline InstanceInformation& WithIPAddress(Aws::String&& value) { SetIPAddress(std::move(value)); return *this;} /** *

The IP address of the managed node.

*/ inline InstanceInformation& WithIPAddress(const char* value) { SetIPAddress(value); return *this;} /** *

The fully qualified host name of the managed node.

*/ inline const Aws::String& GetComputerName() const{ return m_computerName; } /** *

The fully qualified host name of the managed node.

*/ inline bool ComputerNameHasBeenSet() const { return m_computerNameHasBeenSet; } /** *

The fully qualified host name of the managed node.

*/ inline void SetComputerName(const Aws::String& value) { m_computerNameHasBeenSet = true; m_computerName = value; } /** *

The fully qualified host name of the managed node.

*/ inline void SetComputerName(Aws::String&& value) { m_computerNameHasBeenSet = true; m_computerName = std::move(value); } /** *

The fully qualified host name of the managed node.

*/ inline void SetComputerName(const char* value) { m_computerNameHasBeenSet = true; m_computerName.assign(value); } /** *

The fully qualified host name of the managed node.

*/ inline InstanceInformation& WithComputerName(const Aws::String& value) { SetComputerName(value); return *this;} /** *

The fully qualified host name of the managed node.

*/ inline InstanceInformation& WithComputerName(Aws::String&& value) { SetComputerName(std::move(value)); return *this;} /** *

The fully qualified host name of the managed node.

*/ inline InstanceInformation& WithComputerName(const char* value) { SetComputerName(value); return *this;} /** *

The status of the association.

*/ inline const Aws::String& GetAssociationStatus() const{ return m_associationStatus; } /** *

The status of the association.

*/ inline bool AssociationStatusHasBeenSet() const { return m_associationStatusHasBeenSet; } /** *

The status of the association.

*/ inline void SetAssociationStatus(const Aws::String& value) { m_associationStatusHasBeenSet = true; m_associationStatus = value; } /** *

The status of the association.

*/ inline void SetAssociationStatus(Aws::String&& value) { m_associationStatusHasBeenSet = true; m_associationStatus = std::move(value); } /** *

The status of the association.

*/ inline void SetAssociationStatus(const char* value) { m_associationStatusHasBeenSet = true; m_associationStatus.assign(value); } /** *

The status of the association.

*/ inline InstanceInformation& WithAssociationStatus(const Aws::String& value) { SetAssociationStatus(value); return *this;} /** *

The status of the association.

*/ inline InstanceInformation& WithAssociationStatus(Aws::String&& value) { SetAssociationStatus(std::move(value)); return *this;} /** *

The status of the association.

*/ inline InstanceInformation& WithAssociationStatus(const char* value) { SetAssociationStatus(value); return *this;} /** *

The date the association was last run.

*/ inline const Aws::Utils::DateTime& GetLastAssociationExecutionDate() const{ return m_lastAssociationExecutionDate; } /** *

The date the association was last run.

*/ inline bool LastAssociationExecutionDateHasBeenSet() const { return m_lastAssociationExecutionDateHasBeenSet; } /** *

The date the association was last run.

*/ inline void SetLastAssociationExecutionDate(const Aws::Utils::DateTime& value) { m_lastAssociationExecutionDateHasBeenSet = true; m_lastAssociationExecutionDate = value; } /** *

The date the association was last run.

*/ inline void SetLastAssociationExecutionDate(Aws::Utils::DateTime&& value) { m_lastAssociationExecutionDateHasBeenSet = true; m_lastAssociationExecutionDate = std::move(value); } /** *

The date the association was last run.

*/ inline InstanceInformation& WithLastAssociationExecutionDate(const Aws::Utils::DateTime& value) { SetLastAssociationExecutionDate(value); return *this;} /** *

The date the association was last run.

*/ inline InstanceInformation& WithLastAssociationExecutionDate(Aws::Utils::DateTime&& value) { SetLastAssociationExecutionDate(std::move(value)); return *this;} /** *

The last date the association was successfully run.

*/ inline const Aws::Utils::DateTime& GetLastSuccessfulAssociationExecutionDate() const{ return m_lastSuccessfulAssociationExecutionDate; } /** *

The last date the association was successfully run.

*/ inline bool LastSuccessfulAssociationExecutionDateHasBeenSet() const { return m_lastSuccessfulAssociationExecutionDateHasBeenSet; } /** *

The last date the association was successfully run.

*/ inline void SetLastSuccessfulAssociationExecutionDate(const Aws::Utils::DateTime& value) { m_lastSuccessfulAssociationExecutionDateHasBeenSet = true; m_lastSuccessfulAssociationExecutionDate = value; } /** *

The last date the association was successfully run.

*/ inline void SetLastSuccessfulAssociationExecutionDate(Aws::Utils::DateTime&& value) { m_lastSuccessfulAssociationExecutionDateHasBeenSet = true; m_lastSuccessfulAssociationExecutionDate = std::move(value); } /** *

The last date the association was successfully run.

*/ inline InstanceInformation& WithLastSuccessfulAssociationExecutionDate(const Aws::Utils::DateTime& value) { SetLastSuccessfulAssociationExecutionDate(value); return *this;} /** *

The last date the association was successfully run.

*/ inline InstanceInformation& WithLastSuccessfulAssociationExecutionDate(Aws::Utils::DateTime&& value) { SetLastSuccessfulAssociationExecutionDate(std::move(value)); return *this;} /** *

Information about the association.

*/ inline const InstanceAggregatedAssociationOverview& GetAssociationOverview() const{ return m_associationOverview; } /** *

Information about the association.

*/ inline bool AssociationOverviewHasBeenSet() const { return m_associationOverviewHasBeenSet; } /** *

Information about the association.

*/ inline void SetAssociationOverview(const InstanceAggregatedAssociationOverview& value) { m_associationOverviewHasBeenSet = true; m_associationOverview = value; } /** *

Information about the association.

*/ inline void SetAssociationOverview(InstanceAggregatedAssociationOverview&& value) { m_associationOverviewHasBeenSet = true; m_associationOverview = std::move(value); } /** *

Information about the association.

*/ inline InstanceInformation& WithAssociationOverview(const InstanceAggregatedAssociationOverview& value) { SetAssociationOverview(value); return *this;} /** *

Information about the association.

*/ inline InstanceInformation& WithAssociationOverview(InstanceAggregatedAssociationOverview&& value) { SetAssociationOverview(std::move(value)); return *this;} /** *

The ID of the source resource. For IoT Greengrass devices, * SourceId is the Thing name.

*/ inline const Aws::String& GetSourceId() const{ return m_sourceId; } /** *

The ID of the source resource. For IoT Greengrass devices, * SourceId is the Thing name.

*/ inline bool SourceIdHasBeenSet() const { return m_sourceIdHasBeenSet; } /** *

The ID of the source resource. For IoT Greengrass devices, * SourceId is the Thing name.

*/ inline void SetSourceId(const Aws::String& value) { m_sourceIdHasBeenSet = true; m_sourceId = value; } /** *

The ID of the source resource. For IoT Greengrass devices, * SourceId is the Thing name.

*/ inline void SetSourceId(Aws::String&& value) { m_sourceIdHasBeenSet = true; m_sourceId = std::move(value); } /** *

The ID of the source resource. For IoT Greengrass devices, * SourceId is the Thing name.

*/ inline void SetSourceId(const char* value) { m_sourceIdHasBeenSet = true; m_sourceId.assign(value); } /** *

The ID of the source resource. For IoT Greengrass devices, * SourceId is the Thing name.

*/ inline InstanceInformation& WithSourceId(const Aws::String& value) { SetSourceId(value); return *this;} /** *

The ID of the source resource. For IoT Greengrass devices, * SourceId is the Thing name.

*/ inline InstanceInformation& WithSourceId(Aws::String&& value) { SetSourceId(std::move(value)); return *this;} /** *

The ID of the source resource. For IoT Greengrass devices, * SourceId is the Thing name.

*/ inline InstanceInformation& WithSourceId(const char* value) { SetSourceId(value); return *this;} /** *

The type of the source resource. For IoT Greengrass devices, * SourceType is AWS::IoT::Thing.

*/ inline const SourceType& GetSourceType() const{ return m_sourceType; } /** *

The type of the source resource. For IoT Greengrass devices, * SourceType is AWS::IoT::Thing.

*/ inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } /** *

The type of the source resource. For IoT Greengrass devices, * SourceType is AWS::IoT::Thing.

*/ inline void SetSourceType(const SourceType& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } /** *

The type of the source resource. For IoT Greengrass devices, * SourceType is AWS::IoT::Thing.

*/ inline void SetSourceType(SourceType&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } /** *

The type of the source resource. For IoT Greengrass devices, * SourceType is AWS::IoT::Thing.

*/ inline InstanceInformation& WithSourceType(const SourceType& value) { SetSourceType(value); return *this;} /** *

The type of the source resource. For IoT Greengrass devices, * SourceType is AWS::IoT::Thing.

*/ inline InstanceInformation& WithSourceType(SourceType&& value) { SetSourceType(std::move(value)); return *this;} private: Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; PingStatus m_pingStatus; bool m_pingStatusHasBeenSet = false; Aws::Utils::DateTime m_lastPingDateTime; bool m_lastPingDateTimeHasBeenSet = false; Aws::String m_agentVersion; bool m_agentVersionHasBeenSet = false; bool m_isLatestVersion; bool m_isLatestVersionHasBeenSet = false; PlatformType m_platformType; bool m_platformTypeHasBeenSet = false; Aws::String m_platformName; bool m_platformNameHasBeenSet = false; Aws::String m_platformVersion; bool m_platformVersionHasBeenSet = false; Aws::String m_activationId; bool m_activationIdHasBeenSet = false; Aws::String m_iamRole; bool m_iamRoleHasBeenSet = false; Aws::Utils::DateTime m_registrationDate; bool m_registrationDateHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_iPAddress; bool m_iPAddressHasBeenSet = false; Aws::String m_computerName; bool m_computerNameHasBeenSet = false; Aws::String m_associationStatus; bool m_associationStatusHasBeenSet = false; Aws::Utils::DateTime m_lastAssociationExecutionDate; bool m_lastAssociationExecutionDateHasBeenSet = false; Aws::Utils::DateTime m_lastSuccessfulAssociationExecutionDate; bool m_lastSuccessfulAssociationExecutionDateHasBeenSet = false; InstanceAggregatedAssociationOverview m_associationOverview; bool m_associationOverviewHasBeenSet = false; Aws::String m_sourceId; bool m_sourceIdHasBeenSet = false; SourceType m_sourceType; bool m_sourceTypeHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws