41 41 | "com.amazonaws.bedrockruntime",
|
42 42 | "GuardrailTraceAssessment",
|
43 43 | );
|
44 44 | static GUARDRAILTRACEASSESSMENT_MEMBER_MODEL_OUTPUT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
45 45 | ::aws_smithy_schema::ShapeId::from_static(
|
46 46 | "com.amazonaws.bedrockruntime#GuardrailTraceAssessment$modelOutput",
|
47 47 | "com.amazonaws.bedrockruntime",
|
48 48 | "GuardrailTraceAssessment",
|
49 49 | ),
|
50 50 | ::aws_smithy_schema::ShapeType::List,
|
51 - | "model_output",
|
51 + | "modelOutput",
|
52 52 | 0,
|
53 53 | );
|
54 54 | static GUARDRAILTRACEASSESSMENT_MEMBER_INPUT_ASSESSMENT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
55 55 | ::aws_smithy_schema::ShapeId::from_static(
|
56 56 | "com.amazonaws.bedrockruntime#GuardrailTraceAssessment$inputAssessment",
|
57 57 | "com.amazonaws.bedrockruntime",
|
58 58 | "GuardrailTraceAssessment",
|
59 59 | ),
|
60 60 | ::aws_smithy_schema::ShapeType::Map,
|
61 - | "input_assessment",
|
61 + | "inputAssessment",
|
62 62 | 1,
|
63 63 | );
|
64 64 | static GUARDRAILTRACEASSESSMENT_MEMBER_OUTPUT_ASSESSMENTS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
65 65 | ::aws_smithy_schema::ShapeId::from_static(
|
66 66 | "com.amazonaws.bedrockruntime#GuardrailTraceAssessment$outputAssessments",
|
67 67 | "com.amazonaws.bedrockruntime",
|
68 68 | "GuardrailTraceAssessment",
|
69 69 | ),
|
70 70 | ::aws_smithy_schema::ShapeType::Map,
|
71 - | "output_assessments",
|
71 + | "outputAssessments",
|
72 72 | 2,
|
73 73 | );
|
74 74 | static GUARDRAILTRACEASSESSMENT_MEMBER_ACTION_REASON: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
75 75 | ::aws_smithy_schema::ShapeId::from_static(
|
76 76 | "com.amazonaws.bedrockruntime#GuardrailTraceAssessment$actionReason",
|
77 77 | "com.amazonaws.bedrockruntime",
|
78 78 | "GuardrailTraceAssessment",
|
79 79 | ),
|
80 80 | ::aws_smithy_schema::ShapeType::String,
|
81 - | "action_reason",
|
81 + | "actionReason",
|
82 82 | 3,
|
83 83 | );
|
84 84 | static GUARDRAILTRACEASSESSMENT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
|
85 85 | GUARDRAILTRACEASSESSMENT_SCHEMA_ID,
|
86 86 | ::aws_smithy_schema::ShapeType::Structure,
|
87 87 | &[
|
88 88 | &GUARDRAILTRACEASSESSMENT_MEMBER_MODEL_OUTPUT,
|
89 89 | &GUARDRAILTRACEASSESSMENT_MEMBER_INPUT_ASSESSMENT,
|
90 90 | &GUARDRAILTRACEASSESSMENT_MEMBER_OUTPUT_ASSESSMENTS,
|
91 91 | &GUARDRAILTRACEASSESSMENT_MEMBER_ACTION_REASON,
|
92 92 | ],
|
93 93 | );
|
94 94 | impl GuardrailTraceAssessment {
|
95 95 | /// The schema for this shape.
|
96 96 | pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &GUARDRAILTRACEASSESSMENT_SCHEMA;
|
97 97 | }
|
98 98 | impl ::aws_smithy_schema::serde::SerializableStruct for GuardrailTraceAssessment {
|
99 99 | #[allow(unused_variables, clippy::diverging_sub_expression)]
|
100 100 | fn serialize_members(
|
101 101 | &self,
|
102 102 | ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
|
103 103 | ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
|
104 104 | if let Some(ref val) = self.model_output {
|
105 105 | ser.write_list(
|
106 106 | &GUARDRAILTRACEASSESSMENT_MEMBER_MODEL_OUTPUT,
|
107 107 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
108 108 | for item in val {
|
109 109 | ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
|
110 110 | }
|
111 111 | Ok(())
|
112 112 | },
|
113 113 | )?;
|
114 114 | }
|
115 115 | if let Some(ref val) = self.input_assessment {
|
116 116 | ser.write_map(
|
117 117 | &GUARDRAILTRACEASSESSMENT_MEMBER_INPUT_ASSESSMENT,
|
118 118 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
119 119 | for (key, value) in val {
|
120 120 | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
121 121 | ser.write_struct(crate::types::GuardrailAssessment::SCHEMA, value)?;
|
122 122 | }
|
123 123 | Ok(())
|
124 124 | },
|
125 125 | )?;
|
126 126 | }
|
127 127 | if let Some(ref val) = self.output_assessments {
|
128 128 | ser.write_map(
|
129 129 | &GUARDRAILTRACEASSESSMENT_MEMBER_OUTPUT_ASSESSMENTS,
|
130 130 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
131 131 | for (key, value) in val {
|
132 132 | ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
|
133 - | todo!("schema: unsupported map value type");
|
133 + |
|
134 + | ser.write_list(
|
135 + | &::aws_smithy_schema::prelude::DOCUMENT,
|
136 + | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
137 + | for item in value {
|
138 + | ser.write_struct(crate::types::GuardrailAssessment::SCHEMA, item)?;
|
139 + | }
|
140 + | Ok(())
|
141 + | },
|
142 + | )?;
|
134 143 | }
|
135 144 | Ok(())
|
136 145 | },
|
137 146 | )?;
|
138 147 | }
|
139 148 | if let Some(ref val) = self.action_reason {
|
140 149 | ser.write_string(&GUARDRAILTRACEASSESSMENT_MEMBER_ACTION_REASON, val)?;
|
141 150 | }
|
142 151 | Ok(())
|
143 152 | }
|
144 153 | }
|
145 154 | impl GuardrailTraceAssessment {
|
146 155 | /// Deserializes this structure from a [`ShapeDeserializer`].
|
147 - | pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
|
148 - | deserializer: &mut D,
|
156 + | pub fn deserialize(
|
157 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
149 158 | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
150 159 | #[allow(unused_variables, unused_mut)]
|
151 160 | let mut builder = Self::builder();
|
152 161 | #[allow(
|
153 162 | unused_variables,
|
154 163 | unreachable_code,
|
155 164 | clippy::single_match,
|
156 165 | clippy::match_single_binding,
|
157 166 | clippy::diverging_sub_expression
|
158 167 | )]
|
159 - | deserializer.read_struct(&GUARDRAILTRACEASSESSMENT_SCHEMA, (), |_, member, deser| {
|
168 + | deserializer.read_struct(&GUARDRAILTRACEASSESSMENT_SCHEMA, &mut |member, deser| {
|
160 169 | match member.member_index() {
|
161 170 | Some(0) => {
|
162 - | builder.model_output = Some({
|
163 - | let container = if let Some(cap) = deser.container_size() {
|
164 - | Vec::with_capacity(cap)
|
165 - | } else {
|
166 - | Vec::new()
|
167 - | };
|
168 - | deser.read_list(member, container, |mut list, deser| {
|
169 - | list.push(deser.read_string(member)?);
|
170 - | Ok(list)
|
171 - | })?
|
172 - | });
|
171 + | builder.model_output = Some(deser.read_string_list(member)?);
|
173 172 | }
|
174 173 | Some(1) => {
|
175 174 | builder.input_assessment = Some({
|
176 - | let container = if let Some(cap) = deser.container_size() {
|
177 - | std::collections::HashMap::with_capacity(cap)
|
178 - | } else {
|
179 - | std::collections::HashMap::new()
|
180 - | };
|
181 - | deser.read_map(member, container, |mut map, key, deser| {
|
182 - | map.insert(key, crate::types::GuardrailAssessment::deserialize(deser)?);
|
183 - | Ok(map)
|
184 - | })?
|
175 + | let mut container = std::collections::HashMap::new();
|
176 + | deser.read_map(member, &mut |key, deser| {
|
177 + | container.insert(key, crate::types::GuardrailAssessment::deserialize(deser)?);
|
178 + | Ok(())
|
179 + | })?;
|
180 + | container
|
185 181 | });
|
186 182 | }
|
187 183 | Some(2) => {
|
188 184 | builder.output_assessments = Some({
|
189 - | let container = if let Some(cap) = deser.container_size() {
|
190 - | std::collections::HashMap::with_capacity(cap)
|
191 - | } else {
|
192 - | std::collections::HashMap::new()
|
193 - | };
|
194 - | deser.read_map(member, container, |mut map, key, deser| {
|
195 - | map.insert(key, todo!("deserialize nested aggregate"));
|
196 - | Ok(map)
|
197 - | })?
|
185 + | let mut container = std::collections::HashMap::new();
|
186 + | deser.read_map(member, &mut |key, deser| {
|
187 + | container.insert(key, {
|
188 + | let mut list = Vec::new();
|
189 + | deser.read_list(member, &mut |deser| {
|
190 + | list.push(crate::types::GuardrailAssessment::deserialize(deser)?);
|
191 + | Ok(())
|
192 + | })?;
|
193 + | list
|
194 + | });
|
195 + | Ok(())
|
196 + | })?;
|
197 + | container
|
198 198 | });
|
199 199 | }
|
200 200 | Some(3) => {
|
201 201 | builder.action_reason = Some(deser.read_string(member)?);
|
202 202 | }
|
203 203 | _ => {}
|
204 204 | }
|
205 205 | Ok(())
|
206 206 | })?;
|
207 207 | Ok(builder.build())
|
208 208 | }
|
209 209 | }
|
210 + | impl GuardrailTraceAssessment {
|
211 + | /// Deserializes this structure from a body deserializer and HTTP response.
|
212 + | pub fn deserialize_with_response(
|
213 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
214 + | _headers: &::aws_smithy_runtime_api::http::Headers,
|
215 + | _status: u16,
|
216 + | _body: &[u8],
|
217 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
218 + | Self::deserialize(deserializer)
|
219 + | }
|
220 + | }
|
210 221 | impl GuardrailTraceAssessment {
|
211 222 | /// Creates a new builder-style object to manufacture [`GuardrailTraceAssessment`](crate::types::GuardrailTraceAssessment).
|
212 223 | pub fn builder() -> crate::types::builders::GuardrailTraceAssessmentBuilder {
|
213 224 | crate::types::builders::GuardrailTraceAssessmentBuilder::default()
|
214 225 | }
|
215 226 | }
|
216 227 |
|
217 228 | /// A builder for [`GuardrailTraceAssessment`](crate::types::GuardrailTraceAssessment).
|
218 229 | #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
|
219 230 | #[non_exhaustive]
|