aws-sdk-backup 1.45.0 → 1.47.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.
@@ -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(:backup)
@@ -79,8 +79,9 @@ module Aws::Backup
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::Backup::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::Backup
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::Backup
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::Backup::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::Backup::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
  #
@@ -351,6 +368,39 @@ module Aws::Backup
351
368
 
352
369
  # @!group API Operations
353
370
 
371
+ # This action removes the specified legal hold on a recovery point. This
372
+ # action can only be performed by a user with sufficient permissions.
373
+ #
374
+ # @option params [required, String] :legal_hold_id
375
+ # Legal hold ID required to remove the specified legal hold on a
376
+ # recovery point.
377
+ #
378
+ # @option params [required, String] :cancel_description
379
+ # String describing the reason for removing the legal hold.
380
+ #
381
+ # @option params [Integer] :retain_record_in_days
382
+ # The integer amount in days specifying amount of days after this API
383
+ # operation to remove legal hold.
384
+ #
385
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
386
+ #
387
+ # @example Request syntax with placeholder values
388
+ #
389
+ # resp = client.cancel_legal_hold({
390
+ # legal_hold_id: "string", # required
391
+ # cancel_description: "string", # required
392
+ # retain_record_in_days: 1,
393
+ # })
394
+ #
395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CancelLegalHold AWS API Documentation
396
+ #
397
+ # @overload cancel_legal_hold(params = {})
398
+ # @param [Hash] params ({})
399
+ def cancel_legal_hold(params = {}, options = {})
400
+ req = build_request(:cancel_legal_hold, params)
401
+ req.send_request(options)
402
+ end
403
+
354
404
  # Creates a backup plan using a backup plan name and backup rules. A
355
405
  # backup plan is a document that contains information that Backup uses
356
406
  # to schedule tasks that create recovery points for resources.
@@ -685,6 +735,86 @@ module Aws::Backup
685
735
  req.send_request(options)
686
736
  end
687
737
 
738
+ # This action creates a legal hold on a recovery point (backup). A legal
739
+ # hold is a restraint on altering or deleting a backup until an
740
+ # authorized user cancels the legal hold. Any actions to delete or
741
+ # disassociate a recovery point will fail with an error if one or more
742
+ # active legal holds are on the recovery point.
743
+ #
744
+ # @option params [required, String] :title
745
+ # This is the string title of the legal hold.
746
+ #
747
+ # @option params [required, String] :description
748
+ # This is the string description of the legal hold.
749
+ #
750
+ # @option params [String] :idempotency_token
751
+ # This is a user-chosen string used to distinguish between otherwise
752
+ # identical calls. Retrying a successful request with the same
753
+ # idempotency token results in a success message with no action taken.
754
+ #
755
+ # @option params [Types::RecoveryPointSelection] :recovery_point_selection
756
+ # This specifies criteria to assign a set of resources, such as resource
757
+ # types or backup vaults.
758
+ #
759
+ # @option params [Hash<String,String>] :tags
760
+ # Optional tags to include. A tag is a key-value pair you can use to
761
+ # manage, filter, and search for your resources. Allowed characters
762
+ # include UTF-8 letters, numbers, spaces, and the following characters:
763
+ # + - = . \_ : /.
764
+ #
765
+ # @return [Types::CreateLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
766
+ #
767
+ # * {Types::CreateLegalHoldOutput#title #title} => String
768
+ # * {Types::CreateLegalHoldOutput#status #status} => String
769
+ # * {Types::CreateLegalHoldOutput#description #description} => String
770
+ # * {Types::CreateLegalHoldOutput#legal_hold_id #legal_hold_id} => String
771
+ # * {Types::CreateLegalHoldOutput#legal_hold_arn #legal_hold_arn} => String
772
+ # * {Types::CreateLegalHoldOutput#creation_date #creation_date} => Time
773
+ # * {Types::CreateLegalHoldOutput#recovery_point_selection #recovery_point_selection} => Types::RecoveryPointSelection
774
+ #
775
+ # @example Request syntax with placeholder values
776
+ #
777
+ # resp = client.create_legal_hold({
778
+ # title: "string", # required
779
+ # description: "string", # required
780
+ # idempotency_token: "string",
781
+ # recovery_point_selection: {
782
+ # vault_names: ["string"],
783
+ # resource_identifiers: ["string"],
784
+ # date_range: {
785
+ # from_date: Time.now, # required
786
+ # to_date: Time.now, # required
787
+ # },
788
+ # },
789
+ # tags: {
790
+ # "TagKey" => "TagValue",
791
+ # },
792
+ # })
793
+ #
794
+ # @example Response structure
795
+ #
796
+ # resp.title #=> String
797
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "CANCELING", "CANCELED"
798
+ # resp.description #=> String
799
+ # resp.legal_hold_id #=> String
800
+ # resp.legal_hold_arn #=> String
801
+ # resp.creation_date #=> Time
802
+ # resp.recovery_point_selection.vault_names #=> Array
803
+ # resp.recovery_point_selection.vault_names[0] #=> String
804
+ # resp.recovery_point_selection.resource_identifiers #=> Array
805
+ # resp.recovery_point_selection.resource_identifiers[0] #=> String
806
+ # resp.recovery_point_selection.date_range.from_date #=> Time
807
+ # resp.recovery_point_selection.date_range.to_date #=> Time
808
+ #
809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateLegalHold AWS API Documentation
810
+ #
811
+ # @overload create_legal_hold(params = {})
812
+ # @param [Hash] params ({})
813
+ def create_legal_hold(params = {}, options = {})
814
+ req = build_request(:create_legal_hold, params)
815
+ req.send_request(options)
816
+ end
817
+
688
818
  # Creates a report plan. A report plan is a document that contains
