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

Describes the metadata of a resource.

See Also:

AWS * API Reference

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

The type of resource.

*/ inline const ResourceType& GetType() const{ return m_type; } /** *

The type of resource.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of resource.

*/ inline void SetType(const ResourceType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of resource.

*/ inline void SetType(ResourceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of resource.

*/ inline ResourceMetadata& WithType(const ResourceType& value) { SetType(value); return *this;} /** *

The type of resource.

*/ inline ResourceMetadata& WithType(ResourceType&& value) { SetType(std::move(value)); return *this;} /** *

The name of the resource.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the resource.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the resource.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the resource.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the resource.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the resource.

*/ inline ResourceMetadata& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the resource.

*/ inline ResourceMetadata& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the resource.

*/ inline ResourceMetadata& WithName(const char* value) { SetName(value); return *this;} /** *

The original name of the resource before a rename operation.

*/ inline const Aws::String& GetOriginalName() const{ return m_originalName; } /** *

The original name of the resource before a rename operation.

*/ inline bool OriginalNameHasBeenSet() const { return m_originalNameHasBeenSet; } /** *

The original name of the resource before a rename operation.

*/ inline void SetOriginalName(const Aws::String& value) { m_originalNameHasBeenSet = true; m_originalName = value; } /** *

The original name of the resource before a rename operation.

*/ inline void SetOriginalName(Aws::String&& value) { m_originalNameHasBeenSet = true; m_originalName = std::move(value); } /** *

The original name of the resource before a rename operation.

*/ inline void SetOriginalName(const char* value) { m_originalNameHasBeenSet = true; m_originalName.assign(value); } /** *

The original name of the resource before a rename operation.

*/ inline ResourceMetadata& WithOriginalName(const Aws::String& value) { SetOriginalName(value); return *this;} /** *

The original name of the resource before a rename operation.

*/ inline ResourceMetadata& WithOriginalName(Aws::String&& value) { SetOriginalName(std::move(value)); return *this;} /** *

The original name of the resource before a rename operation.

*/ inline ResourceMetadata& WithOriginalName(const char* value) { SetOriginalName(value); return *this;} /** *

The ID of the resource.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The ID of the resource.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The ID of the resource.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The ID of the resource.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The ID of the resource.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The ID of the resource.

*/ inline ResourceMetadata& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The ID of the resource.

*/ inline ResourceMetadata& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The ID of the resource.

*/ inline ResourceMetadata& WithId(const char* value) { SetId(value); return *this;} /** *

The version ID of the resource. This is an optional field and is filled for * action on document version.

*/ inline const Aws::String& GetVersionId() const{ return m_versionId; } /** *

The version ID of the resource. This is an optional field and is filled for * action on document version.

*/ inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; } /** *

The version ID of the resource. This is an optional field and is filled for * action on document version.

*/ inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; } /** *

The version ID of the resource. This is an optional field and is filled for * action on document version.

*/ inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); } /** *

The version ID of the resource. This is an optional field and is filled for * action on document version.

*/ inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); } /** *

The version ID of the resource. This is an optional field and is filled for * action on document version.

*/ inline ResourceMetadata& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;} /** *

The version ID of the resource. This is an optional field and is filled for * action on document version.

*/ inline ResourceMetadata& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;} /** *

The version ID of the resource. This is an optional field and is filled for * action on document version.

*/ inline ResourceMetadata& WithVersionId(const char* value) { SetVersionId(value); return *this;} /** *

The owner of the resource.

*/ inline const UserMetadata& GetOwner() const{ return m_owner; } /** *

The owner of the resource.

*/ inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } /** *

The owner of the resource.

*/ inline void SetOwner(const UserMetadata& value) { m_ownerHasBeenSet = true; m_owner = value; } /** *

The owner of the resource.

*/ inline void SetOwner(UserMetadata&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } /** *

The owner of the resource.

*/ inline ResourceMetadata& WithOwner(const UserMetadata& value) { SetOwner(value); return *this;} /** *

The owner of the resource.

*/ inline ResourceMetadata& WithOwner(UserMetadata&& value) { SetOwner(std::move(value)); return *this;} /** *

The parent ID of the resource before a rename operation.

*/ inline const Aws::String& GetParentId() const{ return m_parentId; } /** *

The parent ID of the resource before a rename operation.

*/ inline bool ParentIdHasBeenSet() const { return m_parentIdHasBeenSet; } /** *

The parent ID of the resource before a rename operation.

*/ inline void SetParentId(const Aws::String& value) { m_parentIdHasBeenSet = true; m_parentId = value; } /** *

The parent ID of the resource before a rename operation.

*/ inline void SetParentId(Aws::String&& value) { m_parentIdHasBeenSet = true; m_parentId = std::move(value); } /** *

The parent ID of the resource before a rename operation.

*/ inline void SetParentId(const char* value) { m_parentIdHasBeenSet = true; m_parentId.assign(value); } /** *

The parent ID of the resource before a rename operation.

*/ inline ResourceMetadata& WithParentId(const Aws::String& value) { SetParentId(value); return *this;} /** *

The parent ID of the resource before a rename operation.

*/ inline ResourceMetadata& WithParentId(Aws::String&& value) { SetParentId(std::move(value)); return *this;} /** *

The parent ID of the resource before a rename operation.

*/ inline ResourceMetadata& WithParentId(const char* value) { SetParentId(value); return *this;} private: ResourceType m_type; bool m_typeHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_originalName; bool m_originalNameHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_versionId; bool m_versionIdHasBeenSet = false; UserMetadata m_owner; bool m_ownerHasBeenSet = false; Aws::String m_parentId; bool m_parentIdHasBeenSet = false; }; } // namespace Model } // namespace WorkDocs } // namespace Aws