/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The summary of the user-based subscription products for a user.See
* Also:
AWS
* API Reference
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 ProductUserSummary& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *The domain name of the user.
*/ inline ProductUserSummary& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *The domain name of the user.
*/ inline ProductUserSummary& 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 ProductUserSummary& WithIdentityProvider(const IdentityProvider& value) { SetIdentityProvider(value); return *this;} /** *An object that specifies details for the identity provider.
*/ inline ProductUserSummary& WithIdentityProvider(IdentityProvider&& value) { SetIdentityProvider(std::move(value)); return *this;} /** *The name of the user-based subscription product.
*/ inline const Aws::String& GetProduct() const{ return m_product; } /** *The name of the user-based subscription product.
*/ inline bool ProductHasBeenSet() const { return m_productHasBeenSet; } /** *The name of the user-based subscription product.
*/ inline void SetProduct(const Aws::String& value) { m_productHasBeenSet = true; m_product = value; } /** *The name of the user-based subscription product.
*/ inline void SetProduct(Aws::String&& value) { m_productHasBeenSet = true; m_product = std::move(value); } /** *The name of the user-based subscription product.
*/ inline void SetProduct(const char* value) { m_productHasBeenSet = true; m_product.assign(value); } /** *The name of the user-based subscription product.
*/ inline ProductUserSummary& WithProduct(const Aws::String& value) { SetProduct(value); return *this;} /** *The name of the user-based subscription product.
*/ inline ProductUserSummary& WithProduct(Aws::String&& value) { SetProduct(std::move(value)); return *this;} /** *The name of the user-based subscription product.
*/ inline ProductUserSummary& WithProduct(const char* value) { SetProduct(value); return *this;} /** *The status of a product for a user.
*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *The status of a product for a user.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of a product for a user.
*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of a product for a user.
*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of a product for a user.
*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *The status of a product for a user.
*/ inline ProductUserSummary& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *The status of a product for a user.
*/ inline ProductUserSummary& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *The status of a product for a user.
*/ inline ProductUserSummary& WithStatus(const char* value) { SetStatus(value); return *this;} /** *The status message for a product for a user.
*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *The status message for a product for a user.
*/ inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } /** *The status message for a product for a user.
*/ inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } /** *The status message for a product for a user.
*/ inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } /** *The status message for a product for a user.
*/ inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } /** *The status message for a product for a user.
*/ inline ProductUserSummary& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *The status message for a product for a user.
*/ inline ProductUserSummary& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *The status message for a product for a user.
*/ inline ProductUserSummary& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} /** *The end date of a subscription.
*/ inline const Aws::String& GetSubscriptionEndDate() const{ return m_subscriptionEndDate; } /** *The end date of a subscription.
*/ inline bool SubscriptionEndDateHasBeenSet() const { return m_subscriptionEndDateHasBeenSet; } /** *The end date of a subscription.
*/ inline void SetSubscriptionEndDate(const Aws::String& value) { m_subscriptionEndDateHasBeenSet = true; m_subscriptionEndDate = value; } /** *The end date of a subscription.
*/ inline void SetSubscriptionEndDate(Aws::String&& value) { m_subscriptionEndDateHasBeenSet = true; m_subscriptionEndDate = std::move(value); } /** *The end date of a subscription.
*/ inline void SetSubscriptionEndDate(const char* value) { m_subscriptionEndDateHasBeenSet = true; m_subscriptionEndDate.assign(value); } /** *The end date of a subscription.
*/ inline ProductUserSummary& WithSubscriptionEndDate(const Aws::String& value) { SetSubscriptionEndDate(value); return *this;} /** *The end date of a subscription.
*/ inline ProductUserSummary& WithSubscriptionEndDate(Aws::String&& value) { SetSubscriptionEndDate(std::move(value)); return *this;} /** *The end date of a subscription.
*/ inline ProductUserSummary& WithSubscriptionEndDate(const char* value) { SetSubscriptionEndDate(value); return *this;} /** *The start date of a subscription.
*/ inline const Aws::String& GetSubscriptionStartDate() const{ return m_subscriptionStartDate; } /** *The start date of a subscription.
*/ inline bool SubscriptionStartDateHasBeenSet() const { return m_subscriptionStartDateHasBeenSet; } /** *The start date of a subscription.
*/ inline void SetSubscriptionStartDate(const Aws::String& value) { m_subscriptionStartDateHasBeenSet = true; m_subscriptionStartDate = value; } /** *The start date of a subscription.
*/ inline void SetSubscriptionStartDate(Aws::String&& value) { m_subscriptionStartDateHasBeenSet = true; m_subscriptionStartDate = std::move(value); } /** *The start date of a subscription.
*/ inline void SetSubscriptionStartDate(const char* value) { m_subscriptionStartDateHasBeenSet = true; m_subscriptionStartDate.assign(value); } /** *The start date of a subscription.
*/ inline ProductUserSummary& WithSubscriptionStartDate(const Aws::String& value) { SetSubscriptionStartDate(value); return *this;} /** *The start date of a subscription.
*/ inline ProductUserSummary& WithSubscriptionStartDate(Aws::String&& value) { SetSubscriptionStartDate(std::move(value)); return *this;} /** *The start date of a subscription.
*/ inline ProductUserSummary& WithSubscriptionStartDate(const char* value) { SetSubscriptionStartDate(value); return *this;} /** *The user name from the identity provider of the user.
*/ inline const Aws::String& GetUsername() const{ return m_username; } /** *The user name from the identity provider of the user.
*/ inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; } /** *The user name from the identity provider of the user.
*/ inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; } /** *The user name from the identity provider of the user.
*/ inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); } /** *The user name from the identity provider of the user.
*/ inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); } /** *The user name from the identity provider of the user.
*/ inline ProductUserSummary& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} /** *The user name from the identity provider of the user.
*/ inline ProductUserSummary& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;} /** *The user name from the identity provider of the user.
*/ inline ProductUserSummary& WithUsername(const char* value) { SetUsername(value); return *this;} private: Aws::String m_domain; bool m_domainHasBeenSet = false; IdentityProvider m_identityProvider; bool m_identityProviderHasBeenSet = false; Aws::String m_product; bool m_productHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet = false; Aws::String m_subscriptionEndDate; bool m_subscriptionEndDateHasBeenSet = false; Aws::String m_subscriptionStartDate; bool m_subscriptionStartDateHasBeenSet = false; Aws::String m_username; bool m_usernameHasBeenSet = false; }; } // namespace Model } // namespace LicenseManagerUserSubscriptions } // namespace Aws