aws-sdk-backup 1.61.0 → 1.62.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -469,6 +469,7 @@ module Aws::Backup
469
469
  # lifecycle: {
470
470
  # move_to_cold_storage_after_days: 1,
471
471
  # delete_after_days: 1,
472
+ # opt_in_to_archive_for_supported_resources: false,
472
473
  # },
473
474
  # recovery_point_tags: {
474
475
  # "TagKey" => "TagValue",
@@ -478,6 +479,7 @@ module Aws::Backup
478
479
  # lifecycle: {
479
480
  # move_to_cold_storage_after_days: 1,
480
481
  # delete_after_days: 1,
482
+ # opt_in_to_archive_for_supported_resources: false,
481
483
  # },
482
484
  # destination_backup_vault_arn: "ARN", # required
483
485
  # },
@@ -857,6 +859,9 @@ module Aws::Backup
857
859
  # @option params [String] :creator_request_id
858
860
  # This is the ID of the creation request.
859
861
  #
862
+ # This parameter is optional. If used, this parameter must contain 1 to
863
+ # 50 alphanumeric or '-\_.' characters.
864
+ #
860
865
  # @option params [required, Integer] :min_retention_days
861
866
  # This setting specifies the minimum retention period that the vault
862
867
  # retains its recovery points. If this parameter is not specified, no
@@ -1007,6 +1012,178 @@ module Aws::Backup
1007
1012
  req.send_request(options)
1008
1013
  end
1009
1014
 
1015
+ # This is the first of two steps to create a restore testing plan; once
1016
+ # this request is successful, finish the procedure with request
1017
+ # CreateRestoreTestingSelection.
1018
+ #
1019
+ # You must include the parameter RestoreTestingPlan. You may optionally
1020
+ # include CreatorRequestId and Tags.
1021
+ #
1022
+ # @option params [String] :creator_request_id
1023
+ # This is a unique string that identifies the request and allows failed
1024
+ # requests to be retriedwithout the risk of running the operation twice.
1025
+ # This parameter is optional. If used, this parameter must contain 1 to
1026
+ # 50 alphanumeric or '-\_.' characters.
1027
+ #
1028
+ # @option params [required, Types::RestoreTestingPlanForCreate] :restore_testing_plan
1029
+ # A restore testing plan must contain a unique `RestoreTestingPlanName`
1030
+ # string you create and must contain a `ScheduleExpression` cron. You
1031
+ # may optionally include a `StartWindowHours` integer and a
1032
+ # `CreatorRequestId` string.
1033
+ #
1034
+ # The `RestoreTestingPlanName` is a unique string that is the name of
1035
+ # the restore testing plan. This cannot be changed after creation, and
1036
+ # it must consist of only alphanumeric characters and underscores.
1037
+ #
1038
+ # @option params [Hash<String,String>] :tags
1039
+ # Optional tags to include. A tag is a key-value pair you can use to
1040
+ # manage, filter, and search for your resources. Allowed characters
1041
+ # include UTF-8 letters,numbers, spaces, and the following characters: +
1042
+ # - = . \_ : /.
1043
+ #
1044
+ # @return [Types::CreateRestoreTestingPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1045
+ #
1046
+ # * {Types::CreateRestoreTestingPlanOutput#creation_time #creation_time} => Time
1047
+ # * {Types::CreateRestoreTestingPlanOutput#restore_testing_plan_arn #restore_testing_plan_arn} => String
1048
+ # * {Types::CreateRestoreTestingPlanOutput#restore_testing_plan_name #restore_testing_plan_name} => String
1049
+ #
1050
+ # @example Request syntax with placeholder values
1051
+ #
1052
+ # resp = client.create_restore_testing_plan({
1053
+ # creator_request_id: "String",
1054
+ # restore_testing_plan: { # required
1055
+ # recovery_point_selection: { # required
1056
+ # algorithm: "LATEST_WITHIN_WINDOW", # accepts LATEST_WITHIN_WINDOW, RANDOM_WITHIN_WINDOW
1057
+ # exclude_vaults: ["string"],
1058
+ # include_vaults: ["string"],
1059
+ # recovery_point_types: ["CONTINUOUS"], # accepts CONTINUOUS, SNAPSHOT
1060
+ # selection_window_days: 1,
1061
+ # },
1062
+ # restore_testing_plan_name: "String", # required
1063
+ # schedule_expression: "String", # required
1064
+ # schedule_expression_timezone: "String",
1065
+ # start_window_hours: 1,
1066
+ # },
1067
+ # tags: {
1068
+ # "String" => "String",
1069
+ # },
1070
+ # })
1071
+ #
1072
+ # @example Response structure
1073
+ #
1074
+ # resp.creation_time #=> Time
1075
+ # resp.restore_testing_plan_arn #=> String
1076
+ # resp.restore_testing_plan_name #=> String
1077
+ #
1078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateRestoreTestingPlan AWS API Documentation
1079
+ #
1080
+ # @overload create_restore_testing_plan(params = {})
1081
+ # @param [Hash] params ({})
1082
+ def create_restore_testing_plan(params = {}, options = {})
1083
+ req = build_request(:create_restore_testing_plan, params)
1084
+ req.send_request(options)
1085
+ end
1086
+
1087
+ # This request can be sent after CreateRestoreTestingPlan request
1088
+ # returns successfully. This is the second part of creating a resource
1089
+ # testing plan, and it must be completed sequentially.
1090
+ #
1091
+ # This consists of `RestoreTestingSelectionName`,
1092
+ # `ProtectedResourceType`, and one of the following:
1093
+ #
1094
+ # * `ProtectedResourceArns`
1095
+ #
1096
+ # * `ProtectedResourceConditions`
1097
+ #
1098
+ # Each protected resource type can have one single value.
1099
+ #
1100
+ # A restore testing selection can include a wildcard value ("*") for
1101
+ # `ProtectedResourceArns` along with `ProtectedResourceConditions`.
1102
+ # Alternatively, you can include up to 30 specific protected resource
1103
+ # ARNs in `ProtectedResourceArns`.
1104
+ #
1105
+ # Cannot select by both protected resource types AND specific ARNs.
1106
+ # Request will fail if both are included.
1107
+ #
1108
+ # @option params [String] :creator_request_id
1109
+ # This is an optional unique string that identifies the request and
1110
+ # allows failed requests to be retried without the risk of running the
1111
+ # operation twice. If used, this parameter must contain 1 to 50
1112
+ # alphanumeric or '-\_.' characters.
1113
+ #
1114
+ # @option params [required, String] :restore_testing_plan_name
1115
+ # Input the restore testing plan name that was returned from the related
1116
+ # CreateRestoreTestingPlan request.
1117
+ #
1118
+ # @option params [required, Types::RestoreTestingSelectionForCreate] :restore_testing_selection
1119
+ # This consists of `RestoreTestingSelectionName`,
1120
+ # `ProtectedResourceType`, and one of the following:
1121
+ #
1122
+ # * `ProtectedResourceArns`
1123
+ #
1124
+ # * `ProtectedResourceConditions`
1125
+ #
1126
+ # Each protected resource type can have one single value.
1127
+ #
1128
+ # A restore testing selection can include a wildcard value ("*") for
1129
+ # `ProtectedResourceArns` along with `ProtectedResourceConditions`.
1130
+ # Alternatively, you can include up to 30 specific protected resource
1131
+ # ARNs in `ProtectedResourceArns`.
1132
+ #
1133
+ # @return [Types::CreateRestoreTestingSelectionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1134
+ #
1135
+ # * {Types::CreateRestoreTestingSelectionOutput#creation_time #creation_time} => Time
1136
+ # * {Types::CreateRestoreTestingSelectionOutput#restore_testing_plan_arn #restore_testing_plan_arn} => String
1137
+ # * {Types::CreateRestoreTestingSelectionOutput#restore_testing_plan_name #restore_testing_plan_name} => String
1138
+ # * {Types::CreateRestoreTestingSelectionOutput#restore_testing_selection_name #restore_testing_selection_name} => String
1139
+ #
1140
+ # @example Request syntax with placeholder values
1141
+ #
1142
+ # resp = client.create_restore_testing_selection({
1143
+ # creator_request_id: "String",
1144
+ # restore_testing_plan_name: "String", # required
1145
+ # restore_testing_selection: { # required
1146
+ # iam_role_arn: "String", # required
1147
+ # protected_resource_arns: ["string"],
1148
+ # protected_resource_conditions: {
1149
+ # string_equals: [
1150
+ # {
1151
+ # key: "String", # required
1152
+ # value: "String", # required
1153
+ # },
1154
+ # ],
1155
+ # string_not_equals: [
1156
+ # {
1157
+ # key: "String", # required
1158
+ # value: "String", # required
1159
+ # },
1160
+ # ],
1161
+ # },
1162
+ # protected_resource_type: "String", # required
1163
+ # restore_metadata_overrides: {
1164
+ # "String" => "String",
1165
+ # },
1166
+ # restore_testing_selection_name: "String", # required
1167
+ # validation_window_hours: 1,
1168
+ # },
1169
+ # })
1170
+ #
1171
+ # @example Response structure
1172
+ #
1173
+ # resp.creation_time #=> Time
1174
+ # resp.restore_testing_plan_arn #=> String
1175
+ # resp.restore_testing_plan_name #=> String
1176
+ # resp.restore_testing_selection_name #=> String
1177
+ #
1178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateRestoreTestingSelection AWS API Documentation
1179
+ #
1180
+ # @overload create_restore_testing_selection(params = {})
1181
+ # @param [Hash] params ({})
1182
+ def create_restore_testing_selection(params = {}, options = {})
1183
+ req = build_request(:create_restore_testing_selection, params)
1184
+ req.send_request(options)
1185
+ end
1186
+
1010
1187
  # Deletes a backup plan. A backup plan can only be deleted after all
