@aws-sdk/client-dlm 3.312.0 → 3.315.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.
@@ -1,5 +1,5 @@
1
1
  import { HttpRequest as __HttpRequest } from "@aws-sdk/protocol-http";
2
- import { decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectInt32 as __expectInt32, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, map as __map, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, resolvedPath as __resolvedPath, throwDefaultError, } from "@aws-sdk/smithy-client";
2
+ import { _json, decorateServiceException as __decorateServiceException, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, map, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, resolvedPath as __resolvedPath, take, withBaseException, } from "@aws-sdk/smithy-client";
3
3
  import { DLMServiceException as __BaseException } from "../models/DLMServiceException";
4
4
  import { InternalServerException, InvalidRequestException, LimitExceededException, ResourceNotFoundException, } from "../models/models_0";
5
5
  export const se_CreateLifecyclePolicyCommand = async (input, context) => {
@@ -9,13 +9,13 @@ export const se_CreateLifecyclePolicyCommand = async (input, context) => {
9
9
  };
10
10
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/policies";
11
11
  let body;
12
- body = JSON.stringify({
13
- ...(input.Description != null && { Description: input.Description }),
14
- ...(input.ExecutionRoleArn != null && { ExecutionRoleArn: input.ExecutionRoleArn }),
15
- ...(input.PolicyDetails != null && { PolicyDetails: se_PolicyDetails(input.PolicyDetails, context) }),
16
- ...(input.State != null && { State: input.State }),
17
- ...(input.Tags != null && { Tags: se_TagMap(input.Tags, context) }),
18
- });
12
+ body = JSON.stringify(take(input, {
13
+ Description: [],
14
+ ExecutionRoleArn: [],
15
+ PolicyDetails: (_) => _json(_),
16
+ State: [],
17
+ Tags: (_) => _json(_),
18
+ }));
19
19
  return new __HttpRequest({
20
20
  protocol,
21
21
  hostname,
@@ -108,9 +108,9 @@ export const se_TagResourceCommand = async (input, context) => {
108
108
  let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags/{ResourceArn}";
109
109
  resolvedPath = __resolvedPath(resolvedPath, input, "ResourceArn", () => input.ResourceArn, "{ResourceArn}", false);
110
110
  let body;
111
- body = JSON.stringify({
112
- ...(input.Tags != null && { Tags: se_TagMap(input.Tags, context) }),
113
- });
111
+ body = JSON.stringify(take(input, {
112
+ Tags: (_) => _json(_),
113
+ }));
114
114
  return new __HttpRequest({
115
115
  protocol,
116
116
  hostname,
@@ -152,12 +152,12 @@ export const se_UpdateLifecyclePolicyCommand = async (input, context) => {
152
152
  let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/policies/{PolicyId}";
153
153
  resolvedPath = __resolvedPath(resolvedPath, input, "PolicyId", () => input.PolicyId, "{PolicyId}", false);
154
154
  let body;
155
- body = JSON.stringify({
156
- ...(input.Description != null && { Description: input.Description }),
157
- ...(input.ExecutionRoleArn != null && { ExecutionRoleArn: input.ExecutionRoleArn }),
158
- ...(input.PolicyDetails != null && { PolicyDetails: se_PolicyDetails(input.PolicyDetails, context) }),
159
- ...(input.State != null && { State: input.State }),
160
- });
155
+ body = JSON.stringify(take(input, {
156
+ Description: [],
157
+ ExecutionRoleArn: [],
158
+ PolicyDetails: (_) => _json(_),
159
+ State: [],
160
+ }));
161
161
  return new __HttpRequest({
162
162
  protocol,
163
163
  hostname,
@@ -176,9 +176,10 @@ export const de_CreateLifecyclePolicyCommand = async (output, context) => {
176
176
  $metadata: deserializeMetadata(output),
177
177
  });
178
178
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
179
- if (data.PolicyId != null) {
180
- contents.PolicyId = __expectString(data.PolicyId);
181
- }
179
+ const doc = take(data, {
180
+ PolicyId: __expectString,
181
+ });
182
+ Object.assign(contents, doc);
182
183
  return contents;
183
184
  };
184
185
  const de_CreateLifecyclePolicyCommandError = async (output, context) => {
@@ -199,10 +200,9 @@ const de_CreateLifecyclePolicyCommandError = async (output, context) => {
199
200
  throw await de_LimitExceededExceptionRes(parsedOutput, context);
200
201
  default:
201
202
  const parsedBody = parsedOutput.body;
202
- throwDefaultError({
203
+ return throwDefaultError({
203
204
  output,
204
205
  parsedBody,
205
- exceptionCtor: __BaseException,
206
206
  errorCode,
207
207
  });
208
208
  }
@@ -235,10 +235,9 @@ const de_DeleteLifecyclePolicyCommandError = async (output, context) => {
235
235
  throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
236
236
  default:
237
237
  const parsedBody = parsedOutput.body;
238
- throwDefaultError({
238
+ return throwDefaultError({
239
239
  output,
240
240
  parsedBody,
241
- exceptionCtor: __BaseException,
242
241
  errorCode,
243
242
  });
244
243
  }
@@ -251,9 +250,10 @@ export const de_GetLifecyclePoliciesCommand = async (output, context) => {
251
250
  $metadata: deserializeMetadata(output),
252
251
  });
253
252
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
254
- if (data.Policies != null) {
255
- contents.Policies = de_LifecyclePolicySummaryList(data.Policies, context);
256
- }
253
+ const doc = take(data, {
254
+ Policies: _json,
255
+ });
256
+ Object.assign(contents, doc);
257
257
  return contents;
258
258
  };
259
259
  const de_GetLifecyclePoliciesCommandError = async (output, context) => {
@@ -277,10 +277,9 @@ const de_GetLifecyclePoliciesCommandError = async (output, context) => {
277
277
  throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
278
278
  default:
279
279
  const parsedBody = parsedOutput.body;
280
- throwDefaultError({
280
+ return throwDefaultError({
281
281
  output,
282
282
  parsedBody,
283
- exceptionCtor: __BaseException,
284
283
  errorCode,
285
284
  });
286
285
  }
@@ -293,9 +292,10 @@ export const de_GetLifecyclePolicyCommand = async (output, context) => {
293
292
  $metadata: deserializeMetadata(output),
294
293
  });
295
294
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
296
- if (data.Policy != null) {
297
- contents.Policy = de_LifecyclePolicy(data.Policy, context);
298
- }
295
+ const doc = take(data, {
296
+ Policy: (_) => de_LifecyclePolicy(_, context),
297
+ });
298
+ Object.assign(contents, doc);
299
299
  return contents;
300
300
  };
301
301
  const de_GetLifecyclePolicyCommandError = async (output, context) => {
@@ -316,10 +316,9 @@ const de_GetLifecyclePolicyCommandError = async (output, context) => {
316
316
  throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
317
317
  default:
318
318
  const parsedBody = parsedOutput.body;
319
- throwDefaultError({
319
+ return throwDefaultError({
320
320
  output,
321
321
  parsedBody,
322
- exceptionCtor: __BaseException,
323
322
  errorCode,
324
323
  });
325
324
  }
@@ -332,9 +331,10 @@ export const de_ListTagsForResourceCommand = async (output, context) => {
332
331
  $metadata: deserializeMetadata(output),
333
332
  });
334
333
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
335
- if (data.Tags != null) {
336
- contents.Tags = de_TagMap(data.Tags, context);
337
- }
334
+ const doc = take(data, {
335
+ Tags: _json,
336
+ });
337
+ Object.assign(contents, doc);
338
338
  return contents;
339
339
  };
340
340
  const de_ListTagsForResourceCommandError = async (output, context) => {
@@ -355,10 +355,9 @@ const de_ListTagsForResourceCommandError = async (output, context) => {
355
355
  throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
356
356
  default:
357
357
  const parsedBody = parsedOutput.body;
358
- throwDefaultError({
358
+ return throwDefaultError({
359
359
  output,
360
360
  parsedBody,
361
- exceptionCtor: __BaseException,
362
361
  errorCode,
363
362
  });
364
363
  }
@@ -391,10 +390,9 @@ const de_TagResourceCommandError = async (output, context) => {
391
390
  throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
392
391
  default:
393
392
  const parsedBody = parsedOutput.body;
394
- throwDefaultError({
393
+ return throwDefaultError({
395
394
  output,
396
395
  parsedBody,
397
- exceptionCtor: __BaseException,
398
396
  errorCode,
399
397
  });
400
398
  }
@@ -427,10 +425,9 @@ const de_UntagResourceCommandError = async (output, context) => {
427
425
  throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
428
426
  default:
429
427
  const parsedBody = parsedOutput.body;
430
- throwDefaultError({
428
+ return throwDefaultError({
431
429
  output,
432
430
  parsedBody,
433
- exceptionCtor: __BaseException,
434
431
  errorCode,
435
432
  });
436
433
  }
@@ -466,24 +463,22 @@ const de_UpdateLifecyclePolicyCommandError = async (output, context) => {
466
463
  throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
467
464
  default:
468
465
  const parsedBody = parsedOutput.body;
469
- throwDefaultError({
466
+ return throwDefaultError({
470
467
  output,
471
468
  parsedBody,
472
- exceptionCtor: __BaseException,
473
469
  errorCode,
474
470
  });
475
471
  }
476
472
  };
477
- const map = __map;
473
+ const throwDefaultError = withBaseException(__BaseException);
478
474
  const de_InternalServerExceptionRes = async (parsedOutput, context) => {
479
475
  const contents = map({});
480
476
  const data = parsedOutput.body;
481
- if (data.Code != null) {
482
- contents.Code = __expectString(data.Code);
483
- }
484
- if (data.Message != null) {
485
- contents.Message = __expectString(data.Message);
486
- }
477
+ const doc = take(data, {
478
+ Code: __expectString,
479
+ Message: __expectString,
480
+ });
481
+ Object.assign(contents, doc);
487
482
  const exception = new InternalServerException({
488
483
  $metadata: deserializeMetadata(parsedOutput),
489
484
  ...contents,
@@ -493,18 +488,13 @@ const de_InternalServerExceptionRes = async (parsedOutput, context) => {
493
488
  const de_InvalidRequestExceptionRes = async (parsedOutput, context) => {
494
489
  const contents = map({});
495
490
  const data = parsedOutput.body;
496
- if (data.Code != null) {
497
- contents.Code = __expectString(data.Code);
498
- }
499
- if (data.Message != null) {
500
- contents.Message = __expectString(data.Message);
501
- }
502
- if (data.MutuallyExclusiveParameters != null) {
503
- contents.MutuallyExclusiveParameters = de_ParameterList(data.MutuallyExclusiveParameters, context);
504
- }
505
- if (data.RequiredParameters != null) {
506
- contents.RequiredParameters = de_ParameterList(data.RequiredParameters, context);
507
- }
491
+ const doc = take(data, {
492
+ Code: __expectString,
493
+ Message: __expectString,
494
+ MutuallyExclusiveParameters: _json,
495
+ RequiredParameters: _json,
496
+ });
497
+ Object.assign(contents, doc);
508
498
  const exception = new InvalidRequestException({
509
499
  $metadata: deserializeMetadata(parsedOutput),
510
500
  ...contents,
@@ -514,15 +504,12 @@ const de_InvalidRequestExceptionRes = async (parsedOutput, context) => {
514
504
  const de_LimitExceededExceptionRes = async (parsedOutput, context) => {
515
505
  const contents = map({});
516
506
  const data = parsedOutput.body;
517
- if (data.Code != null) {
518
- contents.Code = __expectString(data.Code);
519
- }
520
- if (data.Message != null) {
521
- contents.Message = __expectString(data.Message);
522
- }
523
- if (data.ResourceType != null) {
524
- contents.ResourceType = __expectString(data.ResourceType);
525
- }
507
+ const doc = take(data, {
508
+ Code: __expectString,
509
+ Message: __expectString,
510
+ ResourceType: __expectString,
511
+ });
512
+ Object.assign(contents, doc);
526
513
  const exception = new LimitExceededException({
527
514
  $metadata: deserializeMetadata(parsedOutput),
528
515
  ...contents,
@@ -532,687 +519,32 @@ const de_LimitExceededExceptionRes = async (parsedOutput, context) => {
532
519
  const de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {
533
520
  const contents = map({});
534
521
  const data = parsedOutput.body;
535
- if (data.Code != null) {
536
- contents.Code = __expectString(data.Code);
537
- }
538
- if (data.Message != null) {
539
- contents.Message = __expectString(data.Message);
540
- }
541
- if (data.ResourceIds != null) {
542
- contents.ResourceIds = de_PolicyIdList(data.ResourceIds, context);
543
- }
544
- if (data.ResourceType != null) {
545
- contents.ResourceType = __expectString(data.ResourceType);
546
- }
522
+ const doc = take(data, {
523
+ Code: __expectString,
524
+ Message: __expectString,
525
+ ResourceIds: _json,
526
+ ResourceType: __expectString,
527
+ });
528
+ Object.assign(contents, doc);
547
529
  const exception = new ResourceNotFoundException({
548
530
  $metadata: deserializeMetadata(parsedOutput),
549
531
  ...contents,
550
532
  });
551
533
  return __decorateServiceException(exception, parsedOutput.body);
552
534
  };
553
- const se_Action = (input, context) => {
554
- return {
555
- ...(input.CrossRegionCopy != null && {
556
- CrossRegionCopy: se_CrossRegionCopyActionList(input.CrossRegionCopy, context),
557
- }),
558
- ...(input.Name != null && { Name: input.Name }),
559
- };
560
- };
561
- const se_ActionList = (input, context) => {
562
- return input
563
- .filter((e) => e != null)
564
- .map((entry) => {
565
- return se_Action(entry, context);
566
- });
567
- };
568
- const se_ArchiveRetainRule = (input, context) => {
569
- return {
570
- ...(input.RetentionArchiveTier != null && {
571
- RetentionArchiveTier: se_RetentionArchiveTier(input.RetentionArchiveTier, context),
572
- }),
573
- };
574
- };
575
- const se_ArchiveRule = (input, context) => {
576
- return {
577
- ...(input.RetainRule != null && { RetainRule: se_ArchiveRetainRule(input.RetainRule, context) }),
578
- };
579
- };
580
- const se_AvailabilityZoneList = (input, context) => {
581
- return input
582
- .filter((e) => e != null)
583
- .map((entry) => {
584
- return entry;
585
- });
586
- };
587
- const se_CreateRule = (input, context) => {
588
- return {
589
- ...(input.CronExpression != null && { CronExpression: input.CronExpression }),
590
- ...(input.Interval != null && { Interval: input.Interval }),
591
- ...(input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }),
592
- ...(input.Location != null && { Location: input.Location }),
593
- ...(input.Times != null && { Times: se_TimesList(input.Times, context) }),
594
- };
595
- };
596
- const se_CrossRegionCopyAction = (input, context) => {
597
- return {
598
- ...(input.EncryptionConfiguration != null && {
599
- EncryptionConfiguration: se_EncryptionConfiguration(input.EncryptionConfiguration, context),
600
- }),
601
- ...(input.RetainRule != null && { RetainRule: se_CrossRegionCopyRetainRule(input.RetainRule, context) }),
602
- ...(input.Target != null && { Target: input.Target }),
603
- };
604
- };
605
- const se_CrossRegionCopyActionList = (input, context) => {
606
- return input
607
- .filter((e) => e != null)
608
- .map((entry) => {
609
- return se_CrossRegionCopyAction(entry, context);
610
- });
611
- };
612
- const se_CrossRegionCopyDeprecateRule = (input, context) => {
613
- return {
614
- ...(input.Interval != null && { Interval: input.Interval }),
615
- ...(input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }),
616
- };
617
- };
618
- const se_CrossRegionCopyRetainRule = (input, context) => {
619
- return {
620
- ...(input.Interval != null && { Interval: input.Interval }),
621
- ...(input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }),
622
- };
623
- };
624
- const se_CrossRegionCopyRule = (input, context) => {
625
- return {
626
- ...(input.CmkArn != null && { CmkArn: input.CmkArn }),
627
- ...(input.CopyTags != null && { CopyTags: input.CopyTags }),
628
- ...(input.DeprecateRule != null && {
629
- DeprecateRule: se_CrossRegionCopyDeprecateRule(input.DeprecateRule, context),
630
- }),
631
- ...(input.Encrypted != null && { Encrypted: input.Encrypted }),
632
- ...(input.RetainRule != null && { RetainRule: se_CrossRegionCopyRetainRule(input.RetainRule, context) }),
633
- ...(input.Target != null && { Target: input.Target }),
634
- ...(input.TargetRegion != null && { TargetRegion: input.TargetRegion }),
635
- };
636
- };
637
- const se_CrossRegionCopyRules = (input, context) => {
638
- return input
639
- .filter((e) => e != null)
640
- .map((entry) => {
641
- return se_CrossRegionCopyRule(entry, context);
642
- });
643
- };
644
- const se_DeprecateRule = (input, context) => {
645
- return {
646
- ...(input.Count != null && { Count: input.Count }),
647
- ...(input.Interval != null && { Interval: input.Interval }),
648
- ...(input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }),
649
- };
650
- };
651
- const se_EncryptionConfiguration = (input, context) => {
652
- return {
653
- ...(input.CmkArn != null && { CmkArn: input.CmkArn }),
654
- ...(input.Encrypted != null && { Encrypted: input.Encrypted }),
655
- };
656
- };
657
- const se_EventParameters = (input, context) => {
658
- return {
659
- ...(input.DescriptionRegex != null && { DescriptionRegex: input.DescriptionRegex }),
660
- ...(input.EventType != null && { EventType: input.EventType }),
661
- ...(input.SnapshotOwner != null && { SnapshotOwner: se_SnapshotOwnerList(input.SnapshotOwner, context) }),
662
- };
663
- };
664
- const se_EventSource = (input, context) => {
665
- return {
666
- ...(input.Parameters != null && { Parameters: se_EventParameters(input.Parameters, context) }),
667
- ...(input.Type != null && { Type: input.Type }),
668
- };
669
- };
670
- const se_ExcludeDataVolumeTagList = (input, context) => {
671
- return input
672
- .filter((e) => e != null)
673
- .map((entry) => {
674
- return se_Tag(entry, context);
675
- });
676
- };
677
- const se_FastRestoreRule = (input, context) => {
678
- return {
679
- ...(input.AvailabilityZones != null && {
680
- AvailabilityZones: se_AvailabilityZoneList(input.AvailabilityZones, context),
681
- }),
682
- ...(input.Count != null && { Count: input.Count }),
683
- ...(input.Interval != null && { Interval: input.Interval }),
684
- ...(input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }),
685
- };
686
- };
687
- const se__Parameters = (input, context) => {
688
- return {
689
- ...(input.ExcludeBootVolume != null && { ExcludeBootVolume: input.ExcludeBootVolume }),
690
- ...(input.ExcludeDataVolumeTags != null && {
691
- ExcludeDataVolumeTags: se_ExcludeDataVolumeTagList(input.ExcludeDataVolumeTags, context),
692
- }),
693
- ...(input.NoReboot != null && { NoReboot: input.NoReboot }),
694
- };
695
- };
696
- const se_PolicyDetails = (input, context) => {
697
- return {
698
- ...(input.Actions != null && { Actions: se_ActionList(input.Actions, context) }),
699
- ...(input.EventSource != null && { EventSource: se_EventSource(input.EventSource, context) }),
700
- ...(input.Parameters != null && { Parameters: se__Parameters(input.Parameters, context) }),
701
- ...(input.PolicyType != null && { PolicyType: input.PolicyType }),
702
- ...(input.ResourceLocations != null && {
703
- ResourceLocations: se_ResourceLocationList(input.ResourceLocations, context),
704
- }),
705
- ...(input.ResourceTypes != null && { ResourceTypes: se_ResourceTypeValuesList(input.ResourceTypes, context) }),
706
- ...(input.Schedules != null && { Schedules: se_ScheduleList(input.Schedules, context) }),
707
- ...(input.TargetTags != null && { TargetTags: se_TargetTagList(input.TargetTags, context) }),
708
- };
709
- };
710
- const se_ResourceLocationList = (input, context) => {
711
- return input
712
- .filter((e) => e != null)
713
- .map((entry) => {
714
- return entry;
715
- });
716
- };
717
- const se_ResourceTypeValuesList = (input, context) => {
718
- return input
719
- .filter((e) => e != null)
720
- .map((entry) => {
721
- return entry;
722
- });
723
- };
724
- const se_RetainRule = (input, context) => {
725
- return {
726
- ...(input.Count != null && { Count: input.Count }),
727
- ...(input.Interval != null && { Interval: input.Interval }),
728
- ...(input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }),
729
- };
730
- };
731
- const se_RetentionArchiveTier = (input, context) => {
732
- return {
733
- ...(input.Count != null && { Count: input.Count }),
734
- ...(input.Interval != null && { Interval: input.Interval }),
735
- ...(input.IntervalUnit != null && { IntervalUnit: input.IntervalUnit }),
736
- };
737
- };
738
- const se_Schedule = (input, context) => {
739
- return {
740
- ...(input.ArchiveRule != null && { ArchiveRule: se_ArchiveRule(input.ArchiveRule, context) }),
741
- ...(input.CopyTags != null && { CopyTags: input.CopyTags }),
742
- ...(input.CreateRule != null && { CreateRule: se_CreateRule(input.CreateRule, context) }),
743
- ...(input.CrossRegionCopyRules != null && {
744
- CrossRegionCopyRules: se_CrossRegionCopyRules(input.CrossRegionCopyRules, context),
745
- }),
746
- ...(input.DeprecateRule != null && { DeprecateRule: se_DeprecateRule(input.DeprecateRule, context) }),
747
- ...(input.FastRestoreRule != null && { FastRestoreRule: se_FastRestoreRule(input.FastRestoreRule, context) }),
748
- ...(input.Name != null && { Name: input.Name }),
749
- ...(input.RetainRule != null && { RetainRule: se_RetainRule(input.RetainRule, context) }),
750
- ...(input.ShareRules != null && { ShareRules: se_ShareRules(input.ShareRules, context) }),
751
- ...(input.TagsToAdd != null && { TagsToAdd: se_TagsToAddList(input.TagsToAdd, context) }),
752
- ...(input.VariableTags != null && { VariableTags: se_VariableTagsList(input.VariableTags, context) }),
753
- };
754
- };
755
- const se_ScheduleList = (input, context) => {
756
- return input
757
- .filter((e) => e != null)
758
- .map((entry) => {
759
- return se_Schedule(entry, context);
760
- });
761
- };
762
- const se_ShareRule = (input, context) => {
763
- return {
764
- ...(input.TargetAccounts != null && { TargetAccounts: se_ShareTargetAccountList(input.TargetAccounts, context) }),
765
- ...(input.UnshareInterval != null && { UnshareInterval: input.UnshareInterval }),
766
- ...(input.UnshareIntervalUnit != null && { UnshareIntervalUnit: input.UnshareIntervalUnit }),
767
- };
768
- };
769
- const se_ShareRules = (input, context) => {
770
- return input
771
- .filter((e) => e != null)
772
- .map((entry) => {
773
- return se_ShareRule(entry, context);
774
- });
775
- };
776
- const se_ShareTargetAccountList = (input, context) => {
777
- return input
778
- .filter((e) => e != null)
779
- .map((entry) => {
780
- return entry;
781
- });
782
- };
783
- const se_SnapshotOwnerList = (input, context) => {
784
- return input
785
- .filter((e) => e != null)
786
- .map((entry) => {
787
- return entry;
788
- });
789
- };
790
- const se_Tag = (input, context) => {
791
- return {
792
- ...(input.Key != null && { Key: input.Key }),
793
- ...(input.Value != null && { Value: input.Value }),
794
- };
795
- };
796
- const se_TagMap = (input, context) => {
797
- return Object.entries(input).reduce((acc, [key, value]) => {
798
- if (value === null) {
799
- return acc;
800
- }
801
- acc[key] = value;
802
- return acc;
803
- }, {});
804
- };
805
- const se_TagsToAddList = (input, context) => {
806
- return input
807
- .filter((e) => e != null)
808
- .map((entry) => {
809
- return se_Tag(entry, context);
810
- });
811
- };
812
- const se_TargetTagList = (input, context) => {
813
- return input
814
- .filter((e) => e != null)
815
- .map((entry) => {
816
- return se_Tag(entry, context);
817
- });
818
- };
819
- const se_TimesList = (input, context) => {
820
- return input
821
- .filter((e) => e != null)
822
- .map((entry) => {
823
- return entry;
824
- });
825
- };
826
- const se_VariableTagsList = (input, context) => {
827
- return input
828
- .filter((e) => e != null)
829
- .map((entry) => {
830
- return se_Tag(entry, context);
831
- });
832
- };
833
- const de_Action = (output, context) => {
834
- return {
835
- CrossRegionCopy: output.CrossRegionCopy != null ? de_CrossRegionCopyActionList(output.CrossRegionCopy, context) : undefined,
836
- Name: __expectString(output.Name),
837
- };
838
- };
839
- const de_ActionList = (output, context) => {
840
- const retVal = (output || [])
841
- .filter((e) => e != null)
842
- .map((entry) => {
843
- if (entry === null) {
844
- return null;
845
- }
846
- return de_Action(entry, context);
847
- });
848
- return retVal;
849
- };
850
- const de_ArchiveRetainRule = (output, context) => {
851
- return {
852
- RetentionArchiveTier: output.RetentionArchiveTier != null ? de_RetentionArchiveTier(output.RetentionArchiveTier, context) : undefined,
853
- };
854
- };
855
- const de_ArchiveRule = (output, context) => {
856
- return {
857
- RetainRule: output.RetainRule != null ? de_ArchiveRetainRule(output.RetainRule, context) : undefined,
858
- };
859
- };
860
- const de_AvailabilityZoneList = (output, context) => {
861
- const retVal = (output || [])
862
- .filter((e) => e != null)
863
- .map((entry) => {
864
- if (entry === null) {
865
- return null;
866
- }
867
- return __expectString(entry);
868
- });
869
- return retVal;
870
- };
871
- const de_CreateRule = (output, context) => {
872
- return {
873
- CronExpression: __expectString(output.CronExpression),
874
- Interval: __expectInt32(output.Interval),
875
- IntervalUnit: __expectString(output.IntervalUnit),
876
- Location: __expectString(output.Location),
877
- Times: output.Times != null ? de_TimesList(output.Times, context) : undefined,
878
- };
879
- };
880
- const de_CrossRegionCopyAction = (output, context) => {
881
- return {
882
- EncryptionConfiguration: output.EncryptionConfiguration != null
883
- ? de_EncryptionConfiguration(output.EncryptionConfiguration, context)
884
- : undefined,
885
- RetainRule: output.RetainRule != null ? de_CrossRegionCopyRetainRule(output.RetainRule, context) : undefined,
886
- Target: __expectString(output.Target),
887
- };
888
- };
889
- const de_CrossRegionCopyActionList = (output, context) => {
890
- const retVal = (output || [])
891
- .filter((e) => e != null)
892
- .map((entry) => {
893
- if (entry === null) {
894
- return null;
895
- }
896
- return de_CrossRegionCopyAction(entry, context);
897
- });
898
- return retVal;
899
- };
900
- const de_CrossRegionCopyDeprecateRule = (output, context) => {
901
- return {
902
- Interval: __expectInt32(output.Interval),
903
- IntervalUnit: __expectString(output.IntervalUnit),
904
- };
905
- };
906
- const de_CrossRegionCopyRetainRule = (output, context) => {
907
- return {
908
- Interval: __expectInt32(output.Interval),
909
- IntervalUnit: __expectString(output.IntervalUnit),
910
- };
911
- };
912
- const de_CrossRegionCopyRule = (output, context) => {
913
- return {
914
- CmkArn: __expectString(output.CmkArn),
915
- CopyTags: __expectBoolean(output.CopyTags),
916
- DeprecateRule: output.DeprecateRule != null ? de_CrossRegionCopyDeprecateRule(output.DeprecateRule, context) : undefined,
917
- Encrypted: __expectBoolean(output.Encrypted),
918
- RetainRule: output.RetainRule != null ? de_CrossRegionCopyRetainRule(output.RetainRule, context) : undefined,
919
- Target: __expectString(output.Target),
920
- TargetRegion: __expectString(output.TargetRegion),
921
- };
922
- };
923
- const de_CrossRegionCopyRules = (output, context) => {
924
- const retVal = (output || [])
925
- .filter((e) => e != null)
926
- .map((entry) => {
927
- if (entry === null) {
928
- return null;
929
- }
930
- return de_CrossRegionCopyRule(entry, context);
931
- });
932
- return retVal;
933
- };
934
- const de_DeprecateRule = (output, context) => {
935
- return {
936
- Count: __expectInt32(output.Count),
937
- Interval: __expectInt32(output.Interval),
938
- IntervalUnit: __expectString(output.IntervalUnit),
939
- };
940
- };
941
- const de_EncryptionConfiguration = (output, context) => {
942
- return {
943
- CmkArn: __expectString(output.CmkArn),
944
- Encrypted: __expectBoolean(output.Encrypted),
945
- };
946
- };
947
- const de_EventParameters = (output, context) => {
948
- return {
949
- DescriptionRegex: __expectString(output.DescriptionRegex),
950
- EventType: __expectString(output.EventType),
951
- SnapshotOwner: output.SnapshotOwner != null ? de_SnapshotOwnerList(output.SnapshotOwner, context) : undefined,
952
- };
953
- };
954
- const de_EventSource = (output, context) => {
955
- return {
956
- Parameters: output.Parameters != null ? de_EventParameters(output.Parameters, context) : undefined,
957
- Type: __expectString(output.Type),
958
- };
959
- };
960
- const de_ExcludeDataVolumeTagList = (output, context) => {
961
- const retVal = (output || [])
962
- .filter((e) => e != null)
963
- .map((entry) => {
964
- if (entry === null) {
965
- return null;
966
- }
967
- return de_Tag(entry, context);
968
- });
969
- return retVal;
970
- };
971
- const de_FastRestoreRule = (output, context) => {
972
- return {
973
- AvailabilityZones: output.AvailabilityZones != null ? de_AvailabilityZoneList(output.AvailabilityZones, context) : undefined,
974
- Count: __expectInt32(output.Count),
975
- Interval: __expectInt32(output.Interval),
976
- IntervalUnit: __expectString(output.IntervalUnit),
977
- };
978
- };
979
535
  const de_LifecyclePolicy = (output, context) => {
980
- return {
981
- DateCreated: output.DateCreated != null ? __expectNonNull(__parseRfc3339DateTimeWithOffset(output.DateCreated)) : undefined,
982
- DateModified: output.DateModified != null ? __expectNonNull(__parseRfc3339DateTimeWithOffset(output.DateModified)) : undefined,
983
- Description: __expectString(output.Description),
984
- ExecutionRoleArn: __expectString(output.ExecutionRoleArn),
985
- PolicyArn: __expectString(output.PolicyArn),
986
- PolicyDetails: output.PolicyDetails != null ? de_PolicyDetails(output.PolicyDetails, context) : undefined,
987
- PolicyId: __expectString(output.PolicyId),
988
- State: __expectString(output.State),
989
- StatusMessage: __expectString(output.StatusMessage),
990
- Tags: output.Tags != null ? de_TagMap(output.Tags, context) : undefined,
991
- };
992
- };
993
- const de_LifecyclePolicySummary = (output, context) => {
994
- return {
995
- Description: __expectString(output.Description),
996
- PolicyId: __expectString(output.PolicyId),
997
- PolicyType: __expectString(output.PolicyType),
998
- State: __expectString(output.State),
999
- Tags: output.Tags != null ? de_TagMap(output.Tags, context) : undefined,
1000
- };
1001
- };
1002
- const de_LifecyclePolicySummaryList = (output, context) => {
1003
- const retVal = (output || [])
1004
- .filter((e) => e != null)
1005
- .map((entry) => {
1006
- if (entry === null) {
1007
- return null;
1008
- }
1009
- return de_LifecyclePolicySummary(entry, context);
1010
- });
1011
- return retVal;
1012
- };
1013
- const de_ParameterList = (output, context) => {
1014
- const retVal = (output || [])
1015
- .filter((e) => e != null)
1016
- .map((entry) => {
1017
- if (entry === null) {
1018
- return null;
1019
- }
1020
- return __expectString(entry);
1021
- });
1022
- return retVal;
1023
- };
1024
- const de__Parameters = (output, context) => {
1025
- return {
1026
- ExcludeBootVolume: __expectBoolean(output.ExcludeBootVolume),
1027
- ExcludeDataVolumeTags: output.ExcludeDataVolumeTags != null
1028
- ? de_ExcludeDataVolumeTagList(output.ExcludeDataVolumeTags, context)
1029
- : undefined,
1030
- NoReboot: __expectBoolean(output.NoReboot),
1031
- };
1032
- };
1033
- const de_PolicyDetails = (output, context) => {
1034
- return {
1035
- Actions: output.Actions != null ? de_ActionList(output.Actions, context) : undefined,
1036
- EventSource: output.EventSource != null ? de_EventSource(output.EventSource, context) : undefined,
1037
- Parameters: output.Parameters != null ? de__Parameters(output.Parameters, context) : undefined,
1038
- PolicyType: __expectString(output.PolicyType),
1039
- ResourceLocations: output.ResourceLocations != null ? de_ResourceLocationList(output.ResourceLocations, context) : undefined,
1040
- ResourceTypes: output.ResourceTypes != null ? de_ResourceTypeValuesList(output.ResourceTypes, context) : undefined,
1041
- Schedules: output.Schedules != null ? de_ScheduleList(output.Schedules, context) : undefined,
1042
- TargetTags: output.TargetTags != null ? de_TargetTagList(output.TargetTags, context) : undefined,
1043
- };
1044
- };
1045
- const de_PolicyIdList = (output, context) => {
1046
- const retVal = (output || [])
1047
- .filter((e) => e != null)
1048
- .map((entry) => {
1049
- if (entry === null) {
1050
- return null;
1051
- }
1052
- return __expectString(entry);
1053
- });
1054
- return retVal;
1055
- };
1056
- const de_ResourceLocationList = (output, context) => {
1057
- const retVal = (output || [])
1058
- .filter((e) => e != null)
1059
- .map((entry) => {
1060
- if (entry === null) {
1061
- return null;
1062
- }
1063
- return __expectString(entry);
1064
- });
1065
- return retVal;
1066
- };
1067
- const de_ResourceTypeValuesList = (output, context) => {
1068
- const retVal = (output || [])
1069
- .filter((e) => e != null)
1070
- .map((entry) => {
1071
- if (entry === null) {
1072
- return null;
1073
- }
1074
- return __expectString(entry);
1075
- });
1076
- return retVal;
1077
- };
1078
- const de_RetainRule = (output, context) => {
1079
- return {
1080
- Count: __expectInt32(output.Count),
1081
- Interval: __expectInt32(output.Interval),
1082
- IntervalUnit: __expectString(output.IntervalUnit),
1083
- };
1084
- };
1085
- const de_RetentionArchiveTier = (output, context) => {
1086
- return {
1087
- Count: __expectInt32(output.Count),
1088
- Interval: __expectInt32(output.Interval),
1089
- IntervalUnit: __expectString(output.IntervalUnit),
1090
- };
1091
- };
1092
- const de_Schedule = (output, context) => {
1093
- return {
1094
- ArchiveRule: output.ArchiveRule != null ? de_ArchiveRule(output.ArchiveRule, context) : undefined,
1095
- CopyTags: __expectBoolean(output.CopyTags),
1096
- CreateRule: output.CreateRule != null ? de_CreateRule(output.CreateRule, context) : undefined,
1097
- CrossRegionCopyRules: output.CrossRegionCopyRules != null ? de_CrossRegionCopyRules(output.CrossRegionCopyRules, context) : undefined,
1098
- DeprecateRule: output.DeprecateRule != null ? de_DeprecateRule(output.DeprecateRule, context) : undefined,
1099
- FastRestoreRule: output.FastRestoreRule != null ? de_FastRestoreRule(output.FastRestoreRule, context) : undefined,
1100
- Name: __expectString(output.Name),
1101
- RetainRule: output.RetainRule != null ? de_RetainRule(output.RetainRule, context) : undefined,
1102
- ShareRules: output.ShareRules != null ? de_ShareRules(output.ShareRules, context) : undefined,
1103
- TagsToAdd: output.TagsToAdd != null ? de_TagsToAddList(output.TagsToAdd, context) : undefined,
1104
- VariableTags: output.VariableTags != null ? de_VariableTagsList(output.VariableTags, context) : undefined,
1105
- };
1106
- };
1107
- const de_ScheduleList = (output, context) => {
1108
- const retVal = (output || [])
1109
- .filter((e) => e != null)
1110
- .map((entry) => {
1111
- if (entry === null) {
1112
- return null;
1113
- }
1114
- return de_Schedule(entry, context);
1115
- });
1116
- return retVal;
1117
- };
1118
- const de_ShareRule = (output, context) => {
1119
- return {
1120
- TargetAccounts: output.TargetAccounts != null ? de_ShareTargetAccountList(output.TargetAccounts, context) : undefined,
1121
- UnshareInterval: __expectInt32(output.UnshareInterval),
1122
- UnshareIntervalUnit: __expectString(output.UnshareIntervalUnit),
1123
- };
1124
- };
1125
- const de_ShareRules = (output, context) => {
1126
- const retVal = (output || [])
1127
- .filter((e) => e != null)
1128
- .map((entry) => {
1129
- if (entry === null) {
1130
- return null;
1131
- }
1132
- return de_ShareRule(entry, context);
1133
- });
1134
- return retVal;
1135
- };
1136
- const de_ShareTargetAccountList = (output, context) => {
1137
- const retVal = (output || [])
1138
- .filter((e) => e != null)
1139
- .map((entry) => {
1140
- if (entry === null) {
1141
- return null;
1142
- }
1143
- return __expectString(entry);
1144
- });
1145
- return retVal;
1146
- };
1147
- const de_SnapshotOwnerList = (output, context) => {
1148
- const retVal = (output || [])
1149
- .filter((e) => e != null)
1150
- .map((entry) => {
1151
- if (entry === null) {
1152
- return null;
1153
- }
1154
- return __expectString(entry);
1155
- });
1156
- return retVal;
1157
- };
1158
- const de_Tag = (output, context) => {
1159
- return {
1160
- Key: __expectString(output.Key),
1161
- Value: __expectString(output.Value),
1162
- };
1163
- };
1164
- const de_TagMap = (output, context) => {
1165
- return Object.entries(output).reduce((acc, [key, value]) => {
1166
- if (value === null) {
1167
- return acc;
1168
- }
1169
- acc[key] = __expectString(value);
1170
- return acc;
1171
- }, {});
1172
- };
1173
- const de_TagsToAddList = (output, context) => {
1174
- const retVal = (output || [])
1175
- .filter((e) => e != null)
1176
- .map((entry) => {
1177
- if (entry === null) {
1178
- return null;
1179
- }
1180
- return de_Tag(entry, context);
1181
- });
1182
- return retVal;
1183
- };
1184
- const de_TargetTagList = (output, context) => {
1185
- const retVal = (output || [])
1186
- .filter((e) => e != null)
1187
- .map((entry) => {
1188
- if (entry === null) {
1189
- return null;
1190
- }
1191
- return de_Tag(entry, context);
1192
- });
1193
- return retVal;
1194
- };
1195
- const de_TimesList = (output, context) => {
1196
- const retVal = (output || [])
1197
- .filter((e) => e != null)
1198
- .map((entry) => {
1199
- if (entry === null) {
1200
- return null;
1201
- }
1202
- return __expectString(entry);
1203
- });
1204
- return retVal;
1205
- };
1206
- const de_VariableTagsList = (output, context) => {
1207
- const retVal = (output || [])
1208
- .filter((e) => e != null)
1209
- .map((entry) => {
1210
- if (entry === null) {
1211
- return null;
1212
- }
1213
- return de_Tag(entry, context);
536
+ return take(output, {
537
+ DateCreated: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
538
+ DateModified: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),
539
+ Description: __expectString,
540
+ ExecutionRoleArn: __expectString,
541
+ PolicyArn: __expectString,
542
+ PolicyDetails: _json,
543
+ PolicyId: __expectString,
544
+ State: __expectString,
545
+ StatusMessage: __expectString,
546
+ Tags: _json,
1214
547
  });
1215
- return retVal;
1216
548
  };
1217
549
  const deserializeMetadata = (output) => ({
1218
550
  httpStatusCode: output.statusCode,