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

Details about the usage of a resource associated with a license * configuration.

See Also:

AWS * API Reference

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

Amazon Resource Name (ARN) of the resource.

*/ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** *

Amazon Resource Name (ARN) of the resource.

*/ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** *

Amazon Resource Name (ARN) of the resource.

*/ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** *

Amazon Resource Name (ARN) of the resource.

*/ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** *

Amazon Resource Name (ARN) of the resource.

*/ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** *

Amazon Resource Name (ARN) of the resource.

*/ inline LicenseConfigurationUsage& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

Amazon Resource Name (ARN) of the resource.

*/ inline LicenseConfigurationUsage& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** *

Amazon Resource Name (ARN) of the resource.

*/ inline LicenseConfigurationUsage& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} /** *

Type of resource.

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

Type of resource.

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

Type of resource.

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

Type of resource.

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

Type of resource.

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

Type of resource.

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

Status of the resource.

*/ inline const Aws::String& GetResourceStatus() const{ return m_resourceStatus; } /** *

Status of the resource.

*/ inline bool ResourceStatusHasBeenSet() const { return m_resourceStatusHasBeenSet; } /** *

Status of the resource.

*/ inline void SetResourceStatus(const Aws::String& value) { m_resourceStatusHasBeenSet = true; m_resourceStatus = value; } /** *

Status of the resource.

*/ inline void SetResourceStatus(Aws::String&& value) { m_resourceStatusHasBeenSet = true; m_resourceStatus = std::move(value); } /** *

Status of the resource.

*/ inline void SetResourceStatus(const char* value) { m_resourceStatusHasBeenSet = true; m_resourceStatus.assign(value); } /** *

Status of the resource.

*/ inline LicenseConfigurationUsage& WithResourceStatus(const Aws::String& value) { SetResourceStatus(value); return *this;} /** *

Status of the resource.

*/ inline LicenseConfigurationUsage& WithResourceStatus(Aws::String&& value) { SetResourceStatus(std::move(value)); return *this;} /** *

Status of the resource.

*/ inline LicenseConfigurationUsage& WithResourceStatus(const char* value) { SetResourceStatus(value); return *this;} /** *

ID of the account that owns the resource.

*/ inline const Aws::String& GetResourceOwnerId() const{ return m_resourceOwnerId; } /** *

ID of the account that owns the resource.

*/ inline bool ResourceOwnerIdHasBeenSet() const { return m_resourceOwnerIdHasBeenSet; } /** *

ID of the account that owns the resource.

*/ inline void SetResourceOwnerId(const Aws::String& value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId = value; } /** *

ID of the account that owns the resource.

*/ inline void SetResourceOwnerId(Aws::String&& value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId = std::move(value); } /** *

ID of the account that owns the resource.

*/ inline void SetResourceOwnerId(const char* value) { m_resourceOwnerIdHasBeenSet = true; m_resourceOwnerId.assign(value); } /** *

ID of the account that owns the resource.

*/ inline LicenseConfigurationUsage& WithResourceOwnerId(const Aws::String& value) { SetResourceOwnerId(value); return *this;} /** *

ID of the account that owns the resource.

*/ inline LicenseConfigurationUsage& WithResourceOwnerId(Aws::String&& value) { SetResourceOwnerId(std::move(value)); return *this;} /** *

ID of the account that owns the resource.

*/ inline LicenseConfigurationUsage& WithResourceOwnerId(const char* value) { SetResourceOwnerId(value); return *this;} /** *

Time when the license configuration was initially associated with the * resource.

*/ inline const Aws::Utils::DateTime& GetAssociationTime() const{ return m_associationTime; } /** *

Time when the license configuration was initially associated with the * resource.

*/ inline bool AssociationTimeHasBeenSet() const { return m_associationTimeHasBeenSet; } /** *

Time when the license configuration was initially associated with the * resource.

*/ inline void SetAssociationTime(const Aws::Utils::DateTime& value) { m_associationTimeHasBeenSet = true; m_associationTime = value; } /** *

Time when the license configuration was initially associated with the * resource.

*/ inline void SetAssociationTime(Aws::Utils::DateTime&& value) { m_associationTimeHasBeenSet = true; m_associationTime = std::move(value); } /** *

Time when the license configuration was initially associated with the * resource.

*/ inline LicenseConfigurationUsage& WithAssociationTime(const Aws::Utils::DateTime& value) { SetAssociationTime(value); return *this;} /** *

Time when the license configuration was initially associated with the * resource.

*/ inline LicenseConfigurationUsage& WithAssociationTime(Aws::Utils::DateTime&& value) { SetAssociationTime(std::move(value)); return *this;} /** *

Number of licenses consumed by the resource.

*/ inline long long GetConsumedLicenses() const{ return m_consumedLicenses; } /** *

Number of licenses consumed by the resource.

*/ inline bool ConsumedLicensesHasBeenSet() const { return m_consumedLicensesHasBeenSet; } /** *

Number of licenses consumed by the resource.

*/ inline void SetConsumedLicenses(long long value) { m_consumedLicensesHasBeenSet = true; m_consumedLicenses = value; } /** *

Number of licenses consumed by the resource.

*/ inline LicenseConfigurationUsage& WithConsumedLicenses(long long value) { SetConsumedLicenses(value); return *this;} private: Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_resourceStatus; bool m_resourceStatusHasBeenSet = false; Aws::String m_resourceOwnerId; bool m_resourceOwnerIdHasBeenSet = false; Aws::Utils::DateTime m_associationTime; bool m_associationTimeHasBeenSet = false; long long m_consumedLicenses; bool m_consumedLicensesHasBeenSet = false; }; } // namespace Model } // namespace LicenseManager } // namespace Aws