689
819
  # information about the contents of the report and where Backup will
690
820
  # deliver it.
@@ -750,6 +880,9 @@ module Aws::Backup
750
880
  # report_template: "string", # required
751
881
  # framework_arns: ["string"],
752
882
  # number_of_frameworks: 1,
883
+ # accounts: ["string"],
884
+ # organization_units: ["string"],
885
+ # regions: ["string"],
753
886
  # },
754
887
  # report_plan_tags: {
755
888
  # "string" => "string",
@@ -974,6 +1107,23 @@ module Aws::Backup
974
1107
  # endpoint deletes the existing continuous backup and stops future
975
1108
  # continuous backup.
976
1109
  #
1110
+ # When an IAM role's permissions are insufficient to call this API, the
1111
+ # service sends back an HTTP 200 response with an empty HTTP body, but
1112
+ # the recovery point is not deleted. Instead, it enters an `EXPIRED`
1113
+ # state.
1114
+ #
1115
+ # `EXPIRED` recovery points can be deleted with this API once the IAM
1116
+ # role has the `iam:CreateServiceLinkedRole` action. To learn more about
1117
+ # adding this role, see [ Troubleshooting manual deletions][1].
1118
+ #
1119
+ # If the user or role is deleted or the permission within the role is
1120
+ # removed, the deletion will not be successful and will enter an
1121
+ # `EXPIRED` state.
1122
+ #
1123
+ #
1124
+ #
1125
+ # [1]: https://docs.aws.amazon.com/aws-backup/latest/devguide/deleting-backups.html#deleting-backups-troubleshooting
1126
+ #
977
1127
  # @option params [required, String] :backup_vault_name
978
1128
  # The name of a logical container where backups are stored. Backup
979
1129
  # vaults are identified by names that are unique to the account used to
@@ -1052,6 +1202,10 @@ module Aws::Backup
1052
1202
  # * {Types::DescribeBackupJobOutput#start_by #start_by} => Time
1053
1203
  # * {Types::DescribeBackupJobOutput#backup_options #backup_options} => Hash&lt;String,String&gt;
1054
1204
  # * {Types::DescribeBackupJobOutput#backup_type #backup_type} => String
1205
+ # * {Types::DescribeBackupJobOutput#parent_job_id #parent_job_id} => String
1206
+ # * {Types::DescribeBackupJobOutput#is_parent #is_parent} => Boolean
1207
+ # * {Types::DescribeBackupJobOutput#number_of_child_jobs #number_of_child_jobs} => Integer
1208
+ # * {Types::DescribeBackupJobOutput#child_jobs_in_state #child_jobs_in_state} => Hash&lt;String,Integer&gt;
1055
1209
  #
1056
1210
  # @example Request syntax with placeholder values
1057
1211
  #
@@ -1069,7 +1223,7 @@ module Aws::Backup
1069
1223
  # resp.resource_arn #=> String
1070
1224
  # resp.creation_date #=> Time
1071
1225
  # resp.completion_date #=> Time
1072
- # resp.state #=> String, one of "CREATED", "PENDING", "RUNNING", "ABORTING", "ABORTED", "COMPLETED", "FAILED", "EXPIRED"
1226
+ # resp.state #=> String, one of "CREATED", "PENDING", "RUNNING", "ABORTING", "ABORTED", "COMPLETED", "FAILED", "EXPIRED", "PARTIAL"
1073
1227
  # resp.status_message #=> String
1074
1228
  # resp.percent_done #=> String
1075
1229
  # resp.backup_size_in_bytes #=> Integer
@@ -1085,6 +1239,11 @@ module Aws::Backup
1085
1239
  # resp.backup_options #=> Hash
1086
1240
  # resp.backup_options["BackupOptionKey"] #=> String
1087
1241
  # resp.backup_type #=> String
1242
+ # resp.parent_job_id #=> String
1243
+ # resp.is_parent #=> Boolean
1244
+ # resp.number_of_child_jobs #=> Integer
1245
+ # resp.child_jobs_in_state #=> Hash
1246
+ # resp.child_jobs_in_state["BackupJobState"] #=> Integer
1088
1247
  #