1011
1188
  # associated selections of resources have been deleted. Deleting a
1012
1189
  # backup plan deletes the current version of a backup plan. Previous
@@ -1277,6 +1454,63 @@ module Aws::Backup
1277
1454
  req.send_request(options)
1278
1455
  end
1279
1456
 
1457
+ # This request deletes the specified restore testing plan.
1458
+ #
1459
+ # Deletion can only successfully occur if all associated restore testing
1460
+ # selections are deleted first.
1461
+ #
1462
+ # @option params [required, String] :restore_testing_plan_name
1463
+ # Required unique name of the restore testing plan you wish to delete.
1464
+ #
1465
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1466
+ #
1467
+ # @example Request syntax with placeholder values
1468
+ #
1469
+ # resp = client.delete_restore_testing_plan({
1470
+ # restore_testing_plan_name: "String", # required
1471
+ # })
1472
+ #
1473
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteRestoreTestingPlan AWS API Documentation
1474
+ #
1475
+ # @overload delete_restore_testing_plan(params = {})
1476
+ # @param [Hash] params ({})
1477
+ def delete_restore_testing_plan(params = {}, options = {})
1478
+ req = build_request(:delete_restore_testing_plan, params)
1479
+ req.send_request(options)
1480
+ end
1481
+
1482
+ # Input the Restore Testing Plan name and Restore Testing Selection
1483
+ # name.
1484
+ #
1485
+ # All testing selections associated with a restore testing plan must be
1486
+ # deleted before the restore testing plan can be deleted.
1487
+ #
1488
+ # @option params [required, String] :restore_testing_plan_name
1489
+ # Required unique name of the restore testing plan that contains the
1490
+ # restore testing selection you wish to delete.
1491
+ #
1492
+ # @option params [required, String] :restore_testing_selection_name
1493
+ # Required unique name of the restore testing selection you wish to
1494
+ # delete.
1495
+ #
1496
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1497
+ #
1498
+ # @example Request syntax with placeholder values
1499
+ #
1500
+ # resp = client.delete_restore_testing_selection({
1501
+ # restore_testing_plan_name: "String", # required
1502
+ # restore_testing_selection_name: "String", # required
1503
+ # })
1504
+ #
1505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteRestoreTestingSelection AWS API Documentation
1506
+ #
1507
+ # @overload delete_restore_testing_selection(params = {})
1508
+ # @param [Hash] params ({})
1509
+ def delete_restore_testing_selection(params = {}, options = {})
1510
+ req = build_request(:delete_restore_testing_selection, params)
1511
+ req.send_request(options)
1512
+ end
1513
+
1280
1514
  # Returns backup job details for the specified `BackupJobId`.
1281
1515
  #
1282
1516
  # @option params [required, String] :backup_job_id
@@ -1309,6 +1543,7 @@ module Aws::Backup
1309
1543
  # * {Types::DescribeBackupJobOutput#number_of_child_jobs #number_of_child_jobs} => Integer
1310
1544
  # * {Types::DescribeBackupJobOutput#child_jobs_in_state #child_jobs_in_state} => Hash&lt;String,Integer&gt;
1311
1545
  # * {Types::DescribeBackupJobOutput#resource_name #resource_name} => String
1546
+ # * {Types::DescribeBackupJobOutput#initiation_date #initiation_date} => Time
1312
1547
  # * {Types::DescribeBackupJobOutput#message_category #message_category} => String
1313
1548
  #
1314
1549
  # @example Request syntax with placeholder values
@@ -1349,6 +1584,7 @@ module Aws::Backup
1349
1584
  # resp.child_jobs_in_state #=> Hash
1350
1585
  # resp.child_jobs_in_state["BackupJobState"] #=> Integer
1351
1586
  # resp.resource_name #=> String
1587
+ # resp.initiation_date #=> Time
1352
1588
  # resp.message_category #=> String
1353
1589
  #
1354
1590
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupJob AWS API Documentation
@@ -1559,6 +1795,11 @@ module Aws::Backup
1559
1795
  # * {Types::DescribeProtectedResourceOutput#resource_type #resource_type} => String
1560
1796
  # * {Types::DescribeProtectedResourceOutput#last_backup_time #last_backup_time} => Time
1561
1797
  # * {Types::DescribeProtectedResourceOutput#resource_name #resource_name} => String
1798
+ # * {Types::DescribeProtectedResourceOutput#last_backup_vault_arn #last_backup_vault_arn} => String
1799
+ # * {Types::DescribeProtectedResourceOutput#last_recovery_point_arn #last_recovery_point_arn} => String
1800
+ # * {Types::DescribeProtectedResourceOutput#latest_restore_execution_time_minutes #latest_restore_execution_time_minutes} => Integer
1801
+ # * {Types::DescribeProtectedResourceOutput#latest_restore_job_creation_date #latest_restore_job_creation_date} => Time
1802
+ # * {Types::DescribeProtectedResourceOutput#latest_restore_recovery_point_creation_date #latest_restore_recovery_point_creation_date} => Time
1562
1803
  #
1563
1804
  # @example Request syntax with placeholder values
1564
1805
  #
@@ -1572,6 +1813,11 @@ module Aws::Backup
1572
1813
  # resp.resource_type #=> String
1573
1814
  # resp.last_backup_time #=> Time
1574
1815
  # resp.resource_name #=> String
1816
+ # resp.last_backup_vault_arn #=> String
1817
+ # resp.last_recovery_point_arn #=> String
1818
+ # resp.latest_restore_execution_time_minutes #=> Integer
1819
+ # resp.latest_restore_job_creation_date #=> Time
1820
+ # resp.latest_restore_recovery_point_creation_date #=> Time
1575
1821
  #
1576
1822
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeProtectedResource AWS API Documentation
1577
1823
  #
@@ -1655,6 +1901,7 @@ module Aws::Backup
1655
1901
  # resp.calculated_lifecycle.delete_at #=> Time
1656
1902
  # resp.lifecycle.move_to_cold_storage_after_days #=> Integer
1657
1903
  # resp.lifecycle.delete_after_days #=> Integer
1904
+ # resp.lifecycle.opt_in_to_archive_for_supported_resources #=> Boolean
1658
1905
  # resp.encryption_key_arn #=> String
1659
1906
  # resp.is_encrypted #=> Boolean
1660
1907
  # resp.storage_class #=> String, one of "WARM", "COLD", "DELETED"
@@ -1810,6 +2057,12 @@ module Aws::Backup
1810
2057
  # * {Types::DescribeRestoreJobOutput#expected_completion_time_minutes #expected_completion_time_minutes} => Integer
1811
2058
  # * {Types::DescribeRestoreJobOutput#created_resource_arn #created_resource_arn} => String
1812
2059
  # * {Types::DescribeRestoreJobOutput#resource_type #resource_type} => String
2060
+ # * {Types::DescribeRestoreJobOutput#recovery_point_creation_date #recovery_point_creation_date} => Time
2061
+ # * {Types::DescribeRestoreJobOutput#created_by #created_by} => Types::RestoreJobCreator
2062
+ # * {Types::DescribeRestoreJobOutput#validation_status #validation_status} => String
2063
+ # * {Types::DescribeRestoreJobOutput#validation_status_message #validation_status_message} => String
2064
+ # * {Types::DescribeRestoreJobOutput#deletion_status #deletion_status} => String
2065
+ # * {Types::DescribeRestoreJobOutput#deletion_status_message #deletion_status_message} => String
1813
2066
  #
1814
2067
  # @example Request syntax with placeholder values
1815
2068
  #
@@ -1832,6 +2085,12 @@ module Aws::Backup
1832
2085
  # resp.expected_completion_time_minutes #=> Integer
