/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #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 document.

See Also:

AWS * API Reference

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

The ID of the document.

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

The ID of the document.

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

The ID of the document.

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

The ID of the document.

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

The ID of the document.

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

The ID of the document.

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

The ID of the document.

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

The ID of the document.

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

The ID of the creator.

*/ inline const Aws::String& GetCreatorId() const{ return m_creatorId; } /** *

The ID of the creator.

*/ inline bool CreatorIdHasBeenSet() const { return m_creatorIdHasBeenSet; } /** *

The ID of the creator.

*/ inline void SetCreatorId(const Aws::String& value) { m_creatorIdHasBeenSet = true; m_creatorId = value; } /** *

The ID of the creator.

*/ inline void SetCreatorId(Aws::String&& value) { m_creatorIdHasBeenSet = true; m_creatorId = std::move(value); } /** *

The ID of the creator.

*/ inline void SetCreatorId(const char* value) { m_creatorIdHasBeenSet = true; m_creatorId.assign(value); } /** *

The ID of the creator.

*/ inline DocumentMetadata& WithCreatorId(const Aws::String& value) { SetCreatorId(value); return *this;} /** *

The ID of the creator.

*/ inline DocumentMetadata& WithCreatorId(Aws::String&& value) { SetCreatorId(std::move(value)); return *this;} /** *

The ID of the creator.

*/ inline DocumentMetadata& WithCreatorId(const char* value) { SetCreatorId(value); return *this;} /** *

The ID of the parent folder.

*/ inline const Aws::String& GetParentFolderId() const{ return m_parentFolderId; } /** *

The ID of the parent folder.

*/ inline bool ParentFolderIdHasBeenSet() const { return m_parentFolderIdHasBeenSet; } /** *

The ID of the parent folder.

*/ inline void SetParentFolderId(const Aws::String& value) { m_parentFolderIdHasBeenSet = true; m_parentFolderId = value; } /** *

The ID of the parent folder.

*/ inline void SetParentFolderId(Aws::String&& value) { m_parentFolderIdHasBeenSet = true; m_parentFolderId = std::move(value); } /** *

The ID of the parent folder.

*/ inline void SetParentFolderId(const char* value) { m_parentFolderIdHasBeenSet = true; m_parentFolderId.assign(value); } /** *

The ID of the parent folder.

*/ inline DocumentMetadata& WithParentFolderId(const Aws::String& value) { SetParentFolderId(value); return *this;} /** *

The ID of the parent folder.

*/ inline DocumentMetadata& WithParentFolderId(Aws::String&& value) { SetParentFolderId(std::move(value)); return *this;} /** *

The ID of the parent folder.

*/ inline DocumentMetadata& WithParentFolderId(const char* value) { SetParentFolderId(value); return *this;} /** *

The time when the document was created.

*/ inline const Aws::Utils::DateTime& GetCreatedTimestamp() const{ return m_createdTimestamp; } /** *

The time when the document was created.

*/ inline bool CreatedTimestampHasBeenSet() const { return m_createdTimestampHasBeenSet; } /** *

The time when the document was created.

*/ inline void SetCreatedTimestamp(const Aws::Utils::DateTime& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = value; } /** *

The time when the document was created.

*/ inline void SetCreatedTimestamp(Aws::Utils::DateTime&& value) { m_createdTimestampHasBeenSet = true; m_createdTimestamp = std::move(value); } /** *

The time when the document was created.

*/ inline DocumentMetadata& WithCreatedTimestamp(const Aws::Utils::DateTime& value) { SetCreatedTimestamp(value); return *this;} /** *

The time when the document was created.

*/ inline DocumentMetadata& WithCreatedTimestamp(Aws::Utils::DateTime&& value) { SetCreatedTimestamp(std::move(value)); return *this;} /** *

The time when the document was updated.

*/ inline const Aws::Utils::DateTime& GetModifiedTimestamp() const{ return m_modifiedTimestamp; } /** *

The time when the document was updated.

*/ inline bool ModifiedTimestampHasBeenSet() const { return m_modifiedTimestampHasBeenSet; } /** *

The time when the document was updated.

*/ inline void SetModifiedTimestamp(const Aws::Utils::DateTime& value) { m_modifiedTimestampHasBeenSet = true; m_modifiedTimestamp = value; } /** *

The time when the document was updated.

*/ inline void SetModifiedTimestamp(Aws::Utils::DateTime&& value) { m_modifiedTimestampHasBeenSet = true; m_modifiedTimestamp = std::move(value); } /** *

The time when the document was updated.

*/ inline DocumentMetadata& WithModifiedTimestamp(const Aws::Utils::DateTime& value) { SetModifiedTimestamp(value); return *this;} /** *

The time when the document was updated.

*/ inline DocumentMetadata& WithModifiedTimestamp(Aws::Utils::DateTime&& value) { SetModifiedTimestamp(std::move(value)); return *this;} /** *

The latest version of the document.

*/ inline const DocumentVersionMetadata& GetLatestVersionMetadata() const{ return m_latestVersionMetadata; } /** *

The latest version of the document.

*/ inline bool LatestVersionMetadataHasBeenSet() const { return m_latestVersionMetadataHasBeenSet; } /** *

The latest version of the document.

*/ inline void SetLatestVersionMetadata(const DocumentVersionMetadata& value) { m_latestVersionMetadataHasBeenSet = true; m_latestVersionMetadata = value; } /** *

The latest version of the document.

*/ inline void SetLatestVersionMetadata(DocumentVersionMetadata&& value) { m_latestVersionMetadataHasBeenSet = true; m_latestVersionMetadata = std::move(value); } /** *

The latest version of the document.

*/ inline DocumentMetadata& WithLatestVersionMetadata(const DocumentVersionMetadata& value) { SetLatestVersionMetadata(value); return *this;} /** *

The latest version of the document.

*/ inline DocumentMetadata& WithLatestVersionMetadata(DocumentVersionMetadata&& value) { SetLatestVersionMetadata(std::move(value)); return *this;} /** *

The resource state.

*/ inline const ResourceStateType& GetResourceState() const{ return m_resourceState; } /** *

The resource state.

*/ inline bool ResourceStateHasBeenSet() const { return m_resourceStateHasBeenSet; } /** *

The resource state.

*/ inline void SetResourceState(const ResourceStateType& value) { m_resourceStateHasBeenSet = true; m_resourceState = value; } /** *

The resource state.

*/ inline void SetResourceState(ResourceStateType&& value) { m_resourceStateHasBeenSet = true; m_resourceState = std::move(value); } /** *

The resource state.

*/ inline DocumentMetadata& WithResourceState(const ResourceStateType& value) { SetResourceState(value); return *this;} /** *

The resource state.

*/ inline DocumentMetadata& WithResourceState(ResourceStateType&& value) { SetResourceState(std::move(value)); return *this;} /** *

List of labels on the document.

*/ inline const Aws::Vector& GetLabels() const{ return m_labels; } /** *

List of labels on the document.

*/ inline bool LabelsHasBeenSet() const { return m_labelsHasBeenSet; } /** *

List of labels on the document.

*/ inline void SetLabels(const Aws::Vector& value) { m_labelsHasBeenSet = true; m_labels = value; } /** *

List of labels on the document.

*/ inline void SetLabels(Aws::Vector&& value) { m_labelsHasBeenSet = true; m_labels = std::move(value); } /** *

List of labels on the document.

*/ inline DocumentMetadata& WithLabels(const Aws::Vector& value) { SetLabels(value); return *this;} /** *

List of labels on the document.

*/ inline DocumentMetadata& WithLabels(Aws::Vector&& value) { SetLabels(std::move(value)); return *this;} /** *

List of labels on the document.

*/ inline DocumentMetadata& AddLabels(const Aws::String& value) { m_labelsHasBeenSet = true; m_labels.push_back(value); return *this; } /** *

List of labels on the document.

*/ inline DocumentMetadata& AddLabels(Aws::String&& value) { m_labelsHasBeenSet = true; m_labels.push_back(std::move(value)); return *this; } /** *

List of labels on the document.

*/ inline DocumentMetadata& AddLabels(const char* value) { m_labelsHasBeenSet = true; m_labels.push_back(value); return *this; } private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_creatorId; bool m_creatorIdHasBeenSet = false; Aws::String m_parentFolderId; bool m_parentFolderIdHasBeenSet = false; Aws::Utils::DateTime m_createdTimestamp; bool m_createdTimestampHasBeenSet = false; Aws::Utils::DateTime m_modifiedTimestamp; bool m_modifiedTimestampHasBeenSet = false; DocumentVersionMetadata m_latestVersionMetadata; bool m_latestVersionMetadataHasBeenSet = false; ResourceStateType m_resourceState; bool m_resourceStateHasBeenSet = false; Aws::Vector m_labels; bool m_labelsHasBeenSet = false; }; } // namespace Model } // namespace WorkDocs } // namespace Aws