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

Details for associating a license configuration with a * resource.

See Also:

AWS * API Reference

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

Amazon Resource Name (ARN) of the license configuration.

*/ inline const Aws::String& GetLicenseConfigurationArn() const{ return m_licenseConfigurationArn; } /** *

Amazon Resource Name (ARN) of the license configuration.

*/ inline bool LicenseConfigurationArnHasBeenSet() const { return m_licenseConfigurationArnHasBeenSet; } /** *

Amazon Resource Name (ARN) of the license configuration.

*/ inline void SetLicenseConfigurationArn(const Aws::String& value) { m_licenseConfigurationArnHasBeenSet = true; m_licenseConfigurationArn = value; } /** *

Amazon Resource Name (ARN) of the license configuration.

*/ inline void SetLicenseConfigurationArn(Aws::String&& value) { m_licenseConfigurationArnHasBeenSet = true; m_licenseConfigurationArn = std::move(value); } /** *

Amazon Resource Name (ARN) of the license configuration.

*/ inline void SetLicenseConfigurationArn(const char* value) { m_licenseConfigurationArnHasBeenSet = true; m_licenseConfigurationArn.assign(value); } /** *

Amazon Resource Name (ARN) of the license configuration.

*/ inline LicenseSpecification& WithLicenseConfigurationArn(const Aws::String& value) { SetLicenseConfigurationArn(value); return *this;} /** *

Amazon Resource Name (ARN) of the license configuration.

*/ inline LicenseSpecification& WithLicenseConfigurationArn(Aws::String&& value) { SetLicenseConfigurationArn(std::move(value)); return *this;} /** *

Amazon Resource Name (ARN) of the license configuration.

*/ inline LicenseSpecification& WithLicenseConfigurationArn(const char* value) { SetLicenseConfigurationArn(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 LicenseSpecification& WithAmiAssociationScope(const Aws::String& value) { SetAmiAssociationScope(value); return *this;} /** *

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

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

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

*/ inline LicenseSpecification& WithAmiAssociationScope(const char* value) { SetAmiAssociationScope(value); return *this;} private: Aws::String m_licenseConfigurationArn; bool m_licenseConfigurationArnHasBeenSet = false; Aws::String m_amiAssociationScope; bool m_amiAssociationScopeHasBeenSet = false; }; } // namespace Model } // namespace LicenseManager } // namespace Aws