@aws-sdk/client-mgn 3.215.0 → 3.218.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +7 -7
  2. package/dist-cjs/Mgn.js +330 -0
  3. package/dist-cjs/commands/ArchiveApplicationCommand.js +46 -0
  4. package/dist-cjs/commands/ArchiveWaveCommand.js +46 -0
  5. package/dist-cjs/commands/AssociateApplicationsCommand.js +46 -0
  6. package/dist-cjs/commands/AssociateSourceServersCommand.js +46 -0
  7. package/dist-cjs/commands/CreateApplicationCommand.js +46 -0
  8. package/dist-cjs/commands/CreateWaveCommand.js +46 -0
  9. package/dist-cjs/commands/DeleteApplicationCommand.js +46 -0
  10. package/dist-cjs/commands/DeleteWaveCommand.js +46 -0
  11. package/dist-cjs/commands/DisassociateApplicationsCommand.js +46 -0
  12. package/dist-cjs/commands/DisassociateSourceServersCommand.js +46 -0
  13. package/dist-cjs/commands/ListApplicationsCommand.js +46 -0
  14. package/dist-cjs/commands/ListSourceServerActionsCommand.js +46 -0
  15. package/dist-cjs/commands/ListTemplateActionsCommand.js +46 -0
  16. package/dist-cjs/commands/ListWavesCommand.js +46 -0
  17. package/dist-cjs/commands/PutSourceServerActionCommand.js +46 -0
  18. package/dist-cjs/commands/PutTemplateActionCommand.js +46 -0
  19. package/dist-cjs/commands/RemoveSourceServerActionCommand.js +46 -0
  20. package/dist-cjs/commands/RemoveTemplateActionCommand.js +46 -0
  21. package/dist-cjs/commands/UnarchiveApplicationCommand.js +46 -0
  22. package/dist-cjs/commands/UnarchiveWaveCommand.js +46 -0
  23. package/dist-cjs/commands/UpdateApplicationCommand.js +46 -0
  24. package/dist-cjs/commands/UpdateWaveCommand.js +46 -0
  25. package/dist-cjs/commands/index.js +22 -0
  26. package/dist-cjs/models/models_0.js +290 -68
  27. package/dist-cjs/pagination/ListApplicationsPaginator.js +36 -0
  28. package/dist-cjs/pagination/ListSourceServerActionsPaginator.js +36 -0
  29. package/dist-cjs/pagination/ListTemplateActionsPaginator.js +36 -0
  30. package/dist-cjs/pagination/ListWavesPaginator.js +36 -0
  31. package/dist-cjs/pagination/index.js +4 -0
  32. package/dist-cjs/protocols/Aws_restJson1.js +2540 -507
  33. package/dist-es/Mgn.js +330 -0
  34. package/dist-es/commands/ArchiveApplicationCommand.js +42 -0
  35. package/dist-es/commands/ArchiveWaveCommand.js +42 -0
  36. package/dist-es/commands/AssociateApplicationsCommand.js +42 -0
  37. package/dist-es/commands/AssociateSourceServersCommand.js +42 -0
  38. package/dist-es/commands/CreateApplicationCommand.js +42 -0
  39. package/dist-es/commands/CreateWaveCommand.js +42 -0
  40. package/dist-es/commands/DeleteApplicationCommand.js +42 -0
  41. package/dist-es/commands/DeleteWaveCommand.js +42 -0
  42. package/dist-es/commands/DisassociateApplicationsCommand.js +42 -0
  43. package/dist-es/commands/DisassociateSourceServersCommand.js +42 -0
  44. package/dist-es/commands/ListApplicationsCommand.js +42 -0
  45. package/dist-es/commands/ListSourceServerActionsCommand.js +42 -0
  46. package/dist-es/commands/ListTemplateActionsCommand.js +42 -0
  47. package/dist-es/commands/ListWavesCommand.js +42 -0
  48. package/dist-es/commands/PutSourceServerActionCommand.js +42 -0
  49. package/dist-es/commands/PutTemplateActionCommand.js +42 -0
  50. package/dist-es/commands/RemoveSourceServerActionCommand.js +42 -0
  51. package/dist-es/commands/RemoveTemplateActionCommand.js +42 -0
  52. package/dist-es/commands/UnarchiveApplicationCommand.js +42 -0
  53. package/dist-es/commands/UnarchiveWaveCommand.js +42 -0
  54. package/dist-es/commands/UpdateApplicationCommand.js +42 -0
  55. package/dist-es/commands/UpdateWaveCommand.js +42 -0
  56. package/dist-es/commands/index.js +22 -0
  57. package/dist-es/models/models_0.js +237 -61
  58. package/dist-es/pagination/ListApplicationsPaginator.js +32 -0
  59. package/dist-es/pagination/ListSourceServerActionsPaginator.js +32 -0
  60. package/dist-es/pagination/ListTemplateActionsPaginator.js +32 -0
  61. package/dist-es/pagination/ListWavesPaginator.js +32 -0
  62. package/dist-es/pagination/index.js +4 -0
  63. package/dist-es/protocols/Aws_restJson1.js +2589 -601
  64. package/dist-types/Mgn.d.ts +158 -4
  65. package/dist-types/MgnClient.d.ts +24 -2
  66. package/dist-types/commands/ArchiveApplicationCommand.d.ts +37 -0
  67. package/dist-types/commands/ArchiveWaveCommand.d.ts +37 -0
  68. package/dist-types/commands/AssociateApplicationsCommand.d.ts +37 -0
  69. package/dist-types/commands/AssociateSourceServersCommand.d.ts +37 -0
  70. package/dist-types/commands/CreateApplicationCommand.d.ts +37 -0
  71. package/dist-types/commands/CreateLaunchConfigurationTemplateCommand.d.ts +1 -1
  72. package/dist-types/commands/CreateWaveCommand.d.ts +37 -0
  73. package/dist-types/commands/DeleteApplicationCommand.d.ts +37 -0
  74. package/dist-types/commands/DeleteLaunchConfigurationTemplateCommand.d.ts +1 -1
  75. package/dist-types/commands/DeleteWaveCommand.d.ts +37 -0
  76. package/dist-types/commands/DescribeLaunchConfigurationTemplatesCommand.d.ts +1 -1
  77. package/dist-types/commands/DisassociateApplicationsCommand.d.ts +37 -0
  78. package/dist-types/commands/DisassociateSourceServersCommand.d.ts +37 -0
  79. package/dist-types/commands/ListApplicationsCommand.d.ts +37 -0
  80. package/dist-types/commands/ListSourceServerActionsCommand.d.ts +37 -0
  81. package/dist-types/commands/ListTemplateActionsCommand.d.ts +37 -0
  82. package/dist-types/commands/ListWavesCommand.d.ts +37 -0
  83. package/dist-types/commands/PutSourceServerActionCommand.d.ts +37 -0
  84. package/dist-types/commands/PutTemplateActionCommand.d.ts +37 -0
  85. package/dist-types/commands/RemoveSourceServerActionCommand.d.ts +37 -0
  86. package/dist-types/commands/RemoveTemplateActionCommand.d.ts +37 -0
  87. package/dist-types/commands/UnarchiveApplicationCommand.d.ts +37 -0
  88. package/dist-types/commands/UnarchiveWaveCommand.d.ts +37 -0
  89. package/dist-types/commands/UpdateApplicationCommand.d.ts +37 -0
  90. package/dist-types/commands/UpdateLaunchConfigurationTemplateCommand.d.ts +1 -1
  91. package/dist-types/commands/UpdateWaveCommand.d.ts +37 -0
  92. package/dist-types/commands/index.d.ts +22 -0
  93. package/dist-types/models/models_0.d.ts +1211 -198
  94. package/dist-types/pagination/ListApplicationsPaginator.d.ts +4 -0
  95. package/dist-types/pagination/ListSourceServerActionsPaginator.d.ts +4 -0
  96. package/dist-types/pagination/ListTemplateActionsPaginator.d.ts +4 -0
  97. package/dist-types/pagination/ListWavesPaginator.d.ts +4 -0
  98. package/dist-types/pagination/index.d.ts +4 -0
  99. package/dist-types/protocols/Aws_restJson1.d.ts +66 -0
  100. package/dist-types/ts3.4/Mgn.d.ts +374 -0
  101. package/dist-types/ts3.4/MgnClient.d.ts +134 -2
  102. package/dist-types/ts3.4/commands/ArchiveApplicationCommand.d.ts +35 -0
  103. package/dist-types/ts3.4/commands/ArchiveWaveCommand.d.ts +32 -0
  104. package/dist-types/ts3.4/commands/AssociateApplicationsCommand.d.ts +41 -0
  105. package/dist-types/ts3.4/commands/AssociateSourceServersCommand.d.ts +41 -0
  106. package/dist-types/ts3.4/commands/CreateApplicationCommand.d.ts +35 -0
  107. package/dist-types/ts3.4/commands/CreateWaveCommand.d.ts +32 -0
  108. package/dist-types/ts3.4/commands/DeleteApplicationCommand.d.ts +38 -0
  109. package/dist-types/ts3.4/commands/DeleteWaveCommand.d.ts +34 -0
  110. package/dist-types/ts3.4/commands/DisassociateApplicationsCommand.d.ts +41 -0
  111. package/dist-types/ts3.4/commands/DisassociateSourceServersCommand.d.ts +41 -0
  112. package/dist-types/ts3.4/commands/ListApplicationsCommand.d.ts +37 -0
  113. package/dist-types/ts3.4/commands/ListSourceServerActionsCommand.d.ts +41 -0
  114. package/dist-types/ts3.4/commands/ListTemplateActionsCommand.d.ts +38 -0
  115. package/dist-types/ts3.4/commands/ListWavesCommand.d.ts +34 -0
  116. package/dist-types/ts3.4/commands/PutSourceServerActionCommand.d.ts +41 -0
  117. package/dist-types/ts3.4/commands/PutTemplateActionCommand.d.ts +38 -0
  118. package/dist-types/ts3.4/commands/RemoveSourceServerActionCommand.d.ts +41 -0
  119. package/dist-types/ts3.4/commands/RemoveTemplateActionCommand.d.ts +41 -0
  120. package/dist-types/ts3.4/commands/UnarchiveApplicationCommand.d.ts +38 -0
  121. package/dist-types/ts3.4/commands/UnarchiveWaveCommand.d.ts +32 -0
  122. package/dist-types/ts3.4/commands/UpdateApplicationCommand.d.ts +35 -0
  123. package/dist-types/ts3.4/commands/UpdateWaveCommand.d.ts +32 -0
  124. package/dist-types/ts3.4/commands/index.d.ts +22 -0
  125. package/dist-types/ts3.4/models/models_0.d.ts +475 -53
  126. package/dist-types/ts3.4/pagination/ListApplicationsPaginator.d.ts +11 -0
  127. package/dist-types/ts3.4/pagination/ListSourceServerActionsPaginator.d.ts +11 -0
  128. package/dist-types/ts3.4/pagination/ListTemplateActionsPaginator.d.ts +11 -0
  129. package/dist-types/ts3.4/pagination/ListWavesPaginator.d.ts +11 -0
  130. package/dist-types/ts3.4/pagination/index.d.ts +4 -0
  131. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +264 -0
  132. package/package.json +4 -4
@@ -2,6 +2,92 @@ import { HttpRequest as __HttpRequest } from "@aws-sdk/protocol-http";
2
2
  import { decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectInt32 as __expectInt32, expectLong as __expectLong, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, map as __map, resolvedPath as __resolvedPath, strictParseLong as __strictParseLong, throwDefaultError, } from "@aws-sdk/smithy-client";
3
3
  import { MgnServiceException as __BaseException } from "../models/MgnServiceException";
4
4
  import { AccessDeniedException, ConflictException, InternalServerException, ResourceNotFoundException, ServiceQuotaExceededException, ThrottlingException, UninitializedAccountException, ValidationException, } from "../models/models_0";
5
+ export const serializeAws_restJson1ArchiveApplicationCommand = async (input, context) => {
6
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
7
+ const headers = {
8
+ "content-type": "application/json",
9
+ };
10
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/ArchiveApplication";
11
+ let body;
12
+ body = JSON.stringify({
13
+ ...(input.applicationID != null && { applicationID: input.applicationID }),
14
+ });
15
+ return new __HttpRequest({
16
+ protocol,
17
+ hostname,
18
+ port,
19
+ method: "POST",
20
+ headers,
21
+ path: resolvedPath,
22
+ body,
23
+ });
24
+ };
25
+ export const serializeAws_restJson1ArchiveWaveCommand = async (input, context) => {
26
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
27
+ const headers = {
28
+ "content-type": "application/json",
29
+ };
30
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/ArchiveWave";
31
+ let body;
32
+ body = JSON.stringify({
33
+ ...(input.waveID != null && { waveID: input.waveID }),
34
+ });
35
+ return new __HttpRequest({
36
+ protocol,
37
+ hostname,
38
+ port,
39
+ method: "POST",
40
+ headers,
41
+ path: resolvedPath,
42
+ body,
43
+ });
44
+ };
45
+ export const serializeAws_restJson1AssociateApplicationsCommand = async (input, context) => {
46
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
47
+ const headers = {
48
+ "content-type": "application/json",
49
+ };
50
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/AssociateApplications";
51
+ let body;
52
+ body = JSON.stringify({
53
+ ...(input.applicationIDs != null && {
54
+ applicationIDs: serializeAws_restJson1ApplicationIDs(input.applicationIDs, context),
55
+ }),
56
+ ...(input.waveID != null && { waveID: input.waveID }),
57
+ });
58
+ return new __HttpRequest({
59
+ protocol,
60
+ hostname,
61
+ port,
62
+ method: "POST",
63
+ headers,
64
+ path: resolvedPath,
65
+ body,
66
+ });
67
+ };
68
+ export const serializeAws_restJson1AssociateSourceServersCommand = async (input, context) => {
69
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
70
+ const headers = {
71
+ "content-type": "application/json",
72
+ };
73
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/AssociateSourceServers";
74
+ let body;
75
+ body = JSON.stringify({
76
+ ...(input.applicationID != null && { applicationID: input.applicationID }),
77
+ ...(input.sourceServerIDs != null && {
78
+ sourceServerIDs: serializeAws_restJson1AssociateSourceServersRequestSourceServerIDs(input.sourceServerIDs, context),
79
+ }),
80
+ });
81
+ return new __HttpRequest({
82
+ protocol,
83
+ hostname,
84
+ port,
85
+ method: "POST",
86
+ headers,
87
+ path: resolvedPath,
88
+ body,
89
+ });
90
+ };
5
91
  export const serializeAws_restJson1ChangeServerLifeCycleStateCommand = async (input, context) => {
6
92
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
7
93
  const headers = {
@@ -25,6 +111,28 @@ export const serializeAws_restJson1ChangeServerLifeCycleStateCommand = async (in
25
111
  body,
26
112
  });
27
113
  };
