AWS SDK for C++

AWS SDK for C++ Version 1.11.851

Loading...
Searching...
No Matches
DocumentMetadata.h
1
6#pragma once
7#include <aws/bedrock-agent/BedrockAgent_EXPORTS.h>
8#include <aws/bedrock-agent/model/CustomS3Location.h>
9#include <aws/bedrock-agent/model/DocumentAccessControlEntry.h>
10#include <aws/bedrock-agent/model/MetadataAttribute.h>
11#include <aws/bedrock-agent/model/MetadataSourceType.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace BedrockAgent {
24namespace Model {
25
34 public:
35 AWS_BEDROCKAGENT_API DocumentMetadata() = default;
38 AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline MetadataSourceType GetType() const { return m_type; }
45 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
46 inline void SetType(MetadataSourceType value) {
47 m_typeHasBeenSet = true;
48 m_type = value;
49 }
51 SetType(value);
52 return *this;
53 }
55
57
61 inline const Aws::Vector<MetadataAttribute>& GetInlineAttributes() const { return m_inlineAttributes; }
62 inline bool InlineAttributesHasBeenSet() const { return m_inlineAttributesHasBeenSet; }
63 template <typename InlineAttributesT = Aws::Vector<MetadataAttribute>>
65 m_inlineAttributesHasBeenSet = true;
66 m_inlineAttributes = std::forward<InlineAttributesT>(value);
67 }
68 template <typename InlineAttributesT = Aws::Vector<MetadataAttribute>>
70 SetInlineAttributes(std::forward<InlineAttributesT>(value));
71 return *this;
72 }
73 template <typename InlineAttributesT = MetadataAttribute>
75 m_inlineAttributesHasBeenSet = true;
76 m_inlineAttributes.emplace_back(std::forward<InlineAttributesT>(value));
77 return *this;
78 }
80
82
86 inline const CustomS3Location& GetS3Location() const { return m_s3Location; }
87 inline bool S3LocationHasBeenSet() const { return m_s3LocationHasBeenSet; }
88 template <typename S3LocationT = CustomS3Location>
89 void SetS3Location(S3LocationT&& value) {
90 m_s3LocationHasBeenSet = true;
91 m_s3Location = std::forward<S3LocationT>(value);
92 }
93 template <typename S3LocationT = CustomS3Location>
95 SetS3Location(std::forward<S3LocationT>(value));
96 return *this;
97 }
99
101
105 inline const Aws::Vector<DocumentAccessControlEntry>& GetAccessControlList() const { return m_accessControlList; }
106 inline bool AccessControlListHasBeenSet() const { return m_accessControlListHasBeenSet; }
107 template <typename AccessControlListT = Aws::Vector<DocumentAccessControlEntry>>
109 m_accessControlListHasBeenSet = true;
110 m_accessControlList = std::forward<AccessControlListT>(value);
111 }
112 template <typename AccessControlListT = Aws::Vector<DocumentAccessControlEntry>>
114 SetAccessControlList(std::forward<AccessControlListT>(value));
115 return *this;
116 }
117 template <typename AccessControlListT = DocumentAccessControlEntry>
119 m_accessControlListHasBeenSet = true;
120 m_accessControlList.emplace_back(std::forward<AccessControlListT>(value));
121 return *this;
122 }
124 private:
126
127 Aws::Vector<MetadataAttribute> m_inlineAttributes;
128
129 CustomS3Location m_s3Location;
130
131 Aws::Vector<DocumentAccessControlEntry> m_accessControlList;
132 bool m_typeHasBeenSet = false;
133 bool m_inlineAttributesHasBeenSet = false;
134 bool m_s3LocationHasBeenSet = false;
135 bool m_accessControlListHasBeenSet = false;
136};
137
138} // namespace Model
139} // namespace BedrockAgent
140} // namespace Aws
const CustomS3Location & GetS3Location() const
DocumentMetadata & WithS3Location(S3LocationT &&value)
AWS_BEDROCKAGENT_API DocumentMetadata(Aws::Utils::Json::JsonView jsonValue)
DocumentMetadata & WithInlineAttributes(InlineAttributesT &&value)
void SetInlineAttributes(InlineAttributesT &&value)
DocumentMetadata & WithAccessControlList(AccessControlListT &&value)
AWS_BEDROCKAGENT_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_BEDROCKAGENT_API DocumentMetadata & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetAccessControlList(AccessControlListT &&value)
DocumentMetadata & AddInlineAttributes(InlineAttributesT &&value)
const Aws::Vector< MetadataAttribute > & GetInlineAttributes() const
DocumentMetadata & AddAccessControlList(AccessControlListT &&value)
DocumentMetadata & WithType(MetadataSourceType value)
const Aws::Vector< DocumentAccessControlEntry > & GetAccessControlList() const
AWS_BEDROCKAGENT_API DocumentMetadata()=default
void SetType(MetadataSourceType value)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue