/** * 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 LicenseManager { namespace Model { /** *

Details about a resource.

See Also:

AWS * API Reference

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

ID of the resource.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

ID of the resource.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

ID of the resource.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

ID of the resource.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

ID of the resource.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

ID of the resource.

*/ inline ResourceInventory& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

ID of the resource.

*/ inline ResourceInventory& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

ID of the resource.

*/ inline ResourceInventory& WithResourceId(const char* value) { SetResourceId(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 ResourceInventory& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} /** *

Type of resource.

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

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 ResourceInventory& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

Amazon Resource Name (ARN) of the resource.

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

Amazon Resource Name (ARN) of the resource.

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

Platform of the resource.

*/ inline const Aws::String& GetPlatform() const{ return m_platform; } /** *

Platform of the resource.

*/ inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } /** *

Platform of the resource.

*/ inline void SetPlatform(const Aws::String& value) { m_platformHasBeenSet = true; m_platform = value; } /** *

Platform of the resource.

*/ inline void SetPlatform(Aws::String&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } /** *

Platform of the resource.

*/ inline void SetPlatform(const char* value) { m_platformHasBeenSet = true; m_platform.assign(value); } /** *

Platform of the resource.

*/ inline ResourceInventory& WithPlatform(const Aws::String& value) { SetPlatform(value); return *this;} /** *

Platform of the resource.

*/ inline ResourceInventory& WithPlatform(Aws::String&& value) { SetPlatform(std::move(value)); return *this;} /** *

Platform of the resource.

*/ inline ResourceInventory& WithPlatform(const char* value) { SetPlatform(value); return *this;} /** *

Platform version of the resource in the inventory.

*/ inline const Aws::String& GetPlatformVersion() const{ return m_platformVersion; } /** *

Platform version of the resource in the inventory.

*/ inline bool PlatformVersionHasBeenSet() const { return m_platformVersionHasBeenSet; } /** *

Platform version of the resource in the inventory.

*/ inline void SetPlatformVersion(const Aws::String& value) { m_platformVersionHasBeenSet = true; m_platformVersion = value; } /** *

Platform version of the resource in the inventory.

*/ inline void SetPlatformVersion(Aws::String&& value) { m_platformVersionHasBeenSet = true; m_platformVersion = std::move(value); } /** *

Platform version of the resource in the inventory.

*/ inline void SetPlatformVersion(const char* value) { m_platformVersionHasBeenSet = true; m_platformVersion.assign(value); } /** *

Platform version of the resource in the inventory.

*/ inline ResourceInventory& WithPlatformVersion(const Aws::String& value) { SetPlatformVersion(value); return *this;} /** *

Platform version of the resource in the inventory.

*/ inline ResourceInventory& WithPlatformVersion(Aws::String&& value) { SetPlatformVersion(std::move(value)); return *this;} /** *

Platform version of the resource in the inventory.

*/ inline ResourceInventory& WithPlatformVersion(const char* value) { SetPlatformVersion(value); return *this;} /** *

ID of the account that owns the resource.

*/ inline const Aws::String& GetResourceOwningAccountId() const{ return m_resourceOwningAccountId; } /** *

ID of the account that owns the resource.

*/ inline bool ResourceOwningAccountIdHasBeenSet() const { return m_resourceOwningAccountIdHasBeenSet; } /** *

ID of the account that owns the resource.

*/ inline void SetResourceOwningAccountId(const Aws::String& value) { m_resourceOwningAccountIdHasBeenSet = true; m_resourceOwningAccountId = value; } /** *

ID of the account that owns the resource.

*/ inline void SetResourceOwningAccountId(Aws::String&& value) { m_resourceOwningAccountIdHasBeenSet = true; m_resourceOwningAccountId = std::move(value); } /** *

ID of the account that owns the resource.

*/ inline void SetResourceOwningAccountId(const char* value) { m_resourceOwningAccountIdHasBeenSet = true; m_resourceOwningAccountId.assign(value); } /** *

ID of the account that owns the resource.

*/ inline ResourceInventory& WithResourceOwningAccountId(const Aws::String& value) { SetResourceOwningAccountId(value); return *this;} /** *

ID of the account that owns the resource.

*/ inline ResourceInventory& WithResourceOwningAccountId(Aws::String&& value) { SetResourceOwningAccountId(std::move(value)); return *this;} /** *

ID of the account that owns the resource.

*/ inline ResourceInventory& WithResourceOwningAccountId(const char* value) { SetResourceOwningAccountId(value); return *this;} private: Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; Aws::String m_platform; bool m_platformHasBeenSet = false; Aws::String m_platformVersion; bool m_platformVersionHasBeenSet = false; Aws::String m_resourceOwningAccountId; bool m_resourceOwningAccountIdHasBeenSet = false; }; } // namespace Model } // namespace LicenseManager } // namespace Aws