/** * 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 { /** *

Describes an association with a license configuration.

See * Also:

AWS * API Reference

*/ class LicenseConfigurationAssociation { public: AWS_LICENSEMANAGER_API LicenseConfigurationAssociation(); AWS_LICENSEMANAGER_API LicenseConfigurationAssociation(Aws::Utils::Json::JsonView jsonValue); AWS_LICENSEMANAGER_API LicenseConfigurationAssociation& 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 LicenseConfigurationAssociation& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

Amazon Resource Name (ARN) of the resource.

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

Amazon Resource Name (ARN) of the resource.

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

Type of server resource.

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

Type of server resource.

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

Type of server resource.

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

Type of server resource.

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

Type of server resource.

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

Type of server resource.

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

ID of the Amazon Web Services account that owns the resource consuming * licenses.

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

ID of the Amazon Web Services account that owns the resource consuming * licenses.

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

ID of the Amazon Web Services account that owns the resource consuming * licenses.

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

ID of the Amazon Web Services account that owns the resource consuming * licenses.

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

ID of the Amazon Web Services account that owns the resource consuming * licenses.

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

ID of the Amazon Web Services account that owns the resource consuming * licenses.

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

ID of the Amazon Web Services account that owns the resource consuming * licenses.

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

ID of the Amazon Web Services account that owns the resource consuming * licenses.

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

Time when the license configuration was associated with the resource.

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

Time when the license configuration was associated with the resource.

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

Time when the license configuration was associated with the resource.

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

Time when the license configuration was 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 associated with the resource.

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

Time when the license configuration was associated with the resource.

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

Scope of AMI associations. The possible value is * cross-account.

*/ inline const Aws::String& GetAmiAssociationScope() const{ return m_amiAssociationScope; } /** *

Scope of AMI associations. The possible value is * cross-account.

*/ inline bool AmiAssociationScopeHasBeenSet() const { return m_amiAssociationScopeHasBeenSet; } /** *

Scope of AMI associations. The possible value is * cross-account.

*/ inline void SetAmiAssociationScope(const Aws::String& value) { m_amiAssociationScopeHasBeenSet = true; m_amiAssociationScope = value; } /** *

Scope of AMI associations. The possible value is * cross-account.

*/ inline void SetAmiAssociationScope(Aws::String&& value) { m_amiAssociationScopeHasBeenSet = true; m_amiAssociationScope = std::move(value); } /** *

Scope of AMI associations. The possible value is * cross-account.

*/ inline void SetAmiAssociationScope(const char* value) { m_amiAssociationScopeHasBeenSet = true; m_amiAssociationScope.assign(value); } /** *

Scope of AMI associations. The possible value is * cross-account.

*/ inline LicenseConfigurationAssociation& WithAmiAssociationScope(const Aws::String& value) { SetAmiAssociationScope(value); return *this;} /** *

Scope of AMI associations. The possible value is * cross-account.

*/ inline LicenseConfigurationAssociation& WithAmiAssociationScope(Aws::String&& value) { SetAmiAssociationScope(std::move(value)); return *this;} /** *

Scope of AMI associations. The possible value is * cross-account.

*/ inline LicenseConfigurationAssociation& WithAmiAssociationScope(const char* value) { SetAmiAssociationScope(value); return *this;} private: Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_resourceOwnerId; bool m_resourceOwnerIdHasBeenSet = false; Aws::Utils::DateTime m_associationTime; bool m_associationTimeHasBeenSet = false; Aws::String m_amiAssociationScope; bool m_amiAssociationScopeHasBeenSet = false; }; } // namespace Model } // namespace LicenseManager } // namespace Aws