1833
2086
  # resp.created_resource_arn #=> String
1834
2087
  # resp.resource_type #=> String
2088
+ # resp.recovery_point_creation_date #=> Time
2089
+ # resp.created_by.restore_testing_plan_arn #=> String
2090
+ # resp.validation_status #=> String, one of "FAILED", "SUCCESSFUL", "TIMED_OUT", "VALIDATING"
2091
+ # resp.validation_status_message #=> String
2092
+ # resp.deletion_status #=> String, one of "DELETING", "FAILED", "SUCCESSFUL"
2093
+ # resp.deletion_status_message #=> String
1835
2094
  #
1836
2095
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRestoreJob AWS API Documentation
1837
2096
  #
@@ -1979,12 +2238,14 @@ module Aws::Backup
1979
2238
  # resp.backup_plan.rules[0].completion_window_minutes #=> Integer
1980
2239
  # resp.backup_plan.rules[0].lifecycle.move_to_cold_storage_after_days #=> Integer
1981
2240
  # resp.backup_plan.rules[0].lifecycle.delete_after_days #=> Integer
2241
+ # resp.backup_plan.rules[0].lifecycle.opt_in_to_archive_for_supported_resources #=> Boolean
1982
2242
  # resp.backup_plan.rules[0].recovery_point_tags #=> Hash
1983
2243
  # resp.backup_plan.rules[0].recovery_point_tags["TagKey"] #=> String
1984
2244
  # resp.backup_plan.rules[0].rule_id #=> String
1985
2245
  # resp.backup_plan.rules[0].copy_actions #=> Array
1986
2246
  # resp.backup_plan.rules[0].copy_actions[0].lifecycle.move_to_cold_storage_after_days #=> Integer
1987
2247
  # resp.backup_plan.rules[0].copy_actions[0].lifecycle.delete_after_days #=> Integer
2248
+ # resp.backup_plan.rules[0].copy_actions[0].lifecycle.opt_in_to_archive_for_supported_resources #=> Boolean
1988
2249
  # resp.backup_plan.rules[0].copy_actions[0].destination_backup_vault_arn #=> String
1989
2250
  # resp.backup_plan.rules[0].enable_continuous_backup #=> Boolean
1990
2251
  # resp.backup_plan.rules[0].schedule_expression_timezone #=> String
@@ -2039,12 +2300,14 @@ module Aws::Backup
2039
2300
  # resp.backup_plan.rules[0].completion_window_minutes #=> Integer
2040
2301
  # resp.backup_plan.rules[0].lifecycle.move_to_cold_storage_after_days #=> Integer
2041
2302
  # resp.backup_plan.rules[0].lifecycle.delete_after_days #=> Integer
2303
+ # resp.backup_plan.rules[0].lifecycle.opt_in_to_archive_for_supported_resources #=> Boolean
2042
2304
  # resp.backup_plan.rules[0].recovery_point_tags #=> Hash
2043
2305
  # resp.backup_plan.rules[0].recovery_point_tags["TagKey"] #=> String
2044
2306
  # resp.backup_plan.rules[0].rule_id #=> String
2045
2307
  # resp.backup_plan.rules[0].copy_actions #=> Array
2046
2308
  # resp.backup_plan.rules[0].copy_actions[0].lifecycle.move_to_cold_storage_after_days #=> Integer
2047
2309
  # resp.backup_plan.rules[0].copy_actions[0].lifecycle.delete_after_days #=> Integer
2310
+ # resp.backup_plan.rules[0].copy_actions[0].lifecycle.opt_in_to_archive_for_supported_resources #=> Boolean
2048
2311
  # resp.backup_plan.rules[0].copy_actions[0].destination_backup_vault_arn #=> String
2049
2312
  # resp.backup_plan.rules[0].enable_continuous_backup #=> Boolean
2050
2313
  # resp.backup_plan.rules[0].schedule_expression_timezone #=> String
@@ -2088,12 +2351,14 @@ module Aws::Backup
2088
2351
  # resp.backup_plan_document.rules[0].completion_window_minutes #=> Integer
2089
2352
  # resp.backup_plan_document.rules[0].lifecycle.move_to_cold_storage_after_days #=> Integer
2090
2353
  # resp.backup_plan_document.rules[0].lifecycle.delete_after_days #=> Integer
2354
+ # resp.backup_plan_document.rules[0].lifecycle.opt_in_to_archive_for_supported_resources #=> Boolean
2091
2355
  # resp.backup_plan_document.rules[0].recovery_point_tags #=> Hash
2092
2356
  # resp.backup_plan_document.rules[0].recovery_point_tags["TagKey"] #=> String
2093
2357
  # resp.backup_plan_document.rules[0].rule_id #=> String
2094
2358
  # resp.backup_plan_document.rules[0].copy_actions #=> Array
2095
2359
  # resp.backup_plan_document.rules[0].copy_actions[0].lifecycle.move_to_cold_storage_after_days #=> Integer
2096
2360
  # resp.backup_plan_document.rules[0].copy_actions[0].lifecycle.delete_after_days #=> Integer
2361
+ # resp.backup_plan_document.rules[0].copy_actions[0].lifecycle.opt_in_to_archive_for_supported_resources #=> Boolean
2097
2362
  # resp.backup_plan_document.rules[0].copy_actions[0].destination_backup_vault_arn #=> String
2098
2363
  # resp.backup_plan_document.rules[0].enable_continuous_backup #=> Boolean
2099
2364
  # resp.backup_plan_document.rules[0].schedule_expression_timezone #=> String
@@ -2323,6 +2588,7 @@ module Aws::Backup
2323
2588
  # * {Types::GetRecoveryPointRestoreMetadataOutput#backup_vault_arn #backup_vault_arn} => String
2324
2589
  # * {Types::GetRecoveryPointRestoreMetadataOutput#recovery_point_arn #recovery_point_arn} => String
2325
2590
  # * {Types::GetRecoveryPointRestoreMetadataOutput#restore_metadata #restore_metadata} => Hash&lt;String,String&gt;
2591
+ # * {Types::GetRecoveryPointRestoreMetadataOutput#resource_type #resource_type} => String
2326
2592
  #
2327
2593
  # @example Request syntax with placeholder values
2328
2594
  #
@@ -2338,6 +2604,7 @@ module Aws::Backup
2338
2604
  # resp.recovery_point_arn #=> String
2339
2605
  # resp.restore_metadata #=> Hash
2340
2606
  # resp.restore_metadata["MetadataKey"] #=> String
2607
+ # resp.resource_type #=> String
2341
2608
  #
2342
2609
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRecoveryPointRestoreMetadata AWS API Documentation
2343
2610
  #
@@ -2348,6 +2615,177 @@ module Aws::Backup
2348
2615
  req.send_request(options)
2349
2616
  end
2350
2617
 
