/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes an EC2 instance providing user-based subscriptions.See
* Also:
AWS
* API Reference
The ID of the EC2 instance, which provides user-based subscriptions.
*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *The ID of the EC2 instance, which provides user-based subscriptions.
*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *The ID of the EC2 instance, which provides user-based subscriptions.
*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *The ID of the EC2 instance, which provides user-based subscriptions.
*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *The ID of the EC2 instance, which provides user-based subscriptions.
*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *The ID of the EC2 instance, which provides user-based subscriptions.
*/ inline InstanceSummary& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *The ID of the EC2 instance, which provides user-based subscriptions.
*/ inline InstanceSummary& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *The ID of the EC2 instance, which provides user-based subscriptions.
*/ inline InstanceSummary& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *The date of the last status check.
*/ inline const Aws::String& GetLastStatusCheckDate() const{ return m_lastStatusCheckDate; } /** *The date of the last status check.
*/ inline bool LastStatusCheckDateHasBeenSet() const { return m_lastStatusCheckDateHasBeenSet; } /** *The date of the last status check.
*/ inline void SetLastStatusCheckDate(const Aws::String& value) { m_lastStatusCheckDateHasBeenSet = true; m_lastStatusCheckDate = value; } /** *The date of the last status check.
*/ inline void SetLastStatusCheckDate(Aws::String&& value) { m_lastStatusCheckDateHasBeenSet = true; m_lastStatusCheckDate = std::move(value); } /** *The date of the last status check.
*/ inline void SetLastStatusCheckDate(const char* value) { m_lastStatusCheckDateHasBeenSet = true; m_lastStatusCheckDate.assign(value); } /** *The date of the last status check.
*/ inline InstanceSummary& WithLastStatusCheckDate(const Aws::String& value) { SetLastStatusCheckDate(value); return *this;} /** *The date of the last status check.
*/ inline InstanceSummary& WithLastStatusCheckDate(Aws::String&& value) { SetLastStatusCheckDate(std::move(value)); return *this;} /** *The date of the last status check.
*/ inline InstanceSummary& WithLastStatusCheckDate(const char* value) { SetLastStatusCheckDate(value); return *this;} /** *A list of provided user-based subscription products.
*/ inline const Aws::VectorA list of provided user-based subscription products.
*/ inline bool ProductsHasBeenSet() const { return m_productsHasBeenSet; } /** *A list of provided user-based subscription products.
*/ inline void SetProducts(const Aws::VectorA list of provided user-based subscription products.
*/ inline void SetProducts(Aws::VectorA list of provided user-based subscription products.
*/ inline InstanceSummary& WithProducts(const Aws::VectorA list of provided user-based subscription products.
*/ inline InstanceSummary& WithProducts(Aws::VectorA list of provided user-based subscription products.
*/ inline InstanceSummary& AddProducts(const Aws::String& value) { m_productsHasBeenSet = true; m_products.push_back(value); return *this; } /** *A list of provided user-based subscription products.
*/ inline InstanceSummary& AddProducts(Aws::String&& value) { m_productsHasBeenSet = true; m_products.push_back(std::move(value)); return *this; } /** *A list of provided user-based subscription products.
*/ inline InstanceSummary& AddProducts(const char* value) { m_productsHasBeenSet = true; m_products.push_back(value); return *this; } /** *The status of an EC2 instance resource.
*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *The status of an EC2 instance resource.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of an EC2 instance resource.
*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of an EC2 instance resource.
*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of an EC2 instance resource.
*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *The status of an EC2 instance resource.
*/ inline InstanceSummary& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *The status of an EC2 instance resource.
*/ inline InstanceSummary& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *The status of an EC2 instance resource.
*/ inline InstanceSummary& WithStatus(const char* value) { SetStatus(value); return *this;} /** *The status message for an EC2 instance.
*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *The status message for an EC2 instance.
*/ inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } /** *The status message for an EC2 instance.
*/ inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } /** *The status message for an EC2 instance.
*/ inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } /** *The status message for an EC2 instance.
*/ inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } /** *The status message for an EC2 instance.
*/ inline InstanceSummary& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *The status message for an EC2 instance.
*/ inline InstanceSummary& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *The status message for an EC2 instance.
*/ inline InstanceSummary& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} private: Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; Aws::String m_lastStatusCheckDate; bool m_lastStatusCheckDateHasBeenSet = false; Aws::Vector