aws-sdk-recyclebin 1.5.0 → 1.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78d8deb4e4a131dedc5ed8ca8f199074d472b9059a9a6e184479236bf3ea688e
4
- data.tar.gz: b52bdedd09e1b65e70d8583b83f5971396de42e94491dad3278689f038be20c9
3
+ metadata.gz: 35bfe58e724308c363f220ae012d8bc1bfff6995c7312d5a80af1cbc5fde2859
4
+ data.tar.gz: 1b5aca716fee385a44d9690a4938386018765673e54814349f0907d931ac9d8a
5
5
  SHA512:
6
- metadata.gz: a43f4c971f86f1802594e53fe4c0b6e0eff94e69b2c91afb0ddc8aaddc1a9adfc683ac03c46b8767a7999c1dcaffd682162fcdc73bdc31b6665ea807ae48997d
7
- data.tar.gz: 95fdb847733ae4cccf1e642b0cb9c77e9b7d53e3674a94546f0808730708e4da53e56b4f14deafbaec4c667678b421dff5dbe63a1340d90ef4e3301514fa12f0
6
+ metadata.gz: adb7b22323cafab6b5a093d3b22d324d174297ca0d6d2772dc3d24c2284206f17b7d7cc0308df28ebd38971b2b0cd5f89dae41e82609c55f562fce90762b754e
7
+ data.tar.gz: f8e6ffde0850048044bef3feb5f60f60ce1c84320f3882354bf730740a6756a53326d8d05509ad6a11dfd52fc6f59afdb3c6eecb153e07a2f5e441dc6530a00c
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.7.0 (2022-11-23)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for Rule Lock for Recycle Bin, which allows you to lock retention rules so that they can no longer be modified or deleted.
8
+
9
+ 1.6.0 (2022-10-25)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.5.0 (2022-02-24)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.0
1
+ 1.7.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:recyclebin)
@@ -79,8 +79,9 @@ module Aws::RecycleBin
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::RestJson)
84
+ add_plugin(Aws::RecycleBin::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::RecycleBin
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::RecycleBin
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::RecycleBin::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::RecycleBin::EndpointParameters`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -393,6 +410,9 @@ module Aws::RecycleBin
393
410
  # Region in which the rule is created, even if the resources are not
394
411
  # tagged.
395
412
  #
413
+ # @option params [Types::LockConfiguration] :lock_configuration
414
+ # Information about the retention rule lock configuration.
415
+ #
396
416
  # @return [Types::CreateRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
397
417
  #
398
418
  # * {Types::CreateRuleResponse#identifier #identifier} => String
@@ -402,6 +422,8 @@ module Aws::RecycleBin
402
422
  # * {Types::CreateRuleResponse#resource_type #resource_type} => String
403
423
  # * {Types::CreateRuleResponse#resource_tags #resource_tags} => Array<Types::ResourceTag>
404
424
  # * {Types::CreateRuleResponse#status #status} => String
425
+ # * {Types::CreateRuleResponse#lock_configuration #lock_configuration} => Types::LockConfiguration
426
+ # * {Types::CreateRuleResponse#lock_state #lock_state} => String
405
427
  #
406
428
  # @example Request syntax with placeholder values
407
429
  #
@@ -424,6 +446,12 @@ module Aws::RecycleBin
424
446
  # resource_tag_value: "ResourceTagValue",
425
447
  # },
426
448
  # ],
449
+ # lock_configuration: {
450
+ # unlock_delay: { # required
451
+ # unlock_delay_value: 1, # required
452
+ # unlock_delay_unit: "DAYS", # required, accepts DAYS
453
+ # },
454
+ # },
427
455
  # })
428
456
  #
429
457
  # @example Response structure
@@ -440,6 +468,9 @@ module Aws::RecycleBin
440
468
  # resp.resource_tags[0].resource_tag_key #=> String
441
469
  # resp.resource_tags[0].resource_tag_value #=> String
442
470
  # resp.status #=> String, one of "pending", "available"
471
+ # resp.lock_configuration.unlock_delay.unlock_delay_value #=> Integer
472
+ # resp.lock_configuration.unlock_delay.unlock_delay_unit #=> String, one of "DAYS"
473
+ # resp.lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
443
474
  #
444
475
  # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/CreateRule AWS API Documentation
445
476
  #
@@ -491,6 +522,9 @@ module Aws::RecycleBin
491
522
  # * {Types::GetRuleResponse#retention_period #retention_period} => Types::RetentionPeriod
492
523
  # * {Types::GetRuleResponse#resource_tags #resource_tags} => Array<Types::ResourceTag>
493
524
  # * {Types::GetRuleResponse#status #status} => String
525
+ # * {Types::GetRuleResponse#lock_configuration #lock_configuration} => Types::LockConfiguration
526
+ # * {Types::GetRuleResponse#lock_state #lock_state} => String
527
+ # * {Types::GetRuleResponse#lock_end_time #lock_end_time} => Time
494
528
  #
495
529
  # @example Request syntax with placeholder values
496
530
  #
@@ -509,6 +543,10 @@ module Aws::RecycleBin
509
543
  # resp.resource_tags[0].resource_tag_key #=> String
510
544
  # resp.resource_tags[0].resource_tag_value #=> String
511
545
  # resp.status #=> String, one of "pending", "available"
546
+ # resp.lock_configuration.unlock_delay.unlock_delay_value #=> Integer
547
+ # resp.lock_configuration.unlock_delay.unlock_delay_unit #=> String, one of "DAYS"
548
+ # resp.lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
549
+ # resp.lock_end_time #=> Time
512
550
  #
513
551
  # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/GetRule AWS API Documentation
514
552
  #
@@ -540,6 +578,10 @@ module Aws::RecycleBin
540
578
  # Information about the resource tags used to identify resources that
541
579
  # are retained by the retention rule.
542
580
  #
581
+ # @option params [String] :lock_state
582
+ # The lock state of the retention rules to list. Only retention rules
583
+ # with the specified lock state are returned.
584
+ #
543
585
  # @return [Types::ListRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
544
586
  #
545
587
  # * {Types::ListRulesResponse#rules #rules} => Array<Types::RuleSummary>
@@ -559,6 +601,7 @@ module Aws::RecycleBin
559
601
  # resource_tag_value: "ResourceTagValue",
560
602
  # },
561
603
  # ],
604
+ # lock_state: "locked", # accepts locked, pending_unlock, unlocked
562
605
  # })
563
606
  #
564
607
  # @example Response structure
@@ -568,6 +611,7 @@ module Aws::RecycleBin
568
611
  # resp.rules[0].description #=> String
569
612
  # resp.rules[0].retention_period.retention_period_value #=> Integer
570
613
  # resp.rules[0].retention_period.retention_period_unit #=> String, one of "DAYS"
614
+ # resp.rules[0].lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
571
615
  # resp.next_token #=> String
572
616
  #
573
617
  # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/ListRules AWS API Documentation
@@ -609,6 +653,62 @@ module Aws::RecycleBin
609
653
  req.send_request(options)
610
654
  end
611
655
 
656
+ # Locks a retention rule. A locked retention rule can't be modified or
657
+ # deleted.
658
+ #
659
+ # @option params [required, String] :identifier
660
+ # The unique ID of the retention rule.
661
+ #
662
+ # @option params [required, Types::LockConfiguration] :lock_configuration
663
+ # Information about the retention rule lock configuration.
664
+ #
665
+ # @return [Types::LockRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
666
+ #
667
+ # * {Types::LockRuleResponse#identifier #identifier} => String
668
+ # * {Types::LockRuleResponse#description #description} => String
669
+ # * {Types::LockRuleResponse#resource_type #resource_type} => String
670
+ # * {Types::LockRuleResponse#retention_period #retention_period} => Types::RetentionPeriod
671
+ # * {Types::LockRuleResponse#resource_tags #resource_tags} => Array<Types::ResourceTag>
672
+ # * {Types::LockRuleResponse#status #status} => String
673
+ # * {Types::LockRuleResponse#lock_configuration #lock_configuration} => Types::LockConfiguration
674
+ # * {Types::LockRuleResponse#lock_state #lock_state} => String
675
+ #
676
+ # @example Request syntax with placeholder values
677
+ #
678
+ # resp = client.lock_rule({
679
+ # identifier: "RuleIdentifier", # required
680
+ # lock_configuration: { # required
681
+ # unlock_delay: { # required
682
+ # unlock_delay_value: 1, # required
683
+ # unlock_delay_unit: "DAYS", # required, accepts DAYS
684
+ # },
685
+ # },
686
+ # })
687
+ #
688
+ # @example Response structure
689
+ #
690
+ # resp.identifier #=> String
691
+ # resp.description #=> String
692
+ # resp.resource_type #=> String, one of "EBS_SNAPSHOT", "EC2_IMAGE"
693
+ # resp.retention_period.retention_period_value #=> Integer
694
+ # resp.retention_period.retention_period_unit #=> String, one of "DAYS"
695
+ # resp.resource_tags #=> Array
696
+ # resp.resource_tags[0].resource_tag_key #=> String
697
+ # resp.resource_tags[0].resource_tag_value #=> String
698
+ # resp.status #=> String, one of "pending", "available"
699
+ # resp.lock_configuration.unlock_delay.unlock_delay_value #=> Integer
700
+ # resp.lock_configuration.unlock_delay.unlock_delay_unit #=> String, one of "DAYS"
701
+ # resp.lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
702
+ #
703
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/LockRule AWS API Documentation
704
+ #
705
+ # @overload lock_rule(params = {})
706
+ # @param [Hash] params ({})
707
+ def lock_rule(params = {}, options = {})
708
+ req = build_request(:lock_rule, params)
709
+ req.send_request(options)
710
+ end
711
+
612
712
  # Assigns tags to the specified retention rule.
613
713
  #
614
714
  # @option params [required, String] :resource_arn
@@ -640,6 +740,55 @@ module Aws::RecycleBin
640
740
  req.send_request(options)
641
741
  end
642
742
 
743
+ # Unlocks a retention rule. After a retention rule is unlocked, it can
744
+ # be modified or deleted only after the unlock delay period expires.
745
+ #
746
+ # @option params [required, String] :identifier
747
+ # The unique ID of the retention rule.
748
+ #
749
+ # @return [Types::UnlockRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
750
+ #
751
+ # * {Types::UnlockRuleResponse#identifier #identifier} => String
752
+ # * {Types::UnlockRuleResponse#description #description} => String
753
+ # * {Types::UnlockRuleResponse#resource_type #resource_type} => String
754
+ # * {Types::UnlockRuleResponse#retention_period #retention_period} => Types::RetentionPeriod
755
+ # * {Types::UnlockRuleResponse#resource_tags #resource_tags} => Array<Types::ResourceTag>
756
+ # * {Types::UnlockRuleResponse#status #status} => String
757
+ # * {Types::UnlockRuleResponse#lock_configuration #lock_configuration} => Types::LockConfiguration
758
+ # * {Types::UnlockRuleResponse#lock_state #lock_state} => String
759
+ # * {Types::UnlockRuleResponse#lock_end_time #lock_end_time} => Time
760
+ #
761
+ # @example Request syntax with placeholder values
762
+ #
763
+ # resp = client.unlock_rule({
764
+ # identifier: "RuleIdentifier", # required
765
+ # })
766
+ #
767
+ # @example Response structure
768
+ #
769
+ # resp.identifier #=> String
770
+ # resp.description #=> String
771
+ # resp.resource_type #=> String, one of "EBS_SNAPSHOT", "EC2_IMAGE"
772
+ # resp.retention_period.retention_period_value #=> Integer
773
+ # resp.retention_period.retention_period_unit #=> String, one of "DAYS"
774
+ # resp.resource_tags #=> Array
775
+ # resp.resource_tags[0].resource_tag_key #=> String
776
+ # resp.resource_tags[0].resource_tag_value #=> String
777
+ # resp.status #=> String, one of "pending", "available"
778
+ # resp.lock_configuration.unlock_delay.unlock_delay_value #=> Integer
779
+ # resp.lock_configuration.unlock_delay.unlock_delay_unit #=> String, one of "DAYS"
780
+ # resp.lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
781
+ # resp.lock_end_time #=> Time
782
+ #
783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/UnlockRule AWS API Documentation
784
+ #
785
+ # @overload unlock_rule(params = {})
786
+ # @param [Hash] params ({})
787
+ def unlock_rule(params = {}, options = {})
788
+ req = build_request(:unlock_rule, params)
789
+ req.send_request(options)
790
+ end
791
+
643
792
  # Unassigns a tag from a retention rule.
644
793
  #
645
794
  # @option params [required, String] :resource_arn
@@ -667,9 +816,12 @@ module Aws::RecycleBin
667
816
  req.send_request(options)
668
817
  end
669
818
 
670
- # Updates an existing Recycle Bin retention rule. For more information,
671
- # see [ Update Recycle Bin retention rules][1] in the *Amazon Elastic
672
- # Compute Cloud User Guide*.
819
+ # Updates an existing Recycle Bin retention rule. You can update a
820
+ # retention rule's description, resource tags, and retention period at
821
+ # any time after creation. You can't update a retention rule's
822
+ # resource type after creation. For more information, see [ Update
823
+ # Recycle Bin retention rules][1] in the *Amazon Elastic Compute Cloud
824
+ # User Guide*.
673
825
  #
674
826
  #
675
827
  #
@@ -686,10 +838,10 @@ module Aws::RecycleBin
686
838
  # The retention rule description.
687
839
  #
688
840
  # @option params [String] :resource_type
689
- # The resource type to be retained by the retention rule. Currently,
690
- # only Amazon EBS snapshots and EBS-backed AMIs are supported. To retain
691
- # snapshots, specify `EBS_SNAPSHOT`. To retain EBS-backed AMIs, specify
692
- # `EC2_IMAGE`.
841
+ # <note markdown="1"> This parameter is currently not supported. You can't update a
842
+ # retention rule's resource type after creation.
843
+ #
844
+ # </note>
693
845
  #
694
846
  # @option params [Array<Types::ResourceTag>] :resource_tags
695
847
  # Specifies the resource tags to use to identify resources that are to
@@ -717,6 +869,8 @@ module Aws::RecycleBin
717
869
  # * {Types::UpdateRuleResponse#resource_type #resource_type} => String
718
870
  # * {Types::UpdateRuleResponse#resource_tags #resource_tags} => Array&lt;Types::ResourceTag&gt;
719
871
  # * {Types::UpdateRuleResponse#status #status} => String
872
+ # * {Types::UpdateRuleResponse#lock_state #lock_state} => String
873
+ # * {Types::UpdateRuleResponse#lock_end_time #lock_end_time} => Time
720
874
  #
721
875
  # @example Request syntax with placeholder values
722
876
  #
@@ -747,6 +901,8 @@ module Aws::RecycleBin
747
901
  # resp.resource_tags[0].resource_tag_key #=> String
748
902
  # resp.resource_tags[0].resource_tag_value #=> String
749
903
  # resp.status #=> String, one of "pending", "available"
904
+ # resp.lock_state #=> String, one of "locked", "pending_unlock", "unlocked"
905
+ # resp.lock_end_time #=> Time
750
906
  #
751
907
  # @see http://docs.aws.amazon.com/goto/WebAPI/rbin-2021-06-15/UpdateRule AWS API Documentation
752
908
  #
@@ -770,7 +926,7 @@ module Aws::RecycleBin
770
926
  params: params,
771
927
  config: config)
772
928
  context[:gem_name] = 'aws-sdk-recyclebin'
773
- context[:gem_version] = '1.5.0'
929
+ context[:gem_version] = '1.7.0'
774
930
  Seahorse::Client::Request.new(handlers, context)
775
931
  end
776
932
 
@@ -13,6 +13,8 @@ module Aws::RecycleBin
13
13
 
14
14
  include Seahorse::Model
15
15
 
16
+ ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
17
+ ConflictExceptionReason = Shapes::StringShape.new(name: 'ConflictExceptionReason')
16
18
  CreateRuleRequest = Shapes::StructureShape.new(name: 'CreateRuleRequest')
17
19
  CreateRuleResponse = Shapes::StructureShape.new(name: 'CreateRuleResponse')
18
20
  DeleteRuleRequest = Shapes::StructureShape.new(name: 'DeleteRuleRequest')
@@ -26,6 +28,10 @@ module Aws::RecycleBin
26
28
  ListRulesResponse = Shapes::StructureShape.new(name: 'ListRulesResponse')
27
29
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
28
30
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
31
+ LockConfiguration = Shapes::StructureShape.new(name: 'LockConfiguration')
32
+ LockRuleRequest = Shapes::StructureShape.new(name: 'LockRuleRequest')
33
+ LockRuleResponse = Shapes::StructureShape.new(name: 'LockRuleResponse')
34
+ LockState = Shapes::StringShape.new(name: 'LockState')
29
35
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
30
36
  NextToken = Shapes::StringShape.new(name: 'NextToken')
31
37
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
@@ -52,6 +58,12 @@ module Aws::RecycleBin
52
58
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
53
59
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
54
60
  TagValue = Shapes::StringShape.new(name: 'TagValue')
61
+ TimeStamp = Shapes::TimestampShape.new(name: 'TimeStamp')
62
+ UnlockDelay = Shapes::StructureShape.new(name: 'UnlockDelay')
63
+ UnlockDelayUnit = Shapes::StringShape.new(name: 'UnlockDelayUnit')
64
+ UnlockDelayValue = Shapes::IntegerShape.new(name: 'UnlockDelayValue')
65
+ UnlockRuleRequest = Shapes::StructureShape.new(name: 'UnlockRuleRequest')
66
+ UnlockRuleResponse = Shapes::StructureShape.new(name: 'UnlockRuleResponse')
55
67
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
56
68
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
57
69
  UpdateRuleRequest = Shapes::StructureShape.new(name: 'UpdateRuleRequest')
@@ -59,11 +71,16 @@ module Aws::RecycleBin
59
71
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
60
72
  ValidationExceptionReason = Shapes::StringShape.new(name: 'ValidationExceptionReason')
61
73
 
74
+ ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
75
+ ConflictException.add_member(:reason, Shapes::ShapeRef.new(shape: ConflictExceptionReason, location_name: "Reason"))
76
+ ConflictException.struct_class = Types::ConflictException
77
+
62
78
  CreateRuleRequest.add_member(:retention_period, Shapes::ShapeRef.new(shape: RetentionPeriod, required: true, location_name: "RetentionPeriod"))
63
79
  CreateRuleRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
64
80
  CreateRuleRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
65
81
  CreateRuleRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
66
82
  CreateRuleRequest.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
83
+ CreateRuleRequest.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, location_name: "LockConfiguration"))
67
84
  CreateRuleRequest.struct_class = Types::CreateRuleRequest
68
85
 
69
86
  CreateRuleResponse.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, location_name: "Identifier"))
@@ -73,6 +90,8 @@ module Aws::RecycleBin
73
90
  CreateRuleResponse.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
74
91
  CreateRuleResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
75
92
  CreateRuleResponse.add_member(:status, Shapes::ShapeRef.new(shape: RuleStatus, location_name: "Status"))
93
+ CreateRuleResponse.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, location_name: "LockConfiguration"))
94
+ CreateRuleResponse.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
76
95
  CreateRuleResponse.struct_class = Types::CreateRuleResponse
77
96
 
78
97
  DeleteRuleRequest.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, required: true, location: "uri", location_name: "identifier"))
@@ -89,6 +108,9 @@ module Aws::RecycleBin
89
108
  GetRuleResponse.add_member(:retention_period, Shapes::ShapeRef.new(shape: RetentionPeriod, location_name: "RetentionPeriod"))
90
109
  GetRuleResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
91
110
  GetRuleResponse.add_member(:status, Shapes::ShapeRef.new(shape: RuleStatus, location_name: "Status"))
111
+ GetRuleResponse.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, location_name: "LockConfiguration"))
112
+ GetRuleResponse.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
113
+ GetRuleResponse.add_member(:lock_end_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "LockEndTime"))
92
114
  GetRuleResponse.struct_class = Types::GetRuleResponse
93
115
 
94
116
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
@@ -98,6 +120,7 @@ module Aws::RecycleBin
98
120
  ListRulesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
99
121
  ListRulesRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
100
122
  ListRulesRequest.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
123
+ ListRulesRequest.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
101
124
  ListRulesRequest.struct_class = Types::ListRulesRequest
102
125
 
103
126
  ListRulesResponse.add_member(:rules, Shapes::ShapeRef.new(shape: RuleSummaryList, location_name: "Rules"))
@@ -110,6 +133,23 @@ module Aws::RecycleBin
110
133
  ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
111
134
  ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
112
135
 
136
+ LockConfiguration.add_member(:unlock_delay, Shapes::ShapeRef.new(shape: UnlockDelay, required: true, location_name: "UnlockDelay"))
137
+ LockConfiguration.struct_class = Types::LockConfiguration
138
+
139
+ LockRuleRequest.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, required: true, location: "uri", location_name: "identifier"))
140
+ LockRuleRequest.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, required: true, location_name: "LockConfiguration"))
141
+ LockRuleRequest.struct_class = Types::LockRuleRequest
142
+
143
+ LockRuleResponse.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, location_name: "Identifier"))
144
+ LockRuleResponse.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
145
+ LockRuleResponse.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
146
+ LockRuleResponse.add_member(:retention_period, Shapes::ShapeRef.new(shape: RetentionPeriod, location_name: "RetentionPeriod"))
147
+ LockRuleResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
148
+ LockRuleResponse.add_member(:status, Shapes::ShapeRef.new(shape: RuleStatus, location_name: "Status"))
149
+ LockRuleResponse.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, location_name: "LockConfiguration"))
150
+ LockRuleResponse.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
151
+ LockRuleResponse.struct_class = Types::LockRuleResponse
152
+
113
153
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
114
154
  ResourceNotFoundException.add_member(:reason, Shapes::ShapeRef.new(shape: ResourceNotFoundExceptionReason, location_name: "Reason"))
115
155
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
@@ -127,6 +167,7 @@ module Aws::RecycleBin
127
167
  RuleSummary.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, location_name: "Identifier"))
128
168
  RuleSummary.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
129
169
  RuleSummary.add_member(:retention_period, Shapes::ShapeRef.new(shape: RetentionPeriod, location_name: "RetentionPeriod"))
170
+ RuleSummary.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
130
171
  RuleSummary.struct_class = Types::RuleSummary
131
172
 
132
173
  RuleSummaryList.member = Shapes::ShapeRef.new(shape: RuleSummary)
@@ -149,6 +190,24 @@ module Aws::RecycleBin
149
190
 
150
191
  TagResourceResponse.struct_class = Types::TagResourceResponse
151
192
 
193
+ UnlockDelay.add_member(:unlock_delay_value, Shapes::ShapeRef.new(shape: UnlockDelayValue, required: true, location_name: "UnlockDelayValue"))
194
+ UnlockDelay.add_member(:unlock_delay_unit, Shapes::ShapeRef.new(shape: UnlockDelayUnit, required: true, location_name: "UnlockDelayUnit"))
195
+ UnlockDelay.struct_class = Types::UnlockDelay
196
+
197
+ UnlockRuleRequest.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, required: true, location: "uri", location_name: "identifier"))
198
+ UnlockRuleRequest.struct_class = Types::UnlockRuleRequest
199
+
200
+ UnlockRuleResponse.add_member(:identifier, Shapes::ShapeRef.new(shape: RuleIdentifier, location_name: "Identifier"))
201
+ UnlockRuleResponse.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
202
+ UnlockRuleResponse.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
203
+ UnlockRuleResponse.add_member(:retention_period, Shapes::ShapeRef.new(shape: RetentionPeriod, location_name: "RetentionPeriod"))
204
+ UnlockRuleResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
205
+ UnlockRuleResponse.add_member(:status, Shapes::ShapeRef.new(shape: RuleStatus, location_name: "Status"))
206
+ UnlockRuleResponse.add_member(:lock_configuration, Shapes::ShapeRef.new(shape: LockConfiguration, location_name: "LockConfiguration"))
207
+ UnlockRuleResponse.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
208
+ UnlockRuleResponse.add_member(:lock_end_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "LockEndTime"))
209
+ UnlockRuleResponse.struct_class = Types::UnlockRuleResponse
210
+
152
211
  UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: RuleArn, required: true, location: "uri", location_name: "resourceArn"))
153
212
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location: "querystring", location_name: "tagKeys"))
154
213
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
@@ -168,6 +227,8 @@ module Aws::RecycleBin
168
227
  UpdateRuleResponse.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
169
228
  UpdateRuleResponse.add_member(:resource_tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "ResourceTags"))
170
229
  UpdateRuleResponse.add_member(:status, Shapes::ShapeRef.new(shape: RuleStatus, location_name: "Status"))
230
+ UpdateRuleResponse.add_member(:lock_state, Shapes::ShapeRef.new(shape: LockState, location_name: "LockState"))
231
+ UpdateRuleResponse.add_member(:lock_end_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "LockEndTime"))
171
232
  UpdateRuleResponse.struct_class = Types::UpdateRuleResponse
172
233
 
173
234
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
@@ -212,6 +273,7 @@ module Aws::RecycleBin
212
273
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
213
274
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
214
275
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
276
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
215
277
  end)
216
278
 
217
279
  api.add_operation(:get_rule, Seahorse::Model::Operation.new.tap do |o|
@@ -252,6 +314,18 @@ module Aws::RecycleBin
252
314
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
253
315
  end)
254
316
 
317
+ api.add_operation(:lock_rule, Seahorse::Model::Operation.new.tap do |o|
318
+ o.name = "LockRule"
319
+ o.http_method = "PATCH"
320
+ o.http_request_uri = "/rules/{identifier}/lock"
321
+ o.input = Shapes::ShapeRef.new(shape: LockRuleRequest)
322
+ o.output = Shapes::ShapeRef.new(shape: LockRuleResponse)
323
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
324
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
325
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
326
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
327
+ end)
328
+
255
329
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
256
330
  o.name = "TagResource"
257
331
  o.http_method = "POST"
@@ -264,6 +338,18 @@ module Aws::RecycleBin
264
338
  o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
265
339
  end)
266
340
 
341
+ api.add_operation(:unlock_rule, Seahorse::Model::Operation.new.tap do |o|
342
+ o.name = "UnlockRule"
343
+ o.http_method = "PATCH"
344
+ o.http_request_uri = "/rules/{identifier}/unlock"
345
+ o.input = Shapes::ShapeRef.new(shape: UnlockRuleRequest)
346
+ o.output = Shapes::ShapeRef.new(shape: UnlockRuleResponse)
347
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
348
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
349
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
350
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
351
+ end)
352
+
267
353
  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
268
354
  o.name = "UntagResource"
269
355
  o.http_method = "DELETE"
@@ -284,6 +370,7 @@ module Aws::RecycleBin
284
370
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
285
371
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
286
372
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
373
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
287
374
  end)
288
375
  end
289
376
 
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::RecycleBin
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
56
+ self[:use_dual_stack] = options[:use_dual_stack]
57
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
+ if self[:use_dual_stack].nil?
59
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
60
+ end
61
+ self[:use_fips] = options[:use_fips]
62
+ self[:use_fips] = false if self[:use_fips].nil?
63
+ if self[:use_fips].nil?
64
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
65
+ end
66
+ self[:endpoint] = options[:endpoint]
67
+ end
68
+ end
69
+ end