1089
1248
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupJob AWS API Documentation
1090
1249
  #
@@ -1170,7 +1329,7 @@ module Aws::Backup
1170
1329
  # resp.copy_job.resource_arn #=> String
1171
1330
  # resp.copy_job.creation_date #=> Time
1172
1331
  # resp.copy_job.completion_date #=> Time
1173
- # resp.copy_job.state #=> String, one of "CREATED", "RUNNING", "COMPLETED", "FAILED"
1332
+ # resp.copy_job.state #=> String, one of "CREATED", "RUNNING", "COMPLETED", "FAILED", "PARTIAL"
1174
1333
  # resp.copy_job.status_message #=> String
1175
1334
  # resp.copy_job.backup_size_in_bytes #=> Integer
1176
1335
  # resp.copy_job.iam_role_arn #=> String
@@ -1179,6 +1338,12 @@ module Aws::Backup
1179
1338
  # resp.copy_job.created_by.backup_plan_version #=> String
1180
1339
  # resp.copy_job.created_by.backup_rule_id #=> String
1181
1340
  # resp.copy_job.resource_type #=> String
1341
+ # resp.copy_job.parent_job_id #=> String
1342
+ # resp.copy_job.is_parent #=> Boolean
1343
+ # resp.copy_job.composite_member_identifier #=> String
1344
+ # resp.copy_job.number_of_child_jobs #=> Integer
1345
+ # resp.copy_job.child_jobs_in_state #=> Hash
1346
+ # resp.copy_job.child_jobs_in_state["CopyJobState"] #=> Integer
1182
1347
  #
1183
1348
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeCopyJob AWS API Documentation
1184
1349
  #
@@ -1336,6 +1501,9 @@ module Aws::Backup
1336
1501
  # * {Types::DescribeRecoveryPointOutput#is_encrypted #is_encrypted} => Boolean
1337
1502
  # * {Types::DescribeRecoveryPointOutput#storage_class #storage_class} => String
1338
1503
  # * {Types::DescribeRecoveryPointOutput#last_restore_time #last_restore_time} => Time
1504
+ # * {Types::DescribeRecoveryPointOutput#parent_recovery_point_arn #parent_recovery_point_arn} => String
1505
+ # * {Types::DescribeRecoveryPointOutput#composite_member_identifier #composite_member_identifier} => String
1506
+ # * {Types::DescribeRecoveryPointOutput#is_parent #is_parent} => Boolean
1339
1507
  #
1340
1508
  # @example Request syntax with placeholder values
1341
1509
  #
@@ -1370,6 +1538,9 @@ module Aws::Backup
1370
1538
  # resp.is_encrypted #=> Boolean
1371
1539
  # resp.storage_class #=> String, one of "WARM", "COLD", "DELETED"
1372
1540
  # resp.last_restore_time #=> Time
1541
+ # resp.parent_recovery_point_arn #=> String
1542
+ # resp.composite_member_identifier #=> String
1543
+ # resp.is_parent #=> Boolean
1373
1544
  #
1374
1545
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRecoveryPoint AWS API Documentation
1375
1546
  #
@@ -1472,6 +1643,12 @@ module Aws::Backup
1472
1643
  # resp.report_plan.report_setting.framework_arns #=> Array
1473
1644
  # resp.report_plan.report_setting.framework_arns[0] #=> String
1474
1645
  # resp.report_plan.report_setting.number_of_frameworks #=> Integer
1646
+ # resp.report_plan.report_setting.accounts #=> Array
1647
+ # resp.report_plan.report_setting.accounts[0] #=> String
1648
+ # resp.report_plan.report_setting.organization_units #=> Array
1649
+ # resp.report_plan.report_setting.organization_units[0] #=> String
1650
+ # resp.report_plan.report_setting.regions #=> Array
1651
+ # resp.report_plan.report_setting.regions[0] #=> String
1475
1652
  # resp.report_plan.report_delivery_channel.s3_bucket_name #=> String
1476
1653
  # resp.report_plan.report_delivery_channel.s3_key_prefix #=> String
1477
1654
  # resp.report_plan.report_delivery_channel.formats #=> Array
@@ -1576,6 +1753,40 @@ module Aws::Backup
1576
1753
  req.send_request(options)
1577
1754
  end
1578
1755
 
