8 8 | pub include: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
|
9 9 | /// <p>Indicates which Storage Lens group ARNs to exclude from the Storage Lens group aggregation.</p>
|
10 10 | pub exclude: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
|
11 11 | }
|
12 12 | impl StorageLensGroupLevelSelectionCriteria {
|
13 13 | /// <p>Indicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.</p>
|
14 14 | ///
|
15 15 | /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.include.is_none()`.
|
16 16 | pub fn include(&self) -> &[::std::string::String] {
|
17 17 | self.include.as_deref().unwrap_or_default()
|
18 18 | }
|
19 19 | /// <p>Indicates which Storage Lens group ARNs to exclude from the Storage Lens group aggregation.</p>
|
20 20 | ///
|
21 21 | /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.exclude.is_none()`.
|
22 22 | pub fn exclude(&self) -> &[::std::string::String] {
|
23 23 | self.exclude.as_deref().unwrap_or_default()
|
24 24 | }
|
25 25 | }
|
26 26 | static STORAGELENSGROUPLEVELSELECTIONCRITERIA_SCHEMA_ID: ::aws_smithy_schema::ShapeId = ::aws_smithy_schema::ShapeId::from_static(
|
27 27 | "com.amazonaws.s3control#StorageLensGroupLevelSelectionCriteria",
|
28 28 | "com.amazonaws.s3control",
|
29 29 | "StorageLensGroupLevelSelectionCriteria",
|
30 30 | );
|
31 31 | static STORAGELENSGROUPLEVELSELECTIONCRITERIA_MEMBER_INCLUDE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
32 32 | ::aws_smithy_schema::ShapeId::from_static(
|
33 33 | "com.amazonaws.s3control#StorageLensGroupLevelSelectionCriteria$Include",
|
34 34 | "com.amazonaws.s3control",
|
35 35 | "StorageLensGroupLevelSelectionCriteria",
|
36 36 | ),
|
37 37 | ::aws_smithy_schema::ShapeType::List,
|
38 - | "include",
|
38 + | "Include",
|
39 39 | 0,
|
40 40 | );
|
41 41 | static STORAGELENSGROUPLEVELSELECTIONCRITERIA_MEMBER_EXCLUDE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
42 42 | ::aws_smithy_schema::ShapeId::from_static(
|
43 43 | "com.amazonaws.s3control#StorageLensGroupLevelSelectionCriteria$Exclude",
|
44 44 | "com.amazonaws.s3control",
|
45 45 | "StorageLensGroupLevelSelectionCriteria",
|
46 46 | ),
|
47 47 | ::aws_smithy_schema::ShapeType::List,
|
48 - | "exclude",
|
48 + | "Exclude",
|
49 49 | 1,
|
50 50 | );
|
51 51 | static STORAGELENSGROUPLEVELSELECTIONCRITERIA_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
|
52 52 | STORAGELENSGROUPLEVELSELECTIONCRITERIA_SCHEMA_ID,
|
53 53 | ::aws_smithy_schema::ShapeType::Structure,
|
54 54 | &[
|
55 55 | &STORAGELENSGROUPLEVELSELECTIONCRITERIA_MEMBER_INCLUDE,
|
56 56 | &STORAGELENSGROUPLEVELSELECTIONCRITERIA_MEMBER_EXCLUDE,
|
57 57 | ],
|
58 58 | );
|
59 59 | impl StorageLensGroupLevelSelectionCriteria {
|
60 60 | /// The schema for this shape.
|
61 61 | pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &STORAGELENSGROUPLEVELSELECTIONCRITERIA_SCHEMA;
|
62 62 | }
|
63 63 | impl ::aws_smithy_schema::serde::SerializableStruct for StorageLensGroupLevelSelectionCriteria {
|
64 64 | #[allow(unused_variables, clippy::diverging_sub_expression)]
|
65 65 | fn serialize_members(
|
66 66 | &self,
|
67 67 | ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
|
68 68 | ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
|
69 69 | if let Some(ref val) = self.include {
|
70 70 | ser.write_list(
|
71 71 | &STORAGELENSGROUPLEVELSELECTIONCRITERIA_MEMBER_INCLUDE,
|
72 72 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
73 73 | for item in val {
|
74 74 | ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
|
75 75 | }
|
76 76 | Ok(())
|
77 77 | },
|
78 78 | )?;
|
79 79 | }
|
80 80 | if let Some(ref val) = self.exclude {
|
81 81 | ser.write_list(
|
82 82 | &STORAGELENSGROUPLEVELSELECTIONCRITERIA_MEMBER_EXCLUDE,
|
83 83 | &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
|
84 84 | for item in val {
|
85 85 | ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
|
86 86 | }
|
87 87 | Ok(())
|
88 88 | },
|
89 89 | )?;
|
90 90 | }
|
91 91 | Ok(())
|
92 92 | }
|
93 93 | }
|
94 94 | impl StorageLensGroupLevelSelectionCriteria {
|
95 95 | /// Deserializes this structure from a [`ShapeDeserializer`].
|
96 - | pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
|
97 - | deserializer: &mut D,
|
96 + | pub fn deserialize(
|
97 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
98 98 | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
99 99 | #[allow(unused_variables, unused_mut)]
|
100 100 | let mut builder = Self::builder();
|
101 101 | #[allow(
|
102 102 | unused_variables,
|
103 103 | unreachable_code,
|
104 104 | clippy::single_match,
|
105 105 | clippy::match_single_binding,
|
106 106 | clippy::diverging_sub_expression
|
107 107 | )]
|
108 - | deserializer.read_struct(&STORAGELENSGROUPLEVELSELECTIONCRITERIA_SCHEMA, (), |_, member, deser| {
|
108 + | deserializer.read_struct(&STORAGELENSGROUPLEVELSELECTIONCRITERIA_SCHEMA, &mut |member, deser| {
|
109 109 | match member.member_index() {
|
110 110 | Some(0) => {
|
111 - | builder.include = Some({
|
112 - | let container = if let Some(cap) = deser.container_size() {
|
113 - | Vec::with_capacity(cap)
|
114 - | } else {
|
115 - | Vec::new()
|
116 - | };
|
117 - | deser.read_list(member, container, |mut list, deser| {
|
118 - | list.push(deser.read_string(member)?);
|
119 - | Ok(list)
|
120 - | })?
|
121 - | });
|
111 + | builder.include = Some(deser.read_string_list(member)?);
|
122 112 | }
|
123 113 | Some(1) => {
|
124 - | builder.exclude = Some({
|
125 - | let container = if let Some(cap) = deser.container_size() {
|
126 - | Vec::with_capacity(cap)
|
127 - | } else {
|
128 - | Vec::new()
|
129 - | };
|
130 - | deser.read_list(member, container, |mut list, deser| {
|
131 - | list.push(deser.read_string(member)?);
|
132 - | Ok(list)
|
133 - | })?
|
134 - | });
|
114 + | builder.exclude = Some(deser.read_string_list(member)?);
|
135 115 | }
|
136 116 | _ => {}
|
137 117 | }
|
138 118 | Ok(())
|
139 119 | })?;
|
140 120 | Ok(builder.build())
|
141 121 | }
|
142 122 | }
|
123 + | impl StorageLensGroupLevelSelectionCriteria {
|
124 + | /// Deserializes this structure from a body deserializer and HTTP response.
|
125 + | pub fn deserialize_with_response(
|
126 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
127 + | _headers: &::aws_smithy_runtime_api::http::Headers,
|
128 + | _status: u16,
|
129 + | _body: &[u8],
|
130 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
131 + | Self::deserialize(deserializer)
|
132 + | }
|
133 + | }
|
143 134 | impl StorageLensGroupLevelSelectionCriteria {
|
144 135 | /// Creates a new builder-style object to manufacture [`StorageLensGroupLevelSelectionCriteria`](crate::types::StorageLensGroupLevelSelectionCriteria).
|
145 136 | pub fn builder() -> crate::types::builders::StorageLensGroupLevelSelectionCriteriaBuilder {
|
146 137 | crate::types::builders::StorageLensGroupLevelSelectionCriteriaBuilder::default()
|
147 138 | }
|
148 139 | }
|
149 140 |
|
150 141 | /// A builder for [`StorageLensGroupLevelSelectionCriteria`](crate::types::StorageLensGroupLevelSelectionCriteria).
|
151 142 | #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
|
152 143 | #[non_exhaustive]
|