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

See Also:

AWS * API Reference

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

The ID of the folder.

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

The ID of the folder.

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

The ID of the folder.

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

The ID of the folder.

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

The ID of the folder.

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

The ID of the folder.

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

The ID of the folder.

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

The ID of the folder.

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

The name of the folder.

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

The name of the folder.

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

The name of the folder.

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

The name of the folder.

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

The name of the folder.

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

The name of the folder.

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

The name of the folder.

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

The name of the folder.

*/ inline FolderMetadata& WithName(const char* value) { SetName(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 FolderMetadata& WithCreatorId(const Aws::String& value) { SetCreatorId(value); return *this;} /** *

The ID of the creator.

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

The ID of the creator.

*/ inline FolderMetadata& 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 FolderMetadata& WithParentFolderId(const Aws::String& value) { SetParentFolderId(value); return *this;} /** *

The ID of the parent folder.

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

The ID of the parent folder.

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

The time when the folder was created.

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

The time when the folder was created.

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

The time when the folder was created.

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

The time when the folder was created.

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

The time when the folder was created.

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

The time when the folder was created.

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

The time when the folder was updated.

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

The time when the folder was updated.

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

The time when the folder was updated.

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

The time when the folder was updated.

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

The time when the folder was updated.

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

The time when the folder was updated.

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

The resource state of the folder.

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

The resource state of the folder.

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

The resource state of the folder.

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

The resource state of the folder.

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

The resource state of the folder.

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

The resource state of the folder.

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

The unique identifier created from the subfolders and documents of the * folder.

*/ inline const Aws::String& GetSignature() const{ return m_signature; } /** *

The unique identifier created from the subfolders and documents of the * folder.

*/ inline bool SignatureHasBeenSet() const { return m_signatureHasBeenSet; } /** *

The unique identifier created from the subfolders and documents of the * folder.

*/ inline void SetSignature(const Aws::String& value) { m_signatureHasBeenSet = true; m_signature = value; } /** *

The unique identifier created from the subfolders and documents of the * folder.

*/ inline void SetSignature(Aws::String&& value) { m_signatureHasBeenSet = true; m_signature = std::move(value); } /** *

The unique identifier created from the subfolders and documents of the * folder.

*/ inline void SetSignature(const char* value) { m_signatureHasBeenSet = true; m_signature.assign(value); } /** *

The unique identifier created from the subfolders and documents of the * folder.

*/ inline FolderMetadata& WithSignature(const Aws::String& value) { SetSignature(value); return *this;} /** *

The unique identifier created from the subfolders and documents of the * folder.

*/ inline FolderMetadata& WithSignature(Aws::String&& value) { SetSignature(std::move(value)); return *this;} /** *

The unique identifier created from the subfolders and documents of the * folder.

*/ inline FolderMetadata& WithSignature(const char* value) { SetSignature(value); return *this;} /** *

List of labels on the folder.

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

List of labels on the folder.

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

List of labels on the folder.

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

List of labels on the folder.

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

List of labels on the folder.

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

List of labels on the folder.

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

List of labels on the folder.

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

List of labels on the folder.

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

List of labels on the folder.

*/ inline FolderMetadata& AddLabels(const char* value) { m_labelsHasBeenSet = true; m_labels.push_back(value); return *this; } /** *

The size of the folder metadata.

*/ inline long long GetSize() const{ return m_size; } /** *

The size of the folder metadata.

*/ inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; } /** *

The size of the folder metadata.

*/ inline void SetSize(long long value) { m_sizeHasBeenSet = true; m_size = value; } /** *

The size of the folder metadata.

*/ inline FolderMetadata& WithSize(long long value) { SetSize(value); return *this;} /** *

The size of the latest version of the folder metadata.

*/ inline long long GetLatestVersionSize() const{ return m_latestVersionSize; } /** *

The size of the latest version of the folder metadata.

*/ inline bool LatestVersionSizeHasBeenSet() const { return m_latestVersionSizeHasBeenSet; } /** *

The size of the latest version of the folder metadata.

*/ inline void SetLatestVersionSize(long long value) { m_latestVersionSizeHasBeenSet = true; m_latestVersionSize = value; } /** *

The size of the latest version of the folder metadata.

*/ inline FolderMetadata& WithLatestVersionSize(long long value) { SetLatestVersionSize(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = 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; ResourceStateType m_resourceState; bool m_resourceStateHasBeenSet = false; Aws::String m_signature; bool m_signatureHasBeenSet = false; Aws::Vector m_labels; bool m_labelsHasBeenSet = false; long long m_size; bool m_sizeHasBeenSet = false; long long m_latestVersionSize; bool m_latestVersionSizeHasBeenSet = false; }; } // namespace Model } // namespace WorkDocs } // namespace Aws