1756
+ # This action to a specific child (nested) recovery point removes the
1757
+ # relationship between the specified recovery point and its parent
1758
+ # (composite) recovery point.
1759
+ #
1760
+ # @option params [required, String] :backup_vault_name
1761
+ # This is the name of a logical container where the child (nested)
1762
+ # recovery point is stored. Backup vaults are identified by names that
1763
+ # are unique to the account used to create them and the Amazon Web
1764
+ # Services Region where they are created. They consist of lowercase
1765
+ # letters, numbers, and hyphens.
1766
+ #
1767
+ # @option params [required, String] :recovery_point_arn
1768
+ # This is the Amazon Resource Name (ARN) that uniquely identifies the
1769
+ # child (nested) recovery point; for example,
1770
+ # `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.`
1771
+ #
1772
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1773
+ #
1774
+ # @example Request syntax with placeholder values
1775
+ #
1776
+ # resp = client.disassociate_recovery_point_from_parent({
1777
+ # backup_vault_name: "BackupVaultName", # required
1778
+ # recovery_point_arn: "ARN", # required
1779
+ # })
1780
+ #
1781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DisassociateRecoveryPointFromParent AWS API Documentation
1782
+ #
1783
+ # @overload disassociate_recovery_point_from_parent(params = {})
1784
+ # @param [Hash] params ({})
1785
+ def disassociate_recovery_point_from_parent(params = {}, options = {})
1786
+ req = build_request(:disassociate_recovery_point_from_parent, params)
1787
+ req.send_request(options)
1788
+ end
1789
+
1579
1790
  # Returns the backup plan that is specified by the plan ID as a backup
1580
1791
  # template.
1581
1792
  #
@@ -1912,6 +2123,59 @@ module Aws::Backup
1912
2123
  req.send_request(options)
1913
2124
  end
1914
2125
 
2126
+ # This action returns details for a specified legal hold. The details
2127
+ # are the body of a legal hold in JSON format, in addition to metadata.
2128
+ #
2129
+ # @option params [required, String] :legal_hold_id
2130
+ # This is the ID required to use `GetLegalHold`. This unique ID is
2131
+ # associated with a specific legal hold.
2132
+ #
2133
+ # @return [Types::GetLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2134
+ #
2135
+ # * {Types::GetLegalHoldOutput#title #title} => String
2136
+ # * {Types::GetLegalHoldOutput#status #status} => String
2137
+ # * {Types::GetLegalHoldOutput#description #description} => String
2138
+ # * {Types::GetLegalHoldOutput#cancel_description #cancel_description} => String
2139
+ # * {Types::GetLegalHoldOutput#legal_hold_id #legal_hold_id} => String
2140
+ # * {Types::GetLegalHoldOutput#legal_hold_arn #legal_hold_arn} => String
2141
+ # * {Types::GetLegalHoldOutput#creation_date #creation_date} => Time
2142
+ # * {Types::GetLegalHoldOutput#cancellation_date #cancellation_date} => Time
2143
+ # * {Types::GetLegalHoldOutput#retain_record_until #retain_record_until} => Time
2144
+ # * {Types::GetLegalHoldOutput#recovery_point_selection #recovery_point_selection} => Types::RecoveryPointSelection
2145
+ #
2146
+ # @example Request syntax with placeholder values
2147
+ #
2148
+ # resp = client.get_legal_hold({
2149
+ # legal_hold_id: "string", # required
2150
+ # })
2151
+ #
2152
+ # @example Response structure
2153
+ #
2154
+ # resp.title #=> String
2155
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "CANCELING", "CANCELED"
2156
+ # resp.description #=> String
2157
+ # resp.cancel_description #=> String
2158
+ # resp.legal_hold_id #=> String
2159
+ # resp.legal_hold_arn #=> String
2160
+ # resp.creation_date #=> Time
2161
+ # resp.cancellation_date #=> Time
2162
+ # resp.retain_record_until #=> Time
2163
+ # resp.recovery_point_selection.vault_names #=> Array
2164
+ # resp.recovery_point_selection.vault_names[0] #=> String
2165
+ # resp.recovery_point_selection.resource_identifiers #=> Array
2166
+ # resp.recovery_point_selection.resource_identifiers[0] #=> String
2167
+ # resp.recovery_point_selection.date_range.from_date #=> Time
2168
+ # resp.recovery_point_selection.date_range.to_date #=> Time
2169
+ #
2170
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetLegalHold AWS API Documentation
2171
+ #
2172
+ # @overload get_legal_hold(params = {})
2173
+ # @param [Hash] params ({})
2174
+ def get_legal_hold(params = {}, options = {})
2175
+ req = build_request(:get_legal_hold, params)
2176
+ req.send_request(options)
2177
+ end
2178
+
1915
2179
  # Returns a set of metadata key-value pairs that were used to create the
1916
2180
  # backup.
1917
2181
  #
@@ -2054,6 +2318,9 @@ module Aws::Backup
2054
2318
  # Returns only backup jobs completed before a date expressed in Unix
2055
2319
  # format and Coordinated Universal Time (UTC).
2056
2320
  #
2321
+ # @option params [String] :by_parent_job_id
2322
+ # This is a filter to list child (nested) jobs based on parent job ID.
2323
+ #
2057
2324
  # @return [Types::ListBackupJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2058
