aws_sdk_bedrockagent/types/
_prompt_variant.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
6pub struct PromptVariant {
7 pub name: ::std::string::String,
9 pub template_type: crate::types::PromptTemplateType,
11 pub template_configuration: ::std::option::Option<crate::types::PromptTemplateConfiguration>,
13 pub model_id: ::std::option::Option<::std::string::String>,
15 pub inference_configuration: ::std::option::Option<crate::types::PromptInferenceConfiguration>,
17 pub metadata: ::std::option::Option<::std::vec::Vec<crate::types::PromptMetadataEntry>>,
19 pub additional_model_request_fields: ::std::option::Option<::aws_smithy_types::Document>,
21 pub gen_ai_resource: ::std::option::Option<crate::types::PromptGenAiResource>,
23}
24impl PromptVariant {
25 pub fn name(&self) -> &str {
27 use std::ops::Deref;
28 self.name.deref()
29 }
30 pub fn template_type(&self) -> &crate::types::PromptTemplateType {
32 &self.template_type
33 }
34 pub fn template_configuration(&self) -> ::std::option::Option<&crate::types::PromptTemplateConfiguration> {
36 self.template_configuration.as_ref()
37 }
38 pub fn model_id(&self) -> ::std::option::Option<&str> {
40 self.model_id.as_deref()
41 }
42 pub fn inference_configuration(&self) -> ::std::option::Option<&crate::types::PromptInferenceConfiguration> {
44 self.inference_configuration.as_ref()
45 }
46 pub fn metadata(&self) -> &[crate::types::PromptMetadataEntry] {
50 self.metadata.as_deref().unwrap_or_default()
51 }
52 pub fn additional_model_request_fields(&self) -> ::std::option::Option<&::aws_smithy_types::Document> {
54 self.additional_model_request_fields.as_ref()
55 }
56 pub fn gen_ai_resource(&self) -> ::std::option::Option<&crate::types::PromptGenAiResource> {
58 self.gen_ai_resource.as_ref()
59 }
60}
61impl ::std::fmt::Debug for PromptVariant {
62 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
63 let mut formatter = f.debug_struct("PromptVariant");
64 formatter.field("name", &"*** Sensitive Data Redacted ***");
65 formatter.field("template_type", &"*** Sensitive Data Redacted ***");
66 formatter.field("template_configuration", &"*** Sensitive Data Redacted ***");
67 formatter.field("model_id", &"*** Sensitive Data Redacted ***");
68 formatter.field("inference_configuration", &"*** Sensitive Data Redacted ***");
69 formatter.field("metadata", &"*** Sensitive Data Redacted ***");
70 formatter.field("additional_model_request_fields", &"*** Sensitive Data Redacted ***");
71 formatter.field("gen_ai_resource", &"*** Sensitive Data Redacted ***");
72 formatter.finish()
73 }
74}
75impl PromptVariant {
76 pub fn builder() -> crate::types::builders::PromptVariantBuilder {
78 crate::types::builders::PromptVariantBuilder::default()
79 }
80}
81
82#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
84#[non_exhaustive]
85pub struct PromptVariantBuilder {
86 pub(crate) name: ::std::option::Option<::std::string::String>,
87 pub(crate) template_type: ::std::option::Option<crate::types::PromptTemplateType>,
88 pub(crate) template_configuration: ::std::option::Option<crate::types::PromptTemplateConfiguration>,
89 pub(crate) model_id: ::std::option::Option<::std::string::String>,
90 pub(crate) inference_configuration: ::std::option::Option<crate::types::PromptInferenceConfiguration>,
91 pub(crate) metadata: ::std::option::Option<::std::vec::Vec<crate::types::PromptMetadataEntry>>,
92 pub(crate) additional_model_request_fields: ::std::option::Option<::aws_smithy_types::Document>,
93 pub(crate) gen_ai_resource: ::std::option::Option<crate::types::PromptGenAiResource>,
94}
95impl PromptVariantBuilder {
96 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
99 self.name = ::std::option::Option::Some(input.into());
100 self
101 }
102 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
104 self.name = input;
105 self
106 }
107 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
109 &self.name
110 }
111 pub fn template_type(mut self, input: crate::types::PromptTemplateType) -> Self {
114 self.template_type = ::std::option::Option::Some(input);
115 self
116 }
117 pub fn set_template_type(mut self, input: ::std::option::Option<crate::types::PromptTemplateType>) -> Self {
119 self.template_type = input;
120 self
121 }
122 pub fn get_template_type(&self) -> &::std::option::Option<crate::types::PromptTemplateType> {
124 &self.template_type
125 }
126 pub fn template_configuration(mut self, input: crate::types::PromptTemplateConfiguration) -> Self {
129 self.template_configuration = ::std::option::Option::Some(input);
130 self
131 }
132 pub fn set_template_configuration(mut self, input: ::std::option::Option<crate::types::PromptTemplateConfiguration>) -> Self {
134 self.template_configuration = input;
135 self
136 }
137 pub fn get_template_configuration(&self) -> &::std::option::Option<crate::types::PromptTemplateConfiguration> {
139 &self.template_configuration
140 }
141 pub fn model_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
143 self.model_id = ::std::option::Option::Some(input.into());
144 self
145 }
146 pub fn set_model_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
148 self.model_id = input;
149 self
150 }
151 pub fn get_model_id(&self) -> &::std::option::Option<::std::string::String> {
153 &self.model_id
154 }
155 pub fn inference_configuration(mut self, input: crate::types::PromptInferenceConfiguration) -> Self {
157 self.inference_configuration = ::std::option::Option::Some(input);
158 self
159 }
160 pub fn set_inference_configuration(mut self, input: ::std::option::Option<crate::types::PromptInferenceConfiguration>) -> Self {
162 self.inference_configuration = input;
163 self
164 }
165 pub fn get_inference_configuration(&self) -> &::std::option::Option<crate::types::PromptInferenceConfiguration> {
167 &self.inference_configuration
168 }
169 pub fn metadata(mut self, input: crate::types::PromptMetadataEntry) -> Self {
175 let mut v = self.metadata.unwrap_or_default();
176 v.push(input);
177 self.metadata = ::std::option::Option::Some(v);
178 self
179 }
180 pub fn set_metadata(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::PromptMetadataEntry>>) -> Self {
182 self.metadata = input;
183 self
184 }
185 pub fn get_metadata(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PromptMetadataEntry>> {
187 &self.metadata
188 }
189 pub fn additional_model_request_fields(mut self, input: ::aws_smithy_types::Document) -> Self {
191 self.additional_model_request_fields = ::std::option::Option::Some(input);
192 self
193 }
194 pub fn set_additional_model_request_fields(mut self, input: ::std::option::Option<::aws_smithy_types::Document>) -> Self {
196 self.additional_model_request_fields = input;
197 self
198 }
199 pub fn get_additional_model_request_fields(&self) -> &::std::option::Option<::aws_smithy_types::Document> {
201 &self.additional_model_request_fields
202 }
203 pub fn gen_ai_resource(mut self, input: crate::types::PromptGenAiResource) -> Self {
205 self.gen_ai_resource = ::std::option::Option::Some(input);
206 self
207 }
208 pub fn set_gen_ai_resource(mut self, input: ::std::option::Option<crate::types::PromptGenAiResource>) -> Self {
210 self.gen_ai_resource = input;
211 self
212 }
213 pub fn get_gen_ai_resource(&self) -> &::std::option::Option<crate::types::PromptGenAiResource> {
215 &self.gen_ai_resource
216 }
217 pub fn build(self) -> ::std::result::Result<crate::types::PromptVariant, ::aws_smithy_types::error::operation::BuildError> {
222 ::std::result::Result::Ok(crate::types::PromptVariant {
223 name: self.name.ok_or_else(|| {
224 ::aws_smithy_types::error::operation::BuildError::missing_field(
225 "name",
226 "name was not specified but it is required when building PromptVariant",
227 )
228 })?,
229 template_type: self.template_type.ok_or_else(|| {
230 ::aws_smithy_types::error::operation::BuildError::missing_field(
231 "template_type",
232 "template_type was not specified but it is required when building PromptVariant",
233 )
234 })?,
235 template_configuration: self.template_configuration,
236 model_id: self.model_id,
237 inference_configuration: self.inference_configuration,
238 metadata: self.metadata,
239 additional_model_request_fields: self.additional_model_request_fields,
240 gen_ai_resource: self.gen_ai_resource,
241 })
242 }
243}
244impl ::std::fmt::Debug for PromptVariantBuilder {
245 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
246 let mut formatter = f.debug_struct("PromptVariantBuilder");
247 formatter.field("name", &"*** Sensitive Data Redacted ***");
248 formatter.field("template_type", &"*** Sensitive Data Redacted ***");
249 formatter.field("template_configuration", &"*** Sensitive Data Redacted ***");
250 formatter.field("model_id", &"*** Sensitive Data Redacted ***");
251 formatter.field("inference_configuration", &"*** Sensitive Data Redacted ***");
252 formatter.field("metadata", &"*** Sensitive Data Redacted ***");
253 formatter.field("additional_model_request_fields", &"*** Sensitive Data Redacted ***");
254 formatter.field("gen_ai_resource", &"*** Sensitive Data Redacted ***");
255 formatter.finish()
256 }
257}