/** * 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 users of an EC2 instance providing user-based * subscriptions.

See Also:

AWS * API Reference

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

The date a user was associated with an EC2 instance.

*/ inline const Aws::String& GetAssociationDate() const{ return m_associationDate; } /** *

The date a user was associated with an EC2 instance.

*/ inline bool AssociationDateHasBeenSet() const { return m_associationDateHasBeenSet; } /** *

The date a user was associated with an EC2 instance.

*/ inline void SetAssociationDate(const Aws::String& value) { m_associationDateHasBeenSet = true; m_associationDate = value; } /** *

The date a user was associated with an EC2 instance.

*/ inline void SetAssociationDate(Aws::String&& value) { m_associationDateHasBeenSet = true; m_associationDate = std::move(value); } /** *

The date a user was associated with an EC2 instance.

*/ inline void SetAssociationDate(const char* value) { m_associationDateHasBeenSet = true; m_associationDate.assign(value); } /** *

The date a user was associated with an EC2 instance.

*/ inline InstanceUserSummary& WithAssociationDate(const Aws::String& value) { SetAssociationDate(value); return *this;} /** *

The date a user was associated with an EC2 instance.

*/ inline InstanceUserSummary& WithAssociationDate(Aws::String&& value) { SetAssociationDate(std::move(value)); return *this;} /** *

The date a user was associated with an EC2 instance.

*/ inline InstanceUserSummary& WithAssociationDate(const char* value) { SetAssociationDate(value); return *this;} /** *

The date a user was disassociated from an EC2 instance.

*/ inline const Aws::String& GetDisassociationDate() const{ return m_disassociationDate; } /** *

The date a user was disassociated from an EC2 instance.

*/ inline bool DisassociationDateHasBeenSet() const { return m_disassociationDateHasBeenSet; } /** *

The date a user was disassociated from an EC2 instance.

*/ inline void SetDisassociationDate(const Aws::String& value) { m_disassociationDateHasBeenSet = true; m_disassociationDate = value; } /** *

The date a user was disassociated from an EC2 instance.

*/ inline void SetDisassociationDate(Aws::String&& value) { m_disassociationDateHasBeenSet = true; m_disassociationDate = std::move(value); } /** *

The date a user was disassociated from an EC2 instance.

*/ inline void SetDisassociationDate(const char* value) { m_disassociationDateHasBeenSet = true; m_disassociationDate.assign(value); } /** *

The date a user was disassociated from an EC2 instance.

*/ inline InstanceUserSummary& WithDisassociationDate(const Aws::String& value) { SetDisassociationDate(value); return *this;} /** *

The date a user was disassociated from an EC2 instance.

*/ inline InstanceUserSummary& WithDisassociationDate(Aws::String&& value) { SetDisassociationDate(std::move(value)); return *this;} /** *

The date a user was disassociated from an EC2 instance.

*/ inline InstanceUserSummary& WithDisassociationDate(const char* value) { SetDisassociationDate(value); return *this;} /** *

The domain name of the user.

*/ inline const Aws::String& GetDomain() const{ return m_domain; } /** *

The domain name of the user.

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

The domain name of the user.

*/ inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

The domain name of the user.

*/ inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

The domain name of the user.

*/ inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } /** *

The domain name of the user.

*/ inline InstanceUserSummary& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *

The domain name of the user.

*/ inline InstanceUserSummary& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *

The domain name of the user.

*/ inline InstanceUserSummary& WithDomain(const char* value) { SetDomain(value); return *this;} /** *

An object that specifies details for the identity provider.

*/ inline const IdentityProvider& GetIdentityProvider() const{ return m_identityProvider; } /** *

An object that specifies details for the identity provider.

*/ inline bool IdentityProviderHasBeenSet() const { return m_identityProviderHasBeenSet; } /** *

An object that specifies details for the identity provider.

*/ inline void SetIdentityProvider(const IdentityProvider& value) { m_identityProviderHasBeenSet = true; m_identityProvider = value; } /** *

An object that specifies details for the identity provider.

*/ inline void SetIdentityProvider(IdentityProvider&& value) { m_identityProviderHasBeenSet = true; m_identityProvider = std::move(value); } /** *

An object that specifies details for the identity provider.

*/ inline InstanceUserSummary& WithIdentityProvider(const IdentityProvider& value) { SetIdentityProvider(value); return *this;} /** *

An object that specifies details for the identity provider.

*/ inline InstanceUserSummary& WithIdentityProvider(IdentityProvider&& value) { SetIdentityProvider(std::move(value)); return *this;} /** *

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 InstanceUserSummary& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *

The ID of the EC2 instance, which provides user-based subscriptions.

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

The ID of the EC2 instance, which provides user-based subscriptions.

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

The status of a user associated with an EC2 instance.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of a user associated with an EC2 instance.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of a user associated with an EC2 instance.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of a user associated with an EC2 instance.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of a user associated with an EC2 instance.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of a user associated with an EC2 instance.

*/ inline InstanceUserSummary& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of a user associated with an EC2 instance.

*/ inline InstanceUserSummary& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of a user associated with an EC2 instance.

*/ inline InstanceUserSummary& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The status message for users of an EC2 instance.

*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *

The status message for users of an EC2 instance.

*/ inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } /** *

The status message for users of an EC2 instance.

*/ inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } /** *

The status message for users of an EC2 instance.

*/ inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } /** *

The status message for users of an EC2 instance.

*/ inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } /** *

The status message for users of an EC2 instance.

*/ inline InstanceUserSummary& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *

The status message for users of an EC2 instance.

*/ inline InstanceUserSummary& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *

The status message for users of an EC2 instance.

*/ inline InstanceUserSummary& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} /** *

The user name from the identity provider for the user.

*/ inline const Aws::String& GetUsername() const{ return m_username; } /** *

The user name from the identity provider for the user.

*/ inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; } /** *

The user name from the identity provider for the user.

*/ inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; } /** *

The user name from the identity provider for the user.

*/ inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); } /** *

The user name from the identity provider for the user.

*/ inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); } /** *

The user name from the identity provider for the user.

*/ inline InstanceUserSummary& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} /** *

The user name from the identity provider for the user.

*/ inline InstanceUserSummary& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;} /** *

The user name from the identity provider for the user.

*/ inline InstanceUserSummary& WithUsername(const char* value) { SetUsername(value); return *this;} private: Aws::String m_associationDate; bool m_associationDateHasBeenSet = false; Aws::String m_disassociationDate; bool m_disassociationDateHasBeenSet = false; Aws::String m_domain; bool m_domainHasBeenSet = false; IdentityProvider m_identityProvider; bool m_identityProviderHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet = false; Aws::String m_username; bool m_usernameHasBeenSet = false; }; } // namespace Model } // namespace LicenseManagerUserSubscriptions } // namespace Aws