2325
  #
2059
2326
  # * {Types::ListBackupJobsOutput#backup_jobs #backup_jobs} => Array&lt;Types::BackupJob&gt;
@@ -2067,7 +2334,7 @@ module Aws::Backup
2067
2334
  # next_token: "string",
2068
2335
  # max_results: 1,
2069
2336
  # by_resource_arn: "ARN",
2070
- # by_state: "CREATED", # accepts CREATED, PENDING, RUNNING, ABORTING, ABORTED, COMPLETED, FAILED, EXPIRED
2337
+ # by_state: "CREATED", # accepts CREATED, PENDING, RUNNING, ABORTING, ABORTED, COMPLETED, FAILED, EXPIRED, PARTIAL
2071
2338
  # by_backup_vault_name: "BackupVaultName",
2072
2339
  # by_created_before: Time.now,
2073
2340
  # by_created_after: Time.now,
@@ -2075,6 +2342,7 @@ module Aws::Backup
2075
2342
  # by_account_id: "AccountId",
2076
2343
  # by_complete_after: Time.now,
2077
2344
  # by_complete_before: Time.now,
2345
+ # by_parent_job_id: "string",
2078
2346
  # })
2079
2347
  #
2080
2348
  # @example Response structure
@@ -2088,7 +2356,7 @@ module Aws::Backup
2088
2356
  # resp.backup_jobs[0].resource_arn #=> String
2089
2357
  # resp.backup_jobs[0].creation_date #=> Time
2090
2358
  # resp.backup_jobs[0].completion_date #=> Time
2091
- # resp.backup_jobs[0].state #=> String, one of "CREATED", "PENDING", "RUNNING", "ABORTING", "ABORTED", "COMPLETED", "FAILED", "EXPIRED"
2359
+ # resp.backup_jobs[0].state #=> String, one of "CREATED", "PENDING", "RUNNING", "ABORTING", "ABORTED", "COMPLETED", "FAILED", "EXPIRED", "PARTIAL"
2092
2360
  # resp.backup_jobs[0].status_message #=> String
2093
2361
  # resp.backup_jobs[0].percent_done #=> String
2094
2362
  # resp.backup_jobs[0].backup_size_in_bytes #=> Integer
@@ -2104,6 +2372,8 @@ module Aws::Backup
2104
2372
  # resp.backup_jobs[0].backup_options #=> Hash
2105
2373
  # resp.backup_jobs[0].backup_options["BackupOptionKey"] #=> String
2106
2374
  # resp.backup_jobs[0].backup_type #=> String
2375
+ # resp.backup_jobs[0].parent_job_id #=> String
2376
+ # resp.backup_jobs[0].is_parent #=> Boolean
2107
2377
  # resp.next_token #=> String
2108
2378
  #
2109
2379
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupJobs AWS API Documentation
@@ -2441,6 +2711,9 @@ module Aws::Backup
2441
2711
  # Returns only copy jobs completed after a date expressed in Unix format
2442
2712
  # and Coordinated Universal Time (UTC).
2443
2713
  #
2714
+ # @option params [String] :by_parent_job_id
2715
+ # This is a filter to list child (nested) jobs based on parent job ID.
2716
+ #
2444
2717
  # @return [Types::ListCopyJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2445
2718
  #
2446
2719
  # * {Types::ListCopyJobsOutput#copy_jobs #copy_jobs} => Array&lt;Types::CopyJob&gt;
@@ -2454,7 +2727,7 @@ module Aws::Backup
2454
2727
  # next_token: "string",
2455
2728
  # max_results: 1,
2456
2729
  # by_resource_arn: "ARN",
2457
- # by_state: "CREATED", # accepts CREATED, RUNNING, COMPLETED, FAILED
2730
+ # by_state: "CREATED", # accepts CREATED, RUNNING, COMPLETED, FAILED, PARTIAL
2458
2731
  # by_created_before: Time.now,
2459
2732
  # by_created_after: Time.now,
2460
2733
  # by_resource_type: "ResourceType",
@@ -2462,6 +2735,7 @@ module Aws::Backup
2462
2735
  # by_account_id: "AccountId",
2463
2736
  # by_complete_before: Time.now,
2464
2737
  # by_complete_after: Time.now,
2738
+ # by_parent_job_id: "string",
2465
2739
  # })
2466
2740
  #
2467
2741
  # @example Response structure
@@ -2476,7 +2750,7 @@ module Aws::Backup
2476
2750
  # resp.copy_jobs[0].resource_arn #=> String
2477
2751
  # resp.copy_jobs[0].creation_date #=> Time
2478
2752
  # resp.copy_jobs[0].completion_date #=> Time
2479
- # resp.copy_jobs[0].state #=> String, one of "CREATED", "RUNNING", "COMPLETED", "FAILED"
2753
+ # resp.copy_jobs[0].state #=> String, one of "CREATED", "RUNNING", "COMPLETED", "FAILED", "PARTIAL"
2480
2754
  # resp.copy_jobs[0].status_message #=> String
2481
2755
  # resp.copy_jobs[0].backup_size_in_bytes #=> Integer
2482
2756
  # resp.copy_jobs[0].iam_role_arn #=> String
@@ -2485,6 +2759,12 @@ module Aws::Backup
2485
2759
  # resp.copy_jobs[0].created_by.backup_plan_version #=> String
2486
2760
  # resp.copy_jobs[0].created_by.backup_rule_id #=> String
2487
2761
  # resp.copy_jobs[0].resource_type #=> String
2762
+ # resp.copy_jobs[0].parent_job_id #=> String
2763
+ # resp.copy_jobs[0].is_parent #=> Boolean
2764
+ # resp.copy_jobs[0].composite_member_identifier #=> String
2765
+ # resp.copy_jobs[0].number_of_child_jobs #=> Integer
2766
+ # resp.copy_jobs[0].child_jobs_in_state #=> Hash
2767
+ # resp.copy_jobs[0].child_jobs_in_state["CopyJobState"] #=> Integer
2488
2768
  # resp.next_token #=> String
2489
2769
  #
2490
2770
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListCopyJobs AWS API Documentation
@@ -2542,6 +2822,52 @@ module Aws::Backup
2542
2822
  req.send_request(options)
2543
2823
  end
2544
2824
 
2825
+ # This action returns metadata about active and previous legal holds.
2826
+ #
2827
+ # @option params [String] :next_token
2828
+ # The next item following a partial list of returned resources. For
2829
+ # example, if a request is made to return `maxResults` number of
2830
+ # resources, `NextToken` allows you to return more items in your list
2831
+ # starting at the location pointed to by the next token.
2832
+ #
2833
+ # @option params [Integer] :max_results
2834
+ # The maximum number of resource list items to be returned.
2835
+ #
2836
+ # @return [Types::ListLegalHoldsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2837
+ #
2838
+ # * {Types::ListLegalHoldsOutput#next_token #next_token} => String
2839
+ # * {Types::ListLegalHoldsOutput#legal_holds #legal_holds} => Array&lt;Types::LegalHold&gt;
2840
+ #
2841
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2842
+ #
2843
+ # @example Request syntax with placeholder values
2844
+ #
2845
+ # resp = client.list_legal_holds({
2846
+ # next_token: "string",
2847
+ # max_results: 1,
2848
+ # })
2849
+ #
2850
+ # @example Response structure
2851
+ #
2852
+ # resp.next_token #=> String
2853
+ # resp.legal_holds #=> Array
2854
+ # resp.legal_holds[0].title #=> String
2855
+ # resp.legal_holds[0].status #=> String, one of "CREATING", "ACTIVE", "CANCELING", "CANCELED"
2856
+ # resp.legal_holds[0].description #=> String
2857
+ # resp.legal_holds[0].legal_hold_id #=> String
2858
+ # resp.legal_holds[0].legal_hold_arn #=> String
2859
+ # resp.legal_holds[0].creation_date #=> Time
2860
+ # resp.legal_holds[0].cancellation_date #=> Time
2861
+ #
2862
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListLegalHolds AWS API Documentation
2863
+ #
2864
+ # @overload list_legal_holds(params = {})
2865
+ # @param [Hash] params ({})
2866
+ def list_legal_holds(params = {}, options = {})
2867
+ req = build_request(:list_legal_holds, params)
2868
+ req.send_request(options)
2869
+ end
2870
+
2545
2871
  # Returns an array of resources successfully backed up by Backup,
2546
2872
  # including the time the resource was saved, an Amazon Resource Name
2547
2873
  # (ARN) of the resource, and a resource type.
@@ -2627,6 +2953,10 @@ module Aws::Backup
2627
2953
  # Returns only recovery points that were created after the specified
2628
2954
  # timestamp.
2629
2955
  #
2956
+ # @option params [String] :by_parent_recovery_point_arn
2957
+ # This returns only recovery points that match the specified parent
2958
+ # (composite) recovery point Amazon Resource Name (ARN).
2959
+ #
2630
2960
  # @return [Types::ListRecoveryPointsByBackupVaultOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2631
2961
  #
2632
2962
  # * {Types::ListRecoveryPointsByBackupVaultOutput#next_token #next_token} => String
@@ -2645,6 +2975,7 @@ module Aws::Backup
2645
2975
  # by_backup_plan_id: "string",
2646
2976
  # by_created_before: Time.now,
2647
2977
  # by_created_after: Time.now,
2978
+ # by_parent_recovery_point_arn: "ARN",
2648
2979
  # })
2649
2980
  #
2650
2981
  # @example Response structure
