AWS SDK for C++

AWS SDK for C++ Version 1.11.742

Loading...
Searching...
No Matches
CreateGuardrailRequest.h
1
6#pragma once
7#include <aws/bedrock/BedrockRequest.h>
8#include <aws/bedrock/Bedrock_EXPORTS.h>
9#include <aws/bedrock/model/GuardrailAutomatedReasoningPolicyConfig.h>
10#include <aws/bedrock/model/GuardrailContentPolicyConfig.h>
11#include <aws/bedrock/model/GuardrailContextualGroundingPolicyConfig.h>
12#include <aws/bedrock/model/GuardrailCrossRegionConfig.h>
13#include <aws/bedrock/model/GuardrailSensitiveInformationPolicyConfig.h>
14#include <aws/bedrock/model/GuardrailTopicPolicyConfig.h>
15#include <aws/bedrock/model/GuardrailWordPolicyConfig.h>
16#include <aws/bedrock/model/Tag.h>
17#include <aws/core/utils/UUID.h>
18#include <aws/core/utils/memory/stl/AWSString.h>
19#include <aws/core/utils/memory/stl/AWSVector.h>
20
21#include <utility>
22
23namespace Aws {
24namespace Bedrock {
25namespace Model {
26
30 public:
31 AWS_BEDROCK_API CreateGuardrailRequest() = default;
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "CreateGuardrail"; }
38
39 AWS_BEDROCK_API Aws::String SerializePayload() const override;
40
42
45 inline const Aws::String& GetName() const { return m_name; }
46 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
47 template <typename NameT = Aws::String>
48 void SetName(NameT&& value) {
49 m_nameHasBeenSet = true;
50 m_name = std::forward<NameT>(value);
51 }
52 template <typename NameT = Aws::String>
54 SetName(std::forward<NameT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetDescription() const { return m_description; }
64 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
65 template <typename DescriptionT = Aws::String>
67 m_descriptionHasBeenSet = true;
68 m_description = std::forward<DescriptionT>(value);
69 }
70 template <typename DescriptionT = Aws::String>
72 SetDescription(std::forward<DescriptionT>(value));
73 return *this;
74 }
76
78
81 inline const GuardrailTopicPolicyConfig& GetTopicPolicyConfig() const { return m_topicPolicyConfig; }
82 inline bool TopicPolicyConfigHasBeenSet() const { return m_topicPolicyConfigHasBeenSet; }
83 template <typename TopicPolicyConfigT = GuardrailTopicPolicyConfig>
85 m_topicPolicyConfigHasBeenSet = true;
86 m_topicPolicyConfig = std::forward<TopicPolicyConfigT>(value);
87 }
88 template <typename TopicPolicyConfigT = GuardrailTopicPolicyConfig>
90 SetTopicPolicyConfig(std::forward<TopicPolicyConfigT>(value));
91 return *this;
92 }
94
96
99 inline const GuardrailContentPolicyConfig& GetContentPolicyConfig() const { return m_contentPolicyConfig; }
100 inline bool ContentPolicyConfigHasBeenSet() const { return m_contentPolicyConfigHasBeenSet; }
101 template <typename ContentPolicyConfigT = GuardrailContentPolicyConfig>
103 m_contentPolicyConfigHasBeenSet = true;
104 m_contentPolicyConfig = std::forward<ContentPolicyConfigT>(value);
105 }
106 template <typename ContentPolicyConfigT = GuardrailContentPolicyConfig>
108 SetContentPolicyConfig(std::forward<ContentPolicyConfigT>(value));
109 return *this;
110 }
112
114
117 inline const GuardrailWordPolicyConfig& GetWordPolicyConfig() const { return m_wordPolicyConfig; }
118 inline bool WordPolicyConfigHasBeenSet() const { return m_wordPolicyConfigHasBeenSet; }
119 template <typename WordPolicyConfigT = GuardrailWordPolicyConfig>
121 m_wordPolicyConfigHasBeenSet = true;
122 m_wordPolicyConfig = std::forward<WordPolicyConfigT>(value);
123 }
124 template <typename WordPolicyConfigT = GuardrailWordPolicyConfig>
126 SetWordPolicyConfig(std::forward<WordPolicyConfigT>(value));
127 return *this;
128 }
130
132
136 return m_sensitiveInformationPolicyConfig;
137 }
138 inline bool SensitiveInformationPolicyConfigHasBeenSet() const { return m_sensitiveInformationPolicyConfigHasBeenSet; }
139 template <typename SensitiveInformationPolicyConfigT = GuardrailSensitiveInformationPolicyConfig>
141 m_sensitiveInformationPolicyConfigHasBeenSet = true;
142 m_sensitiveInformationPolicyConfig = std::forward<SensitiveInformationPolicyConfigT>(value);
143 }
144 template <typename SensitiveInformationPolicyConfigT = GuardrailSensitiveInformationPolicyConfig>
146 SetSensitiveInformationPolicyConfig(std::forward<SensitiveInformationPolicyConfigT>(value));
147 return *this;
148 }
150
152
156 return m_contextualGroundingPolicyConfig;
157 }
158 inline bool ContextualGroundingPolicyConfigHasBeenSet() const { return m_contextualGroundingPolicyConfigHasBeenSet; }
159 template <typename ContextualGroundingPolicyConfigT = GuardrailContextualGroundingPolicyConfig>
161 m_contextualGroundingPolicyConfigHasBeenSet = true;
162 m_contextualGroundingPolicyConfig = std::forward<ContextualGroundingPolicyConfigT>(value);
163 }
164 template <typename ContextualGroundingPolicyConfigT = GuardrailContextualGroundingPolicyConfig>
166 SetContextualGroundingPolicyConfig(std::forward<ContextualGroundingPolicyConfigT>(value));
167 return *this;
168 }
170
172
177 return m_automatedReasoningPolicyConfig;
178 }
179 inline bool AutomatedReasoningPolicyConfigHasBeenSet() const { return m_automatedReasoningPolicyConfigHasBeenSet; }
180 template <typename AutomatedReasoningPolicyConfigT = GuardrailAutomatedReasoningPolicyConfig>
182 m_automatedReasoningPolicyConfigHasBeenSet = true;
183 m_automatedReasoningPolicyConfig = std::forward<AutomatedReasoningPolicyConfigT>(value);
184 }
185 template <typename AutomatedReasoningPolicyConfigT = GuardrailAutomatedReasoningPolicyConfig>
187 SetAutomatedReasoningPolicyConfig(std::forward<AutomatedReasoningPolicyConfigT>(value));
188 return *this;
189 }
191
193
201 inline const GuardrailCrossRegionConfig& GetCrossRegionConfig() const { return m_crossRegionConfig; }
202 inline bool CrossRegionConfigHasBeenSet() const { return m_crossRegionConfigHasBeenSet; }
203 template <typename CrossRegionConfigT = GuardrailCrossRegionConfig>
205 m_crossRegionConfigHasBeenSet = true;
206 m_crossRegionConfig = std::forward<CrossRegionConfigT>(value);
207 }
208 template <typename CrossRegionConfigT = GuardrailCrossRegionConfig>
210 SetCrossRegionConfig(std::forward<CrossRegionConfigT>(value));
211 return *this;
212 }
214
216
219 inline const Aws::String& GetBlockedInputMessaging() const { return m_blockedInputMessaging; }
220 inline bool BlockedInputMessagingHasBeenSet() const { return m_blockedInputMessagingHasBeenSet; }
221 template <typename BlockedInputMessagingT = Aws::String>
223 m_blockedInputMessagingHasBeenSet = true;
224 m_blockedInputMessaging = std::forward<BlockedInputMessagingT>(value);
225 }
226 template <typename BlockedInputMessagingT = Aws::String>
228 SetBlockedInputMessaging(std::forward<BlockedInputMessagingT>(value));
229 return *this;
230 }
232
234
237 inline const Aws::String& GetBlockedOutputsMessaging() const { return m_blockedOutputsMessaging; }
238 inline bool BlockedOutputsMessagingHasBeenSet() const { return m_blockedOutputsMessagingHasBeenSet; }
239 template <typename BlockedOutputsMessagingT = Aws::String>
241 m_blockedOutputsMessagingHasBeenSet = true;
242 m_blockedOutputsMessaging = std::forward<BlockedOutputsMessagingT>(value);
243 }
244 template <typename BlockedOutputsMessagingT = Aws::String>
246 SetBlockedOutputsMessaging(std::forward<BlockedOutputsMessagingT>(value));
247 return *this;
248 }
250
252
255 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
256 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
257 template <typename KmsKeyIdT = Aws::String>
258 void SetKmsKeyId(KmsKeyIdT&& value) {
259 m_kmsKeyIdHasBeenSet = true;
260 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
261 }
262 template <typename KmsKeyIdT = Aws::String>
264 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
265 return *this;
266 }
268
270
273 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
274 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
275 template <typename TagsT = Aws::Vector<Tag>>
276 void SetTags(TagsT&& value) {
277 m_tagsHasBeenSet = true;
278 m_tags = std::forward<TagsT>(value);
279 }
280 template <typename TagsT = Aws::Vector<Tag>>
282 SetTags(std::forward<TagsT>(value));
283 return *this;
284 }
285 template <typename TagsT = Tag>
287 m_tagsHasBeenSet = true;
288 m_tags.emplace_back(std::forward<TagsT>(value));
289 return *this;
290 }
292
294
301 inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; }
302 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
303 template <typename ClientRequestTokenT = Aws::String>
305 m_clientRequestTokenHasBeenSet = true;
306 m_clientRequestToken = std::forward<ClientRequestTokenT>(value);
307 }
308 template <typename ClientRequestTokenT = Aws::String>
310 SetClientRequestToken(std::forward<ClientRequestTokenT>(value));
311 return *this;
312 }
314 private:
315 Aws::String m_name;
316
317 Aws::String m_description;
318
319 GuardrailTopicPolicyConfig m_topicPolicyConfig;
320
321 GuardrailContentPolicyConfig m_contentPolicyConfig;
322
323 GuardrailWordPolicyConfig m_wordPolicyConfig;
324
325 GuardrailSensitiveInformationPolicyConfig m_sensitiveInformationPolicyConfig;
326
327 GuardrailContextualGroundingPolicyConfig m_contextualGroundingPolicyConfig;
328
329 GuardrailAutomatedReasoningPolicyConfig m_automatedReasoningPolicyConfig;
330
331 GuardrailCrossRegionConfig m_crossRegionConfig;
332
333 Aws::String m_blockedInputMessaging;
334
335 Aws::String m_blockedOutputsMessaging;
336
337 Aws::String m_kmsKeyId;
338
339 Aws::Vector<Tag> m_tags;
340
341 Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()};
342 bool m_nameHasBeenSet = false;
343 bool m_descriptionHasBeenSet = false;
344 bool m_topicPolicyConfigHasBeenSet = false;
345 bool m_contentPolicyConfigHasBeenSet = false;
346 bool m_wordPolicyConfigHasBeenSet = false;
347 bool m_sensitiveInformationPolicyConfigHasBeenSet = false;
348 bool m_contextualGroundingPolicyConfigHasBeenSet = false;
349 bool m_automatedReasoningPolicyConfigHasBeenSet = false;
350 bool m_crossRegionConfigHasBeenSet = false;
351 bool m_blockedInputMessagingHasBeenSet = false;
352 bool m_blockedOutputsMessagingHasBeenSet = false;
353 bool m_kmsKeyIdHasBeenSet = false;
354 bool m_tagsHasBeenSet = false;
355 bool m_clientRequestTokenHasBeenSet = true;
356};
357
358} // namespace Model
359} // namespace Bedrock
360} // namespace Aws
CreateGuardrailRequest & WithSensitiveInformationPolicyConfig(SensitiveInformationPolicyConfigT &&value)
virtual const char * GetServiceRequestName() const override
const GuardrailSensitiveInformationPolicyConfig & GetSensitiveInformationPolicyConfig() const
void SetContextualGroundingPolicyConfig(ContextualGroundingPolicyConfigT &&value)
CreateGuardrailRequest & WithContentPolicyConfig(ContentPolicyConfigT &&value)
CreateGuardrailRequest & WithBlockedInputMessaging(BlockedInputMessagingT &&value)
const GuardrailTopicPolicyConfig & GetTopicPolicyConfig() const
void SetAutomatedReasoningPolicyConfig(AutomatedReasoningPolicyConfigT &&value)
CreateGuardrailRequest & AddTags(TagsT &&value)
AWS_BEDROCK_API Aws::String SerializePayload() const override
const GuardrailContentPolicyConfig & GetContentPolicyConfig() const
CreateGuardrailRequest & WithDescription(DescriptionT &&value)
CreateGuardrailRequest & WithBlockedOutputsMessaging(BlockedOutputsMessagingT &&value)
void SetBlockedOutputsMessaging(BlockedOutputsMessagingT &&value)
void SetSensitiveInformationPolicyConfig(SensitiveInformationPolicyConfigT &&value)
void SetCrossRegionConfig(CrossRegionConfigT &&value)
void SetBlockedInputMessaging(BlockedInputMessagingT &&value)
AWS_BEDROCK_API CreateGuardrailRequest()=default
CreateGuardrailRequest & WithTopicPolicyConfig(TopicPolicyConfigT &&value)
void SetContentPolicyConfig(ContentPolicyConfigT &&value)
const GuardrailCrossRegionConfig & GetCrossRegionConfig() const
void SetClientRequestToken(ClientRequestTokenT &&value)
void SetTopicPolicyConfig(TopicPolicyConfigT &&value)
void SetWordPolicyConfig(WordPolicyConfigT &&value)
CreateGuardrailRequest & WithContextualGroundingPolicyConfig(ContextualGroundingPolicyConfigT &&value)
CreateGuardrailRequest & WithTags(TagsT &&value)
CreateGuardrailRequest & WithWordPolicyConfig(WordPolicyConfigT &&value)
const GuardrailAutomatedReasoningPolicyConfig & GetAutomatedReasoningPolicyConfig() const
CreateGuardrailRequest & WithName(NameT &&value)
CreateGuardrailRequest & WithCrossRegionConfig(CrossRegionConfigT &&value)
CreateGuardrailRequest & WithAutomatedReasoningPolicyConfig(AutomatedReasoningPolicyConfigT &&value)
const GuardrailWordPolicyConfig & GetWordPolicyConfig() const
CreateGuardrailRequest & WithKmsKeyId(KmsKeyIdT &&value)
const GuardrailContextualGroundingPolicyConfig & GetContextualGroundingPolicyConfig() const
CreateGuardrailRequest & WithClientRequestToken(ClientRequestTokenT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector