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>
47 template <
typename NameT = Aws::String>
49 m_nameHasBeenSet =
true;
50 m_name = std::forward<NameT>(value);
52 template <
typename NameT = Aws::String>
54 SetName(std::forward<NameT>(value));
65 template <
typename DescriptionT = Aws::String>
67 m_descriptionHasBeenSet =
true;
68 m_description = std::forward<DescriptionT>(value);
70 template <
typename DescriptionT = Aws::String>
83 template <
typename TopicPolicyConfigT = GuardrailTopicPolicyConfig>
85 m_topicPolicyConfigHasBeenSet =
true;
86 m_topicPolicyConfig = std::forward<TopicPolicyConfigT>(value);
88 template <
typename TopicPolicyConfigT = GuardrailTopicPolicyConfig>
101 template <
typename ContentPolicyConfigT = GuardrailContentPolicyConfig>
103 m_contentPolicyConfigHasBeenSet =
true;
104 m_contentPolicyConfig = std::forward<ContentPolicyConfigT>(value);
106 template <
typename ContentPolicyConfigT = GuardrailContentPolicyConfig>
119 template <
typename WordPolicyConfigT = GuardrailWordPolicyConfig>
121 m_wordPolicyConfigHasBeenSet =
true;
122 m_wordPolicyConfig = std::forward<WordPolicyConfigT>(value);
124 template <
typename WordPolicyConfigT = GuardrailWordPolicyConfig>
136 return m_sensitiveInformationPolicyConfig;
139 template <
typename SensitiveInformationPolicyConfigT = GuardrailSensitiveInformationPolicyConfig>
141 m_sensitiveInformationPolicyConfigHasBeenSet =
true;
142 m_sensitiveInformationPolicyConfig = std::forward<SensitiveInformationPolicyConfigT>(value);
144 template <
typename SensitiveInformationPolicyConfigT = GuardrailSensitiveInformationPolicyConfig>
156 return m_contextualGroundingPolicyConfig;
159 template <
typename ContextualGroundingPolicyConfigT = GuardrailContextualGroundingPolicyConfig>
161 m_contextualGroundingPolicyConfigHasBeenSet =
true;
162 m_contextualGroundingPolicyConfig = std::forward<ContextualGroundingPolicyConfigT>(value);
164 template <
typename ContextualGroundingPolicyConfigT = GuardrailContextualGroundingPolicyConfig>
177 return m_automatedReasoningPolicyConfig;
180 template <
typename AutomatedReasoningPolicyConfigT = GuardrailAutomatedReasoningPolicyConfig>
182 m_automatedReasoningPolicyConfigHasBeenSet =
true;
183 m_automatedReasoningPolicyConfig = std::forward<AutomatedReasoningPolicyConfigT>(value);
185 template <
typename AutomatedReasoningPolicyConfigT = GuardrailAutomatedReasoningPolicyConfig>
203 template <
typename CrossRegionConfigT = GuardrailCrossRegionConfig>
205 m_crossRegionConfigHasBeenSet =
true;
206 m_crossRegionConfig = std::forward<CrossRegionConfigT>(value);
208 template <
typename CrossRegionConfigT = GuardrailCrossRegionConfig>
221 template <
typename BlockedInputMessagingT = Aws::String>
223 m_blockedInputMessagingHasBeenSet =
true;
224 m_blockedInputMessaging = std::forward<BlockedInputMessagingT>(value);
226 template <
typename BlockedInputMessagingT = Aws::String>
239 template <
typename BlockedOutputsMessagingT = Aws::String>
241 m_blockedOutputsMessagingHasBeenSet =
true;
242 m_blockedOutputsMessaging = std::forward<BlockedOutputsMessagingT>(value);
244 template <
typename BlockedOutputsMessagingT = Aws::String>
257 template <
typename KmsKeyIdT = Aws::String>
259 m_kmsKeyIdHasBeenSet =
true;
260 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
262 template <
typename KmsKeyIdT = Aws::String>
275 template <
typename TagsT = Aws::Vector<Tag>>
277 m_tagsHasBeenSet =
true;
278 m_tags = std::forward<TagsT>(value);
280 template <
typename TagsT = Aws::Vector<Tag>>
282 SetTags(std::forward<TagsT>(value));
285 template <
typename TagsT = Tag>
287 m_tagsHasBeenSet =
true;
288 m_tags.emplace_back(std::forward<TagsT>(value));
303 template <
typename ClientRequestTokenT = Aws::String>
305 m_clientRequestTokenHasBeenSet =
true;
306 m_clientRequestToken = std::forward<ClientRequestTokenT>(value);
308 template <
typename ClientRequestTokenT = Aws::String>
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;
bool ClientRequestTokenHasBeenSet() const
CreateGuardrailRequest & WithSensitiveInformationPolicyConfig(SensitiveInformationPolicyConfigT &&value)
bool NameHasBeenSet() const
void SetDescription(DescriptionT &&value)
virtual const char * GetServiceRequestName() const override
bool DescriptionHasBeenSet() const
const GuardrailSensitiveInformationPolicyConfig & GetSensitiveInformationPolicyConfig() const
bool CrossRegionConfigHasBeenSet() const
bool SensitiveInformationPolicyConfigHasBeenSet() const
void SetContextualGroundingPolicyConfig(ContextualGroundingPolicyConfigT &&value)
CreateGuardrailRequest & WithContentPolicyConfig(ContentPolicyConfigT &&value)
CreateGuardrailRequest & WithBlockedInputMessaging(BlockedInputMessagingT &&value)
const Aws::String & GetBlockedInputMessaging() const
const Aws::String & GetClientRequestToken() const
bool KmsKeyIdHasBeenSet() const
const GuardrailTopicPolicyConfig & GetTopicPolicyConfig() const
void SetAutomatedReasoningPolicyConfig(AutomatedReasoningPolicyConfigT &&value)
bool AutomatedReasoningPolicyConfigHasBeenSet() const
const Aws::String & GetBlockedOutputsMessaging() const
CreateGuardrailRequest & AddTags(TagsT &&value)
bool BlockedInputMessagingHasBeenSet() const
bool BlockedOutputsMessagingHasBeenSet() const
const Aws::String & GetName() const
bool TagsHasBeenSet() const
AWS_BEDROCK_API Aws::String SerializePayload() const override
void SetKmsKeyId(KmsKeyIdT &&value)
const GuardrailContentPolicyConfig & GetContentPolicyConfig() const
CreateGuardrailRequest & WithDescription(DescriptionT &&value)
CreateGuardrailRequest & WithBlockedOutputsMessaging(BlockedOutputsMessagingT &&value)
void SetBlockedOutputsMessaging(BlockedOutputsMessagingT &&value)
void SetSensitiveInformationPolicyConfig(SensitiveInformationPolicyConfigT &&value)
void SetCrossRegionConfig(CrossRegionConfigT &&value)
const Aws::String & GetKmsKeyId() const
void SetBlockedInputMessaging(BlockedInputMessagingT &&value)
AWS_BEDROCK_API CreateGuardrailRequest()=default
bool TopicPolicyConfigHasBeenSet() const
bool WordPolicyConfigHasBeenSet() const
CreateGuardrailRequest & WithTopicPolicyConfig(TopicPolicyConfigT &&value)
void SetContentPolicyConfig(ContentPolicyConfigT &&value)
void SetTags(TagsT &&value)
bool ContextualGroundingPolicyConfigHasBeenSet() const
bool ContentPolicyConfigHasBeenSet() const
const GuardrailCrossRegionConfig & GetCrossRegionConfig() const
void SetClientRequestToken(ClientRequestTokenT &&value)
const Aws::String & GetDescription() const
void SetTopicPolicyConfig(TopicPolicyConfigT &&value)
const Aws::Vector< Tag > & GetTags() const
void SetWordPolicyConfig(WordPolicyConfigT &&value)
CreateGuardrailRequest & WithContextualGroundingPolicyConfig(ContextualGroundingPolicyConfigT &&value)
void SetName(NameT &&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