7#include <aws/kendra/Kendra_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/Array.h>
10#include <aws/kendra/model/S3Path.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/kendra/model/ContentType.h>
13#include <aws/kendra/model/DocumentAttribute.h>
14#include <aws/kendra/model/Principal.h>
15#include <aws/kendra/model/HierarchicalPrincipal.h>
58 template<
typename IdT = Aws::String>
59 void SetId(IdT&& value) { m_idHasBeenSet =
true; m_id = std::forward<IdT>(value); }
60 template<
typename IdT = Aws::String>
70 template<
typename TitleT = Aws::String>
71 void SetTitle(TitleT&& value) { m_titleHasBeenSet =
true; m_title = std::forward<TitleT>(value); }
72 template<
typename TitleT = Aws::String>
86 template<
typename BlobT = Aws::Utils::ByteBuffer>
87 void SetBlob(BlobT&& value) { m_blobHasBeenSet =
true; m_blob = std::forward<BlobT>(value); }
88 template<
typename BlobT = Aws::Utils::ByteBuffer>
96 template<
typename S3PathT = S3Path>
97 void SetS3Path(S3PathT&& value) { m_s3PathHasBeenSet =
true; m_s3Path = std::forward<S3PathT>(value); }
98 template<
typename S3PathT = S3Path>
114 template<
typename AttributesT = Aws::Vector<DocumentAttribute>>
115 void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet =
true; m_attributes = std::forward<AttributesT>(value); }
116 template<
typename AttributesT = Aws::Vector<DocumentAttribute>>
118 template<
typename AttributesT = DocumentAttribute>
119 Document&
AddAttributes(AttributesT&& value) { m_attributesHasBeenSet =
true; m_attributes.emplace_back(std::forward<AttributesT>(value));
return *
this; }
130 template<
typename AccessControlListT = Aws::Vector<Principal>>
131 void SetAccessControlList(AccessControlListT&& value) { m_accessControlListHasBeenSet =
true; m_accessControlList = std::forward<AccessControlListT>(value); }
132 template<
typename AccessControlListT = Aws::Vector<Principal>>
134 template<
typename AccessControlListT = Principal>
135 Document&
AddAccessControlList(AccessControlListT&& value) { m_accessControlListHasBeenSet =
true; m_accessControlList.emplace_back(std::forward<AccessControlListT>(value));
return *
this; }
147 template<
typename HierarchicalAccessControlListT = Aws::Vector<HierarchicalPrincipal>>
148 void SetHierarchicalAccessControlList(HierarchicalAccessControlListT&& value) { m_hierarchicalAccessControlListHasBeenSet =
true; m_hierarchicalAccessControlList = std::forward<HierarchicalAccessControlListT>(value); }
149 template<
typename HierarchicalAccessControlListT = Aws::Vector<HierarchicalPrincipal>>
151 template<
typename HierarchicalAccessControlListT = HierarchicalPrincipal>
152 Document&
AddHierarchicalAccessControlList(HierarchicalAccessControlListT&& value) { m_hierarchicalAccessControlListHasBeenSet =
true; m_hierarchicalAccessControlList.emplace_back(std::forward<HierarchicalAccessControlListT>(value));
return *
this; }
175 template<
typename AccessControlConfigurationIdT = Aws::String>
176 void SetAccessControlConfigurationId(AccessControlConfigurationIdT&& value) { m_accessControlConfigurationIdHasBeenSet =
true; m_accessControlConfigurationId = std::forward<AccessControlConfigurationIdT>(value); }
177 template<
typename AccessControlConfigurationIdT = Aws::String>
183 bool m_idHasBeenSet =
false;
186 bool m_titleHasBeenSet =
false;
189 bool m_blobHasBeenSet =
false;
192 bool m_s3PathHasBeenSet =
false;
195 bool m_attributesHasBeenSet =
false;
198 bool m_accessControlListHasBeenSet =
false;
201 bool m_hierarchicalAccessControlListHasBeenSet =
false;
204 bool m_contentTypeHasBeenSet =
false;
207 bool m_accessControlConfigurationIdHasBeenSet =
false;
AWS_KENDRA_API Aws::Utils::Json::JsonValue Jsonize() const
bool TitleHasBeenSet() const
Document & WithId(IdT &&value)
bool BlobHasBeenSet() const
Document & WithAttributes(AttributesT &&value)
void SetAccessControlList(AccessControlListT &&value)
Document & AddAccessControlList(AccessControlListT &&value)
void SetAttributes(AttributesT &&value)
Document & WithBlob(BlobT &&value)
bool S3PathHasBeenSet() const
Document & WithS3Path(S3PathT &&value)
Document & AddHierarchicalAccessControlList(HierarchicalAccessControlListT &&value)
Document & WithContentType(ContentType value)
const Aws::String & GetTitle() const
const Aws::String & GetAccessControlConfigurationId() const
ContentType GetContentType() const
bool AccessControlConfigurationIdHasBeenSet() const
const Aws::Vector< DocumentAttribute > & GetAttributes() const
void SetBlob(BlobT &&value)
bool IdHasBeenSet() const
Document & WithAccessControlConfigurationId(AccessControlConfigurationIdT &&value)
bool ContentTypeHasBeenSet() const
bool HierarchicalAccessControlListHasBeenSet() const
void SetHierarchicalAccessControlList(HierarchicalAccessControlListT &&value)
bool AttributesHasBeenSet() const
void SetAccessControlConfigurationId(AccessControlConfigurationIdT &&value)
Document & WithAccessControlList(AccessControlListT &&value)
Document & AddAttributes(AttributesT &&value)
void SetS3Path(S3PathT &&value)
const Aws::Vector< Principal > & GetAccessControlList() const
const Aws::String & GetId() const
Document & WithHierarchicalAccessControlList(HierarchicalAccessControlListT &&value)
AWS_KENDRA_API Document & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_KENDRA_API Document(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< HierarchicalPrincipal > & GetHierarchicalAccessControlList() const
Document & WithTitle(TitleT &&value)
AWS_KENDRA_API Document()=default
const Aws::Utils::ByteBuffer & GetBlob() const
void SetTitle(TitleT &&value)
bool AccessControlListHasBeenSet() const
void SetContentType(ContentType value)
const S3Path & GetS3Path() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue