1use std::error::Error;
14use std::fmt;
15
16use async_trait::async_trait;
17use rusoto_core::credential::ProvideAwsCredentials;
18use rusoto_core::region;
19use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest};
20use rusoto_core::{Client, RusotoError};
21
22use rusoto_core::proto;
23use rusoto_core::request::HttpResponse;
24use rusoto_core::signature::SignedRequest;
25#[allow(unused_imports)]
26use serde::{Deserialize, Serialize};
27
28impl MigrationHubClient {
29 fn new_signed_request(&self, http_method: &str, request_uri: &str) -> SignedRequest {
30 let mut request = SignedRequest::new(http_method, "mgh", &self.region, request_uri);
31
32 request.set_content_type("application/x-amz-json-1.1".to_owned());
33
34 request
35 }
36
37 async fn sign_and_dispatch<E>(
38 &self,
39 request: SignedRequest,
40 from_response: fn(BufferedHttpResponse) -> RusotoError<E>,
41 ) -> Result<HttpResponse, RusotoError<E>> {
42 let mut response = self.client.sign_and_dispatch(request).await?;
43 if !response.status.is_success() {
44 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
45 return Err(from_response(response));
46 }
47
48 Ok(response)
49 }
50}
51
52use serde_json;
53#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
55#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
56pub struct ApplicationState {
57 #[serde(rename = "ApplicationId")]
59 #[serde(skip_serializing_if = "Option::is_none")]
60 pub application_id: Option<String>,
61 #[serde(rename = "ApplicationStatus")]
63 #[serde(skip_serializing_if = "Option::is_none")]
64 pub application_status: Option<String>,
65 #[serde(rename = "LastUpdatedTime")]
67 #[serde(skip_serializing_if = "Option::is_none")]
68 pub last_updated_time: Option<f64>,
69}
70
71#[derive(Clone, Debug, Default, PartialEq, Serialize)]
72#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
73pub struct AssociateCreatedArtifactRequest {
74 #[serde(rename = "CreatedArtifact")]
76 pub created_artifact: CreatedArtifact,
77 #[serde(rename = "DryRun")]
79 #[serde(skip_serializing_if = "Option::is_none")]
80 pub dry_run: Option<bool>,
81 #[serde(rename = "MigrationTaskName")]
83 pub migration_task_name: String,
84 #[serde(rename = "ProgressUpdateStream")]
86 pub progress_update_stream: String,
87}
88
89#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
90#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
91pub struct AssociateCreatedArtifactResult {}
92
93#[derive(Clone, Debug, Default, PartialEq, Serialize)]
94#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
95pub struct AssociateDiscoveredResourceRequest {
96 #[serde(rename = "DiscoveredResource")]
98 pub discovered_resource: DiscoveredResource,
99 #[serde(rename = "DryRun")]
101 #[serde(skip_serializing_if = "Option::is_none")]
102 pub dry_run: Option<bool>,
103 #[serde(rename = "MigrationTaskName")]
105 pub migration_task_name: String,
106 #[serde(rename = "ProgressUpdateStream")]
108 pub progress_update_stream: String,
109}
110
111#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
112#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
113pub struct AssociateDiscoveredResourceResult {}
114
115#[derive(Clone, Debug, Default, PartialEq, Serialize)]
116#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
117pub struct CreateProgressUpdateStreamRequest {
118 #[serde(rename = "DryRun")]
120 #[serde(skip_serializing_if = "Option::is_none")]
121 pub dry_run: Option<bool>,
122 #[serde(rename = "ProgressUpdateStreamName")]
124 pub progress_update_stream_name: String,
125}
126
127#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
128#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
129pub struct CreateProgressUpdateStreamResult {}
130
131#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
133pub struct CreatedArtifact {
134 #[serde(rename = "Description")]
136 #[serde(skip_serializing_if = "Option::is_none")]
137 pub description: Option<String>,
138 #[serde(rename = "Name")]
140 pub name: String,
141}
142
143#[derive(Clone, Debug, Default, PartialEq, Serialize)]
144#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
145pub struct DeleteProgressUpdateStreamRequest {
146 #[serde(rename = "DryRun")]
148 #[serde(skip_serializing_if = "Option::is_none")]
149 pub dry_run: Option<bool>,
150 #[serde(rename = "ProgressUpdateStreamName")]
152 pub progress_update_stream_name: String,
153}
154
155#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
156#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
157pub struct DeleteProgressUpdateStreamResult {}
158
159#[derive(Clone, Debug, Default, PartialEq, Serialize)]
160#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
161pub struct DescribeApplicationStateRequest {
162 #[serde(rename = "ApplicationId")]
164 pub application_id: String,
165}
166
167#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
168#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
169pub struct DescribeApplicationStateResult {
170 #[serde(rename = "ApplicationStatus")]
172 #[serde(skip_serializing_if = "Option::is_none")]
173 pub application_status: Option<String>,
174 #[serde(rename = "LastUpdatedTime")]
176 #[serde(skip_serializing_if = "Option::is_none")]
177 pub last_updated_time: Option<f64>,
178}
179
180#[derive(Clone, Debug, Default, PartialEq, Serialize)]
181#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
182pub struct DescribeMigrationTaskRequest {
183 #[serde(rename = "MigrationTaskName")]
185 pub migration_task_name: String,
186 #[serde(rename = "ProgressUpdateStream")]
188 pub progress_update_stream: String,
189}
190
191#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
192#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
193pub struct DescribeMigrationTaskResult {
194 #[serde(rename = "MigrationTask")]
196 #[serde(skip_serializing_if = "Option::is_none")]
197 pub migration_task: Option<MigrationTask>,
198}
199
200#[derive(Clone, Debug, Default, PartialEq, Serialize)]
201#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
202pub struct DisassociateCreatedArtifactRequest {
203 #[serde(rename = "CreatedArtifactName")]
205 pub created_artifact_name: String,
206 #[serde(rename = "DryRun")]
208 #[serde(skip_serializing_if = "Option::is_none")]
209 pub dry_run: Option<bool>,
210 #[serde(rename = "MigrationTaskName")]
212 pub migration_task_name: String,
213 #[serde(rename = "ProgressUpdateStream")]
215 pub progress_update_stream: String,
216}
217
218#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
219#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
220pub struct DisassociateCreatedArtifactResult {}
221
222#[derive(Clone, Debug, Default, PartialEq, Serialize)]
223#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
224pub struct DisassociateDiscoveredResourceRequest {
225 #[serde(rename = "ConfigurationId")]
227 pub configuration_id: String,
228 #[serde(rename = "DryRun")]
230 #[serde(skip_serializing_if = "Option::is_none")]
231 pub dry_run: Option<bool>,
232 #[serde(rename = "MigrationTaskName")]
234 pub migration_task_name: String,
235 #[serde(rename = "ProgressUpdateStream")]
237 pub progress_update_stream: String,
238}
239
240#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
241#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
242pub struct DisassociateDiscoveredResourceResult {}
243
244#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
246pub struct DiscoveredResource {
247 #[serde(rename = "ConfigurationId")]
249 pub configuration_id: String,
250 #[serde(rename = "Description")]
252 #[serde(skip_serializing_if = "Option::is_none")]
253 pub description: Option<String>,
254}
255
256#[derive(Clone, Debug, Default, PartialEq, Serialize)]
257#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
258pub struct ImportMigrationTaskRequest {
259 #[serde(rename = "DryRun")]
261 #[serde(skip_serializing_if = "Option::is_none")]
262 pub dry_run: Option<bool>,
263 #[serde(rename = "MigrationTaskName")]
265 pub migration_task_name: String,
266 #[serde(rename = "ProgressUpdateStream")]
268 pub progress_update_stream: String,
269}
270
271#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
272#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
273pub struct ImportMigrationTaskResult {}
274
275#[derive(Clone, Debug, Default, PartialEq, Serialize)]
276#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
277pub struct ListApplicationStatesRequest {
278 #[serde(rename = "ApplicationIds")]
280 #[serde(skip_serializing_if = "Option::is_none")]
281 pub application_ids: Option<Vec<String>>,
282 #[serde(rename = "MaxResults")]
284 #[serde(skip_serializing_if = "Option::is_none")]
285 pub max_results: Option<i64>,
286 #[serde(rename = "NextToken")]
288 #[serde(skip_serializing_if = "Option::is_none")]
289 pub next_token: Option<String>,
290}
291
292#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
293#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
294pub struct ListApplicationStatesResult {
295 #[serde(rename = "ApplicationStateList")]
297 #[serde(skip_serializing_if = "Option::is_none")]
298 pub application_state_list: Option<Vec<ApplicationState>>,
299 #[serde(rename = "NextToken")]
301 #[serde(skip_serializing_if = "Option::is_none")]
302 pub next_token: Option<String>,
303}
304
305#[derive(Clone, Debug, Default, PartialEq, Serialize)]
306#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
307pub struct ListCreatedArtifactsRequest {
308 #[serde(rename = "MaxResults")]
310 #[serde(skip_serializing_if = "Option::is_none")]
311 pub max_results: Option<i64>,
312 #[serde(rename = "MigrationTaskName")]
314 pub migration_task_name: String,
315 #[serde(rename = "NextToken")]
317 #[serde(skip_serializing_if = "Option::is_none")]
318 pub next_token: Option<String>,
319 #[serde(rename = "ProgressUpdateStream")]
321 pub progress_update_stream: String,
322}
323
324#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
325#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
326pub struct ListCreatedArtifactsResult {
327 #[serde(rename = "CreatedArtifactList")]
329 #[serde(skip_serializing_if = "Option::is_none")]
330 pub created_artifact_list: Option<Vec<CreatedArtifact>>,
331 #[serde(rename = "NextToken")]
333 #[serde(skip_serializing_if = "Option::is_none")]
334 pub next_token: Option<String>,
335}
336
337#[derive(Clone, Debug, Default, PartialEq, Serialize)]
338#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
339pub struct ListDiscoveredResourcesRequest {
340 #[serde(rename = "MaxResults")]
342 #[serde(skip_serializing_if = "Option::is_none")]
343 pub max_results: Option<i64>,
344 #[serde(rename = "MigrationTaskName")]
346 pub migration_task_name: String,
347 #[serde(rename = "NextToken")]
349 #[serde(skip_serializing_if = "Option::is_none")]
350 pub next_token: Option<String>,
351 #[serde(rename = "ProgressUpdateStream")]
353 pub progress_update_stream: String,
354}
355
356#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
357#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
358pub struct ListDiscoveredResourcesResult {
359 #[serde(rename = "DiscoveredResourceList")]
361 #[serde(skip_serializing_if = "Option::is_none")]
362 pub discovered_resource_list: Option<Vec<DiscoveredResource>>,
363 #[serde(rename = "NextToken")]
365 #[serde(skip_serializing_if = "Option::is_none")]
366 pub next_token: Option<String>,
367}
368
369#[derive(Clone, Debug, Default, PartialEq, Serialize)]
370#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
371pub struct ListMigrationTasksRequest {
372 #[serde(rename = "MaxResults")]
374 #[serde(skip_serializing_if = "Option::is_none")]
375 pub max_results: Option<i64>,
376 #[serde(rename = "NextToken")]
378 #[serde(skip_serializing_if = "Option::is_none")]
379 pub next_token: Option<String>,
380 #[serde(rename = "ResourceName")]
382 #[serde(skip_serializing_if = "Option::is_none")]
383 pub resource_name: Option<String>,
384}
385
386#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
387#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
388pub struct ListMigrationTasksResult {
389 #[serde(rename = "MigrationTaskSummaryList")]
391 #[serde(skip_serializing_if = "Option::is_none")]
392 pub migration_task_summary_list: Option<Vec<MigrationTaskSummary>>,
393 #[serde(rename = "NextToken")]
395 #[serde(skip_serializing_if = "Option::is_none")]
396 pub next_token: Option<String>,
397}
398
399#[derive(Clone, Debug, Default, PartialEq, Serialize)]
400#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
401pub struct ListProgressUpdateStreamsRequest {
402 #[serde(rename = "MaxResults")]
404 #[serde(skip_serializing_if = "Option::is_none")]
405 pub max_results: Option<i64>,
406 #[serde(rename = "NextToken")]
408 #[serde(skip_serializing_if = "Option::is_none")]
409 pub next_token: Option<String>,
410}
411
412#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
413#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
414pub struct ListProgressUpdateStreamsResult {
415 #[serde(rename = "NextToken")]
417 #[serde(skip_serializing_if = "Option::is_none")]
418 pub next_token: Option<String>,
419 #[serde(rename = "ProgressUpdateStreamSummaryList")]
421 #[serde(skip_serializing_if = "Option::is_none")]
422 pub progress_update_stream_summary_list: Option<Vec<ProgressUpdateStreamSummary>>,
423}
424
425#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
427#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
428pub struct MigrationTask {
429 #[serde(rename = "MigrationTaskName")]
431 #[serde(skip_serializing_if = "Option::is_none")]
432 pub migration_task_name: Option<String>,
433 #[serde(rename = "ProgressUpdateStream")]
435 #[serde(skip_serializing_if = "Option::is_none")]
436 pub progress_update_stream: Option<String>,
437 #[serde(rename = "ResourceAttributeList")]
439 #[serde(skip_serializing_if = "Option::is_none")]
440 pub resource_attribute_list: Option<Vec<ResourceAttribute>>,
441 #[serde(rename = "Task")]
443 #[serde(skip_serializing_if = "Option::is_none")]
444 pub task: Option<Task>,
445 #[serde(rename = "UpdateDateTime")]
447 #[serde(skip_serializing_if = "Option::is_none")]
448 pub update_date_time: Option<f64>,
449}
450
451#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
453#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
454pub struct MigrationTaskSummary {
455 #[serde(rename = "MigrationTaskName")]
457 #[serde(skip_serializing_if = "Option::is_none")]
458 pub migration_task_name: Option<String>,
459 #[serde(rename = "ProgressPercent")]
461 #[serde(skip_serializing_if = "Option::is_none")]
462 pub progress_percent: Option<i64>,
463 #[serde(rename = "ProgressUpdateStream")]
465 #[serde(skip_serializing_if = "Option::is_none")]
466 pub progress_update_stream: Option<String>,
467 #[serde(rename = "Status")]
469 #[serde(skip_serializing_if = "Option::is_none")]
470 pub status: Option<String>,
471 #[serde(rename = "StatusDetail")]
473 #[serde(skip_serializing_if = "Option::is_none")]
474 pub status_detail: Option<String>,
475 #[serde(rename = "UpdateDateTime")]
477 #[serde(skip_serializing_if = "Option::is_none")]
478 pub update_date_time: Option<f64>,
479}
480
481#[derive(Clone, Debug, Default, PartialEq, Serialize)]
482#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
483pub struct NotifyApplicationStateRequest {
484 #[serde(rename = "ApplicationId")]
486 pub application_id: String,
487 #[serde(rename = "DryRun")]
489 #[serde(skip_serializing_if = "Option::is_none")]
490 pub dry_run: Option<bool>,
491 #[serde(rename = "Status")]
493 pub status: String,
494 #[serde(rename = "UpdateDateTime")]
496 #[serde(skip_serializing_if = "Option::is_none")]
497 pub update_date_time: Option<f64>,
498}
499
500#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
501#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
502pub struct NotifyApplicationStateResult {}
503
504#[derive(Clone, Debug, Default, PartialEq, Serialize)]
505#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
506pub struct NotifyMigrationTaskStateRequest {
507 #[serde(rename = "DryRun")]
509 #[serde(skip_serializing_if = "Option::is_none")]
510 pub dry_run: Option<bool>,
511 #[serde(rename = "MigrationTaskName")]
513 pub migration_task_name: String,
514 #[serde(rename = "NextUpdateSeconds")]
516 pub next_update_seconds: i64,
517 #[serde(rename = "ProgressUpdateStream")]
519 pub progress_update_stream: String,
520 #[serde(rename = "Task")]
522 pub task: Task,
523 #[serde(rename = "UpdateDateTime")]
525 pub update_date_time: f64,
526}
527
528#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
529#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
530pub struct NotifyMigrationTaskStateResult {}
531
532#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
534#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
535pub struct ProgressUpdateStreamSummary {
536 #[serde(rename = "ProgressUpdateStreamName")]
538 #[serde(skip_serializing_if = "Option::is_none")]
539 pub progress_update_stream_name: Option<String>,
540}
541
542#[derive(Clone, Debug, Default, PartialEq, Serialize)]
543#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
544pub struct PutResourceAttributesRequest {
545 #[serde(rename = "DryRun")]
547 #[serde(skip_serializing_if = "Option::is_none")]
548 pub dry_run: Option<bool>,
549 #[serde(rename = "MigrationTaskName")]
551 pub migration_task_name: String,
552 #[serde(rename = "ProgressUpdateStream")]
554 pub progress_update_stream: String,
555 #[serde(rename = "ResourceAttributeList")]
557 pub resource_attribute_list: Vec<ResourceAttribute>,
558}
559
560#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
561#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
562pub struct PutResourceAttributesResult {}
563
564#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
566pub struct ResourceAttribute {
567 #[serde(rename = "Type")]
569 pub type_: String,
570 #[serde(rename = "Value")]
572 pub value: String,
573}
574
575#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
577pub struct Task {
578 #[serde(rename = "ProgressPercent")]
580 #[serde(skip_serializing_if = "Option::is_none")]
581 pub progress_percent: Option<i64>,
582 #[serde(rename = "Status")]
584 pub status: String,
585 #[serde(rename = "StatusDetail")]
587 #[serde(skip_serializing_if = "Option::is_none")]
588 pub status_detail: Option<String>,
589}
590
591#[derive(Debug, PartialEq)]
593pub enum AssociateCreatedArtifactError {
594 AccessDenied(String),
596 DryRunOperation(String),
598 HomeRegionNotSet(String),
600 InternalServerError(String),
602 InvalidInput(String),
604 ResourceNotFound(String),
606 ServiceUnavailable(String),
608 Throttling(String),
610 UnauthorizedOperation(String),
612}
613
614impl AssociateCreatedArtifactError {
615 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<AssociateCreatedArtifactError> {
616 if let Some(err) = proto::json::Error::parse(&res) {
617 match err.typ.as_str() {
618 "AccessDeniedException" => {
619 return RusotoError::Service(AssociateCreatedArtifactError::AccessDenied(
620 err.msg,
621 ))
622 }
623 "DryRunOperation" => {
624 return RusotoError::Service(AssociateCreatedArtifactError::DryRunOperation(
625 err.msg,
626 ))
627 }
628 "HomeRegionNotSetException" => {
629 return RusotoError::Service(AssociateCreatedArtifactError::HomeRegionNotSet(
630 err.msg,
631 ))
632 }
633 "InternalServerError" => {
634 return RusotoError::Service(
635 AssociateCreatedArtifactError::InternalServerError(err.msg),
636 )
637 }
638 "InvalidInputException" => {
639 return RusotoError::Service(AssociateCreatedArtifactError::InvalidInput(
640 err.msg,
641 ))
642 }
643 "ResourceNotFoundException" => {
644 return RusotoError::Service(AssociateCreatedArtifactError::ResourceNotFound(
645 err.msg,
646 ))
647 }
648 "ServiceUnavailableException" => {
649 return RusotoError::Service(AssociateCreatedArtifactError::ServiceUnavailable(
650 err.msg,
651 ))
652 }
653 "ThrottlingException" => {
654 return RusotoError::Service(AssociateCreatedArtifactError::Throttling(err.msg))
655 }
656 "UnauthorizedOperation" => {
657 return RusotoError::Service(
658 AssociateCreatedArtifactError::UnauthorizedOperation(err.msg),
659 )
660 }
661 "ValidationException" => return RusotoError::Validation(err.msg),
662 _ => {}
663 }
664 }
665 RusotoError::Unknown(res)
666 }
667}
668impl fmt::Display for AssociateCreatedArtifactError {
669 #[allow(unused_variables)]
670 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
671 match *self {
672 AssociateCreatedArtifactError::AccessDenied(ref cause) => write!(f, "{}", cause),
673 AssociateCreatedArtifactError::DryRunOperation(ref cause) => write!(f, "{}", cause),
674 AssociateCreatedArtifactError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
675 AssociateCreatedArtifactError::InternalServerError(ref cause) => write!(f, "{}", cause),
676 AssociateCreatedArtifactError::InvalidInput(ref cause) => write!(f, "{}", cause),
677 AssociateCreatedArtifactError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
678 AssociateCreatedArtifactError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
679 AssociateCreatedArtifactError::Throttling(ref cause) => write!(f, "{}", cause),
680 AssociateCreatedArtifactError::UnauthorizedOperation(ref cause) => {
681 write!(f, "{}", cause)
682 }
683 }
684 }
685}
686impl Error for AssociateCreatedArtifactError {}
687#[derive(Debug, PartialEq)]
689pub enum AssociateDiscoveredResourceError {
690 AccessDenied(String),
692 DryRunOperation(String),
694 HomeRegionNotSet(String),
696 InternalServerError(String),
698 InvalidInput(String),
700 PolicyError(String),
702 ResourceNotFound(String),
704 ServiceUnavailable(String),
706 Throttling(String),
708 UnauthorizedOperation(String),
710}
711
712impl AssociateDiscoveredResourceError {
713 pub fn from_response(
714 res: BufferedHttpResponse,
715 ) -> RusotoError<AssociateDiscoveredResourceError> {
716 if let Some(err) = proto::json::Error::parse(&res) {
717 match err.typ.as_str() {
718 "AccessDeniedException" => {
719 return RusotoError::Service(AssociateDiscoveredResourceError::AccessDenied(
720 err.msg,
721 ))
722 }
723 "DryRunOperation" => {
724 return RusotoError::Service(AssociateDiscoveredResourceError::DryRunOperation(
725 err.msg,
726 ))
727 }
728 "HomeRegionNotSetException" => {
729 return RusotoError::Service(
730 AssociateDiscoveredResourceError::HomeRegionNotSet(err.msg),
731 )
732 }
733 "InternalServerError" => {
734 return RusotoError::Service(
735 AssociateDiscoveredResourceError::InternalServerError(err.msg),
736 )
737 }
738 "InvalidInputException" => {
739 return RusotoError::Service(AssociateDiscoveredResourceError::InvalidInput(
740 err.msg,
741 ))
742 }
743 "PolicyErrorException" => {
744 return RusotoError::Service(AssociateDiscoveredResourceError::PolicyError(
745 err.msg,
746 ))
747 }
748 "ResourceNotFoundException" => {
749 return RusotoError::Service(
750 AssociateDiscoveredResourceError::ResourceNotFound(err.msg),
751 )
752 }
753 "ServiceUnavailableException" => {
754 return RusotoError::Service(
755 AssociateDiscoveredResourceError::ServiceUnavailable(err.msg),
756 )
757 }
758 "ThrottlingException" => {
759 return RusotoError::Service(AssociateDiscoveredResourceError::Throttling(
760 err.msg,
761 ))
762 }
763 "UnauthorizedOperation" => {
764 return RusotoError::Service(
765 AssociateDiscoveredResourceError::UnauthorizedOperation(err.msg),
766 )
767 }
768 "ValidationException" => return RusotoError::Validation(err.msg),
769 _ => {}
770 }
771 }
772 RusotoError::Unknown(res)
773 }
774}
775impl fmt::Display for AssociateDiscoveredResourceError {
776 #[allow(unused_variables)]
777 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
778 match *self {
779 AssociateDiscoveredResourceError::AccessDenied(ref cause) => write!(f, "{}", cause),
780 AssociateDiscoveredResourceError::DryRunOperation(ref cause) => write!(f, "{}", cause),
781 AssociateDiscoveredResourceError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
782 AssociateDiscoveredResourceError::InternalServerError(ref cause) => {
783 write!(f, "{}", cause)
784 }
785 AssociateDiscoveredResourceError::InvalidInput(ref cause) => write!(f, "{}", cause),
786 AssociateDiscoveredResourceError::PolicyError(ref cause) => write!(f, "{}", cause),
787 AssociateDiscoveredResourceError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
788 AssociateDiscoveredResourceError::ServiceUnavailable(ref cause) => {
789 write!(f, "{}", cause)
790 }
791 AssociateDiscoveredResourceError::Throttling(ref cause) => write!(f, "{}", cause),
792 AssociateDiscoveredResourceError::UnauthorizedOperation(ref cause) => {
793 write!(f, "{}", cause)
794 }
795 }
796 }
797}
798impl Error for AssociateDiscoveredResourceError {}
799#[derive(Debug, PartialEq)]
801pub enum CreateProgressUpdateStreamError {
802 AccessDenied(String),
804 DryRunOperation(String),
806 HomeRegionNotSet(String),
808 InternalServerError(String),
810 InvalidInput(String),
812 ServiceUnavailable(String),
814 Throttling(String),
816 UnauthorizedOperation(String),
818}
819
820impl CreateProgressUpdateStreamError {
821 pub fn from_response(
822 res: BufferedHttpResponse,
823 ) -> RusotoError<CreateProgressUpdateStreamError> {
824 if let Some(err) = proto::json::Error::parse(&res) {
825 match err.typ.as_str() {
826 "AccessDeniedException" => {
827 return RusotoError::Service(CreateProgressUpdateStreamError::AccessDenied(
828 err.msg,
829 ))
830 }
831 "DryRunOperation" => {
832 return RusotoError::Service(CreateProgressUpdateStreamError::DryRunOperation(
833 err.msg,
834 ))
835 }
836 "HomeRegionNotSetException" => {
837 return RusotoError::Service(CreateProgressUpdateStreamError::HomeRegionNotSet(
838 err.msg,
839 ))
840 }
841 "InternalServerError" => {
842 return RusotoError::Service(
843 CreateProgressUpdateStreamError::InternalServerError(err.msg),
844 )
845 }
846 "InvalidInputException" => {
847 return RusotoError::Service(CreateProgressUpdateStreamError::InvalidInput(
848 err.msg,
849 ))
850 }
851 "ServiceUnavailableException" => {
852 return RusotoError::Service(
853 CreateProgressUpdateStreamError::ServiceUnavailable(err.msg),
854 )
855 }
856 "ThrottlingException" => {
857 return RusotoError::Service(CreateProgressUpdateStreamError::Throttling(
858 err.msg,
859 ))
860 }
861 "UnauthorizedOperation" => {
862 return RusotoError::Service(
863 CreateProgressUpdateStreamError::UnauthorizedOperation(err.msg),
864 )
865 }
866 "ValidationException" => return RusotoError::Validation(err.msg),
867 _ => {}
868 }
869 }
870 RusotoError::Unknown(res)
871 }
872}
873impl fmt::Display for CreateProgressUpdateStreamError {
874 #[allow(unused_variables)]
875 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
876 match *self {
877 CreateProgressUpdateStreamError::AccessDenied(ref cause) => write!(f, "{}", cause),
878 CreateProgressUpdateStreamError::DryRunOperation(ref cause) => write!(f, "{}", cause),
879 CreateProgressUpdateStreamError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
880 CreateProgressUpdateStreamError::InternalServerError(ref cause) => {
881 write!(f, "{}", cause)
882 }
883 CreateProgressUpdateStreamError::InvalidInput(ref cause) => write!(f, "{}", cause),
884 CreateProgressUpdateStreamError::ServiceUnavailable(ref cause) => {
885 write!(f, "{}", cause)
886 }
887 CreateProgressUpdateStreamError::Throttling(ref cause) => write!(f, "{}", cause),
888 CreateProgressUpdateStreamError::UnauthorizedOperation(ref cause) => {
889 write!(f, "{}", cause)
890 }
891 }
892 }
893}
894impl Error for CreateProgressUpdateStreamError {}
895#[derive(Debug, PartialEq)]
897pub enum DeleteProgressUpdateStreamError {
898 AccessDenied(String),
900 DryRunOperation(String),
902 HomeRegionNotSet(String),
904 InternalServerError(String),
906 InvalidInput(String),
908 ResourceNotFound(String),
910 ServiceUnavailable(String),
912 Throttling(String),
914 UnauthorizedOperation(String),
916}
917
918impl DeleteProgressUpdateStreamError {
919 pub fn from_response(
920 res: BufferedHttpResponse,
921 ) -> RusotoError<DeleteProgressUpdateStreamError> {
922 if let Some(err) = proto::json::Error::parse(&res) {
923 match err.typ.as_str() {
924 "AccessDeniedException" => {
925 return RusotoError::Service(DeleteProgressUpdateStreamError::AccessDenied(
926 err.msg,
927 ))
928 }
929 "DryRunOperation" => {
930 return RusotoError::Service(DeleteProgressUpdateStreamError::DryRunOperation(
931 err.msg,
932 ))
933 }
934 "HomeRegionNotSetException" => {
935 return RusotoError::Service(DeleteProgressUpdateStreamError::HomeRegionNotSet(
936 err.msg,
937 ))
938 }
939 "InternalServerError" => {
940 return RusotoError::Service(
941 DeleteProgressUpdateStreamError::InternalServerError(err.msg),
942 )
943 }
944 "InvalidInputException" => {
945 return RusotoError::Service(DeleteProgressUpdateStreamError::InvalidInput(
946 err.msg,
947 ))
948 }
949 "ResourceNotFoundException" => {
950 return RusotoError::Service(DeleteProgressUpdateStreamError::ResourceNotFound(
951 err.msg,
952 ))
953 }
954 "ServiceUnavailableException" => {
955 return RusotoError::Service(
956 DeleteProgressUpdateStreamError::ServiceUnavailable(err.msg),
957 )
958 }
959 "ThrottlingException" => {
960 return RusotoError::Service(DeleteProgressUpdateStreamError::Throttling(
961 err.msg,
962 ))
963 }
964 "UnauthorizedOperation" => {
965 return RusotoError::Service(
966 DeleteProgressUpdateStreamError::UnauthorizedOperation(err.msg),
967 )
968 }
969 "ValidationException" => return RusotoError::Validation(err.msg),
970 _ => {}
971 }
972 }
973 RusotoError::Unknown(res)
974 }
975}
976impl fmt::Display for DeleteProgressUpdateStreamError {
977 #[allow(unused_variables)]
978 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
979 match *self {
980 DeleteProgressUpdateStreamError::AccessDenied(ref cause) => write!(f, "{}", cause),
981 DeleteProgressUpdateStreamError::DryRunOperation(ref cause) => write!(f, "{}", cause),
982 DeleteProgressUpdateStreamError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
983 DeleteProgressUpdateStreamError::InternalServerError(ref cause) => {
984 write!(f, "{}", cause)
985 }
986 DeleteProgressUpdateStreamError::InvalidInput(ref cause) => write!(f, "{}", cause),
987 DeleteProgressUpdateStreamError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
988 DeleteProgressUpdateStreamError::ServiceUnavailable(ref cause) => {
989 write!(f, "{}", cause)
990 }
991 DeleteProgressUpdateStreamError::Throttling(ref cause) => write!(f, "{}", cause),
992 DeleteProgressUpdateStreamError::UnauthorizedOperation(ref cause) => {
993 write!(f, "{}", cause)
994 }
995 }
996 }
997}
998impl Error for DeleteProgressUpdateStreamError {}
999#[derive(Debug, PartialEq)]
1001pub enum DescribeApplicationStateError {
1002 AccessDenied(String),
1004 HomeRegionNotSet(String),
1006 InternalServerError(String),
1008 InvalidInput(String),
1010 PolicyError(String),
1012 ResourceNotFound(String),
1014 ServiceUnavailable(String),
1016 Throttling(String),
1018}
1019
1020impl DescribeApplicationStateError {
1021 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeApplicationStateError> {
1022 if let Some(err) = proto::json::Error::parse(&res) {
1023 match err.typ.as_str() {
1024 "AccessDeniedException" => {
1025 return RusotoError::Service(DescribeApplicationStateError::AccessDenied(
1026 err.msg,
1027 ))
1028 }
1029 "HomeRegionNotSetException" => {
1030 return RusotoError::Service(DescribeApplicationStateError::HomeRegionNotSet(
1031 err.msg,
1032 ))
1033 }
1034 "InternalServerError" => {
1035 return RusotoError::Service(
1036 DescribeApplicationStateError::InternalServerError(err.msg),
1037 )
1038 }
1039 "InvalidInputException" => {
1040 return RusotoError::Service(DescribeApplicationStateError::InvalidInput(
1041 err.msg,
1042 ))
1043 }
1044 "PolicyErrorException" => {
1045 return RusotoError::Service(DescribeApplicationStateError::PolicyError(
1046 err.msg,
1047 ))
1048 }
1049 "ResourceNotFoundException" => {
1050 return RusotoError::Service(DescribeApplicationStateError::ResourceNotFound(
1051 err.msg,
1052 ))
1053 }
1054 "ServiceUnavailableException" => {
1055 return RusotoError::Service(DescribeApplicationStateError::ServiceUnavailable(
1056 err.msg,
1057 ))
1058 }
1059 "ThrottlingException" => {
1060 return RusotoError::Service(DescribeApplicationStateError::Throttling(err.msg))
1061 }
1062 "ValidationException" => return RusotoError::Validation(err.msg),
1063 _ => {}
1064 }
1065 }
1066 RusotoError::Unknown(res)
1067 }
1068}
1069impl fmt::Display for DescribeApplicationStateError {
1070 #[allow(unused_variables)]
1071 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1072 match *self {
1073 DescribeApplicationStateError::AccessDenied(ref cause) => write!(f, "{}", cause),
1074 DescribeApplicationStateError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
1075 DescribeApplicationStateError::InternalServerError(ref cause) => write!(f, "{}", cause),
1076 DescribeApplicationStateError::InvalidInput(ref cause) => write!(f, "{}", cause),
1077 DescribeApplicationStateError::PolicyError(ref cause) => write!(f, "{}", cause),
1078 DescribeApplicationStateError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
1079 DescribeApplicationStateError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
1080 DescribeApplicationStateError::Throttling(ref cause) => write!(f, "{}", cause),
1081 }
1082 }
1083}
1084impl Error for DescribeApplicationStateError {}
1085#[derive(Debug, PartialEq)]
1087pub enum DescribeMigrationTaskError {
1088 AccessDenied(String),
1090 HomeRegionNotSet(String),
1092 InternalServerError(String),
1094 InvalidInput(String),
1096 ResourceNotFound(String),
1098 ServiceUnavailable(String),
1100 Throttling(String),
1102}
1103
1104impl DescribeMigrationTaskError {
1105 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeMigrationTaskError> {
1106 if let Some(err) = proto::json::Error::parse(&res) {
1107 match err.typ.as_str() {
1108 "AccessDeniedException" => {
1109 return RusotoError::Service(DescribeMigrationTaskError::AccessDenied(err.msg))
1110 }
1111 "HomeRegionNotSetException" => {
1112 return RusotoError::Service(DescribeMigrationTaskError::HomeRegionNotSet(
1113 err.msg,
1114 ))
1115 }
1116 "InternalServerError" => {
1117 return RusotoError::Service(DescribeMigrationTaskError::InternalServerError(
1118 err.msg,
1119 ))
1120 }
1121 "InvalidInputException" => {
1122 return RusotoError::Service(DescribeMigrationTaskError::InvalidInput(err.msg))
1123 }
1124 "ResourceNotFoundException" => {
1125 return RusotoError::Service(DescribeMigrationTaskError::ResourceNotFound(
1126 err.msg,
1127 ))
1128 }
1129 "ServiceUnavailableException" => {
1130 return RusotoError::Service(DescribeMigrationTaskError::ServiceUnavailable(
1131 err.msg,
1132 ))
1133 }
1134 "ThrottlingException" => {
1135 return RusotoError::Service(DescribeMigrationTaskError::Throttling(err.msg))
1136 }
1137 "ValidationException" => return RusotoError::Validation(err.msg),
1138 _ => {}
1139 }
1140 }
1141 RusotoError::Unknown(res)
1142 }
1143}
1144impl fmt::Display for DescribeMigrationTaskError {
1145 #[allow(unused_variables)]
1146 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1147 match *self {
1148 DescribeMigrationTaskError::AccessDenied(ref cause) => write!(f, "{}", cause),
1149 DescribeMigrationTaskError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
1150 DescribeMigrationTaskError::InternalServerError(ref cause) => write!(f, "{}", cause),
1151 DescribeMigrationTaskError::InvalidInput(ref cause) => write!(f, "{}", cause),
1152 DescribeMigrationTaskError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
1153 DescribeMigrationTaskError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
1154 DescribeMigrationTaskError::Throttling(ref cause) => write!(f, "{}", cause),
1155 }
1156 }
1157}
1158impl Error for DescribeMigrationTaskError {}
1159#[derive(Debug, PartialEq)]
1161pub enum DisassociateCreatedArtifactError {
1162 AccessDenied(String),
1164 DryRunOperation(String),
1166 HomeRegionNotSet(String),
1168 InternalServerError(String),
1170 InvalidInput(String),
1172 ResourceNotFound(String),
1174 ServiceUnavailable(String),
1176 Throttling(String),
1178 UnauthorizedOperation(String),
1180}
1181
1182impl DisassociateCreatedArtifactError {
1183 pub fn from_response(
1184 res: BufferedHttpResponse,
1185 ) -> RusotoError<DisassociateCreatedArtifactError> {
1186 if let Some(err) = proto::json::Error::parse(&res) {
1187 match err.typ.as_str() {
1188 "AccessDeniedException" => {
1189 return RusotoError::Service(DisassociateCreatedArtifactError::AccessDenied(
1190 err.msg,
1191 ))
1192 }
1193 "DryRunOperation" => {
1194 return RusotoError::Service(DisassociateCreatedArtifactError::DryRunOperation(
1195 err.msg,
1196 ))
1197 }
1198 "HomeRegionNotSetException" => {
1199 return RusotoError::Service(
1200 DisassociateCreatedArtifactError::HomeRegionNotSet(err.msg),
1201 )
1202 }
1203 "InternalServerError" => {
1204 return RusotoError::Service(
1205 DisassociateCreatedArtifactError::InternalServerError(err.msg),
1206 )
1207 }
1208 "InvalidInputException" => {
1209 return RusotoError::Service(DisassociateCreatedArtifactError::InvalidInput(
1210 err.msg,
1211 ))
1212 }
1213 "ResourceNotFoundException" => {
1214 return RusotoError::Service(
1215 DisassociateCreatedArtifactError::ResourceNotFound(err.msg),
1216 )
1217 }
1218 "ServiceUnavailableException" => {
1219 return RusotoError::Service(
1220 DisassociateCreatedArtifactError::ServiceUnavailable(err.msg),
1221 )
1222 }
1223 "ThrottlingException" => {
1224 return RusotoError::Service(DisassociateCreatedArtifactError::Throttling(
1225 err.msg,
1226 ))
1227 }
1228 "UnauthorizedOperation" => {
1229 return RusotoError::Service(
1230 DisassociateCreatedArtifactError::UnauthorizedOperation(err.msg),
1231 )
1232 }
1233 "ValidationException" => return RusotoError::Validation(err.msg),
1234 _ => {}
1235 }
1236 }
1237 RusotoError::Unknown(res)
1238 }
1239}
1240impl fmt::Display for DisassociateCreatedArtifactError {
1241 #[allow(unused_variables)]
1242 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1243 match *self {
1244 DisassociateCreatedArtifactError::AccessDenied(ref cause) => write!(f, "{}", cause),
1245 DisassociateCreatedArtifactError::DryRunOperation(ref cause) => write!(f, "{}", cause),
1246 DisassociateCreatedArtifactError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
1247 DisassociateCreatedArtifactError::InternalServerError(ref cause) => {
1248 write!(f, "{}", cause)
1249 }
1250 DisassociateCreatedArtifactError::InvalidInput(ref cause) => write!(f, "{}", cause),
1251 DisassociateCreatedArtifactError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
1252 DisassociateCreatedArtifactError::ServiceUnavailable(ref cause) => {
1253 write!(f, "{}", cause)
1254 }
1255 DisassociateCreatedArtifactError::Throttling(ref cause) => write!(f, "{}", cause),
1256 DisassociateCreatedArtifactError::UnauthorizedOperation(ref cause) => {
1257 write!(f, "{}", cause)
1258 }
1259 }
1260 }
1261}
1262impl Error for DisassociateCreatedArtifactError {}
1263#[derive(Debug, PartialEq)]
1265pub enum DisassociateDiscoveredResourceError {
1266 AccessDenied(String),
1268 DryRunOperation(String),
1270 HomeRegionNotSet(String),
1272 InternalServerError(String),
1274 InvalidInput(String),
1276 ResourceNotFound(String),
1278 ServiceUnavailable(String),
1280 Throttling(String),
1282 UnauthorizedOperation(String),
1284}
1285
1286impl DisassociateDiscoveredResourceError {
1287 pub fn from_response(
1288 res: BufferedHttpResponse,
1289 ) -> RusotoError<DisassociateDiscoveredResourceError> {
1290 if let Some(err) = proto::json::Error::parse(&res) {
1291 match err.typ.as_str() {
1292 "AccessDeniedException" => {
1293 return RusotoError::Service(DisassociateDiscoveredResourceError::AccessDenied(
1294 err.msg,
1295 ))
1296 }
1297 "DryRunOperation" => {
1298 return RusotoError::Service(
1299 DisassociateDiscoveredResourceError::DryRunOperation(err.msg),
1300 )
1301 }
1302 "HomeRegionNotSetException" => {
1303 return RusotoError::Service(
1304 DisassociateDiscoveredResourceError::HomeRegionNotSet(err.msg),
1305 )
1306 }
1307 "InternalServerError" => {
1308 return RusotoError::Service(
1309 DisassociateDiscoveredResourceError::InternalServerError(err.msg),
1310 )
1311 }
1312 "InvalidInputException" => {
1313 return RusotoError::Service(DisassociateDiscoveredResourceError::InvalidInput(
1314 err.msg,
1315 ))
1316 }
1317 "ResourceNotFoundException" => {
1318 return RusotoError::Service(
1319 DisassociateDiscoveredResourceError::ResourceNotFound(err.msg),
1320 )
1321 }
1322 "ServiceUnavailableException" => {
1323 return RusotoError::Service(
1324 DisassociateDiscoveredResourceError::ServiceUnavailable(err.msg),
1325 )
1326 }
1327 "ThrottlingException" => {
1328 return RusotoError::Service(DisassociateDiscoveredResourceError::Throttling(
1329 err.msg,
1330 ))
1331 }
1332 "UnauthorizedOperation" => {
1333 return RusotoError::Service(
1334 DisassociateDiscoveredResourceError::UnauthorizedOperation(err.msg),
1335 )
1336 }
1337 "ValidationException" => return RusotoError::Validation(err.msg),
1338 _ => {}
1339 }
1340 }
1341 RusotoError::Unknown(res)
1342 }
1343}
1344impl fmt::Display for DisassociateDiscoveredResourceError {
1345 #[allow(unused_variables)]
1346 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1347 match *self {
1348 DisassociateDiscoveredResourceError::AccessDenied(ref cause) => write!(f, "{}", cause),
1349 DisassociateDiscoveredResourceError::DryRunOperation(ref cause) => {
1350 write!(f, "{}", cause)
1351 }
1352 DisassociateDiscoveredResourceError::HomeRegionNotSet(ref cause) => {
1353 write!(f, "{}", cause)
1354 }
1355 DisassociateDiscoveredResourceError::InternalServerError(ref cause) => {
1356 write!(f, "{}", cause)
1357 }
1358 DisassociateDiscoveredResourceError::InvalidInput(ref cause) => write!(f, "{}", cause),
1359 DisassociateDiscoveredResourceError::ResourceNotFound(ref cause) => {
1360 write!(f, "{}", cause)
1361 }
1362 DisassociateDiscoveredResourceError::ServiceUnavailable(ref cause) => {
1363 write!(f, "{}", cause)
1364 }
1365 DisassociateDiscoveredResourceError::Throttling(ref cause) => write!(f, "{}", cause),
1366 DisassociateDiscoveredResourceError::UnauthorizedOperation(ref cause) => {
1367 write!(f, "{}", cause)
1368 }
1369 }
1370 }
1371}
1372impl Error for DisassociateDiscoveredResourceError {}
1373#[derive(Debug, PartialEq)]
1375pub enum ImportMigrationTaskError {
1376 AccessDenied(String),
1378 DryRunOperation(String),
1380 HomeRegionNotSet(String),
1382 InternalServerError(String),
1384 InvalidInput(String),
1386 ResourceNotFound(String),
1388 ServiceUnavailable(String),
1390 Throttling(String),
1392 UnauthorizedOperation(String),
1394}
1395
1396impl ImportMigrationTaskError {
1397 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ImportMigrationTaskError> {
1398 if let Some(err) = proto::json::Error::parse(&res) {
1399 match err.typ.as_str() {
1400 "AccessDeniedException" => {
1401 return RusotoError::Service(ImportMigrationTaskError::AccessDenied(err.msg))
1402 }
1403 "DryRunOperation" => {
1404 return RusotoError::Service(ImportMigrationTaskError::DryRunOperation(err.msg))
1405 }
1406 "HomeRegionNotSetException" => {
1407 return RusotoError::Service(ImportMigrationTaskError::HomeRegionNotSet(
1408 err.msg,
1409 ))
1410 }
1411 "InternalServerError" => {
1412 return RusotoError::Service(ImportMigrationTaskError::InternalServerError(
1413 err.msg,
1414 ))
1415 }
1416 "InvalidInputException" => {
1417 return RusotoError::Service(ImportMigrationTaskError::InvalidInput(err.msg))
1418 }
1419 "ResourceNotFoundException" => {
1420 return RusotoError::Service(ImportMigrationTaskError::ResourceNotFound(
1421 err.msg,
1422 ))
1423 }
1424 "ServiceUnavailableException" => {
1425 return RusotoError::Service(ImportMigrationTaskError::ServiceUnavailable(
1426 err.msg,
1427 ))
1428 }
1429 "ThrottlingException" => {
1430 return RusotoError::Service(ImportMigrationTaskError::Throttling(err.msg))
1431 }
1432 "UnauthorizedOperation" => {
1433 return RusotoError::Service(ImportMigrationTaskError::UnauthorizedOperation(
1434 err.msg,
1435 ))
1436 }
1437 "ValidationException" => return RusotoError::Validation(err.msg),
1438 _ => {}
1439 }
1440 }
1441 RusotoError::Unknown(res)
1442 }
1443}
1444impl fmt::Display for ImportMigrationTaskError {
1445 #[allow(unused_variables)]
1446 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1447 match *self {
1448 ImportMigrationTaskError::AccessDenied(ref cause) => write!(f, "{}", cause),
1449 ImportMigrationTaskError::DryRunOperation(ref cause) => write!(f, "{}", cause),
1450 ImportMigrationTaskError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
1451 ImportMigrationTaskError::InternalServerError(ref cause) => write!(f, "{}", cause),
1452 ImportMigrationTaskError::InvalidInput(ref cause) => write!(f, "{}", cause),
1453 ImportMigrationTaskError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
1454 ImportMigrationTaskError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
1455 ImportMigrationTaskError::Throttling(ref cause) => write!(f, "{}", cause),
1456 ImportMigrationTaskError::UnauthorizedOperation(ref cause) => write!(f, "{}", cause),
1457 }
1458 }
1459}
1460impl Error for ImportMigrationTaskError {}
1461#[derive(Debug, PartialEq)]
1463pub enum ListApplicationStatesError {
1464 AccessDenied(String),
1466 HomeRegionNotSet(String),
1468 InternalServerError(String),
1470 InvalidInput(String),
1472 ServiceUnavailable(String),
1474 Throttling(String),
1476}
1477
1478impl ListApplicationStatesError {
1479 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListApplicationStatesError> {
1480 if let Some(err) = proto::json::Error::parse(&res) {
1481 match err.typ.as_str() {
1482 "AccessDeniedException" => {
1483 return RusotoError::Service(ListApplicationStatesError::AccessDenied(err.msg))
1484 }
1485 "HomeRegionNotSetException" => {
1486 return RusotoError::Service(ListApplicationStatesError::HomeRegionNotSet(
1487 err.msg,
1488 ))
1489 }
1490 "InternalServerError" => {
1491 return RusotoError::Service(ListApplicationStatesError::InternalServerError(
1492 err.msg,
1493 ))
1494 }
1495 "InvalidInputException" => {
1496 return RusotoError::Service(ListApplicationStatesError::InvalidInput(err.msg))
1497 }
1498 "ServiceUnavailableException" => {
1499 return RusotoError::Service(ListApplicationStatesError::ServiceUnavailable(
1500 err.msg,
1501 ))
1502 }
1503 "ThrottlingException" => {
1504 return RusotoError::Service(ListApplicationStatesError::Throttling(err.msg))
1505 }
1506 "ValidationException" => return RusotoError::Validation(err.msg),
1507 _ => {}
1508 }
1509 }
1510 RusotoError::Unknown(res)
1511 }
1512}
1513impl fmt::Display for ListApplicationStatesError {
1514 #[allow(unused_variables)]
1515 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1516 match *self {
1517 ListApplicationStatesError::AccessDenied(ref cause) => write!(f, "{}", cause),
1518 ListApplicationStatesError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
1519 ListApplicationStatesError::InternalServerError(ref cause) => write!(f, "{}", cause),
1520 ListApplicationStatesError::InvalidInput(ref cause) => write!(f, "{}", cause),
1521 ListApplicationStatesError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
1522 ListApplicationStatesError::Throttling(ref cause) => write!(f, "{}", cause),
1523 }
1524 }
1525}
1526impl Error for ListApplicationStatesError {}
1527#[derive(Debug, PartialEq)]
1529pub enum ListCreatedArtifactsError {
1530 AccessDenied(String),
1532 HomeRegionNotSet(String),
1534 InternalServerError(String),
1536 InvalidInput(String),
1538 ResourceNotFound(String),
1540 ServiceUnavailable(String),
1542 Throttling(String),
1544}
1545
1546impl ListCreatedArtifactsError {
1547 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListCreatedArtifactsError> {
1548 if let Some(err) = proto::json::Error::parse(&res) {
1549 match err.typ.as_str() {
1550 "AccessDeniedException" => {
1551 return RusotoError::Service(ListCreatedArtifactsError::AccessDenied(err.msg))
1552 }
1553 "HomeRegionNotSetException" => {
1554 return RusotoError::Service(ListCreatedArtifactsError::HomeRegionNotSet(
1555 err.msg,
1556 ))
1557 }
1558 "InternalServerError" => {
1559 return RusotoError::Service(ListCreatedArtifactsError::InternalServerError(
1560 err.msg,
1561 ))
1562 }
1563 "InvalidInputException" => {
1564 return RusotoError::Service(ListCreatedArtifactsError::InvalidInput(err.msg))
1565 }
1566 "ResourceNotFoundException" => {
1567 return RusotoError::Service(ListCreatedArtifactsError::ResourceNotFound(
1568 err.msg,
1569 ))
1570 }
1571 "ServiceUnavailableException" => {
1572 return RusotoError::Service(ListCreatedArtifactsError::ServiceUnavailable(
1573 err.msg,
1574 ))
1575 }
1576 "ThrottlingException" => {
1577 return RusotoError::Service(ListCreatedArtifactsError::Throttling(err.msg))
1578 }
1579 "ValidationException" => return RusotoError::Validation(err.msg),
1580 _ => {}
1581 }
1582 }
1583 RusotoError::Unknown(res)
1584 }
1585}
1586impl fmt::Display for ListCreatedArtifactsError {
1587 #[allow(unused_variables)]
1588 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1589 match *self {
1590 ListCreatedArtifactsError::AccessDenied(ref cause) => write!(f, "{}", cause),
1591 ListCreatedArtifactsError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
1592 ListCreatedArtifactsError::InternalServerError(ref cause) => write!(f, "{}", cause),
1593 ListCreatedArtifactsError::InvalidInput(ref cause) => write!(f, "{}", cause),
1594 ListCreatedArtifactsError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
1595 ListCreatedArtifactsError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
1596 ListCreatedArtifactsError::Throttling(ref cause) => write!(f, "{}", cause),
1597 }
1598 }
1599}
1600impl Error for ListCreatedArtifactsError {}
1601#[derive(Debug, PartialEq)]
1603pub enum ListDiscoveredResourcesError {
1604 AccessDenied(String),
1606 HomeRegionNotSet(String),
1608 InternalServerError(String),
1610 InvalidInput(String),
1612 ResourceNotFound(String),
1614 ServiceUnavailable(String),
1616 Throttling(String),
1618}
1619
1620impl ListDiscoveredResourcesError {
1621 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListDiscoveredResourcesError> {
1622 if let Some(err) = proto::json::Error::parse(&res) {
1623 match err.typ.as_str() {
1624 "AccessDeniedException" => {
1625 return RusotoError::Service(ListDiscoveredResourcesError::AccessDenied(
1626 err.msg,
1627 ))
1628 }
1629 "HomeRegionNotSetException" => {
1630 return RusotoError::Service(ListDiscoveredResourcesError::HomeRegionNotSet(
1631 err.msg,
1632 ))
1633 }
1634 "InternalServerError" => {
1635 return RusotoError::Service(ListDiscoveredResourcesError::InternalServerError(
1636 err.msg,
1637 ))
1638 }
1639 "InvalidInputException" => {
1640 return RusotoError::Service(ListDiscoveredResourcesError::InvalidInput(
1641 err.msg,
1642 ))
1643 }
1644 "ResourceNotFoundException" => {
1645 return RusotoError::Service(ListDiscoveredResourcesError::ResourceNotFound(
1646 err.msg,
1647 ))
1648 }
1649 "ServiceUnavailableException" => {
1650 return RusotoError::Service(ListDiscoveredResourcesError::ServiceUnavailable(
1651 err.msg,
1652 ))
1653 }
1654 "ThrottlingException" => {
1655 return RusotoError::Service(ListDiscoveredResourcesError::Throttling(err.msg))
1656 }
1657 "ValidationException" => return RusotoError::Validation(err.msg),
1658 _ => {}
1659 }
1660 }
1661 RusotoError::Unknown(res)
1662 }
1663}
1664impl fmt::Display for ListDiscoveredResourcesError {
1665 #[allow(unused_variables)]
1666 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1667 match *self {
1668 ListDiscoveredResourcesError::AccessDenied(ref cause) => write!(f, "{}", cause),
1669 ListDiscoveredResourcesError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
1670 ListDiscoveredResourcesError::InternalServerError(ref cause) => write!(f, "{}", cause),
1671 ListDiscoveredResourcesError::InvalidInput(ref cause) => write!(f, "{}", cause),
1672 ListDiscoveredResourcesError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
1673 ListDiscoveredResourcesError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
1674 ListDiscoveredResourcesError::Throttling(ref cause) => write!(f, "{}", cause),
1675 }
1676 }
1677}
1678impl Error for ListDiscoveredResourcesError {}
1679#[derive(Debug, PartialEq)]
1681pub enum ListMigrationTasksError {
1682 AccessDenied(String),
1684 HomeRegionNotSet(String),
1686 InternalServerError(String),
1688 InvalidInput(String),
1690 PolicyError(String),
1692 ResourceNotFound(String),
1694 ServiceUnavailable(String),
1696 Throttling(String),
1698}
1699
1700impl ListMigrationTasksError {
1701 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListMigrationTasksError> {
1702 if let Some(err) = proto::json::Error::parse(&res) {
1703 match err.typ.as_str() {
1704 "AccessDeniedException" => {
1705 return RusotoError::Service(ListMigrationTasksError::AccessDenied(err.msg))
1706 }
1707 "HomeRegionNotSetException" => {
1708 return RusotoError::Service(ListMigrationTasksError::HomeRegionNotSet(err.msg))
1709 }
1710 "InternalServerError" => {
1711 return RusotoError::Service(ListMigrationTasksError::InternalServerError(
1712 err.msg,
1713 ))
1714 }
1715 "InvalidInputException" => {
1716 return RusotoError::Service(ListMigrationTasksError::InvalidInput(err.msg))
1717 }
1718 "PolicyErrorException" => {
1719 return RusotoError::Service(ListMigrationTasksError::PolicyError(err.msg))
1720 }
1721 "ResourceNotFoundException" => {
1722 return RusotoError::Service(ListMigrationTasksError::ResourceNotFound(err.msg))
1723 }
1724 "ServiceUnavailableException" => {
1725 return RusotoError::Service(ListMigrationTasksError::ServiceUnavailable(
1726 err.msg,
1727 ))
1728 }
1729 "ThrottlingException" => {
1730 return RusotoError::Service(ListMigrationTasksError::Throttling(err.msg))
1731 }
1732 "ValidationException" => return RusotoError::Validation(err.msg),
1733 _ => {}
1734 }
1735 }
1736 RusotoError::Unknown(res)
1737 }
1738}
1739impl fmt::Display for ListMigrationTasksError {
1740 #[allow(unused_variables)]
1741 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1742 match *self {
1743 ListMigrationTasksError::AccessDenied(ref cause) => write!(f, "{}", cause),
1744 ListMigrationTasksError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
1745 ListMigrationTasksError::InternalServerError(ref cause) => write!(f, "{}", cause),
1746 ListMigrationTasksError::InvalidInput(ref cause) => write!(f, "{}", cause),
1747 ListMigrationTasksError::PolicyError(ref cause) => write!(f, "{}", cause),
1748 ListMigrationTasksError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
1749 ListMigrationTasksError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
1750 ListMigrationTasksError::Throttling(ref cause) => write!(f, "{}", cause),
1751 }
1752 }
1753}
1754impl Error for ListMigrationTasksError {}
1755#[derive(Debug, PartialEq)]
1757pub enum ListProgressUpdateStreamsError {
1758 AccessDenied(String),
1760 HomeRegionNotSet(String),
1762 InternalServerError(String),
1764 InvalidInput(String),
1766 ServiceUnavailable(String),
1768 Throttling(String),
1770}
1771
1772impl ListProgressUpdateStreamsError {
1773 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListProgressUpdateStreamsError> {
1774 if let Some(err) = proto::json::Error::parse(&res) {
1775 match err.typ.as_str() {
1776 "AccessDeniedException" => {
1777 return RusotoError::Service(ListProgressUpdateStreamsError::AccessDenied(
1778 err.msg,
1779 ))
1780 }
1781 "HomeRegionNotSetException" => {
1782 return RusotoError::Service(ListProgressUpdateStreamsError::HomeRegionNotSet(
1783 err.msg,
1784 ))
1785 }
1786 "InternalServerError" => {
1787 return RusotoError::Service(
1788 ListProgressUpdateStreamsError::InternalServerError(err.msg),
1789 )
1790 }
1791 "InvalidInputException" => {
1792 return RusotoError::Service(ListProgressUpdateStreamsError::InvalidInput(
1793 err.msg,
1794 ))
1795 }
1796 "ServiceUnavailableException" => {
1797 return RusotoError::Service(
1798 ListProgressUpdateStreamsError::ServiceUnavailable(err.msg),
1799 )
1800 }
1801 "ThrottlingException" => {
1802 return RusotoError::Service(ListProgressUpdateStreamsError::Throttling(
1803 err.msg,
1804 ))
1805 }
1806 "ValidationException" => return RusotoError::Validation(err.msg),
1807 _ => {}
1808 }
1809 }
1810 RusotoError::Unknown(res)
1811 }
1812}
1813impl fmt::Display for ListProgressUpdateStreamsError {
1814 #[allow(unused_variables)]
1815 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1816 match *self {
1817 ListProgressUpdateStreamsError::AccessDenied(ref cause) => write!(f, "{}", cause),
1818 ListProgressUpdateStreamsError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
1819 ListProgressUpdateStreamsError::InternalServerError(ref cause) => {
1820 write!(f, "{}", cause)
1821 }
1822 ListProgressUpdateStreamsError::InvalidInput(ref cause) => write!(f, "{}", cause),
1823 ListProgressUpdateStreamsError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
1824 ListProgressUpdateStreamsError::Throttling(ref cause) => write!(f, "{}", cause),
1825 }
1826 }
1827}
1828impl Error for ListProgressUpdateStreamsError {}
1829#[derive(Debug, PartialEq)]
1831pub enum NotifyApplicationStateError {
1832 AccessDenied(String),
1834 DryRunOperation(String),
1836 HomeRegionNotSet(String),
1838 InternalServerError(String),
1840 InvalidInput(String),
1842 PolicyError(String),
1844 ResourceNotFound(String),
1846 ServiceUnavailable(String),
1848 Throttling(String),
1850 UnauthorizedOperation(String),
1852}
1853
1854impl NotifyApplicationStateError {
1855 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<NotifyApplicationStateError> {
1856 if let Some(err) = proto::json::Error::parse(&res) {
1857 match err.typ.as_str() {
1858 "AccessDeniedException" => {
1859 return RusotoError::Service(NotifyApplicationStateError::AccessDenied(err.msg))
1860 }
1861 "DryRunOperation" => {
1862 return RusotoError::Service(NotifyApplicationStateError::DryRunOperation(
1863 err.msg,
1864 ))
1865 }
1866 "HomeRegionNotSetException" => {
1867 return RusotoError::Service(NotifyApplicationStateError::HomeRegionNotSet(
1868 err.msg,
1869 ))
1870 }
1871 "InternalServerError" => {
1872 return RusotoError::Service(NotifyApplicationStateError::InternalServerError(
1873 err.msg,
1874 ))
1875 }
1876 "InvalidInputException" => {
1877 return RusotoError::Service(NotifyApplicationStateError::InvalidInput(err.msg))
1878 }
1879 "PolicyErrorException" => {
1880 return RusotoError::Service(NotifyApplicationStateError::PolicyError(err.msg))
1881 }
1882 "ResourceNotFoundException" => {
1883 return RusotoError::Service(NotifyApplicationStateError::ResourceNotFound(
1884 err.msg,
1885 ))
1886 }
1887 "ServiceUnavailableException" => {
1888 return RusotoError::Service(NotifyApplicationStateError::ServiceUnavailable(
1889 err.msg,
1890 ))
1891 }
1892 "ThrottlingException" => {
1893 return RusotoError::Service(NotifyApplicationStateError::Throttling(err.msg))
1894 }
1895 "UnauthorizedOperation" => {
1896 return RusotoError::Service(
1897 NotifyApplicationStateError::UnauthorizedOperation(err.msg),
1898 )
1899 }
1900 "ValidationException" => return RusotoError::Validation(err.msg),
1901 _ => {}
1902 }
1903 }
1904 RusotoError::Unknown(res)
1905 }
1906}
1907impl fmt::Display for NotifyApplicationStateError {
1908 #[allow(unused_variables)]
1909 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1910 match *self {
1911 NotifyApplicationStateError::AccessDenied(ref cause) => write!(f, "{}", cause),
1912 NotifyApplicationStateError::DryRunOperation(ref cause) => write!(f, "{}", cause),
1913 NotifyApplicationStateError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
1914 NotifyApplicationStateError::InternalServerError(ref cause) => write!(f, "{}", cause),
1915 NotifyApplicationStateError::InvalidInput(ref cause) => write!(f, "{}", cause),
1916 NotifyApplicationStateError::PolicyError(ref cause) => write!(f, "{}", cause),
1917 NotifyApplicationStateError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
1918 NotifyApplicationStateError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
1919 NotifyApplicationStateError::Throttling(ref cause) => write!(f, "{}", cause),
1920 NotifyApplicationStateError::UnauthorizedOperation(ref cause) => write!(f, "{}", cause),
1921 }
1922 }
1923}
1924impl Error for NotifyApplicationStateError {}
1925#[derive(Debug, PartialEq)]
1927pub enum NotifyMigrationTaskStateError {
1928 AccessDenied(String),
1930 DryRunOperation(String),
1932 HomeRegionNotSet(String),
1934 InternalServerError(String),
1936 InvalidInput(String),
1938 ResourceNotFound(String),
1940 ServiceUnavailable(String),
1942 Throttling(String),
1944 UnauthorizedOperation(String),
1946}
1947
1948impl NotifyMigrationTaskStateError {
1949 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<NotifyMigrationTaskStateError> {
1950 if let Some(err) = proto::json::Error::parse(&res) {
1951 match err.typ.as_str() {
1952 "AccessDeniedException" => {
1953 return RusotoError::Service(NotifyMigrationTaskStateError::AccessDenied(
1954 err.msg,
1955 ))
1956 }
1957 "DryRunOperation" => {
1958 return RusotoError::Service(NotifyMigrationTaskStateError::DryRunOperation(
1959 err.msg,
1960 ))
1961 }
1962 "HomeRegionNotSetException" => {
1963 return RusotoError::Service(NotifyMigrationTaskStateError::HomeRegionNotSet(
1964 err.msg,
1965 ))
1966 }
1967 "InternalServerError" => {
1968 return RusotoError::Service(
1969 NotifyMigrationTaskStateError::InternalServerError(err.msg),
1970 )
1971 }
1972 "InvalidInputException" => {
1973 return RusotoError::Service(NotifyMigrationTaskStateError::InvalidInput(
1974 err.msg,
1975 ))
1976 }
1977 "ResourceNotFoundException" => {
1978 return RusotoError::Service(NotifyMigrationTaskStateError::ResourceNotFound(
1979 err.msg,
1980 ))
1981 }
1982 "ServiceUnavailableException" => {
1983 return RusotoError::Service(NotifyMigrationTaskStateError::ServiceUnavailable(
1984 err.msg,
1985 ))
1986 }
1987 "ThrottlingException" => {
1988 return RusotoError::Service(NotifyMigrationTaskStateError::Throttling(err.msg))
1989 }
1990 "UnauthorizedOperation" => {
1991 return RusotoError::Service(
1992 NotifyMigrationTaskStateError::UnauthorizedOperation(err.msg),
1993 )
1994 }
1995 "ValidationException" => return RusotoError::Validation(err.msg),
1996 _ => {}
1997 }
1998 }
1999 RusotoError::Unknown(res)
2000 }
2001}
2002impl fmt::Display for NotifyMigrationTaskStateError {
2003 #[allow(unused_variables)]
2004 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2005 match *self {
2006 NotifyMigrationTaskStateError::AccessDenied(ref cause) => write!(f, "{}", cause),
2007 NotifyMigrationTaskStateError::DryRunOperation(ref cause) => write!(f, "{}", cause),
2008 NotifyMigrationTaskStateError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
2009 NotifyMigrationTaskStateError::InternalServerError(ref cause) => write!(f, "{}", cause),
2010 NotifyMigrationTaskStateError::InvalidInput(ref cause) => write!(f, "{}", cause),
2011 NotifyMigrationTaskStateError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
2012 NotifyMigrationTaskStateError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
2013 NotifyMigrationTaskStateError::Throttling(ref cause) => write!(f, "{}", cause),
2014 NotifyMigrationTaskStateError::UnauthorizedOperation(ref cause) => {
2015 write!(f, "{}", cause)
2016 }
2017 }
2018 }
2019}
2020impl Error for NotifyMigrationTaskStateError {}
2021#[derive(Debug, PartialEq)]
2023pub enum PutResourceAttributesError {
2024 AccessDenied(String),
2026 DryRunOperation(String),
2028 HomeRegionNotSet(String),
2030 InternalServerError(String),
2032 InvalidInput(String),
2034 ResourceNotFound(String),
2036 ServiceUnavailable(String),
2038 Throttling(String),
2040 UnauthorizedOperation(String),
2042}
2043
2044impl PutResourceAttributesError {
2045 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<PutResourceAttributesError> {
2046 if let Some(err) = proto::json::Error::parse(&res) {
2047 match err.typ.as_str() {
2048 "AccessDeniedException" => {
2049 return RusotoError::Service(PutResourceAttributesError::AccessDenied(err.msg))
2050 }
2051 "DryRunOperation" => {
2052 return RusotoError::Service(PutResourceAttributesError::DryRunOperation(
2053 err.msg,
2054 ))
2055 }
2056 "HomeRegionNotSetException" => {
2057 return RusotoError::Service(PutResourceAttributesError::HomeRegionNotSet(
2058 err.msg,
2059 ))
2060 }
2061 "InternalServerError" => {
2062 return RusotoError::Service(PutResourceAttributesError::InternalServerError(
2063 err.msg,
2064 ))
2065 }
2066 "InvalidInputException" => {
2067 return RusotoError::Service(PutResourceAttributesError::InvalidInput(err.msg))
2068 }
2069 "ResourceNotFoundException" => {
2070 return RusotoError::Service(PutResourceAttributesError::ResourceNotFound(
2071 err.msg,
2072 ))
2073 }
2074 "ServiceUnavailableException" => {
2075 return RusotoError::Service(PutResourceAttributesError::ServiceUnavailable(
2076 err.msg,
2077 ))
2078 }
2079 "ThrottlingException" => {
2080 return RusotoError::Service(PutResourceAttributesError::Throttling(err.msg))
2081 }
2082 "UnauthorizedOperation" => {
2083 return RusotoError::Service(PutResourceAttributesError::UnauthorizedOperation(
2084 err.msg,
2085 ))
2086 }
2087 "ValidationException" => return RusotoError::Validation(err.msg),
2088 _ => {}
2089 }
2090 }
2091 RusotoError::Unknown(res)
2092 }
2093}
2094impl fmt::Display for PutResourceAttributesError {
2095 #[allow(unused_variables)]
2096 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2097 match *self {
2098 PutResourceAttributesError::AccessDenied(ref cause) => write!(f, "{}", cause),
2099 PutResourceAttributesError::DryRunOperation(ref cause) => write!(f, "{}", cause),
2100 PutResourceAttributesError::HomeRegionNotSet(ref cause) => write!(f, "{}", cause),
2101 PutResourceAttributesError::InternalServerError(ref cause) => write!(f, "{}", cause),
2102 PutResourceAttributesError::InvalidInput(ref cause) => write!(f, "{}", cause),
2103 PutResourceAttributesError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
2104 PutResourceAttributesError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
2105 PutResourceAttributesError::Throttling(ref cause) => write!(f, "{}", cause),
2106 PutResourceAttributesError::UnauthorizedOperation(ref cause) => write!(f, "{}", cause),
2107 }
2108 }
2109}
2110impl Error for PutResourceAttributesError {}
2111#[async_trait]
2113pub trait MigrationHub {
2114 async fn associate_created_artifact(
2116 &self,
2117 input: AssociateCreatedArtifactRequest,
2118 ) -> Result<AssociateCreatedArtifactResult, RusotoError<AssociateCreatedArtifactError>>;
2119
2120 async fn associate_discovered_resource(
2122 &self,
2123 input: AssociateDiscoveredResourceRequest,
2124 ) -> Result<AssociateDiscoveredResourceResult, RusotoError<AssociateDiscoveredResourceError>>;
2125
2126 async fn create_progress_update_stream(
2128 &self,
2129 input: CreateProgressUpdateStreamRequest,
2130 ) -> Result<CreateProgressUpdateStreamResult, RusotoError<CreateProgressUpdateStreamError>>;
2131
2132 async fn delete_progress_update_stream(
2134 &self,
2135 input: DeleteProgressUpdateStreamRequest,
2136 ) -> Result<DeleteProgressUpdateStreamResult, RusotoError<DeleteProgressUpdateStreamError>>;
2137
2138 async fn describe_application_state(
2140 &self,
2141 input: DescribeApplicationStateRequest,
2142 ) -> Result<DescribeApplicationStateResult, RusotoError<DescribeApplicationStateError>>;
2143
2144 async fn describe_migration_task(
2146 &self,
2147 input: DescribeMigrationTaskRequest,
2148 ) -> Result<DescribeMigrationTaskResult, RusotoError<DescribeMigrationTaskError>>;
2149
2150 async fn disassociate_created_artifact(
2152 &self,
2153 input: DisassociateCreatedArtifactRequest,
2154 ) -> Result<DisassociateCreatedArtifactResult, RusotoError<DisassociateCreatedArtifactError>>;
2155
2156 async fn disassociate_discovered_resource(
2158 &self,
2159 input: DisassociateDiscoveredResourceRequest,
2160 ) -> Result<
2161 DisassociateDiscoveredResourceResult,
2162 RusotoError<DisassociateDiscoveredResourceError>,
2163 >;
2164
2165 async fn import_migration_task(
2167 &self,
2168 input: ImportMigrationTaskRequest,
2169 ) -> Result<ImportMigrationTaskResult, RusotoError<ImportMigrationTaskError>>;
2170
2171 async fn list_application_states(
2173 &self,
2174 input: ListApplicationStatesRequest,
2175 ) -> Result<ListApplicationStatesResult, RusotoError<ListApplicationStatesError>>;
2176
2177 async fn list_created_artifacts(
2179 &self,
2180 input: ListCreatedArtifactsRequest,
2181 ) -> Result<ListCreatedArtifactsResult, RusotoError<ListCreatedArtifactsError>>;
2182
2183 async fn list_discovered_resources(
2185 &self,
2186 input: ListDiscoveredResourcesRequest,
2187 ) -> Result<ListDiscoveredResourcesResult, RusotoError<ListDiscoveredResourcesError>>;
2188
2189 async fn list_migration_tasks(
2191 &self,
2192 input: ListMigrationTasksRequest,
2193 ) -> Result<ListMigrationTasksResult, RusotoError<ListMigrationTasksError>>;
2194
2195 async fn list_progress_update_streams(
2197 &self,
2198 input: ListProgressUpdateStreamsRequest,
2199 ) -> Result<ListProgressUpdateStreamsResult, RusotoError<ListProgressUpdateStreamsError>>;
2200
2201 async fn notify_application_state(
2203 &self,
2204 input: NotifyApplicationStateRequest,
2205 ) -> Result<NotifyApplicationStateResult, RusotoError<NotifyApplicationStateError>>;
2206
2207 async fn notify_migration_task_state(
2209 &self,
2210 input: NotifyMigrationTaskStateRequest,
2211 ) -> Result<NotifyMigrationTaskStateResult, RusotoError<NotifyMigrationTaskStateError>>;
2212
2213 async fn put_resource_attributes(
2215 &self,
2216 input: PutResourceAttributesRequest,
2217 ) -> Result<PutResourceAttributesResult, RusotoError<PutResourceAttributesError>>;
2218}
2219#[derive(Clone)]
2221pub struct MigrationHubClient {
2222 client: Client,
2223 region: region::Region,
2224}
2225
2226impl MigrationHubClient {
2227 pub fn new(region: region::Region) -> MigrationHubClient {
2231 MigrationHubClient {
2232 client: Client::shared(),
2233 region,
2234 }
2235 }
2236
2237 pub fn new_with<P, D>(
2238 request_dispatcher: D,
2239 credentials_provider: P,
2240 region: region::Region,
2241 ) -> MigrationHubClient
2242 where
2243 P: ProvideAwsCredentials + Send + Sync + 'static,
2244 D: DispatchSignedRequest + Send + Sync + 'static,
2245 {
2246 MigrationHubClient {
2247 client: Client::new_with(credentials_provider, request_dispatcher),
2248 region,
2249 }
2250 }
2251
2252 pub fn new_with_client(client: Client, region: region::Region) -> MigrationHubClient {
2253 MigrationHubClient { client, region }
2254 }
2255}
2256
2257#[async_trait]
2258impl MigrationHub for MigrationHubClient {
2259 async fn associate_created_artifact(
2261 &self,
2262 input: AssociateCreatedArtifactRequest,
2263 ) -> Result<AssociateCreatedArtifactResult, RusotoError<AssociateCreatedArtifactError>> {
2264 let mut request = self.new_signed_request("POST", "/");
2265 request.add_header("x-amz-target", "AWSMigrationHub.AssociateCreatedArtifact");
2266 let encoded = serde_json::to_string(&input).unwrap();
2267 request.set_payload(Some(encoded));
2268
2269 let response = self
2270 .sign_and_dispatch(request, AssociateCreatedArtifactError::from_response)
2271 .await?;
2272 let mut response = response;
2273 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2274 proto::json::ResponsePayload::new(&response)
2275 .deserialize::<AssociateCreatedArtifactResult, _>()
2276 }
2277
2278 async fn associate_discovered_resource(
2280 &self,
2281 input: AssociateDiscoveredResourceRequest,
2282 ) -> Result<AssociateDiscoveredResourceResult, RusotoError<AssociateDiscoveredResourceError>>
2283 {
2284 let mut request = self.new_signed_request("POST", "/");
2285 request.add_header(
2286 "x-amz-target",
2287 "AWSMigrationHub.AssociateDiscoveredResource",
2288 );
2289 let encoded = serde_json::to_string(&input).unwrap();
2290 request.set_payload(Some(encoded));
2291
2292 let response = self
2293 .sign_and_dispatch(request, AssociateDiscoveredResourceError::from_response)
2294 .await?;
2295 let mut response = response;
2296 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2297 proto::json::ResponsePayload::new(&response)
2298 .deserialize::<AssociateDiscoveredResourceResult, _>()
2299 }
2300
2301 async fn create_progress_update_stream(
2303 &self,
2304 input: CreateProgressUpdateStreamRequest,
2305 ) -> Result<CreateProgressUpdateStreamResult, RusotoError<CreateProgressUpdateStreamError>>
2306 {
2307 let mut request = self.new_signed_request("POST", "/");
2308 request.add_header("x-amz-target", "AWSMigrationHub.CreateProgressUpdateStream");
2309 let encoded = serde_json::to_string(&input).unwrap();
2310 request.set_payload(Some(encoded));
2311
2312 let response = self
2313 .sign_and_dispatch(request, CreateProgressUpdateStreamError::from_response)
2314 .await?;
2315 let mut response = response;
2316 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2317 proto::json::ResponsePayload::new(&response)
2318 .deserialize::<CreateProgressUpdateStreamResult, _>()
2319 }
2320
2321 async fn delete_progress_update_stream(
2323 &self,
2324 input: DeleteProgressUpdateStreamRequest,
2325 ) -> Result<DeleteProgressUpdateStreamResult, RusotoError<DeleteProgressUpdateStreamError>>
2326 {
2327 let mut request = self.new_signed_request("POST", "/");
2328 request.add_header("x-amz-target", "AWSMigrationHub.DeleteProgressUpdateStream");
2329 let encoded = serde_json::to_string(&input).unwrap();
2330 request.set_payload(Some(encoded));
2331
2332 let response = self
2333 .sign_and_dispatch(request, DeleteProgressUpdateStreamError::from_response)
2334 .await?;
2335 let mut response = response;
2336 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2337 proto::json::ResponsePayload::new(&response)
2338 .deserialize::<DeleteProgressUpdateStreamResult, _>()
2339 }
2340
2341 async fn describe_application_state(
2343 &self,
2344 input: DescribeApplicationStateRequest,
2345 ) -> Result<DescribeApplicationStateResult, RusotoError<DescribeApplicationStateError>> {
2346 let mut request = self.new_signed_request("POST", "/");
2347 request.add_header("x-amz-target", "AWSMigrationHub.DescribeApplicationState");
2348 let encoded = serde_json::to_string(&input).unwrap();
2349 request.set_payload(Some(encoded));
2350
2351 let response = self
2352 .sign_and_dispatch(request, DescribeApplicationStateError::from_response)
2353 .await?;
2354 let mut response = response;
2355 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2356 proto::json::ResponsePayload::new(&response)
2357 .deserialize::<DescribeApplicationStateResult, _>()
2358 }
2359
2360 async fn describe_migration_task(
2362 &self,
2363 input: DescribeMigrationTaskRequest,
2364 ) -> Result<DescribeMigrationTaskResult, RusotoError<DescribeMigrationTaskError>> {
2365 let mut request = self.new_signed_request("POST", "/");
2366 request.add_header("x-amz-target", "AWSMigrationHub.DescribeMigrationTask");
2367 let encoded = serde_json::to_string(&input).unwrap();
2368 request.set_payload(Some(encoded));
2369
2370 let response = self
2371 .sign_and_dispatch(request, DescribeMigrationTaskError::from_response)
2372 .await?;
2373 let mut response = response;
2374 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2375 proto::json::ResponsePayload::new(&response).deserialize::<DescribeMigrationTaskResult, _>()
2376 }
2377
2378 async fn disassociate_created_artifact(
2380 &self,
2381 input: DisassociateCreatedArtifactRequest,
2382 ) -> Result<DisassociateCreatedArtifactResult, RusotoError<DisassociateCreatedArtifactError>>
2383 {
2384 let mut request = self.new_signed_request("POST", "/");
2385 request.add_header(
2386 "x-amz-target",
2387 "AWSMigrationHub.DisassociateCreatedArtifact",
2388 );
2389 let encoded = serde_json::to_string(&input).unwrap();
2390 request.set_payload(Some(encoded));
2391
2392 let response = self
2393 .sign_and_dispatch(request, DisassociateCreatedArtifactError::from_response)
2394 .await?;
2395 let mut response = response;
2396 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2397 proto::json::ResponsePayload::new(&response)
2398 .deserialize::<DisassociateCreatedArtifactResult, _>()
2399 }
2400
2401 async fn disassociate_discovered_resource(
2403 &self,
2404 input: DisassociateDiscoveredResourceRequest,
2405 ) -> Result<
2406 DisassociateDiscoveredResourceResult,
2407 RusotoError<DisassociateDiscoveredResourceError>,
2408 > {
2409 let mut request = self.new_signed_request("POST", "/");
2410 request.add_header(
2411 "x-amz-target",
2412 "AWSMigrationHub.DisassociateDiscoveredResource",
2413 );
2414 let encoded = serde_json::to_string(&input).unwrap();
2415 request.set_payload(Some(encoded));
2416
2417 let response = self
2418 .sign_and_dispatch(request, DisassociateDiscoveredResourceError::from_response)
2419 .await?;
2420 let mut response = response;
2421 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2422 proto::json::ResponsePayload::new(&response)
2423 .deserialize::<DisassociateDiscoveredResourceResult, _>()
2424 }
2425
2426 async fn import_migration_task(
2428 &self,
2429 input: ImportMigrationTaskRequest,
2430 ) -> Result<ImportMigrationTaskResult, RusotoError<ImportMigrationTaskError>> {
2431 let mut request = self.new_signed_request("POST", "/");
2432 request.add_header("x-amz-target", "AWSMigrationHub.ImportMigrationTask");
2433 let encoded = serde_json::to_string(&input).unwrap();
2434 request.set_payload(Some(encoded));
2435
2436 let response = self
2437 .sign_and_dispatch(request, ImportMigrationTaskError::from_response)
2438 .await?;
2439 let mut response = response;
2440 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2441 proto::json::ResponsePayload::new(&response).deserialize::<ImportMigrationTaskResult, _>()
2442 }
2443
2444 async fn list_application_states(
2446 &self,
2447 input: ListApplicationStatesRequest,
2448 ) -> Result<ListApplicationStatesResult, RusotoError<ListApplicationStatesError>> {
2449 let mut request = self.new_signed_request("POST", "/");
2450 request.add_header("x-amz-target", "AWSMigrationHub.ListApplicationStates");
2451 let encoded = serde_json::to_string(&input).unwrap();
2452 request.set_payload(Some(encoded));
2453
2454 let response = self
2455 .sign_and_dispatch(request, ListApplicationStatesError::from_response)
2456 .await?;
2457 let mut response = response;
2458 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2459 proto::json::ResponsePayload::new(&response).deserialize::<ListApplicationStatesResult, _>()
2460 }
2461
2462 async fn list_created_artifacts(
2464 &self,
2465 input: ListCreatedArtifactsRequest,
2466 ) -> Result<ListCreatedArtifactsResult, RusotoError<ListCreatedArtifactsError>> {
2467 let mut request = self.new_signed_request("POST", "/");
2468 request.add_header("x-amz-target", "AWSMigrationHub.ListCreatedArtifacts");
2469 let encoded = serde_json::to_string(&input).unwrap();
2470 request.set_payload(Some(encoded));
2471
2472 let response = self
2473 .sign_and_dispatch(request, ListCreatedArtifactsError::from_response)
2474 .await?;
2475 let mut response = response;
2476 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2477 proto::json::ResponsePayload::new(&response).deserialize::<ListCreatedArtifactsResult, _>()
2478 }
2479
2480 async fn list_discovered_resources(
2482 &self,
2483 input: ListDiscoveredResourcesRequest,
2484 ) -> Result<ListDiscoveredResourcesResult, RusotoError<ListDiscoveredResourcesError>> {
2485 let mut request = self.new_signed_request("POST", "/");
2486 request.add_header("x-amz-target", "AWSMigrationHub.ListDiscoveredResources");
2487 let encoded = serde_json::to_string(&input).unwrap();
2488 request.set_payload(Some(encoded));
2489
2490 let response = self
2491 .sign_and_dispatch(request, ListDiscoveredResourcesError::from_response)
2492 .await?;
2493 let mut response = response;
2494 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2495 proto::json::ResponsePayload::new(&response)
2496 .deserialize::<ListDiscoveredResourcesResult, _>()
2497 }
2498
2499 async fn list_migration_tasks(
2501 &self,
2502 input: ListMigrationTasksRequest,
2503 ) -> Result<ListMigrationTasksResult, RusotoError<ListMigrationTasksError>> {
2504 let mut request = self.new_signed_request("POST", "/");
2505 request.add_header("x-amz-target", "AWSMigrationHub.ListMigrationTasks");
2506 let encoded = serde_json::to_string(&input).unwrap();
2507 request.set_payload(Some(encoded));
2508
2509 let response = self
2510 .sign_and_dispatch(request, ListMigrationTasksError::from_response)
2511 .await?;
2512 let mut response = response;
2513 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2514 proto::json::ResponsePayload::new(&response).deserialize::<ListMigrationTasksResult, _>()
2515 }
2516
2517 async fn list_progress_update_streams(
2519 &self,
2520 input: ListProgressUpdateStreamsRequest,
2521 ) -> Result<ListProgressUpdateStreamsResult, RusotoError<ListProgressUpdateStreamsError>> {
2522 let mut request = self.new_signed_request("POST", "/");
2523 request.add_header("x-amz-target", "AWSMigrationHub.ListProgressUpdateStreams");
2524 let encoded = serde_json::to_string(&input).unwrap();
2525 request.set_payload(Some(encoded));
2526
2527 let response = self
2528 .sign_and_dispatch(request, ListProgressUpdateStreamsError::from_response)
2529 .await?;
2530 let mut response = response;
2531 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2532 proto::json::ResponsePayload::new(&response)
2533 .deserialize::<ListProgressUpdateStreamsResult, _>()
2534 }
2535
2536 async fn notify_application_state(
2538 &self,
2539 input: NotifyApplicationStateRequest,
2540 ) -> Result<NotifyApplicationStateResult, RusotoError<NotifyApplicationStateError>> {
2541 let mut request = self.new_signed_request("POST", "/");
2542 request.add_header("x-amz-target", "AWSMigrationHub.NotifyApplicationState");
2543 let encoded = serde_json::to_string(&input).unwrap();
2544 request.set_payload(Some(encoded));
2545
2546 let response = self
2547 .sign_and_dispatch(request, NotifyApplicationStateError::from_response)
2548 .await?;
2549 let mut response = response;
2550 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2551 proto::json::ResponsePayload::new(&response)
2552 .deserialize::<NotifyApplicationStateResult, _>()
2553 }
2554
2555 async fn notify_migration_task_state(
2557 &self,
2558 input: NotifyMigrationTaskStateRequest,
2559 ) -> Result<NotifyMigrationTaskStateResult, RusotoError<NotifyMigrationTaskStateError>> {
2560 let mut request = self.new_signed_request("POST", "/");
2561 request.add_header("x-amz-target", "AWSMigrationHub.NotifyMigrationTaskState");
2562 let encoded = serde_json::to_string(&input).unwrap();
2563 request.set_payload(Some(encoded));
2564
2565 let response = self
2566 .sign_and_dispatch(request, NotifyMigrationTaskStateError::from_response)
2567 .await?;
2568 let mut response = response;
2569 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2570 proto::json::ResponsePayload::new(&response)
2571 .deserialize::<NotifyMigrationTaskStateResult, _>()
2572 }
2573
2574 async fn put_resource_attributes(
2576 &self,
2577 input: PutResourceAttributesRequest,
2578 ) -> Result<PutResourceAttributesResult, RusotoError<PutResourceAttributesError>> {
2579 let mut request = self.new_signed_request("POST", "/");
2580 request.add_header("x-amz-target", "AWSMigrationHub.PutResourceAttributes");
2581 let encoded = serde_json::to_string(&input).unwrap();
2582 request.set_payload(Some(encoded));
2583
2584 let response = self
2585 .sign_and_dispatch(request, PutResourceAttributesError::from_response)
2586 .await?;
2587 let mut response = response;
2588 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
2589 proto::json::ResponsePayload::new(&response).deserialize::<PutResourceAttributesResult, _>()
2590 }
2591}