/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the document.See Also:
AWS
* API Reference
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::VectorList of labels on the document.
*/ inline bool LabelsHasBeenSet() const { return m_labelsHasBeenSet; } /** *List of labels on the document.
*/ inline void SetLabels(const Aws::VectorList of labels on the document.
*/ inline void SetLabels(Aws::VectorList of labels on the document.
*/ inline DocumentMetadata& WithLabels(const Aws::VectorList of labels on the document.
*/ inline DocumentMetadata& WithLabels(Aws::VectorList 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