2618
+ # This request returns the metadata for the specified restore job.
2619
+ #
2620
+ # @option params [required, String] :restore_job_id
2621
+ # This is a unique identifier of a restore job within Backup.
2622
+ #
2623
+ # @return [Types::GetRestoreJobMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2624
+ #
2625
+ # * {Types::GetRestoreJobMetadataOutput#restore_job_id #restore_job_id} => String
2626
+ # * {Types::GetRestoreJobMetadataOutput#metadata #metadata} => Hash&lt;String,String&gt;
2627
+ #
2628
+ # @example Request syntax with placeholder values
2629
+ #
2630
+ # resp = client.get_restore_job_metadata({
2631
+ # restore_job_id: "RestoreJobId", # required
2632
+ # })
2633
+ #
2634
+ # @example Response structure
2635
+ #
2636
+ # resp.restore_job_id #=> String
2637
+ # resp.metadata #=> Hash
2638
+ # resp.metadata["MetadataKey"] #=> String
2639
+ #
2640
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRestoreJobMetadata AWS API Documentation
2641
+ #
2642
+ # @overload get_restore_job_metadata(params = {})
2643
+ # @param [Hash] params ({})
2644
+ def get_restore_job_metadata(params = {}, options = {})
2645
+ req = build_request(:get_restore_job_metadata, params)
2646
+ req.send_request(options)
2647
+ end
2648
+
2649
+ # This request returns the minimal required set of metadata needed to
2650
+ # start a restore job with secure default settings. `BackupVaultName`
2651
+ # and `RecoveryPointArn` are required parameters. `BackupVaultAccountId`
2652
+ # is an optional parameter.
2653
+ #
2654
+ # @option params [String] :backup_vault_account_id
2655
+ # This is the account ID of the specified backup vault.
2656
+ #
2657
+ # @option params [required, String] :backup_vault_name
2658
+ # The name of a logical container where backups are stored. Backup
2659
+ # vaults are identified by names that are unique to the account used to
2660
+ # create them and the Amazon Web ServicesRegion where they are created.
2661
+ # They consist of letters, numbers, and hyphens.
2662
+ #
2663
+ # @option params [required, String] :recovery_point_arn
2664
+ # An Amazon Resource Name (ARN) that uniquely identifies a recovery
2665
+ # point; for example,
2666
+ # `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45`.
2667
+ #
2668
+ # @return [Types::GetRestoreTestingInferredMetadataOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2669
+ #
2670
+ # * {Types::GetRestoreTestingInferredMetadataOutput#inferred_metadata #inferred_metadata} => Hash&lt;String,String&gt;
2671
+ #
2672
+ # @example Request syntax with placeholder values
2673
+ #
2674
+ # resp = client.get_restore_testing_inferred_metadata({
2675
+ # backup_vault_account_id: "String",
2676
+ # backup_vault_name: "String", # required
2677
+ # recovery_point_arn: "String", # required
2678
+ # })
2679
+ #
2680
+ # @example Response structure
2681
+ #
2682
+ # resp.inferred_metadata #=> Hash
2683
+ # resp.inferred_metadata["string"] #=> String
2684
+ #
2685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRestoreTestingInferredMetadata AWS API Documentation
2686
+ #
2687
+ # @overload get_restore_testing_inferred_metadata(params = {})
2688
+ # @param [Hash] params ({})
2689
+ def get_restore_testing_inferred_metadata(params = {}, options = {})
2690
+ req = build_request(:get_restore_testing_inferred_metadata, params)
2691
+ req.send_request(options)
2692
+ end
2693
+
2694
+ # Returns `RestoreTestingPlan` details for the specified
2695
+ # `RestoreTestingPlanName`. The details are the body of a restore
2696
+ # testing plan in JSON format, in addition to plan metadata.
2697
+ #
2698
+ # @option params [required, String] :restore_testing_plan_name
2699
+ # Required unique name of the restore testing plan.
2700
+ #
2701
+ # @return [Types::GetRestoreTestingPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2702
+ #
2703
+ # * {Types::GetRestoreTestingPlanOutput#restore_testing_plan #restore_testing_plan} => Types::RestoreTestingPlanForGet
2704
+ #
2705
+ # @example Request syntax with placeholder values
2706
+ #
2707
+ # resp = client.get_restore_testing_plan({
2708
+ # restore_testing_plan_name: "String", # required
2709
+ # })
2710
+ #
2711
+ # @example Response structure
2712
+ #
2713
+ # resp.restore_testing_plan.creation_time #=> Time
2714
+ # resp.restore_testing_plan.creator_request_id #=> String
2715
+ # resp.restore_testing_plan.last_execution_time #=> Time
2716
+ # resp.restore_testing_plan.last_update_time #=> Time
2717
+ # resp.restore_testing_plan.recovery_point_selection.algorithm #=> String, one of "LATEST_WITHIN_WINDOW", "RANDOM_WITHIN_WINDOW"
2718
+ # resp.restore_testing_plan.recovery_point_selection.exclude_vaults #=> Array
2719
+ # resp.restore_testing_plan.recovery_point_selection.exclude_vaults[0] #=> String
2720
+ # resp.restore_testing_plan.recovery_point_selection.include_vaults #=> Array
2721
+ # resp.restore_testing_plan.recovery_point_selection.include_vaults[0] #=> String
2722
+ # resp.restore_testing_plan.recovery_point_selection.recovery_point_types #=> Array
2723
+ # resp.restore_testing_plan.recovery_point_selection.recovery_point_types[0] #=> String, one of "CONTINUOUS", "SNAPSHOT"
2724
+ # resp.restore_testing_plan.recovery_point_selection.selection_window_days #=> Integer
2725
+ # resp.restore_testing_plan.restore_testing_plan_arn #=> String
2726
+ # resp.restore_testing_plan.restore_testing_plan_name #=> String
2727
+ # resp.restore_testing_plan.schedule_expression #=> String
2728
+ # resp.restore_testing_plan.schedule_expression_timezone #=> String
2729
+ # resp.restore_testing_plan.start_window_hours #=> Integer
2730
+ #
2731
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRestoreTestingPlan AWS API Documentation
2732
+ #
2733
+ # @overload get_restore_testing_plan(params = {})
2734
+ # @param [Hash] params ({})
2735
+ def get_restore_testing_plan(params = {}, options = {})
2736
+ req = build_request(:get_restore_testing_plan, params)
2737
+ req.send_request(options)
2738
+ end
2739
+
2740
+ # Returns RestoreTestingSelection, which displays resources and elements
2741
+ # of the restore testing plan.
2742
+ #
2743
+ # @option params [required, String] :restore_testing_plan_name
2744
+ # Required unique name of the restore testing plan.
2745
+ #
2746
+ # @option params [required, String] :restore_testing_selection_name
2747
+ # Required unique name of the restore testing selection.
2748
+ #
2749
+ # @return [Types::GetRestoreTestingSelectionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2750
+ #
2751
+ # * {Types::GetRestoreTestingSelectionOutput#restore_testing_selection #restore_testing_selection} => Types::RestoreTestingSelectionForGet
2752
+ #
2753
+ # @example Request syntax with placeholder values
2754
+ #
2755
+ # resp = client.get_restore_testing_selection({
2756
+ # restore_testing_plan_name: "String", # required
2757
+ # restore_testing_selection_name: "String", # required
2758
+ # })
2759
+ #
2760
+ # @example Response structure
2761
+ #
2762
+ # resp.restore_testing_selection.creation_time #=> Time
2763
+ # resp.restore_testing_selection.creator_request_id #=> String
2764
+ # resp.restore_testing_selection.iam_role_arn #=> String
2765
+ # resp.restore_testing_selection.protected_resource_arns #=> Array
2766
+ # resp.restore_testing_selection.protected_resource_arns[0] #=> String
2767
+ # resp.restore_testing_selection.protected_resource_conditions.string_equals #=> Array
2768
+ # resp.restore_testing_selection.protected_resource_conditions.string_equals[0].key #=> String
2769
+ # resp.restore_testing_selection.protected_resource_conditions.string_equals[0].value #=> String
2770
+ # resp.restore_testing_selection.protected_resource_conditions.string_not_equals #=> Array
2771
+ # resp.restore_testing_selection.protected_resource_conditions.string_not_equals[0].key #=> String
2772
+ # resp.restore_testing_selection.protected_resource_conditions.string_not_equals[0].value #=> String
2773
+ # resp.restore_testing_selection.protected_resource_type #=> String
2774
+ # resp.restore_testing_selection.restore_metadata_overrides #=> Hash
2775
+ # resp.restore_testing_selection.restore_metadata_overrides["String"] #=> String
2776
+ # resp.restore_testing_selection.restore_testing_plan_name #=> String
2777
+ # resp.restore_testing_selection.restore_testing_selection_name #=> String
2778
+ # resp.restore_testing_selection.validation_window_hours #=> Integer
2779
+ #
2780
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRestoreTestingSelection AWS API Documentation
2781
+ #
2782
+ # @overload get_restore_testing_selection(params = {})
2783
+ # @param [Hash] params ({})
2784
+ def get_restore_testing_selection(params = {}, options = {})
2785
+ req = build_request(:get_restore_testing_selection, params)
2786
+ req.send_request(options)
2787
+ end
2788
+
2351
2789
  # Returns the Amazon Web Services resource types supported by Backup.
2352
2790
  #
2353
2791
  # @return [Types::GetSupportedResourceTypesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2448,7 +2886,7 @@ module Aws::Backup
2448
2886
  #
2449
2887
  # @option params [String] :next_token
2450
2888
  # The next item following a partial list of returned resources. For
2451
- # example, if a request is made to return `maxResults` number of
2889
+ # example, if a request is made to return `MaxResults` number of
2452
2890
  # resources, `NextToken` allows you to return more items in your list
2453
2891
  # starting at the location pointed to by the next token.
2454
2892
  #
@@ -2505,7 +2943,7 @@ module Aws::Backup
2505
2943
  #
2506
2944
  # @option params [String] :next_token
2507
2945
  # The next item following a partial list of returned items. For example,
2508
- # if a request is made to return `maxResults` number of items,
2946
+ # if a request is made to return `MaxResults` number of items,
2509
2947
  # `NextToken` allows you to return more items in your list starting at
2510
2948
  # the location pointed to by the next token.
2511
2949
  #
@@ -2578,11 +3016,18 @@ module Aws::Backup
2578
3016
  # This is a filter to list child (nested) jobs based on parent job ID.
2579
3017
  #
2580
3018
  # @option params [String] :by_message_category
