aws-sdk-recyclebin 1.5.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
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