@@ -2674,6 +3005,9 @@ module Aws::Backup
2674
3005
  # resp.recovery_points[0].encryption_key_arn #=> String
2675
3006
  # resp.recovery_points[0].is_encrypted #=> Boolean
2676
3007
  # resp.recovery_points[0].last_restore_time #=> Time
3008
+ # resp.recovery_points[0].parent_recovery_point_arn #=> String
3009
+ # resp.recovery_points[0].composite_member_identifier #=> String
3010
+ # resp.recovery_points[0].is_parent #=> Boolean
2677
3011
  #
2678
3012
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByBackupVault AWS API Documentation
2679
3013
  #
@@ -2684,6 +3018,51 @@ module Aws::Backup
2684
3018
  req.send_request(options)
2685
3019
  end
2686
3020
 
3021
+ # This action returns recovery point ARNs (Amazon Resource Names) of the
3022
+ # specified legal hold.
3023
+ #
3024
+ # @option params [required, String] :legal_hold_id
3025
+ # This is the ID of the legal hold.
3026
+ #
3027
+ # @option params [String] :next_token
3028
+ # This is the next item following a partial list of returned resources.
3029
+ # For example, if a request is made to return `maxResults` number of
3030
+ # resources, `NextToken` allows you to return more items in your list
3031
+ # starting at the location pointed to by the next token.
3032
+ #
3033
+ # @option params [Integer] :max_results
3034
+ # This is the maximum number of resource list items to be returned.
3035
+ #
3036
+ # @return [Types::ListRecoveryPointsByLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3037
+ #
3038
+ # * {Types::ListRecoveryPointsByLegalHoldOutput#recovery_points #recovery_points} => Array&lt;Types::RecoveryPointMember&gt;
3039
+ # * {Types::ListRecoveryPointsByLegalHoldOutput#next_token #next_token} => String
3040
+ #
3041
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3042
+ #
3043
+ # @example Request syntax with placeholder values
3044
+ #
3045
+ # resp = client.list_recovery_points_by_legal_hold({
3046
+ # legal_hold_id: "string", # required
3047
+ # next_token: "string",
3048
+ # max_results: 1,
3049
+ # })
3050
+ #
3051
+ # @example Response structure
3052
+ #
3053
+ # resp.recovery_points #=> Array
3054
+ # resp.recovery_points[0].recovery_point_arn #=> String
3055
+ # resp.next_token #=> String
3056
+ #
3057
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByLegalHold AWS API Documentation
3058
+ #
3059
+ # @overload list_recovery_points_by_legal_hold(params = {})
3060
+ # @param [Hash] params ({})
3061
+ def list_recovery_points_by_legal_hold(params = {}, options = {})
3062
+ req = build_request(:list_recovery_points_by_legal_hold, params)
3063
+ req.send_request(options)
3064
+ end
3065
+
2687
3066
  # Returns detailed information about all the recovery points of the type
2688
3067
  # specified by a resource Amazon Resource Name (ARN).
2689
3068
  #
@@ -2735,6 +3114,8 @@ module Aws::Backup
2735
3114
  # resp.recovery_points[0].encryption_key_arn #=> String
2736
3115
  # resp.recovery_points[0].backup_size_bytes #=> Integer
2737
3116
  # resp.recovery_points[0].backup_vault_name #=> String
3117
+ # resp.recovery_points[0].is_parent #=> Boolean
3118
+ # resp.recovery_points[0].parent_recovery_point_arn #=> String
2738
3119
  #
2739
3120
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByResource AWS API Documentation
2740
3121
  #
@@ -2855,6 +3236,12 @@ module Aws::Backup
2855
3236
  # resp.report_plans[0].report_setting.framework_arns #=> Array
2856
3237
  # resp.report_plans[0].report_setting.framework_arns[0] #=> String
2857
3238
  # resp.report_plans[0].report_setting.number_of_frameworks #=> Integer
3239
+ # resp.report_plans[0].report_setting.accounts #=> Array
3240
+ # resp.report_plans[0].report_setting.accounts[0] #=> String
3241
+ # resp.report_plans[0].report_setting.organization_units #=> Array
3242
+ # resp.report_plans[0].report_setting.organization_units[0] #=> String
3243
+ # resp.report_plans[0].report_setting.regions #=> Array
3244
+ # resp.report_plans[0].report_setting.regions[0] #=> String
2858
3245
  # resp.report_plans[0].report_delivery_channel.s3_bucket_name #=> String
2859
3246
  # resp.report_plans[0].report_delivery_channel.s3_key_prefix #=> String
2860
3247
  # resp.report_plans[0].report_delivery_channel.formats #=> Array
@@ -3172,8 +3559,10 @@ module Aws::Backup
3172
3559
  #
3173
3560
  # * `S3_BACKUP_OBJECT_FAILED` \| `S3_RESTORE_OBJECT_FAILED`
3174
3561
  #