2581
- # This returns a list of backup jobs for the specified message category.
3019
+ # This is an optional parameter that can be used to filter out jobs with
3020
+ # a MessageCategory which matches the value you input.
2582
3021
  #
2583
- # Example strings may include `AccessDenied`, `Success`, and
2584
- # `InvalidParameters`. See [Monitoring][1] for a list of MessageCategory
2585
- # strings.
3022
+ # Example strings may include `AccessDenied`, `SUCCESS`,
3023
+ # `AGGREGATE_ALL`, and `InvalidParameters`.
3024
+ #
3025
+ # View [Monitoring][1]
3026
+ #
3027
+ # The wildcard () returns count of all message categories.
3028
+ #
3029
+ # `AGGREGATE_ALL` aggregates job counts for all message categories and
3030
+ # returns the sum.
2586
3031
  #
2587
3032
  #
2588
3033
  #
@@ -2643,6 +3088,7 @@ module Aws::Backup
2643
3088
  # resp.backup_jobs[0].parent_job_id #=> String
2644
3089
  # resp.backup_jobs[0].is_parent #=> Boolean
2645
3090
  # resp.backup_jobs[0].resource_name #=> String
3091
+ # resp.backup_jobs[0].initiation_date #=> Time
2646
3092
  # resp.backup_jobs[0].message_category #=> String
2647
3093
  # resp.next_token #=> String
2648
3094
  #
@@ -2660,7 +3106,7 @@ module Aws::Backup
2660
3106
  #
2661
3107
  # @option params [String] :next_token
2662
3108
  # The next item following a partial list of returned items. For example,
2663
- # if a request is made to return `maxResults` number of items,
3109
+ # if a request is made to return `MaxResults` number of items,
2664
3110
  # `NextToken` allows you to return more items in your list starting at
2665
3111
  # the location pointed to by the next token.
2666
3112
  #
@@ -2706,7 +3152,7 @@ module Aws::Backup
2706
3152
  #
2707
3153
  # @option params [String] :next_token
2708
3154
  # The next item following a partial list of returned items. For example,
2709
- # if a request is made to return `maxResults` number of items,
3155
+ # if a request is made to return `MaxResults` number of items,
2710
3156
  # `NextToken` allows you to return more items in your list starting at
2711
3157
  # the location pointed to by the next token.
2712
3158
  #
@@ -2761,7 +3207,7 @@ module Aws::Backup
2761
3207
  #
2762
3208
  # @option params [String] :next_token
2763
3209
  # The next item following a partial list of returned items. For example,
2764
- # if a request is made to return `maxResults` number of items,
3210
+ # if a request is made to return `MaxResults` number of items,
2765
3211
  # `NextToken` allows you to return more items in your list starting at
2766
3212
  # the location pointed to by the next token.
2767
3213
  #
@@ -2821,7 +3267,7 @@ module Aws::Backup
2821
3267
  #
2822
3268
  # @option params [String] :next_token
2823
3269
  # The next item following a partial list of returned items. For example,
2824
- # if a request is made to return `maxResults` number of items,
3270
+ # if a request is made to return `MaxResults` number of items,
2825
3271
  # `NextToken` allows you to return more items in your list starting at
2826
3272
  # the location pointed to by the next token.
2827
3273
  #
@@ -2874,7 +3320,7 @@ module Aws::Backup
2874
3320
  #
2875
3321
  # @option params [String] :next_token
2876
3322
  # The next item following a partial list of returned items. For example,
2877
- # if a request is made to return `maxResults` number of items,
3323
+ # if a request is made to return `MaxResults` number of items,
2878
3324
  # `NextToken` allows you to return more items in your list starting at
2879
3325
  # the location pointed to by the next token.
2880
3326
  #
@@ -2999,7 +3445,7 @@ module Aws::Backup
2999
3445
  #
3000
3446
  # @option params [String] :next_token
3001
3447
  # The next item following a partial list of returned resources. For
3002
- # example, if a request is made to return `maxResults` number of
3448
+ # example, if a request is made to return `MaxResults` number of
3003
3449
  # resources, `NextToken` allows you to return more items in your list
3004
3450
  # starting at the location pointed to by the next token.
3005
3451
  #
@@ -3050,7 +3496,7 @@ module Aws::Backup
3050
3496
  #
3051
3497
  # @option params [String] :next_token
3052
3498
  # The next item following a partial list of returned items. For example,
3053
- # if a request is made to return maxResults number of items, NextToken
3499
+ # if a request is made to return MaxResults number of items, NextToken
3054
3500
  # allows you to return more items in your list starting at the location
3055
3501
  # pointed to by the next token.
3056
3502
  #
@@ -3118,12 +3564,13 @@ module Aws::Backup
3118
3564
  # This is a filter to list child (nested) jobs based on parent job ID.
3119
3565
  #
3120
3566
  # @option params [String] :by_message_category
3121
- # This parameter returns the job count for the specified message
3122
- # category.
3567
+ # This is an optional parameter that can be used to filter out jobs with
3568
+ # a MessageCategory which matches the value you input.
3123
3569
  #
3124
- # Example accepted strings include `AccessDenied`, `Success`, and
3125
- # `InvalidParameters`. See [Monitoring][1] for a list of accepted
3126
- # MessageCategory strings.
3570
+ # Example strings may include `AccessDenied`, `SUCCESS`,
3571
+ # `AGGREGATE_ALL`, and `INVALIDPARAMETERS`.
3572
+ #
3573
+ # View [Monitoring][1] for a list of accepted strings.
3127
3574
  #
3128
3575
  # The the value ANY returns count of all message categories.
3129
3576
  #
@@ -3249,7 +3696,7 @@ module Aws::Backup
3249
3696
  #
3250
3697
  # @option params [String] :next_token
3251
3698
  # The next item following a partial list of returned resources. For
3252
- # example, if a request is made to return `maxResults` number of
3699
+ # example, if a request is made to return `MaxResults` number of
3253
3700
  # resources, `NextToken` allows you to return more items in your list
3254
3701
  # starting at the location pointed to by the next token.
3255
3702
  #
@@ -3297,7 +3744,7 @@ module Aws::Backup
3297
3744
  #
3298
3745
  # @option params [String] :next_token
3299
3746
  # The next item following a partial list of returned items. For example,
3300
- # if a request is made to return `maxResults` number of items,
3747
+ # if a request is made to return `MaxResults` number of items,
3301
3748
  # `NextToken` allows you to return more items in your list starting at
3302
3749
  # the location pointed to by the next token.
3303
3750
  #
@@ -3325,6 +3772,8 @@ module Aws::Backup
3325
3772
  # resp.results[0].resource_type #=> String
3326
3773
  # resp.results[0].last_backup_time #=> Time
3327
3774
  # resp.results[0].resource_name #=> String
3775
+ # resp.results[0].last_backup_vault_arn #=> String
3776
+ # resp.results[0].last_recovery_point_arn #=> String
3328
3777
  # resp.next_token #=> String
3329
3778
  #
3330
3779
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListProtectedResources AWS API Documentation
@@ -3349,7 +3798,7 @@ module Aws::Backup
3349
3798
  #
3350
3799
  # @option params [String] :next_token
3351
3800
  # The next item following a partial list of returned items. For example,
3352
- # if a request is made to return `maxResults` number of items,
3801
+ # if a request is made to return `MaxResults` number of items,
3353
3802
  # `NextToken` allows you to return more items in your list starting at
3354
3803
  # the location pointed to by the next token.
3355
3804
  #
@@ -3379,6 +3828,8 @@ module Aws::Backup
3379
3828
  # resp.results[0].resource_type #=> String
3380
3829
  # resp.results[0].last_backup_time #=> Time
3381
3830
  # resp.results[0].resource_name #=> String
3831
+ # resp.results[0].last_backup_vault_arn #=> String
3832
+ # resp.results[0].last_recovery_point_arn #=> String
3382
3833
  # resp.next_token #=> String
3383
3834
  #
3384
3835
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListProtectedResourcesByBackupVault AWS API Documentation
@@ -3409,7 +3860,7 @@ module Aws::Backup
3409
3860
  #
3410
3861
  # @option params [String] :next_token
3411
3862
  # The next item following a partial list of returned items. For example,
3412
- # if a request is made to return `maxResults` number of items,
3863
+ # if a request is made to return `MaxResults` number of items,
3413
3864
  # `NextToken` allows you to return more items in your list starting at
3414
3865
  # the location pointed to by the next token.
3415
3866
  #
@@ -3484,6 +3935,7 @@ module Aws::Backup
3484
3935
  # resp.recovery_points[0].calculated_lifecycle.delete_at #=> Time
3485
3936
  # resp.recovery_points[0].lifecycle.move_to_cold_storage_after_days #=> Integer