114
+ export const serializeAws_restJson1CreateApplicationCommand = async (input, context) => {
115
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
116
+ const headers = {
117
+ "content-type": "application/json",
118
+ };
119
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/CreateApplication";
120
+ let body;
121
+ body = JSON.stringify({
122
+ ...(input.description != null && { description: input.description }),
123
+ ...(input.name != null && { name: input.name }),
124
+ ...(input.tags != null && { tags: serializeAws_restJson1TagsMap(input.tags, context) }),
125
+ });
126
+ return new __HttpRequest({
127
+ protocol,
128
+ hostname,
129
+ port,
130
+ method: "POST",
131
+ headers,
132
+ path: resolvedPath,
133
+ body,
134
+ });
135
+ };
28
136
  export const serializeAws_restJson1CreateLaunchConfigurationTemplateCommand = async (input, context) => {
29
137
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
30
138
  const headers = {
@@ -33,10 +141,28 @@ export const serializeAws_restJson1CreateLaunchConfigurationTemplateCommand = as
33
141
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/CreateLaunchConfigurationTemplate";
34
142
  let body;
35
143
  body = JSON.stringify({
144
+ ...(input.associatePublicIpAddress != null && { associatePublicIpAddress: input.associatePublicIpAddress }),
145
+ ...(input.bootMode != null && { bootMode: input.bootMode }),
146
+ ...(input.copyPrivateIp != null && { copyPrivateIp: input.copyPrivateIp }),
147
+ ...(input.copyTags != null && { copyTags: input.copyTags }),
148
+ ...(input.enableMapAutoTagging != null && { enableMapAutoTagging: input.enableMapAutoTagging }),
149
+ ...(input.largeVolumeConf != null && {
150
+ largeVolumeConf: serializeAws_restJson1LaunchTemplateDiskConf(input.largeVolumeConf, context),
151
+ }),
152
+ ...(input.launchDisposition != null && { launchDisposition: input.launchDisposition }),
153
+ ...(input.licensing != null && { licensing: serializeAws_restJson1Licensing(input.licensing, context) }),
154
+ ...(input.mapAutoTaggingMpeID != null && { mapAutoTaggingMpeID: input.mapAutoTaggingMpeID }),
36
155
  ...(input.postLaunchActions != null && {
37
156
  postLaunchActions: serializeAws_restJson1PostLaunchActions(input.postLaunchActions, context),
38
157
  }),
158
+ ...(input.smallVolumeConf != null && {
159
+ smallVolumeConf: serializeAws_restJson1LaunchTemplateDiskConf(input.smallVolumeConf, context),
160
+ }),
161
+ ...(input.smallVolumeMaxSize != null && { smallVolumeMaxSize: input.smallVolumeMaxSize }),
39
162
  ...(input.tags != null && { tags: serializeAws_restJson1TagsMap(input.tags, context) }),
163
+ ...(input.targetInstanceTypeRightSizingMethod != null && {
164
+ targetInstanceTypeRightSizingMethod: input.targetInstanceTypeRightSizingMethod,
165
+ }),
40
166
  });
41
167
  return new __HttpRequest({
42
168
  protocol,
@@ -92,6 +218,48 @@ export const serializeAws_restJson1CreateReplicationConfigurationTemplateCommand
92
218
  body,
93
219
  });
94
220
  };
221
+ export const serializeAws_restJson1CreateWaveCommand = async (input, context) => {
222
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
223
+ const headers = {
224
+ "content-type": "application/json",
225
+ };
226
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/CreateWave";
227
+ let body;
228
+ body = JSON.stringify({
229
+ ...(input.description != null && { description: input.description }),
230
+ ...(input.name != null && { name: input.name }),
231
+ ...(input.tags != null && { tags: serializeAws_restJson1TagsMap(input.tags, context) }),
232
+ });
233
+ return new __HttpRequest({
234
+ protocol,
235
+ hostname,
236
+ port,
237
+ method: "POST",
238
+ headers,
239
+ path: resolvedPath,
240
+ body,
241
+ });
242
+ };
243
+ export const serializeAws_restJson1DeleteApplicationCommand = async (input, context) => {
244
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
245
+ const headers = {
246
+ "content-type": "application/json",
247
+ };
248
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/DeleteApplication";
249
+ let body;
250
+ body = JSON.stringify({
251
+ ...(input.applicationID != null && { applicationID: input.applicationID }),
252
+ });
253
+ return new __HttpRequest({
254
+ protocol,
255
+ hostname,
256
+ port,
257
+ method: "POST",
258
+ headers,
259
+ path: resolvedPath,
260
+ body,
261
+ });
262
+ };
95
263
  export const serializeAws_restJson1DeleteJobCommand = async (input, context) => {
96
264
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
97
265
  const headers = {
@@ -196,6 +364,26 @@ export const serializeAws_restJson1DeleteVcenterClientCommand = async (input, co
196
364
  body,
197
365
  });
198
366
  };
367
+ export const serializeAws_restJson1DeleteWaveCommand = async (input, context) => {
368
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
369
+ const headers = {
370
+ "content-type": "application/json",
371
+ };
372
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/DeleteWave";
373
+ let body;
374
+ body = JSON.stringify({
375
+ ...(input.waveID != null && { waveID: input.waveID }),
376
+ });
377
+ return new __HttpRequest({
378
+ protocol,
379
+ hostname,
380
+ port,
381
+ method: "POST",
382
+ headers,
383
+ path: resolvedPath,
384
+ body,
385
+ });
386
+ };
199
387
  export const serializeAws_restJson1DescribeJobLogItemsCommand = async (input, context) => {
200
388
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
201
389
  const headers = {
@@ -333,15 +521,18 @@ export const serializeAws_restJson1DescribeVcenterClientsCommand = async (input,
333
521
  body,
334
522
  });
335
523
  };
336
- export const serializeAws_restJson1DisconnectFromServiceCommand = async (input, context) => {
524
+ export const serializeAws_restJson1DisassociateApplicationsCommand = async (input, context) => {
337
525
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
338
526
  const headers = {
339
527
  "content-type": "application/json",
340
528
  };
341
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/DisconnectFromService";
529
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/DisassociateApplications";
342
530
  let body;
343
531
  body = JSON.stringify({
344
- ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
532
+ ...(input.applicationIDs != null && {
533
+ applicationIDs: serializeAws_restJson1ApplicationIDs(input.applicationIDs, context),
534
+ }),
535
+ ...(input.waveID != null && { waveID: input.waveID }),
345
536
  });
346
537
  return new __HttpRequest({
347
538
  protocol,
@@ -353,15 +544,18 @@ export const serializeAws_restJson1DisconnectFromServiceCommand = async (input,
353
544
  body,
354
545
  });
355
546
  };
356
- export const serializeAws_restJson1FinalizeCutoverCommand = async (input, context) => {
547
+ export const serializeAws_restJson1DisassociateSourceServersCommand = async (input, context) => {
357
548
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
358
549
  const headers = {
359
550
  "content-type": "application/json",
360
551
  };
361
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/FinalizeCutover";
552
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/DisassociateSourceServers";
362
553
  let body;
363
554
  body = JSON.stringify({
364
- ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
555
+ ...(input.applicationID != null && { applicationID: input.applicationID }),
556
+ ...(input.sourceServerIDs != null && {
557
+ sourceServerIDs: serializeAws_restJson1DisassociateSourceServersRequestSourceServerIDs(input.sourceServerIDs, context),
558
+ }),
365
559
  });
366
560
  return new __HttpRequest({
367
561
  protocol,
@@ -373,12 +567,12 @@ export const serializeAws_restJson1FinalizeCutoverCommand = async (input, contex
373
567
  body,
374
568
  });
375
569
  };
376
- export const serializeAws_restJson1GetLaunchConfigurationCommand = async (input, context) => {
570
+ export const serializeAws_restJson1DisconnectFromServiceCommand = async (input, context) => {
377
571
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
378
572
  const headers = {
379
573
  "content-type": "application/json",
380
574
  };
381
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/GetLaunchConfiguration";
575
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/DisconnectFromService";
382
576
  let body;
383
577
  body = JSON.stringify({
384
578
  ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
@@ -393,12 +587,12 @@ export const serializeAws_restJson1GetLaunchConfigurationCommand = async (input,
393
587
  body,
394
588
  });
395
589
  };
396
- export const serializeAws_restJson1GetReplicationConfigurationCommand = async (input, context) => {
590
+ export const serializeAws_restJson1FinalizeCutoverCommand = async (input, context) => {
397
591
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
398
592
  const headers = {
399
593
  "content-type": "application/json",
400
594
  };
401
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/GetReplicationConfiguration";
595
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/FinalizeCutover";
402
596
  let body;
403
597
  body = JSON.stringify({
404
598
  ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
@@ -413,14 +607,16 @@ export const serializeAws_restJson1GetReplicationConfigurationCommand = async (i
413
607
  body,
414
608
  });
415
609
  };
416
- export const serializeAws_restJson1InitializeServiceCommand = async (input, context) => {
610
+ export const serializeAws_restJson1GetLaunchConfigurationCommand = async (input, context) => {
417
611
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
418
612
  const headers = {
419
613
  "content-type": "application/json",
420
614
  };
421
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/InitializeService";
615
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/GetLaunchConfiguration";
422
616
  let body;
423
- body = "";
617
+ body = JSON.stringify({
618
+ ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
619
+ });
424
620
  return new __HttpRequest({
425
621
  protocol,
426
622
  hostname,
@@ -431,32 +627,34 @@ export const serializeAws_restJson1InitializeServiceCommand = async (input, cont
431
627
  body,
432
628
  });
433
629
  };
434
- export const serializeAws_restJson1ListTagsForResourceCommand = async (input, context) => {
630
+ export const serializeAws_restJson1GetReplicationConfigurationCommand = async (input, context) => {
435
631
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
436
- const headers = {};
437
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{resourceArn}";
438
- resolvedPath = __resolvedPath(resolvedPath, input, "resourceArn", () => input.resourceArn, "{resourceArn}", false);
632
+ const headers = {
633
+ "content-type": "application/json",
634
+ };
635
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/GetReplicationConfiguration";
439
636
  let body;
637
+ body = JSON.stringify({
638
+ ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
639
+ });
440
640
  return new __HttpRequest({
441
641
  protocol,
442
642
  hostname,
443
643
  port,
444
- method: "GET",
644
+ method: "POST",
445
645
  headers,
446
646
  path: resolvedPath,
447
647
  body,
448
648
  });
449
649
  };
450
- export const serializeAws_restJson1MarkAsArchivedCommand = async (input, context) => {
650
+ export const serializeAws_restJson1InitializeServiceCommand = async (input, context) => {
451
651
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
452
652
  const headers = {
453
653
  "content-type": "application/json",
454
654
  };
455
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/MarkAsArchived";
655
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/InitializeService";
456
656
  let body;
457
- body = JSON.stringify({
458
- ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
459
- });
657
+ body = "";
460
658
  return new __HttpRequest({
461
659
  protocol,
462
660
  hostname,
@@ -467,15 +665,19 @@ export const serializeAws_restJson1MarkAsArchivedCommand = async (input, context
467
665
  body,
468
666
  });
469
667
  };
470
- export const serializeAws_restJson1RetryDataReplicationCommand = async (input, context) => {
668
+ export const serializeAws_restJson1ListApplicationsCommand = async (input, context) => {
471
669
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
472
670
  const headers = {
473
671
  "content-type": "application/json",
474
672
  };
475
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/RetryDataReplication";
673
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/ListApplications";
476
674
  let body;
477
675
  body = JSON.stringify({
478
- ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
676
+ ...(input.filters != null && {
677
+ filters: serializeAws_restJson1ListApplicationsRequestFilters(input.filters, context),
678
+ }),
679
+ ...(input.maxResults != null && { maxResults: input.maxResults }),
680
+ ...(input.nextToken != null && { nextToken: input.nextToken }),
479
681
  });
480
682
  return new __HttpRequest({
481
683
  protocol,
@@ -487,18 +689,20 @@ export const serializeAws_restJson1RetryDataReplicationCommand = async (input, c
487
689
  body,
488
690
  });
489
691
  };
490
- export const serializeAws_restJson1StartCutoverCommand = async (input, context) => {
692
+ export const serializeAws_restJson1ListSourceServerActionsCommand = async (input, context) => {
491
693
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
492
694
  const headers = {
493
695
  "content-type": "application/json",
494
696
  };
495
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/StartCutover";
697
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/ListSourceServerActions";
496
698
  let body;
497
699
  body = JSON.stringify({
498
- ...(input.sourceServerIDs != null && {
499
- sourceServerIDs: serializeAws_restJson1StartCutoverRequestSourceServerIDs(input.sourceServerIDs, context),
700
+ ...(input.filters != null && {
701
+ filters: serializeAws_restJson1SourceServerActionsRequestFilters(input.filters, context),
500
702
  }),
501
- ...(input.tags != null && { tags: serializeAws_restJson1TagsMap(input.tags, context) }),
703
+ ...(input.maxResults != null && { maxResults: input.maxResults }),
704
+ ...(input.nextToken != null && { nextToken: input.nextToken }),
705
+ ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
502
706
  });
503
707
  return new __HttpRequest({
504
708
  protocol,
@@ -510,38 +714,38 @@ export const serializeAws_restJson1StartCutoverCommand = async (input, context)
510
714
  body,
511
715
  });
512
716
  };
513
- export const serializeAws_restJson1StartReplicationCommand = async (input, context) => {
717
+ export const serializeAws_restJson1ListTagsForResourceCommand = async (input, context) => {
514
718
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
515
- const headers = {
516
- "content-type": "application/json",
517
- };
518
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/StartReplication";
719
+ const headers = {};
720
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{resourceArn}";
721
+ resolvedPath = __resolvedPath(resolvedPath, input, "resourceArn", () => input.resourceArn, "{resourceArn}", false);
519
722
  let body;
520
- body = JSON.stringify({
521
- ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
522
- });
523
723
  return new __HttpRequest({
524
724
  protocol,
525
725
  hostname,
526
726
  port,
527
- method: "POST",
727
+ method: "GET",
528
728
  headers,
529
729
  path: resolvedPath,
530
730
  body,
531
731
  });
532
732
  };
533
- export const serializeAws_restJson1StartTestCommand = async (input, context) => {
733
+ export const serializeAws_restJson1ListTemplateActionsCommand = async (input, context) => {
534
734
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
535
735
  const headers = {
536
736
  "content-type": "application/json",
537
737
  };
538
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/StartTest";
738
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/ListTemplateActions";
539
739
  let body;
540
740
  body = JSON.stringify({
541
- ...(input.sourceServerIDs != null && {
542
- sourceServerIDs: serializeAws_restJson1StartTestRequestSourceServerIDs(input.sourceServerIDs, context),
741
+ ...(input.filters != null && {
742
+ filters: serializeAws_restJson1TemplateActionsRequestFilters(input.filters, context),
543
743
  }),
544
- ...(input.tags != null && { tags: serializeAws_restJson1TagsMap(input.tags, context) }),
744
+ ...(input.launchConfigurationTemplateID != null && {
745
+ launchConfigurationTemplateID: input.launchConfigurationTemplateID,
746
+ }),
747
+ ...(input.maxResults != null && { maxResults: input.maxResults }),
748
+ ...(input.nextToken != null && { nextToken: input.nextToken }),
545
749
  });
546
750
  return new __HttpRequest({
547
751
  protocol,
@@ -553,16 +757,17 @@ export const serializeAws_restJson1StartTestCommand = async (input, context) =>
553
757
  body,
554
758
  });
555
759
  };
556
- export const serializeAws_restJson1TagResourceCommand = async (input, context) => {
760
+ export const serializeAws_restJson1ListWavesCommand = async (input, context) => {
557
761
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
558
762
  const headers = {
559
763
  "content-type": "application/json",
560
764
  };
561
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{resourceArn}";
562
- resolvedPath = __resolvedPath(resolvedPath, input, "resourceArn", () => input.resourceArn, "{resourceArn}", false);
765
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/ListWaves";
563
766
  let body;
564
767
  body = JSON.stringify({
565
- ...(input.tags != null && { tags: serializeAws_restJson1TagsMap(input.tags, context) }),
768
+ ...(input.filters != null && { filters: serializeAws_restJson1ListWavesRequestFilters(input.filters, context) }),
769
+ ...(input.maxResults != null && { maxResults: input.maxResults }),
770
+ ...(input.nextToken != null && { nextToken: input.nextToken }),
566
771
  });
567
772
  return new __HttpRequest({
568
773
  protocol,
@@ -574,18 +779,15 @@ export const serializeAws_restJson1TagResourceCommand = async (input, context) =
574
779
  body,
575
780
  });
576
781
  };
577
- export const serializeAws_restJson1TerminateTargetInstancesCommand = async (input, context) => {
782
+ export const serializeAws_restJson1MarkAsArchivedCommand = async (input, context) => {
578
783
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
579
784
  const headers = {
580
785
  "content-type": "application/json",
581
786
  };
582
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/TerminateTargetInstances";
787
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/MarkAsArchived";
583
788
  let body;
584
789
  body = JSON.stringify({
585
- ...(input.sourceServerIDs != null && {
586
- sourceServerIDs: serializeAws_restJson1TerminateTargetInstancesRequestSourceServerIDs(input.sourceServerIDs, context),
587
- }),
588
- ...(input.tags != null && { tags: serializeAws_restJson1TagsMap(input.tags, context) }),
790
+ ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
589
791
  });
590
792
  return new __HttpRequest({
591
793
  protocol,
@@ -597,47 +799,60 @@ export const serializeAws_restJson1TerminateTargetInstancesCommand = async (inpu
597
799
  body,
598
800
  });
599
801
  };
600
- export const serializeAws_restJson1UntagResourceCommand = async (input, context) => {
802
+ export const serializeAws_restJson1PutSourceServerActionCommand = async (input, context) => {
601
803
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
602
- const headers = {};
603
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{resourceArn}";
604
- resolvedPath = __resolvedPath(resolvedPath, input, "resourceArn", () => input.resourceArn, "{resourceArn}", false);
605
- const query = map({
606
- tagKeys: [() => input.tagKeys !== void 0, () => (input.tagKeys || []).map((_entry) => _entry)],
607
- });
804
+ const headers = {
805
+ "content-type": "application/json",
806
+ };
807
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/PutSourceServerAction";
608
808
  let body;
809
+ body = JSON.stringify({
810
+ ...(input.actionID != null && { actionID: input.actionID }),
811
+ ...(input.actionName != null && { actionName: input.actionName }),
812
+ ...(input.active != null && { active: input.active }),
813
+ ...(input.documentIdentifier != null && { documentIdentifier: input.documentIdentifier }),
814
+ ...(input.documentVersion != null && { documentVersion: input.documentVersion }),
815
+ ...(input.mustSucceedForCutover != null && { mustSucceedForCutover: input.mustSucceedForCutover }),
816
+ ...(input.order != null && { order: input.order }),
817
+ ...(input.parameters != null && {
818
+ parameters: serializeAws_restJson1SsmDocumentParameters(input.parameters, context),
819
+ }),
820
+ ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
821
+ ...(input.timeoutSeconds != null && { timeoutSeconds: input.timeoutSeconds }),
822
+ });
609
823
  return new __HttpRequest({
610
824
  protocol,
611
825
  hostname,
612
826
  port,
613
- method: "DELETE",
827
+ method: "POST",
614
828
  headers,
615
829
  path: resolvedPath,
616
- query,
617
830
  body,
618
831
  });
619
832
  };
620
- export const serializeAws_restJson1UpdateLaunchConfigurationCommand = async (input, context) => {
833
+ export const serializeAws_restJson1PutTemplateActionCommand = async (input, context) => {
621
834
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
622
835
  const headers = {
623
836
  "content-type": "application/json",
624
837
  };
625
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateLaunchConfiguration";
838
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/PutTemplateAction";
626
839
  let body;
627
840
  body = JSON.stringify({
628
- ...(input.bootMode != null && { bootMode: input.bootMode }),
629
- ...(input.copyPrivateIp != null && { copyPrivateIp: input.copyPrivateIp }),
630
- ...(input.copyTags != null && { copyTags: input.copyTags }),
631
- ...(input.launchDisposition != null && { launchDisposition: input.launchDisposition }),
632
- ...(input.licensing != null && { licensing: serializeAws_restJson1Licensing(input.licensing, context) }),
633
- ...(input.name != null && { name: input.name }),
634
- ...(input.postLaunchActions != null && {
635
- postLaunchActions: serializeAws_restJson1PostLaunchActions(input.postLaunchActions, context),
841
+ ...(input.actionID != null && { actionID: input.actionID }),
842
+ ...(input.actionName != null && { actionName: input.actionName }),
843
+ ...(input.active != null && { active: input.active }),
844
+ ...(input.documentIdentifier != null && { documentIdentifier: input.documentIdentifier }),
845
+ ...(input.documentVersion != null && { documentVersion: input.documentVersion }),
846
+ ...(input.launchConfigurationTemplateID != null && {
847
+ launchConfigurationTemplateID: input.launchConfigurationTemplateID,
636
848
  }),
637
- ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
638
- ...(input.targetInstanceTypeRightSizingMethod != null && {
639
- targetInstanceTypeRightSizingMethod: input.targetInstanceTypeRightSizingMethod,
849
+ ...(input.mustSucceedForCutover != null && { mustSucceedForCutover: input.mustSucceedForCutover }),
850
+ ...(input.operatingSystem != null && { operatingSystem: input.operatingSystem }),
851
+ ...(input.order != null && { order: input.order }),
852
+ ...(input.parameters != null && {
853
+ parameters: serializeAws_restJson1SsmDocumentParameters(input.parameters, context),
640
854
  }),
855
+ ...(input.timeoutSeconds != null && { timeoutSeconds: input.timeoutSeconds }),
641
856
  });
642
857
  return new __HttpRequest({
643
858
  protocol,
@@ -649,20 +864,39 @@ export const serializeAws_restJson1UpdateLaunchConfigurationCommand = async (inp
649
864
  body,
650
865
  });
651
866
  };
652
- export const serializeAws_restJson1UpdateLaunchConfigurationTemplateCommand = async (input, context) => {
867
+ export const serializeAws_restJson1RemoveSourceServerActionCommand = async (input, context) => {
653
868
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
654
869
  const headers = {
655
870
  "content-type": "application/json",
656
871
  };
657
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateLaunchConfigurationTemplate";
872
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/RemoveSourceServerAction";
873
+ let body;
874
+ body = JSON.stringify({
875
+ ...(input.actionID != null && { actionID: input.actionID }),
876
+ ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
877
+ });
878
+ return new __HttpRequest({
879
+ protocol,
880
+ hostname,
881
+ port,
882
+ method: "POST",
883
+ headers,
884
+ path: resolvedPath,
885
+ body,
886
+ });
887
+ };
888
+ export const serializeAws_restJson1RemoveTemplateActionCommand = async (input, context) => {
889
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
890
+ const headers = {
891
+ "content-type": "application/json",
892
+ };
893
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/RemoveTemplateAction";
658
894
  let body;
659
895
  body = JSON.stringify({
896
+ ...(input.actionID != null && { actionID: input.actionID }),
660
897
  ...(input.launchConfigurationTemplateID != null && {
661
898
  launchConfigurationTemplateID: input.launchConfigurationTemplateID,
662
899
  }),
663
- ...(input.postLaunchActions != null && {
664
- postLaunchActions: serializeAws_restJson1PostLaunchActions(input.postLaunchActions, context),
665
- }),
666
900
  });
667
901
  return new __HttpRequest({
668
902
  protocol,
@@ -674,43 +908,15 @@ export const serializeAws_restJson1UpdateLaunchConfigurationTemplateCommand = as
674
908
  body,
675
909
  });
676
910
  };
677
- export const serializeAws_restJson1UpdateReplicationConfigurationCommand = async (input, context) => {
911
+ export const serializeAws_restJson1RetryDataReplicationCommand = async (input, context) => {
678
912
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
679
913
  const headers = {
680
914
  "content-type": "application/json",
681
915
  };
682
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateReplicationConfiguration";
916
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/RetryDataReplication";
683
917
  let body;
684
918
  body = JSON.stringify({
685
- ...(input.associateDefaultSecurityGroup != null && {
686
- associateDefaultSecurityGroup: input.associateDefaultSecurityGroup,
687
- }),
688
- ...(input.bandwidthThrottling != null && { bandwidthThrottling: input.bandwidthThrottling }),
689
- ...(input.createPublicIP != null && { createPublicIP: input.createPublicIP }),
690
- ...(input.dataPlaneRouting != null && { dataPlaneRouting: input.dataPlaneRouting }),
691
- ...(input.defaultLargeStagingDiskType != null && {
692
- defaultLargeStagingDiskType: input.defaultLargeStagingDiskType,
693
- }),
694
- ...(input.ebsEncryption != null && { ebsEncryption: input.ebsEncryption }),
695
- ...(input.ebsEncryptionKeyArn != null && { ebsEncryptionKeyArn: input.ebsEncryptionKeyArn }),
696
- ...(input.name != null && { name: input.name }),
697
- ...(input.replicatedDisks != null && {
698
- replicatedDisks: serializeAws_restJson1ReplicationConfigurationReplicatedDisks(input.replicatedDisks, context),
699
- }),
700
- ...(input.replicationServerInstanceType != null && {
701
- replicationServerInstanceType: input.replicationServerInstanceType,
702
- }),
703
- ...(input.replicationServersSecurityGroupsIDs != null && {
704
- replicationServersSecurityGroupsIDs: serializeAws_restJson1ReplicationServersSecurityGroupsIDs(input.replicationServersSecurityGroupsIDs, context),
705
- }),
706
919
  ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
707
- ...(input.stagingAreaSubnetId != null && { stagingAreaSubnetId: input.stagingAreaSubnetId }),
708
- ...(input.stagingAreaTags != null && {
709
- stagingAreaTags: serializeAws_restJson1TagsMap(input.stagingAreaTags, context),
710
- }),
711
- ...(input.useDedicatedReplicationServer != null && {
712
- useDedicatedReplicationServer: input.useDedicatedReplicationServer,
713
- }),
714
920
  });
715
921
  return new __HttpRequest({
716
922
  protocol,
@@ -722,42 +928,18 @@ export const serializeAws_restJson1UpdateReplicationConfigurationCommand = async
722
928
  body,
723
929
  });
724
930
  };
725
- export const serializeAws_restJson1UpdateReplicationConfigurationTemplateCommand = async (input, context) => {
931
+ export const serializeAws_restJson1StartCutoverCommand = async (input, context) => {
726
932
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
727
933
  const headers = {
728
934
  "content-type": "application/json",
729
935
  };
730
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateReplicationConfigurationTemplate";
936
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/StartCutover";
731
937
  let body;
732
938
  body = JSON.stringify({
733
- ...(input.arn != null && { arn: input.arn }),
734
- ...(input.associateDefaultSecurityGroup != null && {
735
- associateDefaultSecurityGroup: input.associateDefaultSecurityGroup,
736
- }),
737
- ...(input.bandwidthThrottling != null && { bandwidthThrottling: input.bandwidthThrottling }),
738
- ...(input.createPublicIP != null && { createPublicIP: input.createPublicIP }),
739
- ...(input.dataPlaneRouting != null && { dataPlaneRouting: input.dataPlaneRouting }),
740
- ...(input.defaultLargeStagingDiskType != null && {
741
- defaultLargeStagingDiskType: input.defaultLargeStagingDiskType,
742
- }),
743
- ...(input.ebsEncryption != null && { ebsEncryption: input.ebsEncryption }),
744
- ...(input.ebsEncryptionKeyArn != null && { ebsEncryptionKeyArn: input.ebsEncryptionKeyArn }),
745
- ...(input.replicationConfigurationTemplateID != null && {
746
- replicationConfigurationTemplateID: input.replicationConfigurationTemplateID,
747
- }),
748
- ...(input.replicationServerInstanceType != null && {
749
- replicationServerInstanceType: input.replicationServerInstanceType,
750
- }),
751
- ...(input.replicationServersSecurityGroupsIDs != null && {
752
- replicationServersSecurityGroupsIDs: serializeAws_restJson1ReplicationServersSecurityGroupsIDs(input.replicationServersSecurityGroupsIDs, context),
753
- }),
754
- ...(input.stagingAreaSubnetId != null && { stagingAreaSubnetId: input.stagingAreaSubnetId }),
755
- ...(input.stagingAreaTags != null && {
756
- stagingAreaTags: serializeAws_restJson1TagsMap(input.stagingAreaTags, context),
757
- }),
758
- ...(input.useDedicatedReplicationServer != null && {
759
- useDedicatedReplicationServer: input.useDedicatedReplicationServer,
939
+ ...(input.sourceServerIDs != null && {
940
+ sourceServerIDs: serializeAws_restJson1StartCutoverRequestSourceServerIDs(input.sourceServerIDs, context),
760
941
  }),
942
+ ...(input.tags != null && { tags: serializeAws_restJson1TagsMap(input.tags, context) }),
761
943
  });
762
944
  return new __HttpRequest({
763
945
  protocol,
@@ -769,15 +951,14 @@ export const serializeAws_restJson1UpdateReplicationConfigurationTemplateCommand
769
951
  body,
770
952
  });
771
953
  };
772
- export const serializeAws_restJson1UpdateSourceServerReplicationTypeCommand = async (input, context) => {
954
+ export const serializeAws_restJson1StartReplicationCommand = async (input, context) => {
773
955
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
774
956
  const headers = {
775
957
  "content-type": "application/json",
776
958
  };
777
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateSourceServerReplicationType";
959
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/StartReplication";
778
960
  let body;
779
961
  body = JSON.stringify({
780
- ...(input.replicationType != null && { replicationType: input.replicationType }),
781
962
  ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
782
963
  });
783
964
  return new __HttpRequest({
@@ -790,107 +971,1392 @@ export const serializeAws_restJson1UpdateSourceServerReplicationTypeCommand = as
790
971
  body,
791
972
  });
792
973
  };
793
- export const deserializeAws_restJson1ChangeServerLifeCycleStateCommand = async (output, context) => {
794
- if (output.statusCode !== 200 && output.statusCode >= 300) {
795
- return deserializeAws_restJson1ChangeServerLifeCycleStateCommandError(output, context);
796
- }
797
- const contents = map({
798
- $metadata: deserializeMetadata(output),
974
+ export const serializeAws_restJson1StartTestCommand = async (input, context) => {
975
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
976
+ const headers = {
977
+ "content-type": "application/json",
978
+ };
979
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/StartTest";
980
+ let body;
981
+ body = JSON.stringify({
982
+ ...(input.sourceServerIDs != null && {
983
+ sourceServerIDs: serializeAws_restJson1StartTestRequestSourceServerIDs(input.sourceServerIDs, context),
984
+ }),
985
+ ...(input.tags != null && { tags: serializeAws_restJson1TagsMap(input.tags, context) }),
986
+ });
987
+ return new __HttpRequest({
988
+ protocol,
989
+ hostname,
990
+ port,
991
+ method: "POST",
992
+ headers,
993
+ path: resolvedPath,
994
+ body,
799
995
  });
800
- const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
801
- if (data.arn != null) {
802
- contents.arn = __expectString(data.arn);
803
- }
804
- if (data.dataReplicationInfo != null) {
805
- contents.dataReplicationInfo = deserializeAws_restJson1DataReplicationInfo(data.dataReplicationInfo, context);
806
- }
807
- if (data.isArchived != null) {
808
- contents.isArchived = __expectBoolean(data.isArchived);
809
- }
810
- if (data.launchedInstance != null) {
811
- contents.launchedInstance = deserializeAws_restJson1LaunchedInstance(data.launchedInstance, context);
812
- }
813
- if (data.lifeCycle != null) {
814
- contents.lifeCycle = deserializeAws_restJson1LifeCycle(data.lifeCycle, context);
815
- }
816
- if (data.replicationType != null) {
817
- contents.replicationType = __expectString(data.replicationType);
818
- }
819
- if (data.sourceProperties != null) {
820
- contents.sourceProperties = deserializeAws_restJson1SourceProperties(data.sourceProperties, context);
821
- }
822
- if (data.sourceServerID != null) {
823
- contents.sourceServerID = __expectString(data.sourceServerID);
824
- }
825
- if (data.tags != null) {
826
- contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
827
- }
828
- if (data.vcenterClientID != null) {
829
- contents.vcenterClientID = __expectString(data.vcenterClientID);
830
- }
831
- return contents;
832
996
  };
833
- const deserializeAws_restJson1ChangeServerLifeCycleStateCommandError = async (output, context) => {
834
- const parsedOutput = {
835
- ...output,
836
- body: await parseErrorBody(output.body, context),
997
+ export const serializeAws_restJson1TagResourceCommand = async (input, context) => {
998
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
999
+ const headers = {
1000
+ "content-type": "application/json",
837
1001
  };
838
- const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
839
- switch (errorCode) {
840
- case "ConflictException":
841
- case "com.amazonaws.mgn#ConflictException":
842
- throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
843
- case "ResourceNotFoundException":
844
- case "com.amazonaws.mgn#ResourceNotFoundException":
845
- throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
846
- case "UninitializedAccountException":
847
- case "com.amazonaws.mgn#UninitializedAccountException":
848
- throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
849
- case "ValidationException":
850
- case "com.amazonaws.mgn#ValidationException":
851
- throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
852
- default:
853
- const parsedBody = parsedOutput.body;
854
- throwDefaultError({
855
- output,
856
- parsedBody,
857
- exceptionCtor: __BaseException,
858
- errorCode,
859
- });
860
- }
861
- };
862
- export const deserializeAws_restJson1CreateLaunchConfigurationTemplateCommand = async (output, context) => {
863
- if (output.statusCode !== 201 && output.statusCode >= 300) {
864
- return deserializeAws_restJson1CreateLaunchConfigurationTemplateCommandError(output, context);
865
- }
866
- const contents = map({
867
- $metadata: deserializeMetadata(output),
1002
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{resourceArn}";
1003
+ resolvedPath = __resolvedPath(resolvedPath, input, "resourceArn", () => input.resourceArn, "{resourceArn}", false);
1004
+ let body;
1005
+ body = JSON.stringify({
1006
+ ...(input.tags != null && { tags: serializeAws_restJson1TagsMap(input.tags, context) }),
868
1007
  });
869
- const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
870
- if (data.arn != null) {
871
- contents.arn = __expectString(data.arn);
872
- }
873
- if (data.launchConfigurationTemplateID != null) {
874
- contents.launchConfigurationTemplateID = __expectString(data.launchConfigurationTemplateID);
875
- }
876
- if (data.postLaunchActions != null) {
877
- contents.postLaunchActions = deserializeAws_restJson1PostLaunchActions(data.postLaunchActions, context);
878
- }
879
- if (data.tags != null) {
880
- contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
1008
+ return new __HttpRequest({
1009
+ protocol,
1010
+ hostname,
1011
+ port,
1012
+ method: "POST",
1013
+ headers,
1014
+ path: resolvedPath,
1015
+ body,
1016
+ });
1017
+ };
1018
+ export const serializeAws_restJson1TerminateTargetInstancesCommand = async (input, context) => {
1019
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1020
+ const headers = {
1021
+ "content-type": "application/json",
1022
+ };
1023
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/TerminateTargetInstances";
1024
+ let body;
1025
+ body = JSON.stringify({
1026
+ ...(input.sourceServerIDs != null && {
1027
+ sourceServerIDs: serializeAws_restJson1TerminateTargetInstancesRequestSourceServerIDs(input.sourceServerIDs, context),
1028
+ }),
1029
+ ...(input.tags != null && { tags: serializeAws_restJson1TagsMap(input.tags, context) }),
1030
+ });
1031
+ return new __HttpRequest({
1032
+ protocol,
1033
+ hostname,
1034
+ port,
1035
+ method: "POST",
1036
+ headers,
1037
+ path: resolvedPath,
1038
+ body,
1039
+ });
1040
+ };
1041
+ export const serializeAws_restJson1UnarchiveApplicationCommand = async (input, context) => {
1042
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1043
+ const headers = {
1044
+ "content-type": "application/json",
1045
+ };
1046
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UnarchiveApplication";
1047
+ let body;
1048
+ body = JSON.stringify({
1049
+ ...(input.applicationID != null && { applicationID: input.applicationID }),
1050
+ });
1051
+ return new __HttpRequest({
1052
+ protocol,
1053
+ hostname,
1054
+ port,
1055
+ method: "POST",
1056
+ headers,
1057
+ path: resolvedPath,
1058
+ body,
1059
+ });
1060
+ };
1061
+ export const serializeAws_restJson1UnarchiveWaveCommand = async (input, context) => {
1062
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1063
+ const headers = {
1064
+ "content-type": "application/json",
1065
+ };
1066
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UnarchiveWave";
1067
+ let body;
1068
+ body = JSON.stringify({
1069
+ ...(input.waveID != null && { waveID: input.waveID }),
1070
+ });
1071
+ return new __HttpRequest({
1072
+ protocol,
1073
+ hostname,
1074
+ port,
1075
+ method: "POST",
1076
+ headers,
1077
+ path: resolvedPath,
1078
+ body,
1079
+ });
1080
+ };
1081
+ export const serializeAws_restJson1UntagResourceCommand = async (input, context) => {
1082
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1083
+ const headers = {};
1084
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{resourceArn}";
1085
+ resolvedPath = __resolvedPath(resolvedPath, input, "resourceArn", () => input.resourceArn, "{resourceArn}", false);
1086
+ const query = map({
1087
+ tagKeys: [
1088
+ __expectNonNull(input.tagKeys, `tagKeys`) != null,
1089
+ () => (input.tagKeys || []).map((_entry) => _entry),
1090
+ ],
1091
+ });
1092
+ let body;
1093
+ return new __HttpRequest({
1094
+ protocol,
1095
+ hostname,
1096
+ port,
1097
+ method: "DELETE",
1098
+ headers,
1099
+ path: resolvedPath,
1100
+ query,
1101
+ body,
1102
+ });
1103
+ };
1104
+ export const serializeAws_restJson1UpdateApplicationCommand = async (input, context) => {
1105
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1106
+ const headers = {
1107
+ "content-type": "application/json",
1108
+ };
1109
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateApplication";
1110
+ let body;
1111
+ body = JSON.stringify({
1112
+ ...(input.applicationID != null && { applicationID: input.applicationID }),
1113
+ ...(input.description != null && { description: input.description }),
1114
+ ...(input.name != null && { name: input.name }),
1115
+ });
1116
+ return new __HttpRequest({
1117
+ protocol,
1118
+ hostname,
1119
+ port,
1120
+ method: "POST",
1121
+ headers,
1122
+ path: resolvedPath,
1123
+ body,
1124
+ });
1125
+ };
1126
+ export const serializeAws_restJson1UpdateLaunchConfigurationCommand = async (input, context) => {
1127
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1128
+ const headers = {
1129
+ "content-type": "application/json",
1130
+ };
1131
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateLaunchConfiguration";
1132
+ let body;
1133
+ body = JSON.stringify({
1134
+ ...(input.bootMode != null && { bootMode: input.bootMode }),
1135
+ ...(input.copyPrivateIp != null && { copyPrivateIp: input.copyPrivateIp }),
1136
+ ...(input.copyTags != null && { copyTags: input.copyTags }),
1137
+ ...(input.enableMapAutoTagging != null && { enableMapAutoTagging: input.enableMapAutoTagging }),
1138
+ ...(input.launchDisposition != null && { launchDisposition: input.launchDisposition }),
1139
+ ...(input.licensing != null && { licensing: serializeAws_restJson1Licensing(input.licensing, context) }),
1140
+ ...(input.mapAutoTaggingMpeID != null && { mapAutoTaggingMpeID: input.mapAutoTaggingMpeID }),
1141
+ ...(input.name != null && { name: input.name }),
1142
+ ...(input.postLaunchActions != null && {
1143
+ postLaunchActions: serializeAws_restJson1PostLaunchActions(input.postLaunchActions, context),
1144
+ }),
1145
+ ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
1146
+ ...(input.targetInstanceTypeRightSizingMethod != null && {
1147
+ targetInstanceTypeRightSizingMethod: input.targetInstanceTypeRightSizingMethod,
1148
+ }),
1149
+ });
1150
+ return new __HttpRequest({
1151
+ protocol,
1152
+ hostname,
1153
+ port,
1154
+ method: "POST",
1155
+ headers,
1156
+ path: resolvedPath,
1157
+ body,
1158
+ });
1159
+ };
1160
+ export const serializeAws_restJson1UpdateLaunchConfigurationTemplateCommand = async (input, context) => {
1161
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1162
+ const headers = {
1163
+ "content-type": "application/json",
1164
+ };
1165
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateLaunchConfigurationTemplate";
1166
+ let body;
1167
+ body = JSON.stringify({
1168
+ ...(input.associatePublicIpAddress != null && { associatePublicIpAddress: input.associatePublicIpAddress }),
1169
+ ...(input.bootMode != null && { bootMode: input.bootMode }),
1170
+ ...(input.copyPrivateIp != null && { copyPrivateIp: input.copyPrivateIp }),
1171
+ ...(input.copyTags != null && { copyTags: input.copyTags }),
1172
+ ...(input.enableMapAutoTagging != null && { enableMapAutoTagging: input.enableMapAutoTagging }),
1173
+ ...(input.largeVolumeConf != null && {
1174
+ largeVolumeConf: serializeAws_restJson1LaunchTemplateDiskConf(input.largeVolumeConf, context),
1175
+ }),
1176
+ ...(input.launchConfigurationTemplateID != null && {
1177
+ launchConfigurationTemplateID: input.launchConfigurationTemplateID,
1178
+ }),
1179
+ ...(input.launchDisposition != null && { launchDisposition: input.launchDisposition }),
1180
+ ...(input.licensing != null && { licensing: serializeAws_restJson1Licensing(input.licensing, context) }),
1181
+ ...(input.mapAutoTaggingMpeID != null && { mapAutoTaggingMpeID: input.mapAutoTaggingMpeID }),
1182
+ ...(input.postLaunchActions != null && {
1183
+ postLaunchActions: serializeAws_restJson1PostLaunchActions(input.postLaunchActions, context),
1184
+ }),
1185
+ ...(input.smallVolumeConf != null && {
1186
+ smallVolumeConf: serializeAws_restJson1LaunchTemplateDiskConf(input.smallVolumeConf, context),
1187
+ }),
1188
+ ...(input.smallVolumeMaxSize != null && { smallVolumeMaxSize: input.smallVolumeMaxSize }),
1189
+ ...(input.targetInstanceTypeRightSizingMethod != null && {
1190
+ targetInstanceTypeRightSizingMethod: input.targetInstanceTypeRightSizingMethod,
1191
+ }),
1192
+ });
1193
+ return new __HttpRequest({
1194
+ protocol,
1195
+ hostname,
1196
+ port,
1197
+ method: "POST",
1198
+ headers,
1199
+ path: resolvedPath,
1200
+ body,
1201
+ });
1202
+ };
1203
+ export const serializeAws_restJson1UpdateReplicationConfigurationCommand = async (input, context) => {
1204
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1205
+ const headers = {
1206
+ "content-type": "application/json",
1207
+ };
1208
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateReplicationConfiguration";
1209
+ let body;
1210
+ body = JSON.stringify({
1211
+ ...(input.associateDefaultSecurityGroup != null && {
1212
+ associateDefaultSecurityGroup: input.associateDefaultSecurityGroup,
1213
+ }),
1214
+ ...(input.bandwidthThrottling != null && { bandwidthThrottling: input.bandwidthThrottling }),
1215
+ ...(input.createPublicIP != null && { createPublicIP: input.createPublicIP }),
1216
+ ...(input.dataPlaneRouting != null && { dataPlaneRouting: input.dataPlaneRouting }),
1217
+ ...(input.defaultLargeStagingDiskType != null && {
1218
+ defaultLargeStagingDiskType: input.defaultLargeStagingDiskType,
1219
+ }),
1220
+ ...(input.ebsEncryption != null && { ebsEncryption: input.ebsEncryption }),
1221
+ ...(input.ebsEncryptionKeyArn != null && { ebsEncryptionKeyArn: input.ebsEncryptionKeyArn }),
1222
+ ...(input.name != null && { name: input.name }),
1223
+ ...(input.replicatedDisks != null && {
1224
+ replicatedDisks: serializeAws_restJson1ReplicationConfigurationReplicatedDisks(input.replicatedDisks, context),
1225
+ }),
1226
+ ...(input.replicationServerInstanceType != null && {
1227
+ replicationServerInstanceType: input.replicationServerInstanceType,
1228
+ }),
1229
+ ...(input.replicationServersSecurityGroupsIDs != null && {
1230
+ replicationServersSecurityGroupsIDs: serializeAws_restJson1ReplicationServersSecurityGroupsIDs(input.replicationServersSecurityGroupsIDs, context),
1231
+ }),
1232
+ ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
1233
+ ...(input.stagingAreaSubnetId != null && { stagingAreaSubnetId: input.stagingAreaSubnetId }),
1234
+ ...(input.stagingAreaTags != null && {
1235
+ stagingAreaTags: serializeAws_restJson1TagsMap(input.stagingAreaTags, context),
1236
+ }),
1237
+ ...(input.useDedicatedReplicationServer != null && {
1238
+ useDedicatedReplicationServer: input.useDedicatedReplicationServer,
1239
+ }),
1240
+ });
1241
+ return new __HttpRequest({
1242
+ protocol,
1243
+ hostname,
1244
+ port,
1245
+ method: "POST",
1246
+ headers,
1247
+ path: resolvedPath,
1248
+ body,
1249
+ });
1250
+ };
1251
+ export const serializeAws_restJson1UpdateReplicationConfigurationTemplateCommand = async (input, context) => {
1252
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1253
+ const headers = {
1254
+ "content-type": "application/json",
1255
+ };
1256
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateReplicationConfigurationTemplate";
1257
+ let body;
1258
+ body = JSON.stringify({
1259
+ ...(input.arn != null && { arn: input.arn }),
1260
+ ...(input.associateDefaultSecurityGroup != null && {
1261
+ associateDefaultSecurityGroup: input.associateDefaultSecurityGroup,
1262
+ }),
1263
+ ...(input.bandwidthThrottling != null && { bandwidthThrottling: input.bandwidthThrottling }),
1264
+ ...(input.createPublicIP != null && { createPublicIP: input.createPublicIP }),
1265
+ ...(input.dataPlaneRouting != null && { dataPlaneRouting: input.dataPlaneRouting }),
1266
+ ...(input.defaultLargeStagingDiskType != null && {
1267
+ defaultLargeStagingDiskType: input.defaultLargeStagingDiskType,
1268
+ }),
1269
+ ...(input.ebsEncryption != null && { ebsEncryption: input.ebsEncryption }),
1270
+ ...(input.ebsEncryptionKeyArn != null && { ebsEncryptionKeyArn: input.ebsEncryptionKeyArn }),
1271
+ ...(input.replicationConfigurationTemplateID != null && {
1272
+ replicationConfigurationTemplateID: input.replicationConfigurationTemplateID,
1273
+ }),
1274
+ ...(input.replicationServerInstanceType != null && {
1275
+ replicationServerInstanceType: input.replicationServerInstanceType,
1276
+ }),
1277
+ ...(input.replicationServersSecurityGroupsIDs != null && {
1278
+ replicationServersSecurityGroupsIDs: serializeAws_restJson1ReplicationServersSecurityGroupsIDs(input.replicationServersSecurityGroupsIDs, context),
1279
+ }),
1280
+ ...(input.stagingAreaSubnetId != null && { stagingAreaSubnetId: input.stagingAreaSubnetId }),
1281
+ ...(input.stagingAreaTags != null && {
1282
+ stagingAreaTags: serializeAws_restJson1TagsMap(input.stagingAreaTags, context),
1283
+ }),
1284
+ ...(input.useDedicatedReplicationServer != null && {
1285
+ useDedicatedReplicationServer: input.useDedicatedReplicationServer,
1286
+ }),
1287
+ });
1288
+ return new __HttpRequest({
1289
+ protocol,
1290
+ hostname,
1291
+ port,
1292
+ method: "POST",
1293
+ headers,
1294
+ path: resolvedPath,
1295
+ body,
1296
+ });
1297
+ };
1298
+ export const serializeAws_restJson1UpdateSourceServerReplicationTypeCommand = async (input, context) => {
1299
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1300
+ const headers = {
1301
+ "content-type": "application/json",
1302
+ };
1303
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateSourceServerReplicationType";
1304
+ let body;
1305
+ body = JSON.stringify({
1306
+ ...(input.replicationType != null && { replicationType: input.replicationType }),
1307
+ ...(input.sourceServerID != null && { sourceServerID: input.sourceServerID }),
1308
+ });
1309
+ return new __HttpRequest({
1310
+ protocol,
1311
+ hostname,
1312
+ port,
1313
+ method: "POST",
1314
+ headers,
1315
+ path: resolvedPath,
1316
+ body,
1317
+ });
1318
+ };
1319
+ export const serializeAws_restJson1UpdateWaveCommand = async (input, context) => {
1320
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1321
+ const headers = {
1322
+ "content-type": "application/json",
1323
+ };
1324
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/UpdateWave";
1325
+ let body;
1326
+ body = JSON.stringify({
1327
+ ...(input.description != null && { description: input.description }),
1328
+ ...(input.name != null && { name: input.name }),
1329
+ ...(input.waveID != null && { waveID: input.waveID }),
1330
+ });
1331
+ return new __HttpRequest({
1332
+ protocol,
1333
+ hostname,
1334
+ port,
1335
+ method: "POST",
1336
+ headers,
1337
+ path: resolvedPath,
1338
+ body,
1339
+ });
1340
+ };
1341
+ export const deserializeAws_restJson1ArchiveApplicationCommand = async (output, context) => {
1342
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
1343
+ return deserializeAws_restJson1ArchiveApplicationCommandError(output, context);
1344
+ }
1345
+ const contents = map({
1346
+ $metadata: deserializeMetadata(output),
1347
+ });
1348
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1349
+ if (data.applicationAggregatedStatus != null) {
1350
+ contents.applicationAggregatedStatus = deserializeAws_restJson1ApplicationAggregatedStatus(data.applicationAggregatedStatus, context);
1351
+ }
1352
+ if (data.applicationID != null) {
1353
+ contents.applicationID = __expectString(data.applicationID);
1354
+ }
1355
+ if (data.arn != null) {
1356
+ contents.arn = __expectString(data.arn);
1357
+ }
1358
+ if (data.creationDateTime != null) {
1359
+ contents.creationDateTime = __expectString(data.creationDateTime);
1360
+ }
1361
+ if (data.description != null) {
1362
+ contents.description = __expectString(data.description);
1363
+ }
1364
+ if (data.isArchived != null) {
1365
+ contents.isArchived = __expectBoolean(data.isArchived);
1366
+ }
1367
+ if (data.lastModifiedDateTime != null) {
1368
+ contents.lastModifiedDateTime = __expectString(data.lastModifiedDateTime);
1369
+ }
1370
+ if (data.name != null) {
1371
+ contents.name = __expectString(data.name);
1372
+ }
1373
+ if (data.tags != null) {
1374
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
1375
+ }
1376
+ if (data.waveID != null) {
1377
+ contents.waveID = __expectString(data.waveID);
1378
+ }
1379
+ return contents;
1380
+ };
1381
+ const deserializeAws_restJson1ArchiveApplicationCommandError = async (output, context) => {
1382
+ const parsedOutput = {
1383
+ ...output,
1384
+ body: await parseErrorBody(output.body, context),
1385
+ };
1386
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1387
+ switch (errorCode) {
1388
+ case "ConflictException":
1389
+ case "com.amazonaws.mgn#ConflictException":
1390
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1391
+ case "ResourceNotFoundException":
1392
+ case "com.amazonaws.mgn#ResourceNotFoundException":
1393
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1394
+ case "ServiceQuotaExceededException":
1395
+ case "com.amazonaws.mgn#ServiceQuotaExceededException":
1396
+ throw await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context);
1397
+ case "UninitializedAccountException":
1398
+ case "com.amazonaws.mgn#UninitializedAccountException":
1399
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1400
+ default:
1401
+ const parsedBody = parsedOutput.body;
1402
+ throwDefaultError({
1403
+ output,
1404
+ parsedBody,
1405
+ exceptionCtor: __BaseException,
1406
+ errorCode,
1407
+ });
1408
+ }
1409
+ };
1410
+ export const deserializeAws_restJson1ArchiveWaveCommand = async (output, context) => {
1411
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
1412
+ return deserializeAws_restJson1ArchiveWaveCommandError(output, context);
1413
+ }
1414
+ const contents = map({
1415
+ $metadata: deserializeMetadata(output),
1416
+ });
1417
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1418
+ if (data.arn != null) {
1419
+ contents.arn = __expectString(data.arn);
1420
+ }
1421
+ if (data.creationDateTime != null) {
1422
+ contents.creationDateTime = __expectString(data.creationDateTime);
1423
+ }
1424
+ if (data.description != null) {
1425
+ contents.description = __expectString(data.description);
1426
+ }
1427
+ if (data.isArchived != null) {
1428
+ contents.isArchived = __expectBoolean(data.isArchived);
1429
+ }
1430
+ if (data.lastModifiedDateTime != null) {
1431
+ contents.lastModifiedDateTime = __expectString(data.lastModifiedDateTime);
1432
+ }
1433
+ if (data.name != null) {
1434
+ contents.name = __expectString(data.name);
1435
+ }
1436
+ if (data.tags != null) {
1437
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
1438
+ }
1439
+ if (data.waveAggregatedStatus != null) {
1440
+ contents.waveAggregatedStatus = deserializeAws_restJson1WaveAggregatedStatus(data.waveAggregatedStatus, context);
1441
+ }
1442
+ if (data.waveID != null) {
1443
+ contents.waveID = __expectString(data.waveID);
1444
+ }
1445
+ return contents;
1446
+ };
1447
+ const deserializeAws_restJson1ArchiveWaveCommandError = async (output, context) => {
1448
+ const parsedOutput = {
1449
+ ...output,
1450
+ body: await parseErrorBody(output.body, context),
1451
+ };
1452
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1453
+ switch (errorCode) {
1454
+ case "ConflictException":
1455
+ case "com.amazonaws.mgn#ConflictException":
1456
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1457
+ case "ResourceNotFoundException":
1458
+ case "com.amazonaws.mgn#ResourceNotFoundException":
1459
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1460
+ case "ServiceQuotaExceededException":
1461
+ case "com.amazonaws.mgn#ServiceQuotaExceededException":
1462
+ throw await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context);
1463
+ case "UninitializedAccountException":
1464
+ case "com.amazonaws.mgn#UninitializedAccountException":
1465
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1466
+ default:
1467
+ const parsedBody = parsedOutput.body;
1468
+ throwDefaultError({
1469
+ output,
1470
+ parsedBody,
1471
+ exceptionCtor: __BaseException,
1472
+ errorCode,
1473
+ });
1474
+ }
1475
+ };
1476
+ export const deserializeAws_restJson1AssociateApplicationsCommand = async (output, context) => {
1477
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
1478
+ return deserializeAws_restJson1AssociateApplicationsCommandError(output, context);
1479
+ }
1480
+ const contents = map({
1481
+ $metadata: deserializeMetadata(output),
1482
+ });
1483
+ await collectBody(output.body, context);
1484
+ return contents;
1485
+ };
1486
+ const deserializeAws_restJson1AssociateApplicationsCommandError = async (output, context) => {
1487
+ const parsedOutput = {
1488
+ ...output,
1489
+ body: await parseErrorBody(output.body, context),
1490
+ };
1491
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1492
+ switch (errorCode) {
1493
+ case "ConflictException":
1494
+ case "com.amazonaws.mgn#ConflictException":
1495
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1496
+ case "ResourceNotFoundException":
1497
+ case "com.amazonaws.mgn#ResourceNotFoundException":
1498
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1499
+ case "ServiceQuotaExceededException":
1500
+ case "com.amazonaws.mgn#ServiceQuotaExceededException":
1501
+ throw await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context);
1502
+ case "UninitializedAccountException":
1503
+ case "com.amazonaws.mgn#UninitializedAccountException":
1504
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1505
+ default:
1506
+ const parsedBody = parsedOutput.body;
1507
+ throwDefaultError({
1508
+ output,
1509
+ parsedBody,
1510
+ exceptionCtor: __BaseException,
1511
+ errorCode,
1512
+ });
1513
+ }
1514
+ };
1515
+ export const deserializeAws_restJson1AssociateSourceServersCommand = async (output, context) => {
1516
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
1517
+ return deserializeAws_restJson1AssociateSourceServersCommandError(output, context);
1518
+ }
1519
+ const contents = map({
1520
+ $metadata: deserializeMetadata(output),
1521
+ });
1522
+ await collectBody(output.body, context);
1523
+ return contents;
1524
+ };
1525
+ const deserializeAws_restJson1AssociateSourceServersCommandError = async (output, context) => {
1526
+ const parsedOutput = {
1527
+ ...output,
1528
+ body: await parseErrorBody(output.body, context),
1529
+ };
1530
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1531
+ switch (errorCode) {
1532
+ case "ConflictException":
1533
+ case "com.amazonaws.mgn#ConflictException":
1534
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1535
+ case "ResourceNotFoundException":
1536
+ case "com.amazonaws.mgn#ResourceNotFoundException":
1537
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1538
+ case "ServiceQuotaExceededException":
1539
+ case "com.amazonaws.mgn#ServiceQuotaExceededException":
1540
+ throw await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context);
1541
+ case "UninitializedAccountException":
1542
+ case "com.amazonaws.mgn#UninitializedAccountException":
1543
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1544
+ default:
1545
+ const parsedBody = parsedOutput.body;
1546
+ throwDefaultError({
1547
+ output,
1548
+ parsedBody,
1549
+ exceptionCtor: __BaseException,
1550
+ errorCode,
1551
+ });
1552
+ }
1553
+ };
1554
+ export const deserializeAws_restJson1ChangeServerLifeCycleStateCommand = async (output, context) => {
1555
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
1556
+ return deserializeAws_restJson1ChangeServerLifeCycleStateCommandError(output, context);
1557
+ }
1558
+ const contents = map({
1559
+ $metadata: deserializeMetadata(output),
1560
+ });
1561
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1562
+ if (data.applicationID != null) {
1563
+ contents.applicationID = __expectString(data.applicationID);
1564
+ }
1565
+ if (data.arn != null) {
1566
+ contents.arn = __expectString(data.arn);
1567
+ }
1568
+ if (data.dataReplicationInfo != null) {
1569
+ contents.dataReplicationInfo = deserializeAws_restJson1DataReplicationInfo(data.dataReplicationInfo, context);
1570
+ }
1571
+ if (data.isArchived != null) {
1572
+ contents.isArchived = __expectBoolean(data.isArchived);
1573
+ }
1574
+ if (data.launchedInstance != null) {
1575
+ contents.launchedInstance = deserializeAws_restJson1LaunchedInstance(data.launchedInstance, context);
1576
+ }
1577
+ if (data.lifeCycle != null) {
1578
+ contents.lifeCycle = deserializeAws_restJson1LifeCycle(data.lifeCycle, context);
1579
+ }
1580
+ if (data.replicationType != null) {
1581
+ contents.replicationType = __expectString(data.replicationType);
1582
+ }
1583
+ if (data.sourceProperties != null) {
1584
+ contents.sourceProperties = deserializeAws_restJson1SourceProperties(data.sourceProperties, context);
1585
+ }
1586
+ if (data.sourceServerID != null) {
1587
+ contents.sourceServerID = __expectString(data.sourceServerID);
1588
+ }
1589
+ if (data.tags != null) {
1590
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
1591
+ }
1592
+ if (data.vcenterClientID != null) {
1593
+ contents.vcenterClientID = __expectString(data.vcenterClientID);
1594
+ }
1595
+ return contents;
1596
+ };
1597
+ const deserializeAws_restJson1ChangeServerLifeCycleStateCommandError = async (output, context) => {
1598
+ const parsedOutput = {
1599
+ ...output,
1600
+ body: await parseErrorBody(output.body, context),
1601
+ };
1602
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1603
+ switch (errorCode) {
1604
+ case "ConflictException":
1605
+ case "com.amazonaws.mgn#ConflictException":
1606
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1607
+ case "ResourceNotFoundException":
1608
+ case "com.amazonaws.mgn#ResourceNotFoundException":
1609
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1610
+ case "UninitializedAccountException":
1611
+ case "com.amazonaws.mgn#UninitializedAccountException":
1612
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1613
+ case "ValidationException":
1614
+ case "com.amazonaws.mgn#ValidationException":
1615
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1616
+ default:
1617
+ const parsedBody = parsedOutput.body;
1618
+ throwDefaultError({
1619
+ output,
1620
+ parsedBody,
1621
+ exceptionCtor: __BaseException,
1622
+ errorCode,
1623
+ });
1624
+ }
1625
+ };
1626
+ export const deserializeAws_restJson1CreateApplicationCommand = async (output, context) => {
1627
+ if (output.statusCode !== 201 && output.statusCode >= 300) {
1628
+ return deserializeAws_restJson1CreateApplicationCommandError(output, context);
1629
+ }
1630
+ const contents = map({
1631
+ $metadata: deserializeMetadata(output),
1632
+ });
1633
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1634
+ if (data.applicationAggregatedStatus != null) {
1635
+ contents.applicationAggregatedStatus = deserializeAws_restJson1ApplicationAggregatedStatus(data.applicationAggregatedStatus, context);
1636
+ }
1637
+ if (data.applicationID != null) {
1638
+ contents.applicationID = __expectString(data.applicationID);
1639
+ }
1640
+ if (data.arn != null) {
1641
+ contents.arn = __expectString(data.arn);
1642
+ }
1643
+ if (data.creationDateTime != null) {
1644
+ contents.creationDateTime = __expectString(data.creationDateTime);
1645
+ }
1646
+ if (data.description != null) {
1647
+ contents.description = __expectString(data.description);
1648
+ }
1649
+ if (data.isArchived != null) {
1650
+ contents.isArchived = __expectBoolean(data.isArchived);
1651
+ }
1652
+ if (data.lastModifiedDateTime != null) {
1653
+ contents.lastModifiedDateTime = __expectString(data.lastModifiedDateTime);
1654
+ }
1655
+ if (data.name != null) {
1656
+ contents.name = __expectString(data.name);
1657
+ }
1658
+ if (data.tags != null) {
1659
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
1660
+ }
1661
+ if (data.waveID != null) {
1662
+ contents.waveID = __expectString(data.waveID);
1663
+ }
1664
+ return contents;
1665
+ };
1666
+ const deserializeAws_restJson1CreateApplicationCommandError = async (output, context) => {
1667
+ const parsedOutput = {
1668
+ ...output,
1669
+ body: await parseErrorBody(output.body, context),
1670
+ };
1671
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1672
+ switch (errorCode) {
1673
+ case "ConflictException":
1674
+ case "com.amazonaws.mgn#ConflictException":
1675
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1676
+ case "ServiceQuotaExceededException":
1677
+ case "com.amazonaws.mgn#ServiceQuotaExceededException":
1678
+ throw await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context);
1679
+ case "UninitializedAccountException":
1680
+ case "com.amazonaws.mgn#UninitializedAccountException":
1681
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1682
+ default:
1683
+ const parsedBody = parsedOutput.body;
1684
+ throwDefaultError({
1685
+ output,
1686
+ parsedBody,
1687
+ exceptionCtor: __BaseException,
1688
+ errorCode,
1689
+ });
1690
+ }
1691
+ };
1692
+ export const deserializeAws_restJson1CreateLaunchConfigurationTemplateCommand = async (output, context) => {
1693
+ if (output.statusCode !== 201 && output.statusCode >= 300) {
1694
+ return deserializeAws_restJson1CreateLaunchConfigurationTemplateCommandError(output, context);
1695
+ }
1696
+ const contents = map({
1697
+ $metadata: deserializeMetadata(output),
1698
+ });
1699
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1700
+ if (data.arn != null) {
1701
+ contents.arn = __expectString(data.arn);
1702
+ }
1703
+ if (data.associatePublicIpAddress != null) {
1704
+ contents.associatePublicIpAddress = __expectBoolean(data.associatePublicIpAddress);
1705
+ }
1706
+ if (data.bootMode != null) {
1707
+ contents.bootMode = __expectString(data.bootMode);
1708
+ }
1709
+ if (data.copyPrivateIp != null) {
1710
+ contents.copyPrivateIp = __expectBoolean(data.copyPrivateIp);
1711
+ }
1712
+ if (data.copyTags != null) {
1713
+ contents.copyTags = __expectBoolean(data.copyTags);
1714
+ }
1715
+ if (data.ec2LaunchTemplateID != null) {
1716
+ contents.ec2LaunchTemplateID = __expectString(data.ec2LaunchTemplateID);
1717
+ }
1718
+ if (data.enableMapAutoTagging != null) {
1719
+ contents.enableMapAutoTagging = __expectBoolean(data.enableMapAutoTagging);
1720
+ }
1721
+ if (data.largeVolumeConf != null) {
1722
+ contents.largeVolumeConf = deserializeAws_restJson1LaunchTemplateDiskConf(data.largeVolumeConf, context);
1723
+ }
1724
+ if (data.launchConfigurationTemplateID != null) {
1725
+ contents.launchConfigurationTemplateID = __expectString(data.launchConfigurationTemplateID);
1726
+ }
1727
+ if (data.launchDisposition != null) {
1728
+ contents.launchDisposition = __expectString(data.launchDisposition);
1729
+ }
1730
+ if (data.licensing != null) {
1731
+ contents.licensing = deserializeAws_restJson1Licensing(data.licensing, context);
1732
+ }
1733
+ if (data.mapAutoTaggingMpeID != null) {
1734
+ contents.mapAutoTaggingMpeID = __expectString(data.mapAutoTaggingMpeID);
1735
+ }
1736
+ if (data.postLaunchActions != null) {
1737
+ contents.postLaunchActions = deserializeAws_restJson1PostLaunchActions(data.postLaunchActions, context);
1738
+ }
1739
+ if (data.smallVolumeConf != null) {
1740
+ contents.smallVolumeConf = deserializeAws_restJson1LaunchTemplateDiskConf(data.smallVolumeConf, context);
1741
+ }
1742
+ if (data.smallVolumeMaxSize != null) {
1743
+ contents.smallVolumeMaxSize = __expectLong(data.smallVolumeMaxSize);
1744
+ }
1745
+ if (data.tags != null) {
1746
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
1747
+ }
1748
+ if (data.targetInstanceTypeRightSizingMethod != null) {
1749
+ contents.targetInstanceTypeRightSizingMethod = __expectString(data.targetInstanceTypeRightSizingMethod);
1750
+ }
1751
+ return contents;
1752
+ };
1753
+ const deserializeAws_restJson1CreateLaunchConfigurationTemplateCommandError = async (output, context) => {
1754
+ const parsedOutput = {
1755
+ ...output,
1756
+ body: await parseErrorBody(output.body, context),
1757
+ };
1758
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1759
+ switch (errorCode) {
1760
+ case "AccessDeniedException":
1761
+ case "com.amazonaws.mgn#AccessDeniedException":
1762
+ throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);
1763
+ case "UninitializedAccountException":
1764
+ case "com.amazonaws.mgn#UninitializedAccountException":
1765
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1766
+ case "ValidationException":
1767
+ case "com.amazonaws.mgn#ValidationException":
1768
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1769
+ default:
1770
+ const parsedBody = parsedOutput.body;
1771
+ throwDefaultError({
1772
+ output,
1773
+ parsedBody,
1774
+ exceptionCtor: __BaseException,
1775
+ errorCode,
1776
+ });
1777
+ }
1778
+ };
1779
+ export const deserializeAws_restJson1CreateReplicationConfigurationTemplateCommand = async (output, context) => {
1780
+ if (output.statusCode !== 201 && output.statusCode >= 300) {
1781
+ return deserializeAws_restJson1CreateReplicationConfigurationTemplateCommandError(output, context);
1782
+ }
1783
+ const contents = map({
1784
+ $metadata: deserializeMetadata(output),
1785
+ });
1786
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1787
+ if (data.arn != null) {
1788
+ contents.arn = __expectString(data.arn);
1789
+ }
1790
+ if (data.associateDefaultSecurityGroup != null) {
1791
+ contents.associateDefaultSecurityGroup = __expectBoolean(data.associateDefaultSecurityGroup);
1792
+ }
1793
+ if (data.bandwidthThrottling != null) {
1794
+ contents.bandwidthThrottling = __expectLong(data.bandwidthThrottling);
1795
+ }
1796
+ if (data.createPublicIP != null) {
1797
+ contents.createPublicIP = __expectBoolean(data.createPublicIP);
1798
+ }
1799
+ if (data.dataPlaneRouting != null) {
1800
+ contents.dataPlaneRouting = __expectString(data.dataPlaneRouting);
1801
+ }
1802
+ if (data.defaultLargeStagingDiskType != null) {
1803
+ contents.defaultLargeStagingDiskType = __expectString(data.defaultLargeStagingDiskType);
1804
+ }
1805
+ if (data.ebsEncryption != null) {
1806
+ contents.ebsEncryption = __expectString(data.ebsEncryption);
1807
+ }
1808
+ if (data.ebsEncryptionKeyArn != null) {
1809
+ contents.ebsEncryptionKeyArn = __expectString(data.ebsEncryptionKeyArn);
1810
+ }
1811
+ if (data.replicationConfigurationTemplateID != null) {
1812
+ contents.replicationConfigurationTemplateID = __expectString(data.replicationConfigurationTemplateID);
1813
+ }
1814
+ if (data.replicationServerInstanceType != null) {
1815
+ contents.replicationServerInstanceType = __expectString(data.replicationServerInstanceType);
1816
+ }
1817
+ if (data.replicationServersSecurityGroupsIDs != null) {
1818
+ contents.replicationServersSecurityGroupsIDs = deserializeAws_restJson1ReplicationServersSecurityGroupsIDs(data.replicationServersSecurityGroupsIDs, context);
1819
+ }
1820
+ if (data.stagingAreaSubnetId != null) {
1821
+ contents.stagingAreaSubnetId = __expectString(data.stagingAreaSubnetId);
1822
+ }
1823
+ if (data.stagingAreaTags != null) {
1824
+ contents.stagingAreaTags = deserializeAws_restJson1TagsMap(data.stagingAreaTags, context);
1825
+ }
1826
+ if (data.tags != null) {
1827
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
1828
+ }
1829
+ if (data.useDedicatedReplicationServer != null) {
1830
+ contents.useDedicatedReplicationServer = __expectBoolean(data.useDedicatedReplicationServer);
1831
+ }
1832
+ return contents;
1833
+ };
1834
+ const deserializeAws_restJson1CreateReplicationConfigurationTemplateCommandError = async (output, context) => {
1835
+ const parsedOutput = {
1836
+ ...output,
1837
+ body: await parseErrorBody(output.body, context),
1838
+ };
1839
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1840
+ switch (errorCode) {
1841
+ case "AccessDeniedException":
1842
+ case "com.amazonaws.mgn#AccessDeniedException":
1843
+ throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);
1844
+ case "UninitializedAccountException":
1845
+ case "com.amazonaws.mgn#UninitializedAccountException":
1846
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1847
+ case "ValidationException":
1848
+ case "com.amazonaws.mgn#ValidationException":
1849
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1850
+ default:
1851
+ const parsedBody = parsedOutput.body;
1852
+ throwDefaultError({
1853
+ output,
1854
+ parsedBody,
1855
+ exceptionCtor: __BaseException,
1856
+ errorCode,
1857
+ });
1858
+ }
1859
+ };
1860
+ export const deserializeAws_restJson1CreateWaveCommand = async (output, context) => {
1861
+ if (output.statusCode !== 201 && output.statusCode >= 300) {
1862
+ return deserializeAws_restJson1CreateWaveCommandError(output, context);
1863
+ }
1864
+ const contents = map({
1865
+ $metadata: deserializeMetadata(output),
1866
+ });
1867
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1868
+ if (data.arn != null) {
1869
+ contents.arn = __expectString(data.arn);
1870
+ }
1871
+ if (data.creationDateTime != null) {
1872
+ contents.creationDateTime = __expectString(data.creationDateTime);
1873
+ }
1874
+ if (data.description != null) {
1875
+ contents.description = __expectString(data.description);
1876
+ }
1877
+ if (data.isArchived != null) {
1878
+ contents.isArchived = __expectBoolean(data.isArchived);
1879
+ }
1880
+ if (data.lastModifiedDateTime != null) {
1881
+ contents.lastModifiedDateTime = __expectString(data.lastModifiedDateTime);
1882
+ }
1883
+ if (data.name != null) {
1884
+ contents.name = __expectString(data.name);
1885
+ }
1886
+ if (data.tags != null) {
1887
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
1888
+ }
1889
+ if (data.waveAggregatedStatus != null) {
1890
+ contents.waveAggregatedStatus = deserializeAws_restJson1WaveAggregatedStatus(data.waveAggregatedStatus, context);
1891
+ }
1892
+ if (data.waveID != null) {
1893
+ contents.waveID = __expectString(data.waveID);
1894
+ }
1895
+ return contents;
1896
+ };
1897
+ const deserializeAws_restJson1CreateWaveCommandError = async (output, context) => {
1898
+ const parsedOutput = {
1899
+ ...output,
1900
+ body: await parseErrorBody(output.body, context),
1901
+ };
1902
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1903
+ switch (errorCode) {
1904
+ case "ConflictException":
1905
+ case "com.amazonaws.mgn#ConflictException":
1906
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1907
+ case "ServiceQuotaExceededException":
1908
+ case "com.amazonaws.mgn#ServiceQuotaExceededException":
1909
+ throw await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context);
1910
+ case "UninitializedAccountException":
1911
+ case "com.amazonaws.mgn#UninitializedAccountException":
1912
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1913
+ default:
1914
+ const parsedBody = parsedOutput.body;
1915
+ throwDefaultError({
1916
+ output,
1917
+ parsedBody,
1918
+ exceptionCtor: __BaseException,
1919
+ errorCode,
1920
+ });
1921
+ }
1922
+ };
1923
+ export const deserializeAws_restJson1DeleteApplicationCommand = async (output, context) => {
1924
+ if (output.statusCode !== 204 && output.statusCode >= 300) {
1925
+ return deserializeAws_restJson1DeleteApplicationCommandError(output, context);
1926
+ }
1927
+ const contents = map({
1928
+ $metadata: deserializeMetadata(output),
1929
+ });
1930
+ await collectBody(output.body, context);
1931
+ return contents;
1932
+ };
1933
+ const deserializeAws_restJson1DeleteApplicationCommandError = async (output, context) => {
1934
+ const parsedOutput = {
1935
+ ...output,
1936
+ body: await parseErrorBody(output.body, context),
1937
+ };
1938
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1939
+ switch (errorCode) {
1940
+ case "ConflictException":
1941
+ case "com.amazonaws.mgn#ConflictException":
1942
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1943
+ case "ResourceNotFoundException":
1944
+ case "com.amazonaws.mgn#ResourceNotFoundException":
1945
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1946
+ case "UninitializedAccountException":
1947
+ case "com.amazonaws.mgn#UninitializedAccountException":
1948
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1949
+ default:
1950
+ const parsedBody = parsedOutput.body;
1951
+ throwDefaultError({
1952
+ output,
1953
+ parsedBody,
1954
+ exceptionCtor: __BaseException,
1955
+ errorCode,
1956
+ });
1957
+ }
1958
+ };
1959
+ export const deserializeAws_restJson1DeleteJobCommand = async (output, context) => {
1960
+ if (output.statusCode !== 204 && output.statusCode >= 300) {
1961
+ return deserializeAws_restJson1DeleteJobCommandError(output, context);
1962
+ }
1963
+ const contents = map({
1964
+ $metadata: deserializeMetadata(output),
1965
+ });
1966
+ await collectBody(output.body, context);
1967
+ return contents;
1968
+ };
1969
+ const deserializeAws_restJson1DeleteJobCommandError = async (output, context) => {
1970
+ const parsedOutput = {
1971
+ ...output,
1972
+ body: await parseErrorBody(output.body, context),
1973
+ };
1974
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1975
+ switch (errorCode) {
1976
+ case "ConflictException":
1977
+ case "com.amazonaws.mgn#ConflictException":
1978
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1979
+ case "ResourceNotFoundException":
1980
+ case "com.amazonaws.mgn#ResourceNotFoundException":
1981
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1982
+ case "UninitializedAccountException":
1983
+ case "com.amazonaws.mgn#UninitializedAccountException":
1984
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1985
+ default:
1986
+ const parsedBody = parsedOutput.body;
1987
+ throwDefaultError({
1988
+ output,
1989
+ parsedBody,
1990
+ exceptionCtor: __BaseException,
1991
+ errorCode,
1992
+ });
1993
+ }
1994
+ };
1995
+ export const deserializeAws_restJson1DeleteLaunchConfigurationTemplateCommand = async (output, context) => {
1996
+ if (output.statusCode !== 204 && output.statusCode >= 300) {
1997
+ return deserializeAws_restJson1DeleteLaunchConfigurationTemplateCommandError(output, context);
1998
+ }
1999
+ const contents = map({
2000
+ $metadata: deserializeMetadata(output),
2001
+ });
2002
+ await collectBody(output.body, context);
2003
+ return contents;
2004
+ };
2005
+ const deserializeAws_restJson1DeleteLaunchConfigurationTemplateCommandError = async (output, context) => {
2006
+ const parsedOutput = {
2007
+ ...output,
2008
+ body: await parseErrorBody(output.body, context),
2009
+ };
2010
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2011
+ switch (errorCode) {
2012
+ case "ConflictException":
2013
+ case "com.amazonaws.mgn#ConflictException":
2014
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
2015
+ case "ResourceNotFoundException":
2016
+ case "com.amazonaws.mgn#ResourceNotFoundException":
2017
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2018
+ case "UninitializedAccountException":
2019
+ case "com.amazonaws.mgn#UninitializedAccountException":
2020
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2021
+ default:
2022
+ const parsedBody = parsedOutput.body;
2023
+ throwDefaultError({
2024
+ output,
2025
+ parsedBody,
2026
+ exceptionCtor: __BaseException,
2027
+ errorCode,
2028
+ });
2029
+ }
2030
+ };
2031
+ export const deserializeAws_restJson1DeleteReplicationConfigurationTemplateCommand = async (output, context) => {
2032
+ if (output.statusCode !== 204 && output.statusCode >= 300) {
2033
+ return deserializeAws_restJson1DeleteReplicationConfigurationTemplateCommandError(output, context);
2034
+ }
2035
+ const contents = map({
2036
+ $metadata: deserializeMetadata(output),
2037
+ });
2038
+ await collectBody(output.body, context);
2039
+ return contents;
2040
+ };
2041
+ const deserializeAws_restJson1DeleteReplicationConfigurationTemplateCommandError = async (output, context) => {
2042
+ const parsedOutput = {
2043
+ ...output,
2044
+ body: await parseErrorBody(output.body, context),
2045
+ };
2046
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2047
+ switch (errorCode) {
2048
+ case "ConflictException":
2049
+ case "com.amazonaws.mgn#ConflictException":
2050
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
2051
+ case "ResourceNotFoundException":
2052
+ case "com.amazonaws.mgn#ResourceNotFoundException":
2053
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2054
+ case "UninitializedAccountException":
2055
+ case "com.amazonaws.mgn#UninitializedAccountException":
2056
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2057
+ default:
2058
+ const parsedBody = parsedOutput.body;
2059
+ throwDefaultError({
2060
+ output,
2061
+ parsedBody,
2062
+ exceptionCtor: __BaseException,
2063
+ errorCode,
2064
+ });
2065
+ }
2066
+ };
2067
+ export const deserializeAws_restJson1DeleteSourceServerCommand = async (output, context) => {
2068
+ if (output.statusCode !== 204 && output.statusCode >= 300) {
2069
+ return deserializeAws_restJson1DeleteSourceServerCommandError(output, context);
2070
+ }
2071
+ const contents = map({
2072
+ $metadata: deserializeMetadata(output),
2073
+ });
2074
+ await collectBody(output.body, context);
2075
+ return contents;
2076
+ };
2077
+ const deserializeAws_restJson1DeleteSourceServerCommandError = async (output, context) => {
2078
+ const parsedOutput = {
2079
+ ...output,
2080
+ body: await parseErrorBody(output.body, context),
2081
+ };
2082
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2083
+ switch (errorCode) {
2084
+ case "ConflictException":
2085
+ case "com.amazonaws.mgn#ConflictException":
2086
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
2087
+ case "ResourceNotFoundException":
2088
+ case "com.amazonaws.mgn#ResourceNotFoundException":
2089
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2090
+ case "UninitializedAccountException":
2091
+ case "com.amazonaws.mgn#UninitializedAccountException":
2092
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2093
+ default:
2094
+ const parsedBody = parsedOutput.body;
2095
+ throwDefaultError({
2096
+ output,
2097
+ parsedBody,
2098
+ exceptionCtor: __BaseException,
2099
+ errorCode,
2100
+ });
2101
+ }
2102
+ };
2103
+ export const deserializeAws_restJson1DeleteVcenterClientCommand = async (output, context) => {
2104
+ if (output.statusCode !== 204 && output.statusCode >= 300) {
2105
+ return deserializeAws_restJson1DeleteVcenterClientCommandError(output, context);
2106
+ }
2107
+ const contents = map({
2108
+ $metadata: deserializeMetadata(output),
2109
+ });
2110
+ await collectBody(output.body, context);
2111
+ return contents;
2112
+ };
2113
+ const deserializeAws_restJson1DeleteVcenterClientCommandError = async (output, context) => {
2114
+ const parsedOutput = {
2115
+ ...output,
2116
+ body: await parseErrorBody(output.body, context),
2117
+ };
2118
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2119
+ switch (errorCode) {
2120
+ case "ResourceNotFoundException":
2121
+ case "com.amazonaws.mgn#ResourceNotFoundException":
2122
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2123
+ case "UninitializedAccountException":
2124
+ case "com.amazonaws.mgn#UninitializedAccountException":
2125
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2126
+ case "ValidationException":
2127
+ case "com.amazonaws.mgn#ValidationException":
2128
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
2129
+ default:
2130
+ const parsedBody = parsedOutput.body;
2131
+ throwDefaultError({
2132
+ output,
2133
+ parsedBody,
2134
+ exceptionCtor: __BaseException,
2135
+ errorCode,
2136
+ });
2137
+ }
2138
+ };
2139
+ export const deserializeAws_restJson1DeleteWaveCommand = async (output, context) => {
2140
+ if (output.statusCode !== 204 && output.statusCode >= 300) {
2141
+ return deserializeAws_restJson1DeleteWaveCommandError(output, context);
2142
+ }
2143
+ const contents = map({
2144
+ $metadata: deserializeMetadata(output),
2145
+ });
2146
+ await collectBody(output.body, context);
2147
+ return contents;
2148
+ };
2149
+ const deserializeAws_restJson1DeleteWaveCommandError = async (output, context) => {
2150
+ const parsedOutput = {
2151
+ ...output,
2152
+ body: await parseErrorBody(output.body, context),
2153
+ };
2154
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2155
+ switch (errorCode) {
2156
+ case "ConflictException":
2157
+ case "com.amazonaws.mgn#ConflictException":
2158
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
2159
+ case "ResourceNotFoundException":
2160
+ case "com.amazonaws.mgn#ResourceNotFoundException":
2161
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2162
+ case "UninitializedAccountException":
2163
+ case "com.amazonaws.mgn#UninitializedAccountException":
2164
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2165
+ default:
2166
+ const parsedBody = parsedOutput.body;
2167
+ throwDefaultError({
2168
+ output,
2169
+ parsedBody,
2170
+ exceptionCtor: __BaseException,
2171
+ errorCode,
2172
+ });
2173
+ }
2174
+ };
2175
+ export const deserializeAws_restJson1DescribeJobLogItemsCommand = async (output, context) => {
2176
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2177
+ return deserializeAws_restJson1DescribeJobLogItemsCommandError(output, context);
2178
+ }
2179
+ const contents = map({
2180
+ $metadata: deserializeMetadata(output),
2181
+ });
2182
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2183
+ if (data.items != null) {
2184
+ contents.items = deserializeAws_restJson1JobLogs(data.items, context);
2185
+ }
2186
+ if (data.nextToken != null) {
2187
+ contents.nextToken = __expectString(data.nextToken);
2188
+ }
2189
+ return contents;
2190
+ };
2191
+ const deserializeAws_restJson1DescribeJobLogItemsCommandError = async (output, context) => {
2192
+ const parsedOutput = {
2193
+ ...output,
2194
+ body: await parseErrorBody(output.body, context),
2195
+ };
2196
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2197
+ switch (errorCode) {
2198
+ case "UninitializedAccountException":
2199
+ case "com.amazonaws.mgn#UninitializedAccountException":
2200
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2201
+ case "ValidationException":
2202
+ case "com.amazonaws.mgn#ValidationException":
2203
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
2204
+ default:
2205
+ const parsedBody = parsedOutput.body;
2206
+ throwDefaultError({
2207
+ output,
2208
+ parsedBody,
2209
+ exceptionCtor: __BaseException,
2210
+ errorCode,
2211
+ });
2212
+ }
2213
+ };
2214
+ export const deserializeAws_restJson1DescribeJobsCommand = async (output, context) => {
2215
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2216
+ return deserializeAws_restJson1DescribeJobsCommandError(output, context);
2217
+ }
2218
+ const contents = map({
2219
+ $metadata: deserializeMetadata(output),
2220
+ });
2221
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2222
+ if (data.items != null) {
2223
+ contents.items = deserializeAws_restJson1JobsList(data.items, context);
2224
+ }
2225
+ if (data.nextToken != null) {
2226
+ contents.nextToken = __expectString(data.nextToken);
2227
+ }
2228
+ return contents;
2229
+ };
2230
+ const deserializeAws_restJson1DescribeJobsCommandError = async (output, context) => {
2231
+ const parsedOutput = {
2232
+ ...output,
2233
+ body: await parseErrorBody(output.body, context),
2234
+ };
2235
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2236
+ switch (errorCode) {
2237
+ case "UninitializedAccountException":
2238
+ case "com.amazonaws.mgn#UninitializedAccountException":
2239
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2240
+ case "ValidationException":
2241
+ case "com.amazonaws.mgn#ValidationException":
2242
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
2243
+ default:
2244
+ const parsedBody = parsedOutput.body;
2245
+ throwDefaultError({
2246
+ output,
2247
+ parsedBody,
2248
+ exceptionCtor: __BaseException,
2249
+ errorCode,
2250
+ });
2251
+ }
2252
+ };
2253
+ export const deserializeAws_restJson1DescribeLaunchConfigurationTemplatesCommand = async (output, context) => {
2254
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2255
+ return deserializeAws_restJson1DescribeLaunchConfigurationTemplatesCommandError(output, context);
2256
+ }
2257
+ const contents = map({
2258
+ $metadata: deserializeMetadata(output),
2259
+ });
2260
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2261
+ if (data.items != null) {
2262
+ contents.items = deserializeAws_restJson1LaunchConfigurationTemplates(data.items, context);
2263
+ }
2264
+ if (data.nextToken != null) {
2265
+ contents.nextToken = __expectString(data.nextToken);
2266
+ }
2267
+ return contents;
2268
+ };
2269
+ const deserializeAws_restJson1DescribeLaunchConfigurationTemplatesCommandError = async (output, context) => {
2270
+ const parsedOutput = {
2271
+ ...output,
2272
+ body: await parseErrorBody(output.body, context),
2273
+ };
2274
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2275
+ switch (errorCode) {
2276
+ case "ResourceNotFoundException":
2277
+ case "com.amazonaws.mgn#ResourceNotFoundException":
2278
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2279
+ case "UninitializedAccountException":
2280
+ case "com.amazonaws.mgn#UninitializedAccountException":
2281
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2282
+ case "ValidationException":
2283
+ case "com.amazonaws.mgn#ValidationException":
2284
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
2285
+ default:
2286
+ const parsedBody = parsedOutput.body;
2287
+ throwDefaultError({
2288
+ output,
2289
+ parsedBody,
2290
+ exceptionCtor: __BaseException,
2291
+ errorCode,
2292
+ });
2293
+ }
2294
+ };
2295
+ export const deserializeAws_restJson1DescribeReplicationConfigurationTemplatesCommand = async (output, context) => {
2296
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2297
+ return deserializeAws_restJson1DescribeReplicationConfigurationTemplatesCommandError(output, context);
2298
+ }
2299
+ const contents = map({
2300
+ $metadata: deserializeMetadata(output),
2301
+ });
2302
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2303
+ if (data.items != null) {
2304
+ contents.items = deserializeAws_restJson1ReplicationConfigurationTemplates(data.items, context);
2305
+ }
2306
+ if (data.nextToken != null) {
2307
+ contents.nextToken = __expectString(data.nextToken);
2308
+ }
2309
+ return contents;
2310
+ };
2311
+ const deserializeAws_restJson1DescribeReplicationConfigurationTemplatesCommandError = async (output, context) => {
2312
+ const parsedOutput = {
2313
+ ...output,
2314
+ body: await parseErrorBody(output.body, context),
2315
+ };
2316
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2317
+ switch (errorCode) {
2318
+ case "ResourceNotFoundException":
2319
+ case "com.amazonaws.mgn#ResourceNotFoundException":
2320
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2321
+ case "UninitializedAccountException":
2322
+ case "com.amazonaws.mgn#UninitializedAccountException":
2323
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2324
+ case "ValidationException":
2325
+ case "com.amazonaws.mgn#ValidationException":
2326
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
2327
+ default:
2328
+ const parsedBody = parsedOutput.body;
2329
+ throwDefaultError({
2330
+ output,
2331
+ parsedBody,
2332
+ exceptionCtor: __BaseException,
2333
+ errorCode,
2334
+ });
2335
+ }
2336
+ };
2337
+ export const deserializeAws_restJson1DescribeSourceServersCommand = async (output, context) => {
2338
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2339
+ return deserializeAws_restJson1DescribeSourceServersCommandError(output, context);
2340
+ }
2341
+ const contents = map({
2342
+ $metadata: deserializeMetadata(output),
2343
+ });
2344
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2345
+ if (data.items != null) {
2346
+ contents.items = deserializeAws_restJson1SourceServersList(data.items, context);
2347
+ }
2348
+ if (data.nextToken != null) {
2349
+ contents.nextToken = __expectString(data.nextToken);
881
2350
  }
882
2351
  return contents;
883
2352
  };
884
- const deserializeAws_restJson1CreateLaunchConfigurationTemplateCommandError = async (output, context) => {
2353
+ const deserializeAws_restJson1DescribeSourceServersCommandError = async (output, context) => {
885
2354
  const parsedOutput = {
886
2355
  ...output,
887
2356
  body: await parseErrorBody(output.body, context),
888
2357
  };
889
2358
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
890
2359
  switch (errorCode) {
891
- case "AccessDeniedException":
892
- case "com.amazonaws.mgn#AccessDeniedException":
893
- throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);
894
2360
  case "UninitializedAccountException":
895
2361
  case "com.amazonaws.mgn#UninitializedAccountException":
896
2362
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
@@ -907,71 +2373,32 @@ const deserializeAws_restJson1CreateLaunchConfigurationTemplateCommandError = as
907
2373
  });
908
2374
  }
909
2375
  };
910
- export const deserializeAws_restJson1CreateReplicationConfigurationTemplateCommand = async (output, context) => {
911
- if (output.statusCode !== 201 && output.statusCode >= 300) {
912
- return deserializeAws_restJson1CreateReplicationConfigurationTemplateCommandError(output, context);
2376
+ export const deserializeAws_restJson1DescribeVcenterClientsCommand = async (output, context) => {
2377
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2378
+ return deserializeAws_restJson1DescribeVcenterClientsCommandError(output, context);
913
2379
  }
914
2380
  const contents = map({
915
2381
  $metadata: deserializeMetadata(output),
916
2382
  });
917
2383
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
918
- if (data.arn != null) {
919
- contents.arn = __expectString(data.arn);
920
- }
921
- if (data.associateDefaultSecurityGroup != null) {
922
- contents.associateDefaultSecurityGroup = __expectBoolean(data.associateDefaultSecurityGroup);
923
- }
924
- if (data.bandwidthThrottling != null) {
925
- contents.bandwidthThrottling = __expectLong(data.bandwidthThrottling);
926
- }
927
- if (data.createPublicIP != null) {
928
- contents.createPublicIP = __expectBoolean(data.createPublicIP);
929
- }
930
- if (data.dataPlaneRouting != null) {
931
- contents.dataPlaneRouting = __expectString(data.dataPlaneRouting);
932
- }
933
- if (data.defaultLargeStagingDiskType != null) {
934
- contents.defaultLargeStagingDiskType = __expectString(data.defaultLargeStagingDiskType);
935
- }
936
- if (data.ebsEncryption != null) {
937
- contents.ebsEncryption = __expectString(data.ebsEncryption);
938
- }
939
- if (data.ebsEncryptionKeyArn != null) {
940
- contents.ebsEncryptionKeyArn = __expectString(data.ebsEncryptionKeyArn);
941
- }
942
- if (data.replicationConfigurationTemplateID != null) {
943
- contents.replicationConfigurationTemplateID = __expectString(data.replicationConfigurationTemplateID);
944
- }
945
- if (data.replicationServerInstanceType != null) {
946
- contents.replicationServerInstanceType = __expectString(data.replicationServerInstanceType);
947
- }
948
- if (data.replicationServersSecurityGroupsIDs != null) {
949
- contents.replicationServersSecurityGroupsIDs = deserializeAws_restJson1ReplicationServersSecurityGroupsIDs(data.replicationServersSecurityGroupsIDs, context);
950
- }
951
- if (data.stagingAreaSubnetId != null) {
952
- contents.stagingAreaSubnetId = __expectString(data.stagingAreaSubnetId);
953
- }
954
- if (data.stagingAreaTags != null) {
955
- contents.stagingAreaTags = deserializeAws_restJson1TagsMap(data.stagingAreaTags, context);
956
- }
957
- if (data.tags != null) {
958
- contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
2384
+ if (data.items != null) {
2385
+ contents.items = deserializeAws_restJson1VcenterClientList(data.items, context);
959
2386
  }
960
- if (data.useDedicatedReplicationServer != null) {
961
- contents.useDedicatedReplicationServer = __expectBoolean(data.useDedicatedReplicationServer);
2387
+ if (data.nextToken != null) {
2388
+ contents.nextToken = __expectString(data.nextToken);
962
2389
  }
963
2390
  return contents;
964
2391
  };
965
- const deserializeAws_restJson1CreateReplicationConfigurationTemplateCommandError = async (output, context) => {
2392
+ const deserializeAws_restJson1DescribeVcenterClientsCommandError = async (output, context) => {
966
2393
  const parsedOutput = {
967
2394
  ...output,
968
2395
  body: await parseErrorBody(output.body, context),
969
2396
  };
970
2397
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
971
2398
  switch (errorCode) {
972
- case "AccessDeniedException":
973
- case "com.amazonaws.mgn#AccessDeniedException":
974
- throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);
2399
+ case "ResourceNotFoundException":
2400
+ case "com.amazonaws.mgn#ResourceNotFoundException":
2401
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
975
2402
  case "UninitializedAccountException":
976
2403
  case "com.amazonaws.mgn#UninitializedAccountException":
977
2404
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
@@ -988,9 +2415,9 @@ const deserializeAws_restJson1CreateReplicationConfigurationTemplateCommandError
988
2415
  });
989
2416
  }
990
2417
  };
991
- export const deserializeAws_restJson1DeleteJobCommand = async (output, context) => {
992
- if (output.statusCode !== 204 && output.statusCode >= 300) {
993
- return deserializeAws_restJson1DeleteJobCommandError(output, context);
2418
+ export const deserializeAws_restJson1DisassociateApplicationsCommand = async (output, context) => {
2419
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2420
+ return deserializeAws_restJson1DisassociateApplicationsCommandError(output, context);
994
2421
  }
995
2422
  const contents = map({
996
2423
  $metadata: deserializeMetadata(output),
@@ -998,7 +2425,7 @@ export const deserializeAws_restJson1DeleteJobCommand = async (output, context)
998
2425
  await collectBody(output.body, context);
999
2426
  return contents;
1000
2427
  };
1001
- const deserializeAws_restJson1DeleteJobCommandError = async (output, context) => {
2428
+ const deserializeAws_restJson1DisassociateApplicationsCommandError = async (output, context) => {
1002
2429
  const parsedOutput = {
1003
2430
  ...output,
1004
2431
  body: await parseErrorBody(output.body, context),
@@ -1024,9 +2451,9 @@ const deserializeAws_restJson1DeleteJobCommandError = async (output, context) =>
1024
2451
  });
1025
2452
  }
1026
2453
  };
1027
- export const deserializeAws_restJson1DeleteLaunchConfigurationTemplateCommand = async (output, context) => {
1028
- if (output.statusCode !== 204 && output.statusCode >= 300) {
1029
- return deserializeAws_restJson1DeleteLaunchConfigurationTemplateCommandError(output, context);
2454
+ export const deserializeAws_restJson1DisassociateSourceServersCommand = async (output, context) => {
2455
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2456
+ return deserializeAws_restJson1DisassociateSourceServersCommandError(output, context);
1030
2457
  }
1031
2458
  const contents = map({
1032
2459
  $metadata: deserializeMetadata(output),
@@ -1034,7 +2461,7 @@ export const deserializeAws_restJson1DeleteLaunchConfigurationTemplateCommand =
1034
2461
  await collectBody(output.body, context);
1035
2462
  return contents;
1036
2463
  };
1037
- const deserializeAws_restJson1DeleteLaunchConfigurationTemplateCommandError = async (output, context) => {
2464
+ const deserializeAws_restJson1DisassociateSourceServersCommandError = async (output, context) => {
1038
2465
  const parsedOutput = {
1039
2466
  ...output,
1040
2467
  body: await parseErrorBody(output.body, context),
@@ -1060,17 +2487,50 @@ const deserializeAws_restJson1DeleteLaunchConfigurationTemplateCommandError = as
1060
2487
  });
1061
2488
  }
1062
2489
  };
1063
- export const deserializeAws_restJson1DeleteReplicationConfigurationTemplateCommand = async (output, context) => {
1064
- if (output.statusCode !== 204 && output.statusCode >= 300) {
1065
- return deserializeAws_restJson1DeleteReplicationConfigurationTemplateCommandError(output, context);
2490
+ export const deserializeAws_restJson1DisconnectFromServiceCommand = async (output, context) => {
2491
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2492
+ return deserializeAws_restJson1DisconnectFromServiceCommandError(output, context);
1066
2493
  }
1067
2494
  const contents = map({
1068
2495
  $metadata: deserializeMetadata(output),
1069
2496
  });
1070
- await collectBody(output.body, context);
2497
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2498
+ if (data.applicationID != null) {
2499
+ contents.applicationID = __expectString(data.applicationID);
2500
+ }
2501
+ if (data.arn != null) {
2502
+ contents.arn = __expectString(data.arn);
2503
+ }
2504
+ if (data.dataReplicationInfo != null) {
2505
+ contents.dataReplicationInfo = deserializeAws_restJson1DataReplicationInfo(data.dataReplicationInfo, context);
2506
+ }
2507
+ if (data.isArchived != null) {
2508
+ contents.isArchived = __expectBoolean(data.isArchived);
2509
+ }
2510
+ if (data.launchedInstance != null) {
2511
+ contents.launchedInstance = deserializeAws_restJson1LaunchedInstance(data.launchedInstance, context);
2512
+ }
2513
+ if (data.lifeCycle != null) {
2514
+ contents.lifeCycle = deserializeAws_restJson1LifeCycle(data.lifeCycle, context);
2515
+ }
2516
+ if (data.replicationType != null) {
2517
+ contents.replicationType = __expectString(data.replicationType);
2518
+ }
2519
+ if (data.sourceProperties != null) {
2520
+ contents.sourceProperties = deserializeAws_restJson1SourceProperties(data.sourceProperties, context);
2521
+ }
2522
+ if (data.sourceServerID != null) {
2523
+ contents.sourceServerID = __expectString(data.sourceServerID);
2524
+ }
2525
+ if (data.tags != null) {
2526
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
2527
+ }
2528
+ if (data.vcenterClientID != null) {
2529
+ contents.vcenterClientID = __expectString(data.vcenterClientID);
2530
+ }
1071
2531
  return contents;
1072
2532
  };
1073
- const deserializeAws_restJson1DeleteReplicationConfigurationTemplateCommandError = async (output, context) => {
2533
+ const deserializeAws_restJson1DisconnectFromServiceCommandError = async (output, context) => {
1074
2534
  const parsedOutput = {
1075
2535
  ...output,
1076
2536
  body: await parseErrorBody(output.body, context),
@@ -1096,17 +2556,50 @@ const deserializeAws_restJson1DeleteReplicationConfigurationTemplateCommandError
1096
2556
  });
1097
2557
  }
1098
2558
  };
1099
- export const deserializeAws_restJson1DeleteSourceServerCommand = async (output, context) => {
1100
- if (output.statusCode !== 204 && output.statusCode >= 300) {
1101
- return deserializeAws_restJson1DeleteSourceServerCommandError(output, context);
2559
+ export const deserializeAws_restJson1FinalizeCutoverCommand = async (output, context) => {
2560
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2561
+ return deserializeAws_restJson1FinalizeCutoverCommandError(output, context);
1102
2562
  }
1103
2563
  const contents = map({
1104
2564
  $metadata: deserializeMetadata(output),
1105
2565
  });
1106
- await collectBody(output.body, context);
2566
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2567
+ if (data.applicationID != null) {
2568
+ contents.applicationID = __expectString(data.applicationID);
2569
+ }
2570
+ if (data.arn != null) {
2571
+ contents.arn = __expectString(data.arn);
2572
+ }
2573
+ if (data.dataReplicationInfo != null) {
2574
+ contents.dataReplicationInfo = deserializeAws_restJson1DataReplicationInfo(data.dataReplicationInfo, context);
2575
+ }
2576
+ if (data.isArchived != null) {
2577
+ contents.isArchived = __expectBoolean(data.isArchived);
2578
+ }
2579
+ if (data.launchedInstance != null) {
2580
+ contents.launchedInstance = deserializeAws_restJson1LaunchedInstance(data.launchedInstance, context);
2581
+ }
2582
+ if (data.lifeCycle != null) {
2583
+ contents.lifeCycle = deserializeAws_restJson1LifeCycle(data.lifeCycle, context);
2584
+ }
2585
+ if (data.replicationType != null) {
2586
+ contents.replicationType = __expectString(data.replicationType);
2587
+ }
2588
+ if (data.sourceProperties != null) {
2589
+ contents.sourceProperties = deserializeAws_restJson1SourceProperties(data.sourceProperties, context);
2590
+ }
2591
+ if (data.sourceServerID != null) {
2592
+ contents.sourceServerID = __expectString(data.sourceServerID);
2593
+ }
2594
+ if (data.tags != null) {
2595
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
2596
+ }
2597
+ if (data.vcenterClientID != null) {
2598
+ contents.vcenterClientID = __expectString(data.vcenterClientID);
2599
+ }
1107
2600
  return contents;
1108
2601
  };
1109
- const deserializeAws_restJson1DeleteSourceServerCommandError = async (output, context) => {
2602
+ const deserializeAws_restJson1FinalizeCutoverCommandError = async (output, context) => {
1110
2603
  const parsedOutput = {
1111
2604
  ...output,
1112
2605
  body: await parseErrorBody(output.body, context),
@@ -1122,6 +2615,9 @@ const deserializeAws_restJson1DeleteSourceServerCommandError = async (output, co
1122
2615
  case "UninitializedAccountException":
1123
2616
  case "com.amazonaws.mgn#UninitializedAccountException":
1124
2617
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2618
+ case "ValidationException":
2619
+ case "com.amazonaws.mgn#ValidationException":
2620
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1125
2621
  default:
1126
2622
  const parsedBody = parsedOutput.body;
1127
2623
  throwDefaultError({
@@ -1132,17 +2628,53 @@ const deserializeAws_restJson1DeleteSourceServerCommandError = async (output, co
1132
2628
  });
1133
2629
  }
1134
2630
  };
1135
- export const deserializeAws_restJson1DeleteVcenterClientCommand = async (output, context) => {
1136
- if (output.statusCode !== 204 && output.statusCode >= 300) {
1137
- return deserializeAws_restJson1DeleteVcenterClientCommandError(output, context);
2631
+ export const deserializeAws_restJson1GetLaunchConfigurationCommand = async (output, context) => {
2632
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2633
+ return deserializeAws_restJson1GetLaunchConfigurationCommandError(output, context);
1138
2634
  }
1139
2635
  const contents = map({
1140
2636
  $metadata: deserializeMetadata(output),
1141
2637
  });
1142
- await collectBody(output.body, context);
2638
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2639
+ if (data.bootMode != null) {
2640
+ contents.bootMode = __expectString(data.bootMode);
2641
+ }
2642
+ if (data.copyPrivateIp != null) {
2643
+ contents.copyPrivateIp = __expectBoolean(data.copyPrivateIp);
2644
+ }
2645
+ if (data.copyTags != null) {
2646
+ contents.copyTags = __expectBoolean(data.copyTags);
2647
+ }
2648
+ if (data.ec2LaunchTemplateID != null) {
2649
+ contents.ec2LaunchTemplateID = __expectString(data.ec2LaunchTemplateID);
2650
+ }
2651
+ if (data.enableMapAutoTagging != null) {
2652
+ contents.enableMapAutoTagging = __expectBoolean(data.enableMapAutoTagging);
2653
+ }
2654
+ if (data.launchDisposition != null) {
2655
+ contents.launchDisposition = __expectString(data.launchDisposition);
2656
+ }
2657
+ if (data.licensing != null) {
2658
+ contents.licensing = deserializeAws_restJson1Licensing(data.licensing, context);
2659
+ }
2660
+ if (data.mapAutoTaggingMpeID != null) {
2661
+ contents.mapAutoTaggingMpeID = __expectString(data.mapAutoTaggingMpeID);
2662
+ }
2663
+ if (data.name != null) {
2664
+ contents.name = __expectString(data.name);
2665
+ }
2666
+ if (data.postLaunchActions != null) {
2667
+ contents.postLaunchActions = deserializeAws_restJson1PostLaunchActions(data.postLaunchActions, context);
2668
+ }
2669
+ if (data.sourceServerID != null) {
2670
+ contents.sourceServerID = __expectString(data.sourceServerID);
2671
+ }
2672
+ if (data.targetInstanceTypeRightSizingMethod != null) {
2673
+ contents.targetInstanceTypeRightSizingMethod = __expectString(data.targetInstanceTypeRightSizingMethod);
2674
+ }
1143
2675
  return contents;
1144
2676
  };
1145
- const deserializeAws_restJson1DeleteVcenterClientCommandError = async (output, context) => {
2677
+ const deserializeAws_restJson1GetLaunchConfigurationCommandError = async (output, context) => {
1146
2678
  const parsedOutput = {
1147
2679
  ...output,
1148
2680
  body: await parseErrorBody(output.body, context),
@@ -1155,9 +2687,6 @@ const deserializeAws_restJson1DeleteVcenterClientCommandError = async (output, c
1155
2687
  case "UninitializedAccountException":
1156
2688
  case "com.amazonaws.mgn#UninitializedAccountException":
1157
2689
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1158
- case "ValidationException":
1159
- case "com.amazonaws.mgn#ValidationException":
1160
- throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1161
2690
  default:
1162
2691
  const parsedBody = parsedOutput.body;
1163
2692
  throwDefaultError({
@@ -1168,35 +2697,74 @@ const deserializeAws_restJson1DeleteVcenterClientCommandError = async (output, c
1168
2697
  });
1169
2698
  }
1170
2699
  };
1171
- export const deserializeAws_restJson1DescribeJobLogItemsCommand = async (output, context) => {
2700
+ export const deserializeAws_restJson1GetReplicationConfigurationCommand = async (output, context) => {
1172
2701
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1173
- return deserializeAws_restJson1DescribeJobLogItemsCommandError(output, context);
2702
+ return deserializeAws_restJson1GetReplicationConfigurationCommandError(output, context);
2703
+ }
2704
+ const contents = map({
2705
+ $metadata: deserializeMetadata(output),
2706
+ });
2707
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2708
+ if (data.associateDefaultSecurityGroup != null) {
2709
+ contents.associateDefaultSecurityGroup = __expectBoolean(data.associateDefaultSecurityGroup);
2710
+ }
2711
+ if (data.bandwidthThrottling != null) {
2712
+ contents.bandwidthThrottling = __expectLong(data.bandwidthThrottling);
2713
+ }
2714
+ if (data.createPublicIP != null) {
2715
+ contents.createPublicIP = __expectBoolean(data.createPublicIP);
2716
+ }
2717
+ if (data.dataPlaneRouting != null) {
2718
+ contents.dataPlaneRouting = __expectString(data.dataPlaneRouting);
2719
+ }
2720
+ if (data.defaultLargeStagingDiskType != null) {
2721
+ contents.defaultLargeStagingDiskType = __expectString(data.defaultLargeStagingDiskType);
2722
+ }
2723
+ if (data.ebsEncryption != null) {
2724
+ contents.ebsEncryption = __expectString(data.ebsEncryption);
2725
+ }
2726
+ if (data.ebsEncryptionKeyArn != null) {
2727
+ contents.ebsEncryptionKeyArn = __expectString(data.ebsEncryptionKeyArn);
2728
+ }
2729
+ if (data.name != null) {
2730
+ contents.name = __expectString(data.name);
2731
+ }
2732
+ if (data.replicatedDisks != null) {
2733
+ contents.replicatedDisks = deserializeAws_restJson1ReplicationConfigurationReplicatedDisks(data.replicatedDisks, context);
2734
+ }
2735
+ if (data.replicationServerInstanceType != null) {
2736
+ contents.replicationServerInstanceType = __expectString(data.replicationServerInstanceType);
2737
+ }
2738
+ if (data.replicationServersSecurityGroupsIDs != null) {
2739
+ contents.replicationServersSecurityGroupsIDs = deserializeAws_restJson1ReplicationServersSecurityGroupsIDs(data.replicationServersSecurityGroupsIDs, context);
2740
+ }
2741
+ if (data.sourceServerID != null) {
2742
+ contents.sourceServerID = __expectString(data.sourceServerID);
2743
+ }
2744
+ if (data.stagingAreaSubnetId != null) {
2745
+ contents.stagingAreaSubnetId = __expectString(data.stagingAreaSubnetId);
1174
2746
  }
1175
- const contents = map({
1176
- $metadata: deserializeMetadata(output),
1177
- });
1178
- const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1179
- if (data.items != null) {
1180
- contents.items = deserializeAws_restJson1JobLogs(data.items, context);
2747
+ if (data.stagingAreaTags != null) {
2748
+ contents.stagingAreaTags = deserializeAws_restJson1TagsMap(data.stagingAreaTags, context);
1181
2749
  }
1182
- if (data.nextToken != null) {
1183
- contents.nextToken = __expectString(data.nextToken);
2750
+ if (data.useDedicatedReplicationServer != null) {
2751
+ contents.useDedicatedReplicationServer = __expectBoolean(data.useDedicatedReplicationServer);
1184
2752
  }
1185
2753
  return contents;
1186
2754
  };
1187
- const deserializeAws_restJson1DescribeJobLogItemsCommandError = async (output, context) => {
2755
+ const deserializeAws_restJson1GetReplicationConfigurationCommandError = async (output, context) => {
1188
2756
  const parsedOutput = {
1189
2757
  ...output,
1190
2758
  body: await parseErrorBody(output.body, context),
1191
2759
  };
1192
2760
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1193
2761
  switch (errorCode) {
2762
+ case "ResourceNotFoundException":
2763
+ case "com.amazonaws.mgn#ResourceNotFoundException":
2764
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1194
2765
  case "UninitializedAccountException":
1195
2766
  case "com.amazonaws.mgn#UninitializedAccountException":
1196
2767
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1197
- case "ValidationException":
1198
- case "com.amazonaws.mgn#ValidationException":
1199
- throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1200
2768
  default:
1201
2769
  const parsedBody = parsedOutput.body;
1202
2770
  throwDefaultError({
@@ -1207,32 +2775,26 @@ const deserializeAws_restJson1DescribeJobLogItemsCommandError = async (output, c
1207
2775
  });
1208
2776
  }
1209
2777
  };
1210
- export const deserializeAws_restJson1DescribeJobsCommand = async (output, context) => {
1211
- if (output.statusCode !== 200 && output.statusCode >= 300) {
1212
- return deserializeAws_restJson1DescribeJobsCommandError(output, context);
2778
+ export const deserializeAws_restJson1InitializeServiceCommand = async (output, context) => {
2779
+ if (output.statusCode !== 204 && output.statusCode >= 300) {
2780
+ return deserializeAws_restJson1InitializeServiceCommandError(output, context);
1213
2781
  }
1214
2782
  const contents = map({
1215
2783
  $metadata: deserializeMetadata(output),
1216
2784
  });
1217
- const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1218
- if (data.items != null) {
1219
- contents.items = deserializeAws_restJson1JobsList(data.items, context);
1220
- }
1221
- if (data.nextToken != null) {
1222
- contents.nextToken = __expectString(data.nextToken);
1223
- }
2785
+ await collectBody(output.body, context);
1224
2786
  return contents;
1225
2787
  };
1226
- const deserializeAws_restJson1DescribeJobsCommandError = async (output, context) => {
2788
+ const deserializeAws_restJson1InitializeServiceCommandError = async (output, context) => {
1227
2789
  const parsedOutput = {
1228
2790
  ...output,
1229
2791
  body: await parseErrorBody(output.body, context),
1230
2792
  };
1231
2793
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1232
2794
  switch (errorCode) {
1233
- case "UninitializedAccountException":
1234
- case "com.amazonaws.mgn#UninitializedAccountException":
1235
- throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2795
+ case "AccessDeniedException":
2796
+ case "com.amazonaws.mgn#AccessDeniedException":
2797
+ throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);
1236
2798
  case "ValidationException":
1237
2799
  case "com.amazonaws.mgn#ValidationException":
1238
2800
  throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
@@ -1246,38 +2808,32 @@ const deserializeAws_restJson1DescribeJobsCommandError = async (output, context)
1246
2808
  });
1247
2809
  }
1248
2810
  };
1249
- export const deserializeAws_restJson1DescribeLaunchConfigurationTemplatesCommand = async (output, context) => {
2811
+ export const deserializeAws_restJson1ListApplicationsCommand = async (output, context) => {
1250
2812
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1251
- return deserializeAws_restJson1DescribeLaunchConfigurationTemplatesCommandError(output, context);
2813
+ return deserializeAws_restJson1ListApplicationsCommandError(output, context);
1252
2814
  }
1253
2815
  const contents = map({
1254
2816
  $metadata: deserializeMetadata(output),
1255
2817
  });
1256
2818
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1257
2819
  if (data.items != null) {
1258
- contents.items = deserializeAws_restJson1LaunchConfigurationTemplates(data.items, context);
2820
+ contents.items = deserializeAws_restJson1ApplicationsList(data.items, context);
1259
2821
  }
1260
2822
  if (data.nextToken != null) {
1261
2823
  contents.nextToken = __expectString(data.nextToken);
1262
2824
  }
1263
2825
  return contents;
1264
2826
  };
1265
- const deserializeAws_restJson1DescribeLaunchConfigurationTemplatesCommandError = async (output, context) => {
2827
+ const deserializeAws_restJson1ListApplicationsCommandError = async (output, context) => {
1266
2828
  const parsedOutput = {
1267
2829
  ...output,
1268
2830
  body: await parseErrorBody(output.body, context),
1269
2831
  };
1270
2832
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1271
2833
  switch (errorCode) {
1272
- case "ResourceNotFoundException":
1273
- case "com.amazonaws.mgn#ResourceNotFoundException":
1274
- throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1275
2834
  case "UninitializedAccountException":
1276
2835
  case "com.amazonaws.mgn#UninitializedAccountException":
1277
2836
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1278
- case "ValidationException":
1279
- case "com.amazonaws.mgn#ValidationException":
1280
- throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1281
2837
  default:
1282
2838
  const parsedBody = parsedOutput.body;
1283
2839
  throwDefaultError({
@@ -1288,23 +2844,23 @@ const deserializeAws_restJson1DescribeLaunchConfigurationTemplatesCommandError =
1288
2844
  });
1289
2845
  }
1290
2846
  };
1291
- export const deserializeAws_restJson1DescribeReplicationConfigurationTemplatesCommand = async (output, context) => {
2847
+ export const deserializeAws_restJson1ListSourceServerActionsCommand = async (output, context) => {
1292
2848
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1293
- return deserializeAws_restJson1DescribeReplicationConfigurationTemplatesCommandError(output, context);
2849
+ return deserializeAws_restJson1ListSourceServerActionsCommandError(output, context);
1294
2850
  }
1295
2851
  const contents = map({
1296
2852
  $metadata: deserializeMetadata(output),
1297
2853
  });
1298
2854
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1299
2855
  if (data.items != null) {
1300
- contents.items = deserializeAws_restJson1ReplicationConfigurationTemplates(data.items, context);
2856
+ contents.items = deserializeAws_restJson1SourceServerActionDocuments(data.items, context);
1301
2857
  }
1302
2858
  if (data.nextToken != null) {
1303
2859
  contents.nextToken = __expectString(data.nextToken);
1304
2860
  }
1305
2861
  return contents;
1306
2862
  };
1307
- const deserializeAws_restJson1DescribeReplicationConfigurationTemplatesCommandError = async (output, context) => {
2863
+ const deserializeAws_restJson1ListSourceServerActionsCommandError = async (output, context) => {
1308
2864
  const parsedOutput = {
1309
2865
  ...output,
1310
2866
  body: await parseErrorBody(output.body, context),
@@ -1317,9 +2873,6 @@ const deserializeAws_restJson1DescribeReplicationConfigurationTemplatesCommandEr
1317
2873
  case "UninitializedAccountException":
1318
2874
  case "com.amazonaws.mgn#UninitializedAccountException":
1319
2875
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1320
- case "ValidationException":
1321
- case "com.amazonaws.mgn#ValidationException":
1322
- throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1323
2876
  default:
1324
2877
  const parsedBody = parsedOutput.body;
1325
2878
  throwDefaultError({
@@ -1330,32 +2883,38 @@ const deserializeAws_restJson1DescribeReplicationConfigurationTemplatesCommandEr
1330
2883
  });
1331
2884
  }
1332
2885
  };
1333
- export const deserializeAws_restJson1DescribeSourceServersCommand = async (output, context) => {
2886
+ export const deserializeAws_restJson1ListTagsForResourceCommand = async (output, context) => {
1334
2887
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1335
- return deserializeAws_restJson1DescribeSourceServersCommandError(output, context);
2888
+ return deserializeAws_restJson1ListTagsForResourceCommandError(output, context);
1336
2889
  }
1337
2890
  const contents = map({
1338
2891
  $metadata: deserializeMetadata(output),
1339
2892
  });
1340
2893
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1341
- if (data.items != null) {
1342
- contents.items = deserializeAws_restJson1SourceServersList(data.items, context);
1343
- }
1344
- if (data.nextToken != null) {
1345
- contents.nextToken = __expectString(data.nextToken);
2894
+ if (data.tags != null) {
2895
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
1346
2896
  }
1347
2897
  return contents;
1348
2898
  };
1349
- const deserializeAws_restJson1DescribeSourceServersCommandError = async (output, context) => {
2899
+ const deserializeAws_restJson1ListTagsForResourceCommandError = async (output, context) => {
1350
2900
  const parsedOutput = {
1351
2901
  ...output,
1352
2902
  body: await parseErrorBody(output.body, context),
1353
2903
  };
1354
2904
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1355
2905
  switch (errorCode) {
1356
- case "UninitializedAccountException":
1357
- case "com.amazonaws.mgn#UninitializedAccountException":
1358
- throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2906
+ case "AccessDeniedException":
2907
+ case "com.amazonaws.mgn#AccessDeniedException":
2908
+ throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);
2909
+ case "InternalServerException":
2910
+ case "com.amazonaws.mgn#InternalServerException":
2911
+ throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
2912
+ case "ResourceNotFoundException":
2913
+ case "com.amazonaws.mgn#ResourceNotFoundException":
2914
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2915
+ case "ThrottlingException":
2916
+ case "com.amazonaws.mgn#ThrottlingException":
2917
+ throw await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context);
1359
2918
  case "ValidationException":
1360
2919
  case "com.amazonaws.mgn#ValidationException":
1361
2920
  throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
@@ -1369,23 +2928,23 @@ const deserializeAws_restJson1DescribeSourceServersCommandError = async (output,
1369
2928
  });
1370
2929
  }
1371
2930
  };
1372
- export const deserializeAws_restJson1DescribeVcenterClientsCommand = async (output, context) => {
2931
+ export const deserializeAws_restJson1ListTemplateActionsCommand = async (output, context) => {
1373
2932
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1374
- return deserializeAws_restJson1DescribeVcenterClientsCommandError(output, context);
2933
+ return deserializeAws_restJson1ListTemplateActionsCommandError(output, context);
1375
2934
  }
1376
2935
  const contents = map({
1377
2936
  $metadata: deserializeMetadata(output),
1378
2937
  });
1379
2938
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1380
2939
  if (data.items != null) {
1381
- contents.items = deserializeAws_restJson1VcenterClientList(data.items, context);
2940
+ contents.items = deserializeAws_restJson1TemplateActionDocuments(data.items, context);
1382
2941
  }
1383
2942
  if (data.nextToken != null) {
1384
2943
  contents.nextToken = __expectString(data.nextToken);
1385
2944
  }
1386
2945
  return contents;
1387
2946
  };
1388
- const deserializeAws_restJson1DescribeVcenterClientsCommandError = async (output, context) => {
2947
+ const deserializeAws_restJson1ListTemplateActionsCommandError = async (output, context) => {
1389
2948
  const parsedOutput = {
1390
2949
  ...output,
1391
2950
  body: await parseErrorBody(output.body, context),
@@ -1398,9 +2957,6 @@ const deserializeAws_restJson1DescribeVcenterClientsCommandError = async (output
1398
2957
  case "UninitializedAccountException":
1399
2958
  case "com.amazonaws.mgn#UninitializedAccountException":
1400
2959
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1401
- case "ValidationException":
1402
- case "com.amazonaws.mgn#ValidationException":
1403
- throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1404
2960
  default:
1405
2961
  const parsedBody = parsedOutput.body;
1406
2962
  throwDefaultError({
@@ -1411,59 +2967,29 @@ const deserializeAws_restJson1DescribeVcenterClientsCommandError = async (output
1411
2967
  });
1412
2968
  }
1413
2969
  };
1414
- export const deserializeAws_restJson1DisconnectFromServiceCommand = async (output, context) => {
2970
+ export const deserializeAws_restJson1ListWavesCommand = async (output, context) => {
1415
2971
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1416
- return deserializeAws_restJson1DisconnectFromServiceCommandError(output, context);
2972
+ return deserializeAws_restJson1ListWavesCommandError(output, context);
1417
2973
  }
1418
2974
  const contents = map({
1419
2975
  $metadata: deserializeMetadata(output),
1420
2976
  });
1421
2977
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1422
- if (data.arn != null) {
1423
- contents.arn = __expectString(data.arn);
1424
- }
1425
- if (data.dataReplicationInfo != null) {
1426
- contents.dataReplicationInfo = deserializeAws_restJson1DataReplicationInfo(data.dataReplicationInfo, context);
1427
- }
1428
- if (data.isArchived != null) {
1429
- contents.isArchived = __expectBoolean(data.isArchived);
1430
- }
1431
- if (data.launchedInstance != null) {
1432
- contents.launchedInstance = deserializeAws_restJson1LaunchedInstance(data.launchedInstance, context);
1433
- }
1434
- if (data.lifeCycle != null) {
1435
- contents.lifeCycle = deserializeAws_restJson1LifeCycle(data.lifeCycle, context);
1436
- }
1437
- if (data.replicationType != null) {
1438
- contents.replicationType = __expectString(data.replicationType);
1439
- }
1440
- if (data.sourceProperties != null) {
1441
- contents.sourceProperties = deserializeAws_restJson1SourceProperties(data.sourceProperties, context);
1442
- }
1443
- if (data.sourceServerID != null) {
1444
- contents.sourceServerID = __expectString(data.sourceServerID);
1445
- }
1446
- if (data.tags != null) {
1447
- contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
2978
+ if (data.items != null) {
2979
+ contents.items = deserializeAws_restJson1WavesList(data.items, context);
1448
2980
  }
1449
- if (data.vcenterClientID != null) {
1450
- contents.vcenterClientID = __expectString(data.vcenterClientID);
2981
+ if (data.nextToken != null) {
2982
+ contents.nextToken = __expectString(data.nextToken);
1451
2983
  }
1452
2984
  return contents;
1453
2985
  };
1454
- const deserializeAws_restJson1DisconnectFromServiceCommandError = async (output, context) => {
2986
+ const deserializeAws_restJson1ListWavesCommandError = async (output, context) => {
1455
2987
  const parsedOutput = {
1456
2988
  ...output,
1457
2989
  body: await parseErrorBody(output.body, context),
1458
2990
  };
1459
2991
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1460
2992
  switch (errorCode) {
1461
- case "ConflictException":
1462
- case "com.amazonaws.mgn#ConflictException":
1463
- throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1464
- case "ResourceNotFoundException":
1465
- case "com.amazonaws.mgn#ResourceNotFoundException":
1466
- throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1467
2993
  case "UninitializedAccountException":
1468
2994
  case "com.amazonaws.mgn#UninitializedAccountException":
1469
2995
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
@@ -1477,14 +3003,17 @@ const deserializeAws_restJson1DisconnectFromServiceCommandError = async (output,
1477
3003
  });
1478
3004
  }
1479
3005
  };
1480
- export const deserializeAws_restJson1FinalizeCutoverCommand = async (output, context) => {
3006
+ export const deserializeAws_restJson1MarkAsArchivedCommand = async (output, context) => {
1481
3007
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1482
- return deserializeAws_restJson1FinalizeCutoverCommandError(output, context);
3008
+ return deserializeAws_restJson1MarkAsArchivedCommandError(output, context);
1483
3009
  }
1484
3010
  const contents = map({
1485
3011
  $metadata: deserializeMetadata(output),
1486
3012
  });
1487
3013
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3014
+ if (data.applicationID != null) {
3015
+ contents.applicationID = __expectString(data.applicationID);
3016
+ }
1488
3017
  if (data.arn != null) {
1489
3018
  contents.arn = __expectString(data.arn);
1490
3019
  }
@@ -1517,7 +3046,7 @@ export const deserializeAws_restJson1FinalizeCutoverCommand = async (output, con
1517
3046
  }
1518
3047
  return contents;
1519
3048
  };
1520
- const deserializeAws_restJson1FinalizeCutoverCommandError = async (output, context) => {
3049
+ const deserializeAws_restJson1MarkAsArchivedCommandError = async (output, context) => {
1521
3050
  const parsedOutput = {
1522
3051
  ...output,
1523
3052
  body: await parseErrorBody(output.body, context),
@@ -1531,72 +3060,6 @@ const deserializeAws_restJson1FinalizeCutoverCommandError = async (output, conte
1531
3060
  case "com.amazonaws.mgn#ResourceNotFoundException":
1532
3061
  throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1533
3062
  case "UninitializedAccountException":
1534
- case "com.amazonaws.mgn#UninitializedAccountException":
1535
- throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1536
- case "ValidationException":
1537
- case "com.amazonaws.mgn#ValidationException":
1538
- throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1539
- default:
1540
- const parsedBody = parsedOutput.body;
1541
- throwDefaultError({
1542
- output,
1543
- parsedBody,
1544
- exceptionCtor: __BaseException,
1545
- errorCode,
1546
- });
1547
- }
1548
- };
1549
- export const deserializeAws_restJson1GetLaunchConfigurationCommand = async (output, context) => {
1550
- if (output.statusCode !== 200 && output.statusCode >= 300) {
1551
- return deserializeAws_restJson1GetLaunchConfigurationCommandError(output, context);
1552
- }
1553
- const contents = map({
1554
- $metadata: deserializeMetadata(output),
1555
- });
1556
- const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1557
- if (data.bootMode != null) {
1558
- contents.bootMode = __expectString(data.bootMode);
1559
- }
1560
- if (data.copyPrivateIp != null) {
1561
- contents.copyPrivateIp = __expectBoolean(data.copyPrivateIp);
1562
- }
1563
- if (data.copyTags != null) {
1564
- contents.copyTags = __expectBoolean(data.copyTags);
1565
- }
1566
- if (data.ec2LaunchTemplateID != null) {
1567
- contents.ec2LaunchTemplateID = __expectString(data.ec2LaunchTemplateID);
1568
- }
1569
- if (data.launchDisposition != null) {
1570
- contents.launchDisposition = __expectString(data.launchDisposition);
1571
- }
1572
- if (data.licensing != null) {
1573
- contents.licensing = deserializeAws_restJson1Licensing(data.licensing, context);
1574
- }
1575
- if (data.name != null) {
1576
- contents.name = __expectString(data.name);
1577
- }
1578
- if (data.postLaunchActions != null) {
1579
- contents.postLaunchActions = deserializeAws_restJson1PostLaunchActions(data.postLaunchActions, context);
1580
- }
1581
- if (data.sourceServerID != null) {
1582
- contents.sourceServerID = __expectString(data.sourceServerID);
1583
- }
1584
- if (data.targetInstanceTypeRightSizingMethod != null) {
1585
- contents.targetInstanceTypeRightSizingMethod = __expectString(data.targetInstanceTypeRightSizingMethod);
1586
- }
1587
- return contents;
1588
- };
1589
- const deserializeAws_restJson1GetLaunchConfigurationCommandError = async (output, context) => {
1590
- const parsedOutput = {
1591
- ...output,
1592
- body: await parseErrorBody(output.body, context),
1593
- };
1594
- const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1595
- switch (errorCode) {
1596
- case "ResourceNotFoundException":
1597
- case "com.amazonaws.mgn#ResourceNotFoundException":
1598
- throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1599
- case "UninitializedAccountException":
1600
3063
  case "com.amazonaws.mgn#UninitializedAccountException":
1601
3064
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1602
3065
  default:
@@ -1609,74 +3072,62 @@ const deserializeAws_restJson1GetLaunchConfigurationCommandError = async (output
1609
3072
  });
1610
3073
  }
1611
3074
  };
1612
- export const deserializeAws_restJson1GetReplicationConfigurationCommand = async (output, context) => {
3075
+ export const deserializeAws_restJson1PutSourceServerActionCommand = async (output, context) => {
1613
3076
  if (output.statusCode !== 200 && output.statusCode >= 300) {
1614
- return deserializeAws_restJson1GetReplicationConfigurationCommandError(output, context);
3077
+ return deserializeAws_restJson1PutSourceServerActionCommandError(output, context);
1615
3078
  }
1616
3079
  const contents = map({
1617
3080
  $metadata: deserializeMetadata(output),
1618
3081
  });
1619
3082
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1620
- if (data.associateDefaultSecurityGroup != null) {
1621
- contents.associateDefaultSecurityGroup = __expectBoolean(data.associateDefaultSecurityGroup);
1622
- }
1623
- if (data.bandwidthThrottling != null) {
1624
- contents.bandwidthThrottling = __expectLong(data.bandwidthThrottling);
1625
- }
1626
- if (data.createPublicIP != null) {
1627
- contents.createPublicIP = __expectBoolean(data.createPublicIP);
1628
- }
1629
- if (data.dataPlaneRouting != null) {
1630
- contents.dataPlaneRouting = __expectString(data.dataPlaneRouting);
1631
- }
1632
- if (data.defaultLargeStagingDiskType != null) {
1633
- contents.defaultLargeStagingDiskType = __expectString(data.defaultLargeStagingDiskType);
1634
- }
1635
- if (data.ebsEncryption != null) {
1636
- contents.ebsEncryption = __expectString(data.ebsEncryption);
1637
- }
1638
- if (data.ebsEncryptionKeyArn != null) {
1639
- contents.ebsEncryptionKeyArn = __expectString(data.ebsEncryptionKeyArn);
3083
+ if (data.actionID != null) {
3084
+ contents.actionID = __expectString(data.actionID);
1640
3085
  }
1641
- if (data.name != null) {
1642
- contents.name = __expectString(data.name);
3086
+ if (data.actionName != null) {
3087
+ contents.actionName = __expectString(data.actionName);
1643
3088
  }
1644
- if (data.replicatedDisks != null) {
1645
- contents.replicatedDisks = deserializeAws_restJson1ReplicationConfigurationReplicatedDisks(data.replicatedDisks, context);
3089
+ if (data.active != null) {
3090
+ contents.active = __expectBoolean(data.active);
1646
3091
  }
1647
- if (data.replicationServerInstanceType != null) {
1648
- contents.replicationServerInstanceType = __expectString(data.replicationServerInstanceType);
3092
+ if (data.documentIdentifier != null) {
3093
+ contents.documentIdentifier = __expectString(data.documentIdentifier);
1649
3094
  }
1650
- if (data.replicationServersSecurityGroupsIDs != null) {
1651
- contents.replicationServersSecurityGroupsIDs = deserializeAws_restJson1ReplicationServersSecurityGroupsIDs(data.replicationServersSecurityGroupsIDs, context);
3095
+ if (data.documentVersion != null) {
3096
+ contents.documentVersion = __expectString(data.documentVersion);
1652
3097
  }
1653
- if (data.sourceServerID != null) {
1654
- contents.sourceServerID = __expectString(data.sourceServerID);
3098
+ if (data.mustSucceedForCutover != null) {
3099
+ contents.mustSucceedForCutover = __expectBoolean(data.mustSucceedForCutover);
1655
3100
  }
1656
- if (data.stagingAreaSubnetId != null) {
1657
- contents.stagingAreaSubnetId = __expectString(data.stagingAreaSubnetId);
3101
+ if (data.order != null) {
3102
+ contents.order = __expectInt32(data.order);
1658
3103
  }
1659
- if (data.stagingAreaTags != null) {
1660
- contents.stagingAreaTags = deserializeAws_restJson1TagsMap(data.stagingAreaTags, context);
3104
+ if (data.parameters != null) {
3105
+ contents.parameters = deserializeAws_restJson1SsmDocumentParameters(data.parameters, context);
1661
3106
  }
1662
- if (data.useDedicatedReplicationServer != null) {
1663
- contents.useDedicatedReplicationServer = __expectBoolean(data.useDedicatedReplicationServer);
3107
+ if (data.timeoutSeconds != null) {
3108
+ contents.timeoutSeconds = __expectInt32(data.timeoutSeconds);
1664
3109
  }
1665
3110
  return contents;
1666
3111
  };
1667
- const deserializeAws_restJson1GetReplicationConfigurationCommandError = async (output, context) => {
3112
+ const deserializeAws_restJson1PutSourceServerActionCommandError = async (output, context) => {
1668
3113
  const parsedOutput = {
1669
3114
  ...output,
1670
3115
  body: await parseErrorBody(output.body, context),
1671
3116
  };
1672
3117
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1673
3118
  switch (errorCode) {
3119
+ case "ConflictException":
3120
+ case "com.amazonaws.mgn#ConflictException":
3121
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1674
3122
  case "ResourceNotFoundException":
1675
3123
  case "com.amazonaws.mgn#ResourceNotFoundException":
1676
3124
  throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1677
3125
  case "UninitializedAccountException":
1678
3126
  case "com.amazonaws.mgn#UninitializedAccountException":
1679
3127
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
3128
+ case "ValidationException":
3129
+ case "com.amazonaws.mgn#ValidationException":
3130
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1680
3131
  default:
1681
3132
  const parsedBody = parsedOutput.body;
1682
3133
  throwDefaultError({
@@ -1686,27 +3137,63 @@ const deserializeAws_restJson1GetReplicationConfigurationCommandError = async (o
1686
3137
  errorCode,
1687
3138
  });
1688
3139
  }
1689
- };
1690
- export const deserializeAws_restJson1InitializeServiceCommand = async (output, context) => {
1691
- if (output.statusCode !== 204 && output.statusCode >= 300) {
1692
- return deserializeAws_restJson1InitializeServiceCommandError(output, context);
3140
+ };
3141
+ export const deserializeAws_restJson1PutTemplateActionCommand = async (output, context) => {
3142
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3143
+ return deserializeAws_restJson1PutTemplateActionCommandError(output, context);
1693
3144
  }
1694
3145
  const contents = map({
1695
3146
  $metadata: deserializeMetadata(output),
1696
3147
  });
1697
- await collectBody(output.body, context);
3148
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3149
+ if (data.actionID != null) {
3150
+ contents.actionID = __expectString(data.actionID);
3151
+ }
3152
+ if (data.actionName != null) {
3153
+ contents.actionName = __expectString(data.actionName);
3154
+ }
3155
+ if (data.active != null) {
3156
+ contents.active = __expectBoolean(data.active);
3157
+ }
3158
+ if (data.documentIdentifier != null) {
3159
+ contents.documentIdentifier = __expectString(data.documentIdentifier);
3160
+ }
3161
+ if (data.documentVersion != null) {
3162
+ contents.documentVersion = __expectString(data.documentVersion);
3163
+ }
3164
+ if (data.mustSucceedForCutover != null) {
3165
+ contents.mustSucceedForCutover = __expectBoolean(data.mustSucceedForCutover);
3166
+ }
3167
+ if (data.operatingSystem != null) {
3168
+ contents.operatingSystem = __expectString(data.operatingSystem);
3169
+ }
3170
+ if (data.order != null) {
3171
+ contents.order = __expectInt32(data.order);
3172
+ }
3173
+ if (data.parameters != null) {
3174
+ contents.parameters = deserializeAws_restJson1SsmDocumentParameters(data.parameters, context);
3175
+ }
3176
+ if (data.timeoutSeconds != null) {
3177
+ contents.timeoutSeconds = __expectInt32(data.timeoutSeconds);
3178
+ }
1698
3179
  return contents;
1699
3180
  };
1700
- const deserializeAws_restJson1InitializeServiceCommandError = async (output, context) => {
3181
+ const deserializeAws_restJson1PutTemplateActionCommandError = async (output, context) => {
1701
3182
  const parsedOutput = {
1702
3183
  ...output,
1703
3184
  body: await parseErrorBody(output.body, context),
1704
3185
  };
1705
3186
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1706
3187
  switch (errorCode) {
1707
- case "AccessDeniedException":
1708
- case "com.amazonaws.mgn#AccessDeniedException":
1709
- throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);
3188
+ case "ConflictException":
3189
+ case "com.amazonaws.mgn#ConflictException":
3190
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
3191
+ case "ResourceNotFoundException":
3192
+ case "com.amazonaws.mgn#ResourceNotFoundException":
3193
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
3194
+ case "UninitializedAccountException":
3195
+ case "com.amazonaws.mgn#UninitializedAccountException":
3196
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1710
3197
  case "ValidationException":
1711
3198
  case "com.amazonaws.mgn#ValidationException":
1712
3199
  throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
@@ -1720,38 +3207,29 @@ const deserializeAws_restJson1InitializeServiceCommandError = async (output, con
1720
3207
  });
1721
3208
  }
1722
3209
  };
1723
- export const deserializeAws_restJson1ListTagsForResourceCommand = async (output, context) => {
1724
- if (output.statusCode !== 200 && output.statusCode >= 300) {
1725
- return deserializeAws_restJson1ListTagsForResourceCommandError(output, context);
3210
+ export const deserializeAws_restJson1RemoveSourceServerActionCommand = async (output, context) => {
3211
+ if (output.statusCode !== 204 && output.statusCode >= 300) {
3212
+ return deserializeAws_restJson1RemoveSourceServerActionCommandError(output, context);
1726
3213
  }
1727
3214
  const contents = map({
1728
3215
  $metadata: deserializeMetadata(output),
1729
3216
  });
1730
- const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1731
- if (data.tags != null) {
1732
- contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
1733
- }
3217
+ await collectBody(output.body, context);
1734
3218
  return contents;
1735
3219
  };
1736
- const deserializeAws_restJson1ListTagsForResourceCommandError = async (output, context) => {
3220
+ const deserializeAws_restJson1RemoveSourceServerActionCommandError = async (output, context) => {
1737
3221
  const parsedOutput = {
1738
3222
  ...output,
1739
3223
  body: await parseErrorBody(output.body, context),
1740
3224
  };
1741
3225
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1742
3226
  switch (errorCode) {
1743
- case "AccessDeniedException":
1744
- case "com.amazonaws.mgn#AccessDeniedException":
1745
- throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);
1746
- case "InternalServerException":
1747
- case "com.amazonaws.mgn#InternalServerException":
1748
- throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
1749
3227
  case "ResourceNotFoundException":
1750
3228
  case "com.amazonaws.mgn#ResourceNotFoundException":
1751
3229
  throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1752
- case "ThrottlingException":
1753
- case "com.amazonaws.mgn#ThrottlingException":
1754
- throw await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context);
3230
+ case "UninitializedAccountException":
3231
+ case "com.amazonaws.mgn#UninitializedAccountException":
3232
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
1755
3233
  case "ValidationException":
1756
3234
  case "com.amazonaws.mgn#ValidationException":
1757
3235
  throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
@@ -1765,62 +3243,32 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async (output, c
1765
3243
  });
1766
3244
  }
1767
3245
  };
1768
- export const deserializeAws_restJson1MarkAsArchivedCommand = async (output, context) => {
1769
- if (output.statusCode !== 200 && output.statusCode >= 300) {
1770
- return deserializeAws_restJson1MarkAsArchivedCommandError(output, context);
3246
+ export const deserializeAws_restJson1RemoveTemplateActionCommand = async (output, context) => {
3247
+ if (output.statusCode !== 204 && output.statusCode >= 300) {
3248
+ return deserializeAws_restJson1RemoveTemplateActionCommandError(output, context);
1771
3249
  }
1772
3250
  const contents = map({
1773
3251
  $metadata: deserializeMetadata(output),
1774
3252
  });
1775
- const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
1776
- if (data.arn != null) {
1777
- contents.arn = __expectString(data.arn);
1778
- }
1779
- if (data.dataReplicationInfo != null) {
1780
- contents.dataReplicationInfo = deserializeAws_restJson1DataReplicationInfo(data.dataReplicationInfo, context);
1781
- }
1782
- if (data.isArchived != null) {
1783
- contents.isArchived = __expectBoolean(data.isArchived);
1784
- }
1785
- if (data.launchedInstance != null) {
1786
- contents.launchedInstance = deserializeAws_restJson1LaunchedInstance(data.launchedInstance, context);
1787
- }
1788
- if (data.lifeCycle != null) {
1789
- contents.lifeCycle = deserializeAws_restJson1LifeCycle(data.lifeCycle, context);
1790
- }
1791
- if (data.replicationType != null) {
1792
- contents.replicationType = __expectString(data.replicationType);
1793
- }
1794
- if (data.sourceProperties != null) {
1795
- contents.sourceProperties = deserializeAws_restJson1SourceProperties(data.sourceProperties, context);
1796
- }
1797
- if (data.sourceServerID != null) {
1798
- contents.sourceServerID = __expectString(data.sourceServerID);
1799
- }
1800
- if (data.tags != null) {
1801
- contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
1802
- }
1803
- if (data.vcenterClientID != null) {
1804
- contents.vcenterClientID = __expectString(data.vcenterClientID);
1805
- }
3253
+ await collectBody(output.body, context);
1806
3254
  return contents;
1807
3255
  };
1808
- const deserializeAws_restJson1MarkAsArchivedCommandError = async (output, context) => {
3256
+ const deserializeAws_restJson1RemoveTemplateActionCommandError = async (output, context) => {
1809
3257
  const parsedOutput = {
1810
3258
  ...output,
1811
3259
  body: await parseErrorBody(output.body, context),
1812
3260
  };
1813
3261
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1814
3262
  switch (errorCode) {
1815
- case "ConflictException":
1816
- case "com.amazonaws.mgn#ConflictException":
1817
- throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
1818
3263
  case "ResourceNotFoundException":
1819
3264
  case "com.amazonaws.mgn#ResourceNotFoundException":
1820
3265
  throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
1821
3266
  case "UninitializedAccountException":
1822
3267
  case "com.amazonaws.mgn#UninitializedAccountException":
1823
3268
  throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
3269
+ case "ValidationException":
3270
+ case "com.amazonaws.mgn#ValidationException":
3271
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
1824
3272
  default:
1825
3273
  const parsedBody = parsedOutput.body;
1826
3274
  throwDefaultError({
@@ -1839,6 +3287,9 @@ export const deserializeAws_restJson1RetryDataReplicationCommand = async (output
1839
3287
  $metadata: deserializeMetadata(output),
1840
3288
  });
1841
3289
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3290
+ if (data.applicationID != null) {
3291
+ contents.applicationID = __expectString(data.applicationID);
3292
+ }
1842
3293
  if (data.arn != null) {
1843
3294
  contents.arn = __expectString(data.arn);
1844
3295
  }
@@ -1944,6 +3395,9 @@ export const deserializeAws_restJson1StartReplicationCommand = async (output, co
1944
3395
  $metadata: deserializeMetadata(output),
1945
3396
  });
1946
3397
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3398
+ if (data.applicationID != null) {
3399
+ contents.applicationID = __expectString(data.applicationID);
3400
+ }
1947
3401
  if (data.arn != null) {
1948
3402
  contents.arn = __expectString(data.arn);
1949
3403
  }
@@ -2127,39 +3581,234 @@ const deserializeAws_restJson1TerminateTargetInstancesCommandError = async (outp
2127
3581
  errorCode,
2128
3582
  });
2129
3583
  }
2130
- };
2131
- export const deserializeAws_restJson1UntagResourceCommand = async (output, context) => {
2132
- if (output.statusCode !== 200 && output.statusCode >= 300) {
2133
- return deserializeAws_restJson1UntagResourceCommandError(output, context);
3584
+ };
3585
+ export const deserializeAws_restJson1UnarchiveApplicationCommand = async (output, context) => {
3586
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3587
+ return deserializeAws_restJson1UnarchiveApplicationCommandError(output, context);
3588
+ }
3589
+ const contents = map({
3590
+ $metadata: deserializeMetadata(output),
3591
+ });
3592
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3593
+ if (data.applicationAggregatedStatus != null) {
3594
+ contents.applicationAggregatedStatus = deserializeAws_restJson1ApplicationAggregatedStatus(data.applicationAggregatedStatus, context);
3595
+ }
3596
+ if (data.applicationID != null) {
3597
+ contents.applicationID = __expectString(data.applicationID);
3598
+ }
3599
+ if (data.arn != null) {
3600
+ contents.arn = __expectString(data.arn);
3601
+ }
3602
+ if (data.creationDateTime != null) {
3603
+ contents.creationDateTime = __expectString(data.creationDateTime);
3604
+ }
3605
+ if (data.description != null) {
3606
+ contents.description = __expectString(data.description);
3607
+ }
3608
+ if (data.isArchived != null) {
3609
+ contents.isArchived = __expectBoolean(data.isArchived);
3610
+ }
3611
+ if (data.lastModifiedDateTime != null) {
3612
+ contents.lastModifiedDateTime = __expectString(data.lastModifiedDateTime);
3613
+ }
3614
+ if (data.name != null) {
3615
+ contents.name = __expectString(data.name);
3616
+ }
3617
+ if (data.tags != null) {
3618
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
3619
+ }
3620
+ if (data.waveID != null) {
3621
+ contents.waveID = __expectString(data.waveID);
3622
+ }
3623
+ return contents;
3624
+ };
3625
+ const deserializeAws_restJson1UnarchiveApplicationCommandError = async (output, context) => {
3626
+ const parsedOutput = {
3627
+ ...output,
3628
+ body: await parseErrorBody(output.body, context),
3629
+ };
3630
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
3631
+ switch (errorCode) {
3632
+ case "ResourceNotFoundException":
3633
+ case "com.amazonaws.mgn#ResourceNotFoundException":
3634
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
3635
+ case "ServiceQuotaExceededException":
3636
+ case "com.amazonaws.mgn#ServiceQuotaExceededException":
3637
+ throw await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context);
3638
+ case "UninitializedAccountException":
3639
+ case "com.amazonaws.mgn#UninitializedAccountException":
3640
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
3641
+ default:
3642
+ const parsedBody = parsedOutput.body;
3643
+ throwDefaultError({
3644
+ output,
3645
+ parsedBody,
3646
+ exceptionCtor: __BaseException,
3647
+ errorCode,
3648
+ });
3649
+ }
3650
+ };
3651
+ export const deserializeAws_restJson1UnarchiveWaveCommand = async (output, context) => {
3652
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3653
+ return deserializeAws_restJson1UnarchiveWaveCommandError(output, context);
3654
+ }
3655
+ const contents = map({
3656
+ $metadata: deserializeMetadata(output),
3657
+ });
3658
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3659
+ if (data.arn != null) {
3660
+ contents.arn = __expectString(data.arn);
3661
+ }
3662
+ if (data.creationDateTime != null) {
3663
+ contents.creationDateTime = __expectString(data.creationDateTime);
3664
+ }
3665
+ if (data.description != null) {
3666
+ contents.description = __expectString(data.description);
3667
+ }
3668
+ if (data.isArchived != null) {
3669
+ contents.isArchived = __expectBoolean(data.isArchived);
3670
+ }
3671
+ if (data.lastModifiedDateTime != null) {
3672
+ contents.lastModifiedDateTime = __expectString(data.lastModifiedDateTime);
3673
+ }
3674
+ if (data.name != null) {
3675
+ contents.name = __expectString(data.name);
3676
+ }
3677
+ if (data.tags != null) {
3678
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
3679
+ }
3680
+ if (data.waveAggregatedStatus != null) {
3681
+ contents.waveAggregatedStatus = deserializeAws_restJson1WaveAggregatedStatus(data.waveAggregatedStatus, context);
3682
+ }
3683
+ if (data.waveID != null) {
3684
+ contents.waveID = __expectString(data.waveID);
3685
+ }
3686
+ return contents;
3687
+ };
3688
+ const deserializeAws_restJson1UnarchiveWaveCommandError = async (output, context) => {
3689
+ const parsedOutput = {
3690
+ ...output,
3691
+ body: await parseErrorBody(output.body, context),
3692
+ };
3693
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
3694
+ switch (errorCode) {
3695
+ case "ResourceNotFoundException":
3696
+ case "com.amazonaws.mgn#ResourceNotFoundException":
3697
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
3698
+ case "ServiceQuotaExceededException":
3699
+ case "com.amazonaws.mgn#ServiceQuotaExceededException":
3700
+ throw await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context);
3701
+ case "UninitializedAccountException":
3702
+ case "com.amazonaws.mgn#UninitializedAccountException":
3703
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
3704
+ default:
3705
+ const parsedBody = parsedOutput.body;
3706
+ throwDefaultError({
3707
+ output,
3708
+ parsedBody,
3709
+ exceptionCtor: __BaseException,
3710
+ errorCode,
3711
+ });
3712
+ }
3713
+ };
3714
+ export const deserializeAws_restJson1UntagResourceCommand = async (output, context) => {
3715
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3716
+ return deserializeAws_restJson1UntagResourceCommandError(output, context);
3717
+ }
3718
+ const contents = map({
3719
+ $metadata: deserializeMetadata(output),
3720
+ });
3721
+ await collectBody(output.body, context);
3722
+ return contents;
3723
+ };
3724
+ const deserializeAws_restJson1UntagResourceCommandError = async (output, context) => {
3725
+ const parsedOutput = {
3726
+ ...output,
3727
+ body: await parseErrorBody(output.body, context),
3728
+ };
3729
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
3730
+ switch (errorCode) {
3731
+ case "AccessDeniedException":
3732
+ case "com.amazonaws.mgn#AccessDeniedException":
3733
+ throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);
3734
+ case "InternalServerException":
3735
+ case "com.amazonaws.mgn#InternalServerException":
3736
+ throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
3737
+ case "ResourceNotFoundException":
3738
+ case "com.amazonaws.mgn#ResourceNotFoundException":
3739
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
3740
+ case "ThrottlingException":
3741
+ case "com.amazonaws.mgn#ThrottlingException":
3742
+ throw await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context);
3743
+ case "ValidationException":
3744
+ case "com.amazonaws.mgn#ValidationException":
3745
+ throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
3746
+ default:
3747
+ const parsedBody = parsedOutput.body;
3748
+ throwDefaultError({
3749
+ output,
3750
+ parsedBody,
3751
+ exceptionCtor: __BaseException,
3752
+ errorCode,
3753
+ });
3754
+ }
3755
+ };
3756
+ export const deserializeAws_restJson1UpdateApplicationCommand = async (output, context) => {
3757
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3758
+ return deserializeAws_restJson1UpdateApplicationCommandError(output, context);
3759
+ }
3760
+ const contents = map({
3761
+ $metadata: deserializeMetadata(output),
3762
+ });
3763
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3764
+ if (data.applicationAggregatedStatus != null) {
3765
+ contents.applicationAggregatedStatus = deserializeAws_restJson1ApplicationAggregatedStatus(data.applicationAggregatedStatus, context);
3766
+ }
3767
+ if (data.applicationID != null) {
3768
+ contents.applicationID = __expectString(data.applicationID);
3769
+ }
3770
+ if (data.arn != null) {
3771
+ contents.arn = __expectString(data.arn);
3772
+ }
3773
+ if (data.creationDateTime != null) {
3774
+ contents.creationDateTime = __expectString(data.creationDateTime);
3775
+ }
3776
+ if (data.description != null) {
3777
+ contents.description = __expectString(data.description);
3778
+ }
3779
+ if (data.isArchived != null) {
3780
+ contents.isArchived = __expectBoolean(data.isArchived);
3781
+ }
3782
+ if (data.lastModifiedDateTime != null) {
3783
+ contents.lastModifiedDateTime = __expectString(data.lastModifiedDateTime);
3784
+ }
3785
+ if (data.name != null) {
3786
+ contents.name = __expectString(data.name);
3787
+ }
3788
+ if (data.tags != null) {
3789
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
3790
+ }
3791
+ if (data.waveID != null) {
3792
+ contents.waveID = __expectString(data.waveID);
2134
3793
  }
2135
- const contents = map({
2136
- $metadata: deserializeMetadata(output),
2137
- });
2138
- await collectBody(output.body, context);
2139
3794
  return contents;
2140
3795
  };
2141
- const deserializeAws_restJson1UntagResourceCommandError = async (output, context) => {
3796
+ const deserializeAws_restJson1UpdateApplicationCommandError = async (output, context) => {
2142
3797
  const parsedOutput = {
2143
3798
  ...output,
2144
3799
  body: await parseErrorBody(output.body, context),
2145
3800
  };
2146
3801
  const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2147
3802
  switch (errorCode) {
2148
- case "AccessDeniedException":
2149
- case "com.amazonaws.mgn#AccessDeniedException":
2150
- throw await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context);
2151
- case "InternalServerException":
2152
- case "com.amazonaws.mgn#InternalServerException":
2153
- throw await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context);
3803
+ case "ConflictException":
3804
+ case "com.amazonaws.mgn#ConflictException":
3805
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
2154
3806
  case "ResourceNotFoundException":
2155
3807
  case "com.amazonaws.mgn#ResourceNotFoundException":
2156
3808
  throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
2157
- case "ThrottlingException":
2158
- case "com.amazonaws.mgn#ThrottlingException":
2159
- throw await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context);
2160
- case "ValidationException":
2161
- case "com.amazonaws.mgn#ValidationException":
2162
- throw await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context);
3809
+ case "UninitializedAccountException":
3810
+ case "com.amazonaws.mgn#UninitializedAccountException":
3811
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
2163
3812
  default:
2164
3813
  const parsedBody = parsedOutput.body;
2165
3814
  throwDefaultError({
@@ -2190,12 +3839,18 @@ export const deserializeAws_restJson1UpdateLaunchConfigurationCommand = async (o
2190
3839
  if (data.ec2LaunchTemplateID != null) {
2191
3840
  contents.ec2LaunchTemplateID = __expectString(data.ec2LaunchTemplateID);
2192
3841
  }
3842
+ if (data.enableMapAutoTagging != null) {
3843
+ contents.enableMapAutoTagging = __expectBoolean(data.enableMapAutoTagging);
3844
+ }
2193
3845
  if (data.launchDisposition != null) {
2194
3846
  contents.launchDisposition = __expectString(data.launchDisposition);
2195
3847
  }
2196
3848
  if (data.licensing != null) {
2197
3849
  contents.licensing = deserializeAws_restJson1Licensing(data.licensing, context);
2198
3850
  }
3851
+ if (data.mapAutoTaggingMpeID != null) {
3852
+ contents.mapAutoTaggingMpeID = __expectString(data.mapAutoTaggingMpeID);
3853
+ }
2199
3854
  if (data.name != null) {
2200
3855
  contents.name = __expectString(data.name);
2201
3856
  }
@@ -2250,15 +3905,54 @@ export const deserializeAws_restJson1UpdateLaunchConfigurationTemplateCommand =
2250
3905
  if (data.arn != null) {
2251
3906
  contents.arn = __expectString(data.arn);
2252
3907
  }
3908
+ if (data.associatePublicIpAddress != null) {
3909
+ contents.associatePublicIpAddress = __expectBoolean(data.associatePublicIpAddress);
3910
+ }
3911
+ if (data.bootMode != null) {
3912
+ contents.bootMode = __expectString(data.bootMode);
3913
+ }
3914
+ if (data.copyPrivateIp != null) {
3915
+ contents.copyPrivateIp = __expectBoolean(data.copyPrivateIp);
3916
+ }
3917
+ if (data.copyTags != null) {
3918
+ contents.copyTags = __expectBoolean(data.copyTags);
3919
+ }
3920
+ if (data.ec2LaunchTemplateID != null) {
3921
+ contents.ec2LaunchTemplateID = __expectString(data.ec2LaunchTemplateID);
3922
+ }
3923
+ if (data.enableMapAutoTagging != null) {
3924
+ contents.enableMapAutoTagging = __expectBoolean(data.enableMapAutoTagging);
3925
+ }
3926
+ if (data.largeVolumeConf != null) {
3927
+ contents.largeVolumeConf = deserializeAws_restJson1LaunchTemplateDiskConf(data.largeVolumeConf, context);
3928
+ }
2253
3929
  if (data.launchConfigurationTemplateID != null) {
2254
3930
  contents.launchConfigurationTemplateID = __expectString(data.launchConfigurationTemplateID);
2255
3931
  }
3932
+ if (data.launchDisposition != null) {
3933
+ contents.launchDisposition = __expectString(data.launchDisposition);
3934
+ }
3935
+ if (data.licensing != null) {
3936
+ contents.licensing = deserializeAws_restJson1Licensing(data.licensing, context);
3937
+ }
3938
+ if (data.mapAutoTaggingMpeID != null) {
3939
+ contents.mapAutoTaggingMpeID = __expectString(data.mapAutoTaggingMpeID);
3940
+ }
2256
3941
  if (data.postLaunchActions != null) {
2257
3942
  contents.postLaunchActions = deserializeAws_restJson1PostLaunchActions(data.postLaunchActions, context);
2258
3943
  }
3944
+ if (data.smallVolumeConf != null) {
3945
+ contents.smallVolumeConf = deserializeAws_restJson1LaunchTemplateDiskConf(data.smallVolumeConf, context);
3946
+ }
3947
+ if (data.smallVolumeMaxSize != null) {
3948
+ contents.smallVolumeMaxSize = __expectLong(data.smallVolumeMaxSize);
3949
+ }
2259
3950
  if (data.tags != null) {
2260
3951
  contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
2261
3952
  }
3953
+ if (data.targetInstanceTypeRightSizingMethod != null) {
3954
+ contents.targetInstanceTypeRightSizingMethod = __expectString(data.targetInstanceTypeRightSizingMethod);
3955
+ }
2262
3956
  return contents;
2263
3957
  };
2264
3958
  const deserializeAws_restJson1UpdateLaunchConfigurationTemplateCommandError = async (output, context) => {
@@ -2469,6 +4163,9 @@ export const deserializeAws_restJson1UpdateSourceServerReplicationTypeCommand =
2469
4163
  $metadata: deserializeMetadata(output),
2470
4164
  });
2471
4165
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4166
+ if (data.applicationID != null) {
4167
+ contents.applicationID = __expectString(data.applicationID);
4168
+ }
2472
4169
  if (data.arn != null) {
2473
4170
  contents.arn = __expectString(data.arn);
2474
4171
  }
@@ -2530,6 +4227,69 @@ const deserializeAws_restJson1UpdateSourceServerReplicationTypeCommandError = as
2530
4227
  });
2531
4228
  }
2532
4229
  };
4230
+ export const deserializeAws_restJson1UpdateWaveCommand = async (output, context) => {
4231
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4232
+ return deserializeAws_restJson1UpdateWaveCommandError(output, context);
4233
+ }
4234
+ const contents = map({
4235
+ $metadata: deserializeMetadata(output),
4236
+ });
4237
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4238
+ if (data.arn != null) {
4239
+ contents.arn = __expectString(data.arn);
4240
+ }
4241
+ if (data.creationDateTime != null) {
4242
+ contents.creationDateTime = __expectString(data.creationDateTime);
4243
+ }
4244
+ if (data.description != null) {
4245
+ contents.description = __expectString(data.description);
4246
+ }
4247
+ if (data.isArchived != null) {
4248
+ contents.isArchived = __expectBoolean(data.isArchived);
4249
+ }
4250
+ if (data.lastModifiedDateTime != null) {
4251
+ contents.lastModifiedDateTime = __expectString(data.lastModifiedDateTime);
4252
+ }
4253
+ if (data.name != null) {
4254
+ contents.name = __expectString(data.name);
4255
+ }
4256
+ if (data.tags != null) {
4257
+ contents.tags = deserializeAws_restJson1TagsMap(data.tags, context);
4258
+ }
4259
+ if (data.waveAggregatedStatus != null) {
4260
+ contents.waveAggregatedStatus = deserializeAws_restJson1WaveAggregatedStatus(data.waveAggregatedStatus, context);
4261
+ }
4262
+ if (data.waveID != null) {
4263
+ contents.waveID = __expectString(data.waveID);
4264
+ }
4265
+ return contents;
4266
+ };
4267
+ const deserializeAws_restJson1UpdateWaveCommandError = async (output, context) => {
4268
+ const parsedOutput = {
4269
+ ...output,
4270
+ body: await parseErrorBody(output.body, context),
4271
+ };
4272
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
4273
+ switch (errorCode) {
4274
+ case "ConflictException":
4275
+ case "com.amazonaws.mgn#ConflictException":
4276
+ throw await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context);
4277
+ case "ResourceNotFoundException":
4278
+ case "com.amazonaws.mgn#ResourceNotFoundException":
4279
+ throw await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context);
4280
+ case "UninitializedAccountException":
4281
+ case "com.amazonaws.mgn#UninitializedAccountException":
4282
+ throw await deserializeAws_restJson1UninitializedAccountExceptionResponse(parsedOutput, context);
4283
+ default:
4284
+ const parsedBody = parsedOutput.body;
4285
+ throwDefaultError({
4286
+ output,
4287
+ parsedBody,
4288
+ exceptionCtor: __BaseException,
4289
+ errorCode,
4290
+ });
4291
+ }
4292
+ };
2533
4293
  const map = __map;
2534
4294
  const deserializeAws_restJson1AccessDeniedExceptionResponse = async (parsedOutput, context) => {
2535
4295
  const contents = map({});
@@ -2694,6 +4454,34 @@ const deserializeAws_restJson1ValidationExceptionResponse = async (parsedOutput,
2694
4454
  });
2695
4455
  return __decorateServiceException(exception, parsedOutput.body);
2696
4456
  };
4457
+ const serializeAws_restJson1ActionIDs = (input, context) => {
4458
+ return input
4459
+ .filter((e) => e != null)
4460
+ .map((entry) => {
4461
+ return entry;
4462
+ });
4463
+ };
4464
+ const serializeAws_restJson1ApplicationIDs = (input, context) => {
4465
+ return input
4466
+ .filter((e) => e != null)
4467
+ .map((entry) => {
4468
+ return entry;
4469
+ });
4470
+ };
4471
+ const serializeAws_restJson1ApplicationIDsFilter = (input, context) => {
4472
+ return input
4473
+ .filter((e) => e != null)
4474
+ .map((entry) => {
4475
+ return entry;
4476
+ });
4477
+ };
4478
+ const serializeAws_restJson1AssociateSourceServersRequestSourceServerIDs = (input, context) => {
4479
+ return input
4480
+ .filter((e) => e != null)
4481
+ .map((entry) => {
4482
+ return entry;
4483
+ });
4484
+ };
2697
4485
  const serializeAws_restJson1ChangeServerLifeCycleStateSourceServerLifecycle = (input, context) => {
2698
4486
  return {
2699
4487
  ...(input.state != null && { state: input.state }),
@@ -2715,8 +4503,18 @@ const serializeAws_restJson1DescribeJobsRequestFiltersJobIDs = (input, context)
2715
4503
  return entry;
2716
4504
  });
2717
4505
  };
4506
+ const serializeAws_restJson1DescribeSourceServersRequestApplicationIDs = (input, context) => {
4507
+ return input
4508
+ .filter((e) => e != null)
4509
+ .map((entry) => {
4510
+ return entry;
4511
+ });
4512
+ };
2718
4513
  const serializeAws_restJson1DescribeSourceServersRequestFilters = (input, context) => {
2719
4514
  return {
4515
+ ...(input.applicationIDs != null && {
4516
+ applicationIDs: serializeAws_restJson1DescribeSourceServersRequestApplicationIDs(input.applicationIDs, context),
4517
+ }),
2720
4518
  ...(input.isArchived != null && { isArchived: input.isArchived }),
2721
4519
  ...(input.lifeCycleStates != null && {
2722
4520
  lifeCycleStates: serializeAws_restJson1LifeCycleStates(input.lifeCycleStates, context),
@@ -2736,6 +4534,13 @@ const serializeAws_restJson1DescribeSourceServersRequestFiltersIDs = (input, con
2736
4534
  return entry;
2737
4535
  });
2738
4536
  };
4537
+ const serializeAws_restJson1DisassociateSourceServersRequestSourceServerIDs = (input, context) => {
4538
+ return input
4539
+ .filter((e) => e != null)
4540
+ .map((entry) => {
4541
+ return entry;
4542
+ });
4543
+ };
2739
4544
  const serializeAws_restJson1LaunchConfigurationTemplateIDs = (input, context) => {
2740
4545
  return input
2741
4546
  .filter((e) => e != null)
@@ -2743,6 +4548,13 @@ const serializeAws_restJson1LaunchConfigurationTemplateIDs = (input, context) =>
2743
4548
  return entry;
2744
4549
  });
2745
4550
  };
4551
+ const serializeAws_restJson1LaunchTemplateDiskConf = (input, context) => {
4552
+ return {
4553
+ ...(input.iops != null && { iops: input.iops }),
4554
+ ...(input.throughput != null && { throughput: input.throughput }),
4555
+ ...(input.volumeType != null && { volumeType: input.volumeType }),
4556
+ };
4557
+ };
2746
4558
  const serializeAws_restJson1Licensing = (input, context) => {
2747
4559
  return {
2748
4560
  ...(input.osByol != null && { osByol: input.osByol }),
@@ -2755,6 +4567,21 @@ const serializeAws_restJson1LifeCycleStates = (input, context) => {
2755
4567
  return entry;
2756
4568
  });
2757
4569
  };
4570
+ const serializeAws_restJson1ListApplicationsRequestFilters = (input, context) => {
4571
+ return {
4572
+ ...(input.applicationIDs != null && {
4573
+ applicationIDs: serializeAws_restJson1ApplicationIDsFilter(input.applicationIDs, context),
4574
+ }),
4575
+ ...(input.isArchived != null && { isArchived: input.isArchived }),
4576
+ ...(input.waveIDs != null && { waveIDs: serializeAws_restJson1WaveIDsFilter(input.waveIDs, context) }),
4577
+ };
4578
+ };
4579
+ const serializeAws_restJson1ListWavesRequestFilters = (input, context) => {
4580
+ return {
4581
+ ...(input.isArchived != null && { isArchived: input.isArchived }),
4582
+ ...(input.waveIDs != null && { waveIDs: serializeAws_restJson1WaveIDsFilter(input.waveIDs, context) }),
4583
+ };
4584
+ };
2758
4585
  const serializeAws_restJson1PostLaunchActions = (input, context) => {
2759
4586
  return {
2760
4587
  ...(input.cloudWatchLogGroupName != null && { cloudWatchLogGroupName: input.cloudWatchLogGroupName }),
@@ -2803,6 +4630,11 @@ const serializeAws_restJson1ReplicationTypes = (input, context) => {
2803
4630
  return entry;
2804
4631
  });
2805
4632
  };
4633
+ const serializeAws_restJson1SourceServerActionsRequestFilters = (input, context) => {
4634
+ return {
4635
+ ...(input.actionIDs != null && { actionIDs: serializeAws_restJson1ActionIDs(input.actionIDs, context) }),
4636
+ };
4637
+ };
2806
4638
  const serializeAws_restJson1SsmDocument = (input, context) => {
2807
4639
  return {
2808
4640
  ...(input.actionName != null && { actionName: input.actionName }),
@@ -2866,6 +4698,11 @@ const serializeAws_restJson1TagsMap = (input, context) => {
2866
4698
  return acc;
2867
4699
  }, {});
2868
4700
  };
4701
+ const serializeAws_restJson1TemplateActionsRequestFilters = (input, context) => {
4702
+ return {
4703
+ ...(input.actionIDs != null && { actionIDs: serializeAws_restJson1ActionIDs(input.actionIDs, context) }),
4704
+ };
4705
+ };
2869
4706
  const serializeAws_restJson1TerminateTargetInstancesRequestSourceServerIDs = (input, context) => {
2870
4707
  return input
2871
4708
  .filter((e) => e != null)
@@ -2873,6 +4710,48 @@ const serializeAws_restJson1TerminateTargetInstancesRequestSourceServerIDs = (in
2873
4710
  return entry;
2874
4711
  });
2875
4712
  };
4713
+ const serializeAws_restJson1WaveIDsFilter = (input, context) => {
4714
+ return input
4715
+ .filter((e) => e != null)
4716
+ .map((entry) => {
4717
+ return entry;
4718
+ });
4719
+ };
4720
+ const deserializeAws_restJson1Application = (output, context) => {
4721
+ return {
4722
+ applicationAggregatedStatus: output.applicationAggregatedStatus != null
4723
+ ? deserializeAws_restJson1ApplicationAggregatedStatus(output.applicationAggregatedStatus, context)
4724
+ : undefined,
4725
+ applicationID: __expectString(output.applicationID),
4726
+ arn: __expectString(output.arn),
4727
+ creationDateTime: __expectString(output.creationDateTime),
4728
+ description: __expectString(output.description),
4729
+ isArchived: __expectBoolean(output.isArchived),
4730
+ lastModifiedDateTime: __expectString(output.lastModifiedDateTime),
4731
+ name: __expectString(output.name),
4732
+ tags: output.tags != null ? deserializeAws_restJson1TagsMap(output.tags, context) : undefined,
4733
+ waveID: __expectString(output.waveID),
4734
+ };
4735
+ };
4736
+ const deserializeAws_restJson1ApplicationAggregatedStatus = (output, context) => {
4737
+ return {
4738
+ healthStatus: __expectString(output.healthStatus),
4739
+ lastUpdateDateTime: __expectString(output.lastUpdateDateTime),
4740
+ progressStatus: __expectString(output.progressStatus),
4741
+ totalSourceServers: __expectLong(output.totalSourceServers),
4742
+ };
4743
+ };
4744
+ const deserializeAws_restJson1ApplicationsList = (output, context) => {
4745
+ const retVal = (output || [])
4746
+ .filter((e) => e != null)
4747
+ .map((entry) => {
4748
+ if (entry === null) {
4749
+ return null;
4750
+ }
4751
+ return deserializeAws_restJson1Application(entry, context);
4752
+ });
4753
+ return retVal;
4754
+ };
2876
4755
  const deserializeAws_restJson1ConflictExceptionErrors = (output, context) => {
2877
4756
  const retVal = (output || [])
2878
4757
  .filter((e) => e != null)
@@ -3077,11 +4956,28 @@ const deserializeAws_restJson1JobsList = (output, context) => {
3077
4956
  const deserializeAws_restJson1LaunchConfigurationTemplate = (output, context) => {
3078
4957
  return {
3079
4958
  arn: __expectString(output.arn),
4959
+ associatePublicIpAddress: __expectBoolean(output.associatePublicIpAddress),
4960
+ bootMode: __expectString(output.bootMode),
4961
+ copyPrivateIp: __expectBoolean(output.copyPrivateIp),
4962
+ copyTags: __expectBoolean(output.copyTags),
4963
+ ec2LaunchTemplateID: __expectString(output.ec2LaunchTemplateID),
4964
+ enableMapAutoTagging: __expectBoolean(output.enableMapAutoTagging),
4965
+ largeVolumeConf: output.largeVolumeConf != null
4966
+ ? deserializeAws_restJson1LaunchTemplateDiskConf(output.largeVolumeConf, context)
4967
+ : undefined,
3080
4968
  launchConfigurationTemplateID: __expectString(output.launchConfigurationTemplateID),
4969
+ launchDisposition: __expectString(output.launchDisposition),
4970
+ licensing: output.licensing != null ? deserializeAws_restJson1Licensing(output.licensing, context) : undefined,
4971
+ mapAutoTaggingMpeID: __expectString(output.mapAutoTaggingMpeID),
3081
4972
  postLaunchActions: output.postLaunchActions != null
3082
4973
  ? deserializeAws_restJson1PostLaunchActions(output.postLaunchActions, context)
3083
4974
  : undefined,
4975
+ smallVolumeConf: output.smallVolumeConf != null
4976
+ ? deserializeAws_restJson1LaunchTemplateDiskConf(output.smallVolumeConf, context)
4977
+ : undefined,
4978
+ smallVolumeMaxSize: __expectLong(output.smallVolumeMaxSize),
3084
4979
  tags: output.tags != null ? deserializeAws_restJson1TagsMap(output.tags, context) : undefined,
4980
+ targetInstanceTypeRightSizingMethod: __expectString(output.targetInstanceTypeRightSizingMethod),
3085
4981
  };
3086
4982
  };
3087
4983
  const deserializeAws_restJson1LaunchConfigurationTemplates = (output, context) => {
@@ -3102,6 +4998,13 @@ const deserializeAws_restJson1LaunchedInstance = (output, context) => {
3102
4998
  jobID: __expectString(output.jobID),
3103
4999
  };
3104
5000
  };
5001
+ const deserializeAws_restJson1LaunchTemplateDiskConf = (output, context) => {
5002
+ return {
5003
+ iops: __expectLong(output.iops),
5004
+ throughput: __expectLong(output.throughput),
5005
+ volumeType: __expectString(output.volumeType),
5006
+ };
5007
+ };
3105
5008
  const deserializeAws_restJson1Licensing = (output, context) => {
3106
5009
  return {
3107
5010
  osByol: __expectBoolean(output.osByol),
@@ -3329,6 +5232,7 @@ const deserializeAws_restJson1SourceProperties = (output, context) => {
3329
5232
  };
3330
5233
  const deserializeAws_restJson1SourceServer = (output, context) => {
3331
5234
  return {
5235
+ applicationID: __expectString(output.applicationID),
3332
5236
  arn: __expectString(output.arn),
3333
5237
  dataReplicationInfo: output.dataReplicationInfo != null
3334
5238
  ? deserializeAws_restJson1DataReplicationInfo(output.dataReplicationInfo, context)
@@ -3347,6 +5251,30 @@ const deserializeAws_restJson1SourceServer = (output, context) => {
3347
5251
  vcenterClientID: __expectString(output.vcenterClientID),
3348
5252
  };
3349
5253
  };
5254
+ const deserializeAws_restJson1SourceServerActionDocument = (output, context) => {
5255
+ return {
5256
+ actionID: __expectString(output.actionID),
5257
+ actionName: __expectString(output.actionName),
5258
+ active: __expectBoolean(output.active),
5259
+ documentIdentifier: __expectString(output.documentIdentifier),
5260
+ documentVersion: __expectString(output.documentVersion),
5261
+ mustSucceedForCutover: __expectBoolean(output.mustSucceedForCutover),
5262
+ order: __expectInt32(output.order),
5263
+ parameters: output.parameters != null ? deserializeAws_restJson1SsmDocumentParameters(output.parameters, context) : undefined,
5264
+ timeoutSeconds: __expectInt32(output.timeoutSeconds),
5265
+ };
5266
+ };
5267
+ const deserializeAws_restJson1SourceServerActionDocuments = (output, context) => {
5268
+ const retVal = (output || [])
5269
+ .filter((e) => e != null)
5270
+ .map((entry) => {
5271
+ if (entry === null) {
5272
+ return null;
5273
+ }
5274
+ return deserializeAws_restJson1SourceServerActionDocument(entry, context);
5275
+ });
5276
+ return retVal;
5277
+ };
3350
5278
  const deserializeAws_restJson1SourceServersList = (output, context) => {
3351
5279
  const retVal = (output || [])
3352
5280
  .filter((e) => e != null)
@@ -3413,6 +5341,31 @@ const deserializeAws_restJson1TagsMap = (output, context) => {
3413
5341
  return acc;
3414
5342
  }, {});
3415
5343
  };
5344
+ const deserializeAws_restJson1TemplateActionDocument = (output, context) => {
5345
+ return {
5346
+ actionID: __expectString(output.actionID),
5347
+ actionName: __expectString(output.actionName),
5348
+ active: __expectBoolean(output.active),
5349
+ documentIdentifier: __expectString(output.documentIdentifier),
5350
+ documentVersion: __expectString(output.documentVersion),
5351
+ mustSucceedForCutover: __expectBoolean(output.mustSucceedForCutover),
5352
+ operatingSystem: __expectString(output.operatingSystem),
5353
+ order: __expectInt32(output.order),
5354
+ parameters: output.parameters != null ? deserializeAws_restJson1SsmDocumentParameters(output.parameters, context) : undefined,
5355
+ timeoutSeconds: __expectInt32(output.timeoutSeconds),
5356
+ };
5357
+ };
5358
+ const deserializeAws_restJson1TemplateActionDocuments = (output, context) => {
5359
+ const retVal = (output || [])
5360
+ .filter((e) => e != null)
5361
+ .map((entry) => {
5362
+ if (entry === null) {
5363
+ return null;
5364
+ }
5365
+ return deserializeAws_restJson1TemplateActionDocument(entry, context);
5366
+ });
5367
+ return retVal;
5368
+ };
3416
5369
  const deserializeAws_restJson1ValidationExceptionField = (output, context) => {
3417
5370
  return {
3418
5371
  message: __expectString(output.message),
@@ -3453,6 +5406,41 @@ const deserializeAws_restJson1VcenterClientList = (output, context) => {
3453
5406
  });
3454
5407
  return retVal;
3455
5408
  };
5409
+ const deserializeAws_restJson1Wave = (output, context) => {
5410
+ return {
5411
+ arn: __expectString(output.arn),
5412
+ creationDateTime: __expectString(output.creationDateTime),
5413
+ description: __expectString(output.description),
5414
+ isArchived: __expectBoolean(output.isArchived),
5415
+ lastModifiedDateTime: __expectString(output.lastModifiedDateTime),
5416
+ name: __expectString(output.name),
5417
+ tags: output.tags != null ? deserializeAws_restJson1TagsMap(output.tags, context) : undefined,
5418
+ waveAggregatedStatus: output.waveAggregatedStatus != null
5419
+ ? deserializeAws_restJson1WaveAggregatedStatus(output.waveAggregatedStatus, context)
5420
+ : undefined,
5421
+ waveID: __expectString(output.waveID),
5422
+ };
5423
+ };
5424
+ const deserializeAws_restJson1WaveAggregatedStatus = (output, context) => {
5425
+ return {
5426
+ healthStatus: __expectString(output.healthStatus),
5427
+ lastUpdateDateTime: __expectString(output.lastUpdateDateTime),
5428
+ progressStatus: __expectString(output.progressStatus),
5429
+ replicationStartedDateTime: __expectString(output.replicationStartedDateTime),
5430
+ totalApplications: __expectLong(output.totalApplications),
5431
+ };
5432
+ };
5433
+ const deserializeAws_restJson1WavesList = (output, context) => {
5434
+ const retVal = (output || [])
5435
+ .filter((e) => e != null)
5436
+ .map((entry) => {
5437
+ if (entry === null) {
5438
+ return null;
5439
+ }
5440
+ return deserializeAws_restJson1Wave(entry, context);
5441
+ });
5442
+ return retVal;
5443
+ };
3456
5444
  const deserializeMetadata = (output) => ({
3457
5445
  httpStatusCode: output.statusCode,
3458
5446
  requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],