79 79 | "com.amazonaws.s3control.synthetic",
|
80 80 | "CreateAccessGrantInput",
|
81 81 | );
|
82 82 | static CREATEACCESSGRANTINPUT_MEMBER_ACCOUNT_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
83 83 | ::aws_smithy_schema::ShapeId::from_static(
|
84 84 | "com.amazonaws.s3control.synthetic#CreateAccessGrantInput$AccountId",
|
85 85 | "com.amazonaws.s3control.synthetic",
|
86 86 | "CreateAccessGrantInput",
|
87 87 | ),
|
88 88 | ::aws_smithy_schema::ShapeType::String,
|
89 - | "account_id",
|
89 + | "AccountId",
|
90 90 | 0,
|
91 91 | )
|
92 92 | .with_host_label()
|
93 93 | .with_http_header("x-amz-account-id");
|
94 94 | static CREATEACCESSGRANTINPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
95 95 | ::aws_smithy_schema::ShapeId::from_static(
|
96 96 | "com.amazonaws.s3control.synthetic#CreateAccessGrantInput$AccessGrantsLocationId",
|
97 97 | "com.amazonaws.s3control.synthetic",
|
98 98 | "CreateAccessGrantInput",
|
99 99 | ),
|
100 100 | ::aws_smithy_schema::ShapeType::String,
|
101 - | "access_grants_location_id",
|
101 + | "AccessGrantsLocationId",
|
102 102 | 1,
|
103 103 | );
|
104 104 | static CREATEACCESSGRANTINPUT_MEMBER_ACCESS_GRANTS_LOCATION_CONFIGURATION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
105 105 | ::aws_smithy_schema::ShapeId::from_static(
|
106 106 | "com.amazonaws.s3control.synthetic#CreateAccessGrantInput$AccessGrantsLocationConfiguration",
|
107 107 | "com.amazonaws.s3control.synthetic",
|
108 108 | "CreateAccessGrantInput",
|
109 109 | ),
|
110 110 | ::aws_smithy_schema::ShapeType::Structure,
|
111 - | "access_grants_location_configuration",
|
111 + | "AccessGrantsLocationConfiguration",
|
112 112 | 2,
|
113 113 | );
|
114 114 | static CREATEACCESSGRANTINPUT_MEMBER_GRANTEE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
115 115 | ::aws_smithy_schema::ShapeId::from_static(
|
116 116 | "com.amazonaws.s3control.synthetic#CreateAccessGrantInput$Grantee",
|
117 117 | "com.amazonaws.s3control.synthetic",
|
118 118 | "CreateAccessGrantInput",
|
119 119 | ),
|
120 120 | ::aws_smithy_schema::ShapeType::Structure,
|
121 - | "grantee",
|
121 + | "Grantee",
|
122 122 | 3,
|
123 123 | );
|
124 124 | static CREATEACCESSGRANTINPUT_MEMBER_PERMISSION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
125 125 | ::aws_smithy_schema::ShapeId::from_static(
|
126 126 | "com.amazonaws.s3control.synthetic#CreateAccessGrantInput$Permission",
|
127 127 | "com.amazonaws.s3control.synthetic",
|
128 128 | "CreateAccessGrantInput",
|
129 129 | ),
|
130 130 | ::aws_smithy_schema::ShapeType::String,
|
131 - | "permission",
|
131 + | "Permission",
|
132 132 | 4,
|
133 133 | );
|
134 134 | static CREATEACCESSGRANTINPUT_MEMBER_APPLICATION_ARN: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
135 135 | ::aws_smithy_schema::ShapeId::from_static(
|
136 136 | "com.amazonaws.s3control.synthetic#CreateAccessGrantInput$ApplicationArn",
|
137 137 | "com.amazonaws.s3control.synthetic",
|
138 138 | "CreateAccessGrantInput",
|
139 139 | ),
|
140 140 | ::aws_smithy_schema::ShapeType::String,
|
141 - | "application_arn",
|
141 + | "ApplicationArn",
|
142 142 | 5,
|
143 143 | );
|
144 144 | static CREATEACCESSGRANTINPUT_MEMBER_S3_PREFIX_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
145 145 | ::aws_smithy_schema::ShapeId::from_static(
|
146 146 | "com.amazonaws.s3control.synthetic#CreateAccessGrantInput$S3PrefixType",
|
147 147 | "com.amazonaws.s3control.synthetic",
|
148 148 | "CreateAccessGrantInput",
|
149 149 | ),
|
150 150 | ::aws_smithy_schema::ShapeType::String,
|
151 - | "s3_prefix_type",
|
151 + | "S3PrefixType",
|
152 152 | 6,
|
153 153 | );
|
154 154 | static CREATEACCESSGRANTINPUT_MEMBER_TAGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
155 155 | ::aws_smithy_schema::ShapeId::from_static(
|
156 156 | "com.amazonaws.s3control.synthetic#CreateAccessGrantInput$Tags",
|
157 157 | "com.amazonaws.s3control.synthetic",
|
158 158 | "CreateAccessGrantInput",
|
159 159 | ),
|
160 160 | ::aws_smithy_schema::ShapeType::List,
|
161 - | "tags",
|
161 + | "Tags",
|
162 162 | 7,
|
163 163 | );
|
164 164 | static CREATEACCESSGRANTINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
|
165 165 | CREATEACCESSGRANTINPUT_SCHEMA_ID,
|
166 166 | ::aws_smithy_schema::ShapeType::Structure,
|
167 167 | &[
|
168 168 | &CREATEACCESSGRANTINPUT_MEMBER_ACCOUNT_ID,
|
169 169 | &CREATEACCESSGRANTINPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID,
|
170 170 | &CREATEACCESSGRANTINPUT_MEMBER_ACCESS_GRANTS_LOCATION_CONFIGURATION,
|
171 171 | &CREATEACCESSGRANTINPUT_MEMBER_GRANTEE,
|
172 172 | &CREATEACCESSGRANTINPUT_MEMBER_PERMISSION,
|
173 173 | &CREATEACCESSGRANTINPUT_MEMBER_APPLICATION_ARN,
|
174 174 | &CREATEACCESSGRANTINPUT_MEMBER_S3_PREFIX_TYPE,
|
175 175 | &CREATEACCESSGRANTINPUT_MEMBER_TAGS,
|
176 176 | ],
|
177 - | );
|
177 + | )
|
178 + | .with_http(aws_smithy_schema::traits::HttpTrait::new(
|
179 + | "POST",
|
180 + | "/v20180820/accessgrantsinstance/grant",
|
181 + | None,
|
182 + | ));
|
178 183 | impl CreateAccessGrantInput {
|
179 184 | /// The schema for this shape.
|
180 185 | pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &CREATEACCESSGRANTINPUT_SCHEMA;
|
181 186 | }
|
182 187 | impl ::aws_smithy_schema::serde::SerializableStruct for CreateAccessGrantInput {
|
183 188 | #[allow(unused_variables, clippy::diverging_sub_expression)]
|
184 189 | fn serialize_members(
|
185 190 | &self,
|
186 191 | ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
|
187 192 | ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
|
188 193 | if let Some(ref val) = self.account_id {
|
189 194 | ser.write_string(&CREATEACCESSGRANTINPUT_MEMBER_ACCOUNT_ID, val)?;
|
190 195 | }
|
191 196 | if let Some(ref val) = self.access_grants_location_id {
|
192 197 | ser.write_string(&CREATEACCESSGRANTINPUT_MEMBER_ACCESS_GRANTS_LOCATION_ID, val)?;
|
193 198 | }
|
194 199 | if let Some(ref val) = self.access_grants_location_configuration {
|
195 200 | ser.write_struct(&CREATEACCESSGRANTINPUT_MEMBER_ACCESS_GRANTS_LOCATION_CONFIGURATION, val)?;
|
196 201 | }
|
197 202 | if let Some(ref val) = self.grantee {
|
198 203 | ser.write_struct(&CREATEACCESSGRANTINPUT_MEMBER_GRANTEE, val)?;
|
199 204 | }
|
200 205 | if let Some(ref val) = self.permission {
|
201 206 | ser.write_string(&CREATEACCESSGRANTINPUT_MEMBER_PERMISSION, val.as_str())?;
|
202 207 | }
|
203 208 | if let Some(ref val) = self.application_arn {
|
204 209 | ser.write_string(&CREATEACCESSGRANTINPUT_MEMBER_APPLICATION_ARN, val)?;
|
205 210 | }
|
206 211 | if let Some(ref val) = self.s3_prefix_type {
|
207 212 | ser.write_string(&CREATEACCESSGRANTINPUT_MEMBER_S3_PREFIX_TYPE, val.as_str())?;
|
208 213 | }
|
209 214 | if let Some(ref val) = self.tags {
|
210 215 | ser.write_list(
|
211 216 | &CREATEACCESSGRANTINPUT_MEMBER_TAGS,
|
212 217 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
213 218 | for item in val {
|
214 219 | ser.write_struct(crate::types::Tag::SCHEMA, item)?;
|
215 220 | }
|
216 221 | Ok(())
|
217 222 | },
|
218 223 | )?;
|
219 224 | }
|
220 225 | Ok(())
|
221 226 | }
|
222 227 | }
|
223 228 | impl CreateAccessGrantInput {
|
224 229 | /// Deserializes this structure from a [`ShapeDeserializer`].
|
225 - | pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
|
226 - | deserializer: &mut D,
|
230 + | pub fn deserialize(
|
231 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
227 232 | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
228 233 | #[allow(unused_variables, unused_mut)]
|
229 234 | let mut builder = Self::builder();
|
230 235 | #[allow(
|
231 236 | unused_variables,
|
232 237 | unreachable_code,
|
233 238 | clippy::single_match,
|
234 239 | clippy::match_single_binding,
|
235 240 | clippy::diverging_sub_expression
|
236 241 | )]
|
237 - | deserializer.read_struct(&CREATEACCESSGRANTINPUT_SCHEMA, (), |_, member, deser| {
|
242 + | deserializer.read_struct(&CREATEACCESSGRANTINPUT_SCHEMA, &mut |member, deser| {
|
238 243 | match member.member_index() {
|
239 244 | Some(0) => {
|
240 245 | builder.account_id = Some(deser.read_string(member)?);
|
241 246 | }
|
242 247 | Some(1) => {
|
243 248 | builder.access_grants_location_id = Some(deser.read_string(member)?);
|
244 249 | }
|
245 250 | Some(2) => {
|
246 251 | builder.access_grants_location_configuration = Some(crate::types::AccessGrantsLocationConfiguration::deserialize(deser)?);
|
247 252 | }
|
248 253 | Some(3) => {
|
249 254 | builder.grantee = Some(crate::types::Grantee::deserialize(deser)?);
|
250 255 | }
|
251 256 | Some(4) => {
|
252 257 | builder.permission = Some(crate::types::Permission::from(deser.read_string(member)?.as_str()));
|
253 258 | }
|
254 259 | Some(5) => {
|
255 260 | builder.application_arn = Some(deser.read_string(member)?);
|
256 261 | }
|
257 262 | Some(6) => {
|
258 263 | builder.s3_prefix_type = Some(crate::types::S3PrefixType::from(deser.read_string(member)?.as_str()));
|
259 264 | }
|
260 265 | Some(7) => {
|
261 266 | builder.tags = Some({
|
262 - | let container = if let Some(cap) = deser.container_size() {
|
263 - | Vec::with_capacity(cap)
|
264 - | } else {
|
265 - | Vec::new()
|
266 - | };
|
267 - | deser.read_list(member, container, |mut list, deser| {
|
268 - | list.push(crate::types::Tag::deserialize(deser)?);
|
269 - | Ok(list)
|
270 - | })?
|
267 + | let mut container = Vec::new();
|
268 + | deser.read_list(member, &mut |deser| {
|
269 + | container.push(crate::types::Tag::deserialize(deser)?);
|
270 + | Ok(())
|
271 + | })?;
|
272 + | container
|
273 + | });
|
274 + | }
|
275 + | _ => {}
|
276 + | }
|
277 + | Ok(())
|
278 + | })?;
|
279 + | builder.account_id = builder.account_id.or(Some(String::new()));
|
280 + | builder.access_grants_location_id = builder.access_grants_location_id.or(Some(String::new()));
|
281 + | builder
|
282 + | .build()
|
283 + | .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
|
284 + | }
|
285 + | }
|
286 + | impl CreateAccessGrantInput {
|
287 + | /// Deserializes this structure from a body deserializer and HTTP response headers.
|
288 + | /// Header-bound members are read directly from headers, avoiding runtime
|
289 + | /// member iteration overhead. Body members are read via the deserializer.
|
290 + | pub fn deserialize_with_response(
|
291 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
292 + | headers: &::aws_smithy_runtime_api::http::Headers,
|
293 + | _status: u16,
|
294 + | _body: &[u8],
|
295 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
296 + | #[allow(unused_variables, unused_mut)]
|
297 + | let mut builder = Self::builder();
|
298 + | if let Some(val) = headers.get("x-amz-account-id") {
|
299 + | builder.account_id = Some(val.to_string());
|
300 + | }
|
301 + | #[allow(
|
302 + | unused_variables,
|
303 + | unreachable_code,
|
304 + | clippy::single_match,
|
305 + | clippy::match_single_binding,
|
306 + | clippy::diverging_sub_expression
|
307 + | )]
|
308 + | deserializer.read_struct(&CREATEACCESSGRANTINPUT_SCHEMA, &mut |member, deser| {
|
309 + | match member.member_index() {
|
310 + | Some(0) => { /* read from headers above */ }
|
311 + | Some(1) => {
|
312 + | builder.access_grants_location_id = Some(deser.read_string(member)?);
|
313 + | }
|
314 + | Some(2) => {
|
315 + | builder.access_grants_location_configuration = Some(crate::types::AccessGrantsLocationConfiguration::deserialize(deser)?);
|
316 + | }
|
317 + | Some(3) => {
|
318 + | builder.grantee = Some(crate::types::Grantee::deserialize(deser)?);
|
319 + | }
|
320 + | Some(4) => {
|
321 + | builder.permission = Some(crate::types::Permission::from(deser.read_string(member)?.as_str()));
|
322 + | }
|
323 + | Some(5) => {
|
324 + | builder.application_arn = Some(deser.read_string(member)?);
|
325 + | }
|
326 + | Some(6) => {
|
327 + | builder.s3_prefix_type = Some(crate::types::S3PrefixType::from(deser.read_string(member)?.as_str()));
|
328 + | }
|
329 + | Some(7) => {
|
330 + | builder.tags = Some({
|
331 + | let mut container = Vec::new();
|
332 + | deser.read_list(member, &mut |deser| {
|
333 + | container.push(crate::types::Tag::deserialize(deser)?);
|
334 + | Ok(())
|
335 + | })?;
|
336 + | container
|
271 337 | });
|
272 338 | }
|
273 339 | _ => {}
|
274 340 | }
|
275 341 | Ok(())
|
276 342 | })?;
|
277 343 | builder
|
278 344 | .build()
|
279 345 | .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
|
280 346 | }
|