3486
3937
  # resp.recovery_points[0].lifecycle.delete_after_days #=> Integer
3938
+ # resp.recovery_points[0].lifecycle.opt_in_to_archive_for_supported_resources #=> Boolean
3487
3939
  # resp.recovery_points[0].encryption_key_arn #=> String
3488
3940
  # resp.recovery_points[0].is_encrypted #=> Boolean
3489
3941
  # resp.recovery_points[0].last_restore_time #=> Time
@@ -3509,7 +3961,7 @@ module Aws::Backup
3509
3961
  #
3510
3962
  # @option params [String] :next_token
3511
3963
  # This is the next item following a partial list of returned resources.
3512
- # For example, if a request is made to return `maxResults` number of
3964
+ # For example, if a request is made to return `MaxResults` number of
3513
3965
  # resources, `NextToken` allows you to return more items in your list
3514
3966
  # starting at the location pointed to by the next token.
3515
3967
  #
@@ -3563,7 +4015,7 @@ module Aws::Backup
3563
4015
  #
3564
4016
  # @option params [String] :next_token
3565
4017
  # The next item following a partial list of returned items. For example,
3566
- # if a request is made to return `maxResults` number of items,
4018
+ # if a request is made to return `MaxResults` number of items,
3567
4019
  # `NextToken` allows you to return more items in your list starting at
3568
4020
  # the location pointed to by the next token.
3569
4021
  #
@@ -3811,7 +4263,7 @@ module Aws::Backup
3811
4263
  #
3812
4264
  # @option params [String] :next_token
3813
4265
  # The next item following a partial list of returned resources. For
3814
- # example, if a request is made to return `maxResults` number of
4266
+ # example, if a request is made to return `MaxResults` number of
3815
4267
  # resources, `NextToken` allows you to return more items in your list
3816
4268
  # starting at the location pointed to by the next token.
3817
4269
  #
@@ -3861,7 +4313,7 @@ module Aws::Backup
3861
4313
  #
3862
4314
  # @option params [String] :next_token
3863
4315
  # The next item following a partial list of returned items. For example,
3864
- # if a request is made to return `maxResults` number of items,
4316
+ # if a request is made to return `MaxResults` number of items,
3865
4317
  # `NextToken` allows you to return more items in your list starting at
3866
4318
  # the location pointed to by the next token.
3867
4319
  #
@@ -3889,6 +4341,10 @@ module Aws::Backup
3889
4341
  # Returns only copy jobs completed after a date expressed in Unix format
3890
4342
  # and Coordinated Universal Time (UTC).
3891
4343
  #
4344
+ # @option params [String] :by_restore_testing_plan_arn
4345
+ # This returns only restore testing jobs that match the specified
4346
+ # resource Amazon Resource Name (ARN).
4347
+ #
3892
4348
  # @return [Types::ListRestoreJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3893
4349
  #
3894
4350
  # * {Types::ListRestoreJobsOutput#restore_jobs #restore_jobs} => Array&lt;Types::RestoreJobsListMember&gt;
@@ -3907,6 +4363,7 @@ module Aws::Backup
3907
4363
  # by_status: "PENDING", # accepts PENDING, RUNNING, COMPLETED, ABORTED, FAILED
3908
4364
  # by_complete_before: Time.now,
3909
4365
  # by_complete_after: Time.now,
4366
+ # by_restore_testing_plan_arn: "ARN",
3910
4367
  # })
3911
4368
  #
3912
4369
  # @example Response structure
@@ -3925,6 +4382,12 @@ module Aws::Backup
3925
4382
  # resp.restore_jobs[0].expected_completion_time_minutes #=> Integer
3926
4383
  # resp.restore_jobs[0].created_resource_arn #=> String
3927
4384
  # resp.restore_jobs[0].resource_type #=> String
4385
+ # resp.restore_jobs[0].recovery_point_creation_date #=> Time
4386
+ # resp.restore_jobs[0].created_by.restore_testing_plan_arn #=> String
4387
+ # resp.restore_jobs[0].validation_status #=> String, one of "FAILED", "SUCCESSFUL", "TIMED_OUT", "VALIDATING"
4388
+ # resp.restore_jobs[0].validation_status_message #=> String
4389
+ # resp.restore_jobs[0].deletion_status #=> String, one of "DELETING", "FAILED", "SUCCESSFUL"
4390
+ # resp.restore_jobs[0].deletion_status_message #=> String
3928
4391
  # resp.next_token #=> String
3929
4392
  #
3930
4393
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreJobs AWS API Documentation
@@ -3936,6 +4399,187 @@ module Aws::Backup
3936
4399
  req.send_request(options)
3937
4400
  end
3938
4401
 