3175
- # <note markdown="1"> Ignore the list below because it includes deprecated events. Refer to
3176
- # the list above.
3562
+ # <note markdown="1"> The list below shows items that are deprecated events (for reference)
3563
+ # and are no longer in use. They are no longer supported and will not
3564
+ # return statuses or notifications. Refer to the list above for current
3565
+ # supported events.
3177
3566
  #
3178
3567
  # </note>
3179
3568
  #
@@ -3225,7 +3614,8 @@ module Aws::Backup
3225
3614
  # @option params [Integer] :start_window_minutes
3226
3615
  # A value in minutes after a backup is scheduled before a job will be
3227
3616
  # canceled if it doesn't start successfully. This value is optional,
3228
- # and the default is 8 hours.
3617
+ # and the default is 8 hours. If this value is included, it must be at
3618
+ # least 60 minutes to avoid errors.
3229
3619
  #
3230
3620
  # @option params [Integer] :complete_window_minutes
3231
3621
  # A value in minutes during which a successfully started backup must
@@ -3273,6 +3663,7 @@ module Aws::Backup
3273
3663
  # * {Types::StartBackupJobOutput#backup_job_id #backup_job_id} => String
3274
3664
  # * {Types::StartBackupJobOutput#recovery_point_arn #recovery_point_arn} => String
3275
3665
  # * {Types::StartBackupJobOutput#creation_date #creation_date} => Time
3666
+ # * {Types::StartBackupJobOutput#is_parent #is_parent} => Boolean
3276
3667
  #
3277
3668
  # @example Request syntax with placeholder values
3278
3669
  #
@@ -3300,6 +3691,7 @@ module Aws::Backup
3300
3691
  # resp.backup_job_id #=> String
3301
3692
  # resp.recovery_point_arn #=> String
3302
3693
  # resp.creation_date #=> Time
3694
+ # resp.is_parent #=> Boolean
3303
3695
  #
3304
3696
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartBackupJob AWS API Documentation
3305
3697
  #
@@ -3363,6 +3755,7 @@ module Aws::Backup
3363
3755
  #
3364
3756
  # * {Types::StartCopyJobOutput#copy_job_id #copy_job_id} => String
3365
3757
  # * {Types::StartCopyJobOutput#creation_date #creation_date} => Time
3758
+ # * {Types::StartCopyJobOutput#is_parent #is_parent} => Boolean
3366
3759
  #
3367
3760
  # @example Request syntax with placeholder values
3368
3761
  #
@@ -3382,6 +3775,7 @@ module Aws::Backup
3382
3775
  #
3383
3776
  # resp.copy_job_id #=> String
3384
3777
  # resp.creation_date #=> Time
3778
+ # resp.is_parent #=> Boolean
3385
3779
  #
3386
3780
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartCopyJob AWS API Documentation
3387
3781
  #
@@ -3479,7 +3873,7 @@ module Aws::Backup
3479
3873
  #
3480
3874
  # @option params [String] :iam_role_arn
3481
3875
  # The Amazon Resource Name (ARN) of the IAM role that Backup uses to
3482
- # create the target recovery point; for example,
3876
+ # create the target resource; for example:
3483
3877
  # `arn:aws:iam::123456789012:role/S3Access`.
3484
3878
  #
3485
3879
  # @option params [String] :idempotency_token
@@ -3547,6 +3941,11 @@ module Aws::Backup
3547
3941
 
3548
3942
  # Attempts to cancel a job to create a one-time backup of a resource.
3549
3943
  #
3944
+ # This action is not supported for the following services: Amazon FSx
3945
+ # for Windows File Server, Amazon FSx for Lustre, FSx for ONTAP , Amazon
3946
+ # FSx for OpenZFS, Amazon DocumentDB (with MongoDB compatibility),
3947
+ # Amazon RDS, Amazon Aurora, and Amazon Neptune.
3948
+ #
3550
3949
  # @option params [required, String] :backup_job_id
3551
3950
  # Uniquely identifies a request to Backup to back up a resource.
3552
3951
  #
@@ -3995,6 +4394,9 @@ module Aws::Backup
3995
4394
  # report_template: "string", # required
3996
4395
  # framework_arns: ["string"],
3997
4396
  # number_of_frameworks: 1,
4397
+ # accounts: ["string"],
4398
+ # organization_units: ["string"],
4399
+ # regions: ["string"],
3998
4400
  # },
3999
4401
  # idempotency_token: "string",
4000
4402
  # })
@@ -4027,7 +4429,7 @@ module Aws::Backup
4027
4429
  params: params,
4028
4430
  config: config)
4029
4431
  context[:gem_name] = 'aws-sdk-backup'
4030
- context[:gem_version] = '1.45.0'
4432
+ context[:gem_version] = '1.47.0'
4031
4433
  Seahorse::Client::Request.new(handlers, context)
4032
4434
  end
4033
4435