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

Describes an EC2 instance providing user-based subscriptions.

See * Also:

AWS * API Reference

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

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::Vector& GetProducts() const{ return m_products; } /** *

A 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::Vector& value) { m_productsHasBeenSet = true; m_products = value; } /** *

A list of provided user-based subscription products.

*/ inline void SetProducts(Aws::Vector&& value) { m_productsHasBeenSet = true; m_products = std::move(value); } /** *

A list of provided user-based subscription products.

*/ inline InstanceSummary& WithProducts(const Aws::Vector& value) { SetProducts(value); return *this;} /** *

A list of provided user-based subscription products.

*/ inline InstanceSummary& WithProducts(Aws::Vector&& value) { SetProducts(std::move(value)); return *this;} /** *

A 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 m_products; bool m_productsHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet = false; }; } // namespace Model } // namespace LicenseManagerUserSubscriptions } // namespace Aws