4402
+ # This returns restore jobs that contain the specified protected
4403
+ # resource.
4404
+ #
4405
+ # You must include `ResourceArn`. You can optionally include
4406
+ # `NextToken`, `ByStatus`, `MaxResults`,
4407
+ # `ByRecoveryPointCreationDateAfter` , and
4408
+ # `ByRecoveryPointCreationDateBefore`.
4409
+ #
4410
+ # @option params [required, String] :resource_arn
4411
+ # Returns only restore jobs that match the specified resource Amazon
4412
+ # Resource Name (ARN).
4413
+ #
4414
+ # @option params [String] :by_status
4415
+ # Returns only restore jobs associated with the specified job status.
4416
+ #
4417
+ # @option params [Time,DateTime,Date,Integer,String] :by_recovery_point_creation_date_after
4418
+ # Returns only restore jobs of recovery points that were created after
4419
+ # the specified date.
4420
+ #
4421
+ # @option params [Time,DateTime,Date,Integer,String] :by_recovery_point_creation_date_before
4422
+ # Returns only restore jobs of recovery points that were created before
4423
+ # the specified date.
4424
+ #
4425
+ # @option params [String] :next_token
4426
+ # The next item following a partial list of returned items. For example,
4427
+ # if a request ismade to return `MaxResults` number of items,
4428
+ # `NextToken` allows you to return more items in your list starting at
4429
+ # the location pointed to by the next token.
4430
+ #
4431
+ # @option params [Integer] :max_results
4432
+ # The maximum number of items to be returned.
4433
+ #
4434
+ # @return [Types::ListRestoreJobsByProtectedResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4435
+ #
4436
+ # * {Types::ListRestoreJobsByProtectedResourceOutput#restore_jobs #restore_jobs} => Array&lt;Types::RestoreJobsListMember&gt;
4437
+ # * {Types::ListRestoreJobsByProtectedResourceOutput#next_token #next_token} => String
4438
+ #
4439
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4440
+ #
4441
+ # @example Request syntax with placeholder values
4442
+ #
4443
+ # resp = client.list_restore_jobs_by_protected_resource({
4444
+ # resource_arn: "ARN", # required
4445
+ # by_status: "PENDING", # accepts PENDING, RUNNING, COMPLETED, ABORTED, FAILED
4446
+ # by_recovery_point_creation_date_after: Time.now,
4447
+ # by_recovery_point_creation_date_before: Time.now,
4448
+ # next_token: "string",
4449
+ # max_results: 1,
4450
+ # })
4451
+ #
4452
+ # @example Response structure
4453
+ #
4454
+ # resp.restore_jobs #=> Array
4455
+ # resp.restore_jobs[0].account_id #=> String
4456
+ # resp.restore_jobs[0].restore_job_id #=> String
4457
+ # resp.restore_jobs[0].recovery_point_arn #=> String
4458
+ # resp.restore_jobs[0].creation_date #=> Time
4459
+ # resp.restore_jobs[0].completion_date #=> Time
4460
+ # resp.restore_jobs[0].status #=> String, one of "PENDING", "RUNNING", "COMPLETED", "ABORTED", "FAILED"
4461
+ # resp.restore_jobs[0].status_message #=> String
4462
+ # resp.restore_jobs[0].percent_done #=> String
4463
+ # resp.restore_jobs[0].backup_size_in_bytes #=> Integer
4464
+ # resp.restore_jobs[0].iam_role_arn #=> String
4465
+ # resp.restore_jobs[0].expected_completion_time_minutes #=> Integer
4466
+ # resp.restore_jobs[0].created_resource_arn #=> String
4467
+ # resp.restore_jobs[0].resource_type #=> String
4468
+ # resp.restore_jobs[0].recovery_point_creation_date #=> Time
4469
+ # resp.restore_jobs[0].created_by.restore_testing_plan_arn #=> String
4470
+ # resp.restore_jobs[0].validation_status #=> String, one of "FAILED", "SUCCESSFUL", "TIMED_OUT", "VALIDATING"
4471
+ # resp.restore_jobs[0].validation_status_message #=> String
4472
+ # resp.restore_jobs[0].deletion_status #=> String, one of "DELETING", "FAILED", "SUCCESSFUL"
4473
+ # resp.restore_jobs[0].deletion_status_message #=> String
4474
+ # resp.next_token #=> String
4475
+ #
4476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreJobsByProtectedResource AWS API Documentation
4477
+ #
4478
+ # @overload list_restore_jobs_by_protected_resource(params = {})
4479
+ # @param [Hash] params ({})
4480
+ def list_restore_jobs_by_protected_resource(params = {}, options = {})
4481
+ req = build_request(:list_restore_jobs_by_protected_resource, params)
4482
+ req.send_request(options)
4483
+ end
4484
+
4485
+ # Returns a list of restore testing plans.
4486
+ #
4487
+ # @option params [Integer] :max_results
4488
+ # The maximum number of items to be returned.
4489
+ #
4490
+ # @option params [String] :next_token
4491
+ # The next item following a partial list of returned items. For example,
4492
+ # if a request is made to return `MaxResults` number of items,
4493
+ # `NextToken` allows you to return more items in your list starting at
4494
+ # the location pointed to by the nexttoken.
4495
+ #
4496
+ # @return [Types::ListRestoreTestingPlansOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4497
+ #
4498
+ # * {Types::ListRestoreTestingPlansOutput#next_token #next_token} => String
4499
+ # * {Types::ListRestoreTestingPlansOutput#restore_testing_plans #restore_testing_plans} => Array&lt;Types::RestoreTestingPlanForList&gt;
4500
+ #
4501
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4502
+ #
4503
+ # @example Request syntax with placeholder values
4504
+ #
4505
+ # resp = client.list_restore_testing_plans({
4506
+ # max_results: 1,
4507
+ # next_token: "String",
4508
+ # })
4509
+ #
4510
+ # @example Response structure
4511
+ #
4512
+ # resp.next_token #=> String
4513
+ # resp.restore_testing_plans #=> Array
4514
+ # resp.restore_testing_plans[0].creation_time #=> Time
4515
+ # resp.restore_testing_plans[0].last_execution_time #=> Time
4516
+ # resp.restore_testing_plans[0].last_update_time #=> Time
4517
+ # resp.restore_testing_plans[0].restore_testing_plan_arn #=> String
4518
+ # resp.restore_testing_plans[0].restore_testing_plan_name #=> String
4519
+ # resp.restore_testing_plans[0].schedule_expression #=> String
4520
+ # resp.restore_testing_plans[0].schedule_expression_timezone #=> String
4521
+ # resp.restore_testing_plans[0].start_window_hours #=> Integer
4522
+ #
4523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreTestingPlans AWS API Documentation
4524
+ #
4525
+ # @overload list_restore_testing_plans(params = {})
4526
+ # @param [Hash] params ({})
4527
+ def list_restore_testing_plans(params = {}, options = {})
4528
+ req = build_request(:list_restore_testing_plans, params)
4529
+ req.send_request(options)
4530
+ end
4531
+
4532
+ # Returns a list of restore testing selections. Can be filtered by
4533
+ # `MaxResults` and `RestoreTestingPlanName`.
4534
+ #
4535
+ # @option params [Integer] :max_results
4536
+ # The maximum number of items to be returned.
4537
+ #
4538
+ # @option params [String] :next_token
4539
+ # The next item following a partial list of returned items. For example,
4540
+ # if a request is made to return `MaxResults` number of items,
4541
+ # `NextToken` allows you to return more items in your list starting at
4542
+ # the location pointed to by the nexttoken.
4543
+ #
4544
+ # @option params [required, String] :restore_testing_plan_name
4545
+ # Returns restore testing selections by the specified restore testing
4546
+ # plan name.
4547
+ #
4548
+ # @return [Types::ListRestoreTestingSelectionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4549
+ #
4550
+ # * {Types::ListRestoreTestingSelectionsOutput#next_token #next_token} => String
4551
+ # * {Types::ListRestoreTestingSelectionsOutput#restore_testing_selections #restore_testing_selections} => Array&lt;Types::RestoreTestingSelectionForList&gt;
4552
+ #
4553
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4554
+ #
4555
+ # @example Request syntax with placeholder values
4556
+ #
4557
+ # resp = client.list_restore_testing_selections({
4558
+ # max_results: 1,
4559
+ # next_token: "String",
4560
+ # restore_testing_plan_name: "String", # required
4561
+ # })
4562
+ #
4563
+ # @example Response structure
4564
+ #
4565
+ # resp.next_token #=> String
4566
+ # resp.restore_testing_selections #=> Array
4567
+ # resp.restore_testing_selections[0].creation_time #=> Time
4568
+ # resp.restore_testing_selections[0].iam_role_arn #=> String
4569
+ # resp.restore_testing_selections[0].protected_resource_type #=> String
4570
+ # resp.restore_testing_selections[0].restore_testing_plan_name #=> String
4571
+ # resp.restore_testing_selections[0].restore_testing_selection_name #=> String
4572
+ # resp.restore_testing_selections[0].validation_window_hours #=> Integer
4573
+ #
4574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreTestingSelections AWS API Documentation
4575
+ #
4576
+ # @overload list_restore_testing_selections(params = {})
4577
+ # @param [Hash] params ({})
4578
+ def list_restore_testing_selections(params = {}, options = {})
4579
+ req = build_request(:list_restore_testing_selections, params)
4580
+ req.send_request(options)
4581
+ end
4582
+
3939
4583
  # Returns a list of key-value pairs assigned to a target recovery point,
3940
4584
  # backup plan, or backup vault.
3941
4585
  #
@@ -3955,7 +4599,7 @@ module Aws::Backup
3955
4599
  #
3956
4600
  # @option params [String] :next_token
3957
4601
  # The next item following a partial list of returned items. For example,
3958
- # if a request is made to return `maxResults` number of items,
4602
+ # if a request is made to return `MaxResults` number of items,
3959
4603
  # `NextToken` allows you to return more items in your list starting at
3960
4604
  # the location pointed to by the next token.
3961
4605
  #
@@ -4187,6 +4831,39 @@ module Aws::Backup
4187
4831
  req.send_request(options)
4188
4832
  end
4189
4833
 
4834
+ # This request allows you to send your independent self-run restore test
4835
+ # validation results. `RestoreJobId` and `ValidationStatus` are
4836
+ # required. Optionally, you can input a `ValidationStatusMessage`.
4837
+ #
4838
+ # @option params [required, String] :restore_job_id
4839
+ # This is a unique identifier of a restore job within Backup.
4840
+ #
4841
+ # @option params [required, String] :validation_status
4842
+ # This is the status of your restore validation.
4843
+ #
4844
+ # @option params [String] :validation_status_message
4845
+ # This is an optional message string you can input to describe the
4846
+ # validation status for the restore test validation.
4847
+ #
4848
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4849
+ #
4850
+ # @example Request syntax with placeholder values
4851
+ #
4852
+ # resp = client.put_restore_validation_result({
4853
+ # restore_job_id: "RestoreJobId", # required
4854
+ # validation_status: "FAILED", # required, accepts FAILED, SUCCESSFUL, TIMED_OUT, VALIDATING
4855
+ # validation_status_message: "string",
4856
+ # })
4857
+ #
4858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutRestoreValidationResult AWS API Documentation
4859
+ #
4860
+ # @overload put_restore_validation_result(params = {})
4861
+ # @param [Hash] params ({})
4862
+ def put_restore_validation_result(params = {}, options = {})
4863
+ req = build_request(:put_restore_validation_result, params)
4864
+ req.send_request(options)
4865
+ end
4866
+
4190
4867
  # Starts an on-demand backup job for the specified resource.
4191
4868
  #
4192
4869
  # @option params [required, String] :backup_vault_name
@@ -4291,6 +4968,7 @@ module Aws::Backup
4291
4968
  # lifecycle: {
4292
4969
  # move_to_cold_storage_after_days: 1,
4293
4970
  # delete_after_days: 1,
4971
+ # opt_in_to_archive_for_supported_resources: false,
4294
4972
  # },
4295
4973
  # recovery_point_tags: {
4296
4974
  # "TagKey" => "TagValue",
@@ -4382,6 +5060,7 @@ module Aws::Backup
4382
5060
  # lifecycle: {
4383
5061
  # move_to_cold_storage_after_days: 1,
4384
5062
  # delete_after_days: 1,
5063
+ # opt_in_to_archive_for_supported_resources: false,
4385
5064
  # },
4386
5065
  # })
4387
5066
  #
@@ -4689,6 +5368,7 @@ module Aws::Backup
4689
5368
  # lifecycle: {
4690
5369
  # move_to_cold_storage_after_days: 1,
4691
5370
  # delete_after_days: 1,
5371
+ # opt_in_to_archive_for_supported_resources: false,
4692
5372
  # },
