39 39 | }
|
40 40 | static TOKENUSAGE_SCHEMA_ID: ::aws_smithy_schema::ShapeId =
|
41 41 | ::aws_smithy_schema::ShapeId::from_static("com.amazonaws.bedrockruntime#TokenUsage", "com.amazonaws.bedrockruntime", "TokenUsage");
|
42 42 | static TOKENUSAGE_MEMBER_INPUT_TOKENS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
43 43 | ::aws_smithy_schema::ShapeId::from_static(
|
44 44 | "com.amazonaws.bedrockruntime#TokenUsage$inputTokens",
|
45 45 | "com.amazonaws.bedrockruntime",
|
46 46 | "TokenUsage",
|
47 47 | ),
|
48 48 | ::aws_smithy_schema::ShapeType::Integer,
|
49 - | "input_tokens",
|
49 + | "inputTokens",
|
50 50 | 0,
|
51 51 | );
|
52 52 | static TOKENUSAGE_MEMBER_OUTPUT_TOKENS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
53 53 | ::aws_smithy_schema::ShapeId::from_static(
|
54 54 | "com.amazonaws.bedrockruntime#TokenUsage$outputTokens",
|
55 55 | "com.amazonaws.bedrockruntime",
|
56 56 | "TokenUsage",
|
57 57 | ),
|
58 58 | ::aws_smithy_schema::ShapeType::Integer,
|
59 - | "output_tokens",
|
59 + | "outputTokens",
|
60 60 | 1,
|
61 61 | );
|
62 62 | static TOKENUSAGE_MEMBER_TOTAL_TOKENS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
63 63 | ::aws_smithy_schema::ShapeId::from_static(
|
64 64 | "com.amazonaws.bedrockruntime#TokenUsage$totalTokens",
|
65 65 | "com.amazonaws.bedrockruntime",
|
66 66 | "TokenUsage",
|
67 67 | ),
|
68 68 | ::aws_smithy_schema::ShapeType::Integer,
|
69 - | "total_tokens",
|
69 + | "totalTokens",
|
70 70 | 2,
|
71 71 | );
|
72 72 | static TOKENUSAGE_MEMBER_CACHE_READ_INPUT_TOKENS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
73 73 | ::aws_smithy_schema::ShapeId::from_static(
|
74 74 | "com.amazonaws.bedrockruntime#TokenUsage$cacheReadInputTokens",
|
75 75 | "com.amazonaws.bedrockruntime",
|
76 76 | "TokenUsage",
|
77 77 | ),
|
78 78 | ::aws_smithy_schema::ShapeType::Integer,
|
79 - | "cache_read_input_tokens",
|
79 + | "cacheReadInputTokens",
|
80 80 | 3,
|
81 81 | );
|
82 82 | static TOKENUSAGE_MEMBER_CACHE_WRITE_INPUT_TOKENS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
83 83 | ::aws_smithy_schema::ShapeId::from_static(
|
84 84 | "com.amazonaws.bedrockruntime#TokenUsage$cacheWriteInputTokens",
|
85 85 | "com.amazonaws.bedrockruntime",
|
86 86 | "TokenUsage",
|
87 87 | ),
|
88 88 | ::aws_smithy_schema::ShapeType::Integer,
|
89 - | "cache_write_input_tokens",
|
89 + | "cacheWriteInputTokens",
|
90 90 | 4,
|
91 91 | );
|
92 92 | static TOKENUSAGE_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
|
93 93 | TOKENUSAGE_SCHEMA_ID,
|
94 94 | ::aws_smithy_schema::ShapeType::Structure,
|
95 95 | &[
|
96 96 | &TOKENUSAGE_MEMBER_INPUT_TOKENS,
|
97 97 | &TOKENUSAGE_MEMBER_OUTPUT_TOKENS,
|
98 98 | &TOKENUSAGE_MEMBER_TOTAL_TOKENS,
|
99 99 | &TOKENUSAGE_MEMBER_CACHE_READ_INPUT_TOKENS,
|
100 100 | &TOKENUSAGE_MEMBER_CACHE_WRITE_INPUT_TOKENS,
|
101 101 | ],
|
102 102 | );
|
103 103 | impl TokenUsage {
|
104 104 | /// The schema for this shape.
|
105 105 | pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TOKENUSAGE_SCHEMA;
|
106 106 | }
|
107 107 | impl ::aws_smithy_schema::serde::SerializableStruct for TokenUsage {
|
108 108 | #[allow(unused_variables, clippy::diverging_sub_expression)]
|
109 109 | fn serialize_members(
|
110 110 | &self,
|
111 111 | ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
|
112 112 | ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
|
113 113 | {
|
114 114 | let val = &self.input_tokens;
|
115 115 | ser.write_integer(&TOKENUSAGE_MEMBER_INPUT_TOKENS, *val)?;
|
116 116 | }
|
117 117 | {
|
118 118 | let val = &self.output_tokens;
|
119 119 | ser.write_integer(&TOKENUSAGE_MEMBER_OUTPUT_TOKENS, *val)?;
|
120 120 | }
|
121 121 | {
|
122 122 | let val = &self.total_tokens;
|
123 123 | ser.write_integer(&TOKENUSAGE_MEMBER_TOTAL_TOKENS, *val)?;
|
124 124 | }
|
125 125 | if let Some(ref val) = self.cache_read_input_tokens {
|
126 126 | ser.write_integer(&TOKENUSAGE_MEMBER_CACHE_READ_INPUT_TOKENS, *val)?;
|
127 127 | }
|
128 128 | if let Some(ref val) = self.cache_write_input_tokens {
|
129 129 | ser.write_integer(&TOKENUSAGE_MEMBER_CACHE_WRITE_INPUT_TOKENS, *val)?;
|
130 130 | }
|
131 131 | Ok(())
|
132 132 | }
|
133 133 | }
|
134 134 | impl TokenUsage {
|
135 135 | /// Deserializes this structure from a [`ShapeDeserializer`].
|
136 - | pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
|
137 - | deserializer: &mut D,
|
136 + | pub fn deserialize(
|
137 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
138 138 | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
139 139 | #[allow(unused_variables, unused_mut)]
|
140 140 | let mut builder = Self::builder();
|
141 141 | #[allow(
|
142 142 | unused_variables,
|
143 143 | unreachable_code,
|
144 144 | clippy::single_match,
|
145 145 | clippy::match_single_binding,
|
146 146 | clippy::diverging_sub_expression
|
147 147 | )]
|
148 - | deserializer.read_struct(&TOKENUSAGE_SCHEMA, (), |_, member, deser| {
|
148 + | deserializer.read_struct(&TOKENUSAGE_SCHEMA, &mut |member, deser| {
|
149 149 | match member.member_index() {
|
150 150 | Some(0) => {
|
151 151 | builder.input_tokens = Some(deser.read_integer(member)?);
|
152 152 | }
|
153 153 | Some(1) => {
|
154 154 | builder.output_tokens = Some(deser.read_integer(member)?);
|
155 155 | }
|
156 156 | Some(2) => {
|
157 157 | builder.total_tokens = Some(deser.read_integer(member)?);
|
158 158 | }
|
159 159 | Some(3) => {
|
160 160 | builder.cache_read_input_tokens = Some(deser.read_integer(member)?);
|
161 161 | }
|
162 162 | Some(4) => {
|
163 163 | builder.cache_write_input_tokens = Some(deser.read_integer(member)?);
|
164 164 | }
|
165 165 | _ => {}
|
166 166 | }
|
167 167 | Ok(())
|
168 168 | })?;
|
169 + | builder.input_tokens = builder.input_tokens.or(Some(0i32));
|
170 + | builder.output_tokens = builder.output_tokens.or(Some(0i32));
|
171 + | builder.total_tokens = builder.total_tokens.or(Some(0i32));
|
169 172 | builder
|
170 173 | .build()
|
171 174 | .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
|
172 175 | }
|
173 176 | }
|
177 + | impl TokenUsage {
|
178 + | /// Deserializes this structure from a body deserializer and HTTP response.
|
179 + | pub fn deserialize_with_response(
|
180 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
181 + | _headers: &::aws_smithy_runtime_api::http::Headers,
|
182 + | _status: u16,
|
183 + | _body: &[u8],
|
184 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
185 + | Self::deserialize(deserializer)
|
186 + | }
|
187 + | }
|
174 188 | impl TokenUsage {
|
175 189 | /// Creates a new builder-style object to manufacture [`TokenUsage`](crate::types::TokenUsage).
|
176 190 | pub fn builder() -> crate::types::builders::TokenUsageBuilder {
|
177 191 | crate::types::builders::TokenUsageBuilder::default()
|
178 192 | }
|
179 193 | }
|
180 194 |
|
181 195 | /// A builder for [`TokenUsage`](crate::types::TokenUsage).
|
182 196 | #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
|
183 197 | #[non_exhaustive]
|