aws_sdk_sagemaker/protocol_serde/
shape_describe_notebook_instance.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_describe_notebook_instance_http_error(
4 _response_status: u16,
5 _response_headers: &::aws_smithy_runtime_api::http::Headers,
6 _response_body: &[u8],
7) -> std::result::Result<
8 crate::operation::describe_notebook_instance::DescribeNotebookInstanceOutput,
9 crate::operation::describe_notebook_instance::DescribeNotebookInstanceError,
10> {
11 #[allow(unused_mut)]
12 let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
13 .map_err(crate::operation::describe_notebook_instance::DescribeNotebookInstanceError::unhandled)?;
14 generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
15 let generic = generic_builder.build();
16 Err(crate::operation::describe_notebook_instance::DescribeNotebookInstanceError::generic(
17 generic,
18 ))
19}
20
21#[allow(clippy::unnecessary_wraps)]
22pub fn de_describe_notebook_instance_http_response(
23 _response_status: u16,
24 _response_headers: &::aws_smithy_runtime_api::http::Headers,
25 _response_body: &[u8],
26) -> std::result::Result<
27 crate::operation::describe_notebook_instance::DescribeNotebookInstanceOutput,
28 crate::operation::describe_notebook_instance::DescribeNotebookInstanceError,
29> {
30 Ok({
31 #[allow(unused_mut)]
32 let mut output = crate::operation::describe_notebook_instance::builders::DescribeNotebookInstanceOutputBuilder::default();
33 output = crate::protocol_serde::shape_describe_notebook_instance::de_describe_notebook_instance(_response_body, output)
34 .map_err(crate::operation::describe_notebook_instance::DescribeNotebookInstanceError::unhandled)?;
35 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
36 output.build()
37 })
38}
39
40pub fn ser_describe_notebook_instance_input(
41 input: &crate::operation::describe_notebook_instance::DescribeNotebookInstanceInput,
42) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
43 let mut out = String::new();
44 let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
45 crate::protocol_serde::shape_describe_notebook_instance_input::ser_describe_notebook_instance_input_input(&mut object, input)?;
46 object.finish();
47 Ok(::aws_smithy_types::body::SdkBody::from(out))
48}
49
50pub(crate) fn de_describe_notebook_instance(
51 value: &[u8],
52 mut builder: crate::operation::describe_notebook_instance::builders::DescribeNotebookInstanceOutputBuilder,
53) -> ::std::result::Result<
54 crate::operation::describe_notebook_instance::builders::DescribeNotebookInstanceOutputBuilder,
55 ::aws_smithy_json::deserialize::error::DeserializeError,
56> {
57 let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
58 let tokens = &mut tokens_owned;
59 ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
60 loop {
61 match tokens.next().transpose()? {
62 Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
63 Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
64 "NotebookInstanceArn" => {
65 builder = builder.set_notebook_instance_arn(
66 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
67 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
68 .transpose()?,
69 );
70 }
71 "NotebookInstanceName" => {
72 builder = builder.set_notebook_instance_name(
73 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
74 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
75 .transpose()?,
76 );
77 }
78 "NotebookInstanceStatus" => {
79 builder = builder.set_notebook_instance_status(
80 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
81 .map(|s| s.to_unescaped().map(|u| crate::types::NotebookInstanceStatus::from(u.as_ref())))
82 .transpose()?,
83 );
84 }
85 "FailureReason" => {
86 builder = builder.set_failure_reason(
87 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
88 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
89 .transpose()?,
90 );
91 }
92 "Url" => {
93 builder = builder.set_url(
94 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
95 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
96 .transpose()?,
97 );
98 }
99 "InstanceType" => {
100 builder = builder.set_instance_type(
101 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
102 .map(|s| s.to_unescaped().map(|u| crate::types::InstanceType::from(u.as_ref())))
103 .transpose()?,
104 );
105 }
106 "SubnetId" => {
107 builder = builder.set_subnet_id(
108 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
109 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
110 .transpose()?,
111 );
112 }
113 "SecurityGroups" => {
114 builder = builder.set_security_groups(crate::protocol_serde::shape_security_group_ids::de_security_group_ids(tokens)?);
115 }
116 "RoleArn" => {
117 builder = builder.set_role_arn(
118 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
119 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
120 .transpose()?,
121 );
122 }
123 "KmsKeyId" => {
124 builder = builder.set_kms_key_id(
125 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
126 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
127 .transpose()?,
128 );
129 }
130 "NetworkInterfaceId" => {
131 builder = builder.set_network_interface_id(
132 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
133 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
134 .transpose()?,
135 );
136 }
137 "LastModifiedTime" => {
138 builder = builder.set_last_modified_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
139 tokens.next(),
140 ::aws_smithy_types::date_time::Format::EpochSeconds,
141 )?);
142 }
143 "CreationTime" => {
144 builder = builder.set_creation_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
145 tokens.next(),
146 ::aws_smithy_types::date_time::Format::EpochSeconds,
147 )?);
148 }
149 "NotebookInstanceLifecycleConfigName" => {
150 builder = builder.set_notebook_instance_lifecycle_config_name(
151 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
152 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
153 .transpose()?,
154 );
155 }
156 "DirectInternetAccess" => {
157 builder = builder.set_direct_internet_access(
158 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
159 .map(|s| s.to_unescaped().map(|u| crate::types::DirectInternetAccess::from(u.as_ref())))
160 .transpose()?,
161 );
162 }
163 "VolumeSizeInGB" => {
164 builder = builder.set_volume_size_in_gb(
165 ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
166 .map(i32::try_from)
167 .transpose()?,
168 );
169 }
170 "AcceleratorTypes" => {
171 builder = builder.set_accelerator_types(
172 crate::protocol_serde::shape_notebook_instance_accelerator_types::de_notebook_instance_accelerator_types(tokens)?,
173 );
174 }
175 "DefaultCodeRepository" => {
176 builder = builder.set_default_code_repository(
177 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
178 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
179 .transpose()?,
180 );
181 }
182 "AdditionalCodeRepositories" => {
183 builder = builder.set_additional_code_repositories(
184 crate::protocol_serde::shape_additional_code_repository_names_or_urls::de_additional_code_repository_names_or_urls(tokens)?,
185 );
186 }
187 "RootAccess" => {
188 builder = builder.set_root_access(
189 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
190 .map(|s| s.to_unescaped().map(|u| crate::types::RootAccess::from(u.as_ref())))
191 .transpose()?,
192 );
193 }
194 "PlatformIdentifier" => {
195 builder = builder.set_platform_identifier(
196 ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
197 .map(|s| s.to_unescaped().map(|u| u.into_owned()))
198 .transpose()?,
199 );
200 }
201 "InstanceMetadataServiceConfiguration" => {
202 builder = builder.set_instance_metadata_service_configuration(
203 crate::protocol_serde::shape_instance_metadata_service_configuration::de_instance_metadata_service_configuration(tokens)?,
204 );
205 }
206 _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
207 },
208 other => {
209 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
210 "expected object key or end object, found: {:?}",
211 other
212 )))
213 }
214 }
215 }
216 if tokens.next().is_some() {
217 return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
218 "found more JSON tokens after completing parsing",
219 ));
220 }
221 Ok(builder)
222}