4693
5373
  # recovery_point_tags: {
4694
5374
  # "TagKey" => "TagValue",
@@ -4698,6 +5378,7 @@ module Aws::Backup
4698
5378
  # lifecycle: {
4699
5379
  # move_to_cold_storage_after_days: 1,
4700
5380
  # delete_after_days: 1,
5381
+ # opt_in_to_archive_for_supported_resources: false,
4701
5382
  # },
4702
5383
  # destination_backup_vault_arn: "ARN", # required
4703
5384
  # },
@@ -4898,6 +5579,7 @@ module Aws::Backup
4898
5579
  # lifecycle: {
4899
5580
  # move_to_cold_storage_after_days: 1,
4900
5581
  # delete_after_days: 1,
5582
+ # opt_in_to_archive_for_supported_resources: false,
4901
5583
  # },
4902
5584
  # })
4903
5585
  #
@@ -4907,6 +5589,7 @@ module Aws::Backup
4907
5589
  # resp.recovery_point_arn #=> String
4908
5590
  # resp.lifecycle.move_to_cold_storage_after_days #=> Integer
4909
5591
  # resp.lifecycle.delete_after_days #=> Integer
5592
+ # resp.lifecycle.opt_in_to_archive_for_supported_resources #=> Boolean
4910
5593
  # resp.calculated_lifecycle.move_to_cold_storage_at #=> Time
4911
5594
  # resp.calculated_lifecycle.delete_at #=> Time
4912
5595
  #
@@ -5043,6 +5726,144 @@ module Aws::Backup
5043
5726
  req.send_request(options)
5044
5727
  end
5045
5728
 
5729
+ # This request will send changes to your specified restore testing plan.
5730
+ # `RestoreTestingPlanName` cannot be updated after it is created.
5731
+ #
5732
+ # `RecoveryPointSelection` can contain:
5733
+ #
5734
+ # * `Algorithm`
5735
+ #
5736
+ # * `ExcludeVaults`
5737
+ #
5738
+ # * `IncludeVaults`
5739
+ #
5740
+ # * `RecoveryPointTypes`
5741
+ #
5742
+ # * `SelectionWindowDays`
5743
+ #
5744
+ # @option params [required, Types::RestoreTestingPlanForUpdate] :restore_testing_plan
5745
+ # Specifies the body of a restore testing plan.
5746
+ #
5747
+ # @option params [required, String] :restore_testing_plan_name
5748
+ # This is the restore testing plan name you wish to update.
5749
+ #
5750
+ # @return [Types::UpdateRestoreTestingPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5751
+ #
5752
+ # * {Types::UpdateRestoreTestingPlanOutput#creation_time #creation_time} => Time
5753
+ # * {Types::UpdateRestoreTestingPlanOutput#restore_testing_plan_arn #restore_testing_plan_arn} => String
5754
+ # * {Types::UpdateRestoreTestingPlanOutput#restore_testing_plan_name #restore_testing_plan_name} => String
5755
+ # * {Types::UpdateRestoreTestingPlanOutput#update_time #update_time} => Time
5756
+ #
5757
+ # @example Request syntax with placeholder values
5758
+ #
5759
+ # resp = client.update_restore_testing_plan({
5760
+ # restore_testing_plan: { # required
5761
+ # recovery_point_selection: {
5762
+ # algorithm: "LATEST_WITHIN_WINDOW", # accepts LATEST_WITHIN_WINDOW, RANDOM_WITHIN_WINDOW
5763
+ # exclude_vaults: ["string"],
5764
+ # include_vaults: ["string"],
5765
+ # recovery_point_types: ["CONTINUOUS"], # accepts CONTINUOUS, SNAPSHOT
5766
+ # selection_window_days: 1,
5767
+ # },
5768
+ # schedule_expression: "String",
5769
+ # schedule_expression_timezone: "String",
5770
+ # start_window_hours: 1,
5771
+ # },
5772
+ # restore_testing_plan_name: "String", # required
5773
+ # })
5774
+ #
5775
+ # @example Response structure
5776
+ #
5777
+ # resp.creation_time #=> Time
5778
+ # resp.restore_testing_plan_arn #=> String
5779
+ # resp.restore_testing_plan_name #=> String
5780
+ # resp.update_time #=> Time
5781
+ #
5782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateRestoreTestingPlan AWS API Documentation
5783
+ #
5784
+ # @overload update_restore_testing_plan(params = {})
5785
+ # @param [Hash] params ({})
5786
+ def update_restore_testing_plan(params = {}, options = {})
5787
+ req = build_request(:update_restore_testing_plan, params)
5788
+ req.send_request(options)
5789
+ end
5790
+
5791
+ # Most elements except the `RestoreTestingSelectionName` can be updated
5792
+ # with this request.
5793
+ #
5794
+ # `RestoreTestingSelection` can use either protected resource ARNs or
5795
+ # conditions, but not both. That is, if your selection has
5796
+ # `ProtectedResourceArns`, requesting an update with the parameter
5797
+ # `ProtectedResourceConditions` will be unsuccessful.
5798
+ #
5799
+ # @option params [required, String] :restore_testing_plan_name
5800
+ # The restore testing plan name is required to update the indicated
5801
+ # testing plan.
5802
+ #
5803
+ # @option params [required, Types::RestoreTestingSelectionForUpdate] :restore_testing_selection
5804
+ # To update your restore testing selection, you can use either protected
5805
+ # resource ARNs or conditions, but not both. That is, if your selection
5806
+ # has `ProtectedResourceArns`, requesting an update with the parameter
5807
+ # `ProtectedResourceConditions` will be unsuccessful.
5808
+ #
5809
+ # @option params [required, String] :restore_testing_selection_name
5810
+ # This is the required restore testing selection name of the restore
5811
+ # testing selection you wish to update.
5812
+ #
5813
+ # @return [Types::UpdateRestoreTestingSelectionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5814
+ #
5815
+ # * {Types::UpdateRestoreTestingSelectionOutput#creation_time #creation_time} => Time
5816
+ # * {Types::UpdateRestoreTestingSelectionOutput#restore_testing_plan_arn #restore_testing_plan_arn} => String
5817
+ # * {Types::UpdateRestoreTestingSelectionOutput#restore_testing_plan_name #restore_testing_plan_name} => String
5818
+ # * {Types::UpdateRestoreTestingSelectionOutput#restore_testing_selection_name #restore_testing_selection_name} => String
5819
+ # * {Types::UpdateRestoreTestingSelectionOutput#update_time #update_time} => Time
5820
+ #
5821
+ # @example Request syntax with placeholder values
5822
+ #
5823
+ # resp = client.update_restore_testing_selection({
5824
+ # restore_testing_plan_name: "String", # required
5825
+ # restore_testing_selection: { # required
5826
+ # iam_role_arn: "String",
5827
+ # protected_resource_arns: ["string"],
5828
+ # protected_resource_conditions: {
5829
+ # string_equals: [
5830
+ # {
5831
+ # key: "String", # required
5832
+ # value: "String", # required
5833
+ # },
5834
+ # ],
5835
+ # string_not_equals: [
5836
+ # {
5837
+ # key: "String", # required
5838
+ # value: "String", # required
5839
+ # },
5840
+ # ],
5841
+ # },
5842
+ # restore_metadata_overrides: {
5843
+ # "String" => "String",
5844
+ # },
5845
+ # validation_window_hours: 1,
5846
+ # },
5847
+ # restore_testing_selection_name: "String", # required
5848
+ # })
5849
+ #
5850
+ # @example Response structure
5851
+ #
5852
+ # resp.creation_time #=> Time
5853
+ # resp.restore_testing_plan_arn #=> String
5854
+ # resp.restore_testing_plan_name #=> String
5855
+ # resp.restore_testing_selection_name #=> String
5856
+ # resp.update_time #=> Time
5857
+ #
5858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateRestoreTestingSelection AWS API Documentation
5859
+ #
5860
+ # @overload update_restore_testing_selection(params = {})
5861
+ # @param [Hash] params ({})
5862
+ def update_restore_testing_selection(params = {}, options = {})
5863
+ req = build_request(:update_restore_testing_selection, params)
5864
+ req.send_request(options)
5865
+ end
5866
+
5046
5867
  # @!endgroup
5047
5868
 
5048
5869
  # @param params ({})
@@ -5056,7 +5877,7 @@ module Aws::Backup
5056
5877
  params: params,
5057
5878
  config: config)
5058
5879
  context[:gem_name] = 'aws-sdk-backup'
5059
- context[:gem_version] = '1.61.0'
5880
+ context[:gem_version] = '1.62.0'
5060
5881
  Seahorse::Client::Request.new(handlers, context)
5061
5882
  end
5062
5883