aws-sdk-backup 1.29.0 → 1.33.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -328,11 +328,11 @@ module Aws::Backup
328
328
  # @!group API Operations
329
329
 
330
330
  # Creates a backup plan using a backup plan name and backup rules. A
331
- # backup plan is a document that contains information that AWS Backup
332
- # uses to schedule tasks that create recovery points for resources.
331
+ # backup plan is a document that contains information that Backup uses
332
+ # to schedule tasks that create recovery points for resources.
333
333
  #
334
- # If you call `CreateBackupPlan` with a plan that already exists, an
335
- # `AlreadyExistsException` is returned.
334
+ # If you call `CreateBackupPlan` with a plan that already exists, you
335
+ # receive an `AlreadyExistsException` exception.
336
336
  #
337
337
  # @option params [required, Types::BackupPlanInput] :backup_plan
338
338
  # Specifies the body of a backup plan. Includes a `BackupPlanName` and
@@ -510,16 +510,16 @@ module Aws::Backup
510
510
  # `CreateBackupVault` request includes a name, optionally one or more
511
511
  # resource tags, an encryption key, and a request ID.
512
512
  #
513
- # <note markdown="1"> Sensitive data, such as passport numbers, should not be included the
514
- # name of a backup vault.
513
+ # <note markdown="1"> Do not include sensitive data, such as passport numbers, in the name
514
+ # of a backup vault.
515
515
  #
516
516
  # </note>
517
517
  #
518
518
  # @option params [required, String] :backup_vault_name
519
519
  # The name of a logical container where backups are stored. Backup
520
520
  # vaults are identified by names that are unique to the account used to
521
- # create them and the AWS Region where they are created. They consist of
522
- # letters, numbers, and hyphens.
521
+ # create them and the Amazon Web Services Region where they are created.
522
+ # They consist of letters, numbers, and hyphens.
523
523
  #
524
524
  # @option params [Hash<String,String>] :backup_vault_tags
525
525
  # Metadata that you can assign to help organize the resources that you
@@ -566,6 +566,173 @@ module Aws::Backup
566
566
  req.send_request(options)
567
567
  end
568
568
 
569
+ # Creates a framework with one or more controls. A framework is a
570
+ # collection of controls that you can use to evaluate your backup
571
+ # practices. By using pre-built customizable controls to define your
572
+ # policies, you can evaluate whether your backup practices comply with
573
+ # your policies and which resources are not yet in compliance.
574
+ #
575
+ # @option params [required, String] :framework_name
576
+ # The unique name of the framework. The name must be between 1 and 256
577
+ # characters, starting with a letter, and consisting of letters (a-z,
578
+ # A-Z), numbers (0-9), and underscores (\_).
579
+ #
580
+ # @option params [String] :framework_description
581
+ # An optional description of the framework with a maximum of 1,024
582
+ # characters.
583
+ #
584
+ # @option params [required, Array<Types::FrameworkControl>] :framework_controls
585
+ # A list of the controls that make up the framework. Each control in the
586
+ # list has a name, input parameters, and scope.
587
+ #
588
+ # @option params [String] :idempotency_token
589
+ # A customer-chosen string that you can use to distinguish between
590
+ # otherwise identical calls to `CreateFrameworkInput`. Retrying a
591
+ # successful request with the same idempotency token results in a
592
+ # success message with no action taken.
593
+ #
594
+ # **A suitable default value is auto-generated.** You should normally
595
+ # not need to pass this option.**
596
+ #
597
+ # @option params [Hash<String,String>] :framework_tags
598
+ # Metadata that you can assign to help organize the frameworks that you
599
+ # create. Each tag is a key-value pair.
600
+ #
601
+ # @return [Types::CreateFrameworkOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
602
+ #
603
+ # * {Types::CreateFrameworkOutput#framework_name #framework_name} => String
604
+ # * {Types::CreateFrameworkOutput#framework_arn #framework_arn} => String
605
+ #
606
+ # @example Request syntax with placeholder values
607
+ #
608
+ # resp = client.create_framework({
609
+ # framework_name: "FrameworkName", # required
610
+ # framework_description: "FrameworkDescription",
611
+ # framework_controls: [ # required
612
+ # {
613
+ # control_name: "ControlName", # required
614
+ # control_input_parameters: [
615
+ # {
616
+ # parameter_name: "ParameterName",
617
+ # parameter_value: "ParameterValue",
618
+ # },
619
+ # ],
620
+ # control_scope: {
621
+ # compliance_resource_ids: ["string"],
622
+ # compliance_resource_types: ["ARN"],
623
+ # tags: {
624
+ # "string" => "string",
625
+ # },
626
+ # },
627
+ # },
628
+ # ],
629
+ # idempotency_token: "string",
630
+ # framework_tags: {
631
+ # "string" => "string",
632
+ # },
633
+ # })
634
+ #
635
+ # @example Response structure
636
+ #
637
+ # resp.framework_name #=> String
638
+ # resp.framework_arn #=> String
639
+ #
640
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateFramework AWS API Documentation
641
+ #
642
+ # @overload create_framework(params = {})
643
+ # @param [Hash] params ({})
644
+ def create_framework(params = {}, options = {})
645
+ req = build_request(:create_framework, params)
646
+ req.send_request(options)
647
+ end
648
+
649
+ # Creates a report plan. A report plan is a document that contains
650
+ # information about the contents of the report and where Backup will
651
+ # deliver it.
652
+ #
653
+ # If you call `CreateReportPlan` with a plan that already exists, you
654
+ # receive an `AlreadyExistsException` exception.
655
+ #
656
+ # @option params [required, String] :report_plan_name
657
+ # The unique name of the report plan. The name must be between 1 and 256
658
+ # characters, starting with a letter, and consisting of letters (a-z,
659
+ # A-Z), numbers (0-9), and underscores (\_).
660
+ #
661
+ # @option params [String] :report_plan_description
662
+ # An optional description of the report plan with a maximum of 1,024
663
+ # characters.
664
+ #
665
+ # @option params [required, Types::ReportDeliveryChannel] :report_delivery_channel
666
+ # A structure that contains information about where and how to deliver
667
+ # your reports, specifically your Amazon S3 bucket name, S3 key prefix,
668
+ # and the formats of your reports.
669
+ #
670
+ # @option params [required, Types::ReportSetting] :report_setting
671
+ # Identifies the report template for the report. Reports are built using
672
+ # a report template. The report templates are:
673
+ #
674
+ # `RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT |
675
+ # BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT`
676
+ #
677
+ # If the report template is `RESOURCE_COMPLIANCE_REPORT` or
678
+ # `CONTROL_COMPLIANCE_REPORT`, this API resource also describes the
679
+ # report coverage by Amazon Web Services Regions and frameworks.
680
+ #
681
+ # @option params [Hash<String,String>] :report_plan_tags
682
+ # Metadata that you can assign to help organize the report plans that
683
+ # you create. Each tag is a key-value pair.
684
+ #
685
+ # @option params [String] :idempotency_token
686
+ # A customer-chosen string that you can use to distinguish between
687
+ # otherwise identical calls to `CreateReportPlanInput`. Retrying a
688
+ # successful request with the same idempotency token results in a
689
+ # success message with no action taken.
690
+ #
691
+ # **A suitable default value is auto-generated.** You should normally
692
+ # not need to pass this option.**
693
+ #
694
+ # @return [Types::CreateReportPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
695
+ #
696
+ # * {Types::CreateReportPlanOutput#report_plan_name #report_plan_name} => String
697
+ # * {Types::CreateReportPlanOutput#report_plan_arn #report_plan_arn} => String
698
+ # * {Types::CreateReportPlanOutput#creation_time #creation_time} => Time
699
+ #
700
+ # @example Request syntax with placeholder values
701
+ #
702
+ # resp = client.create_report_plan({
703
+ # report_plan_name: "ReportPlanName", # required
704
+ # report_plan_description: "ReportPlanDescription",
705
+ # report_delivery_channel: { # required
706
+ # s3_bucket_name: "string", # required
707
+ # s3_key_prefix: "string",
708
+ # formats: ["string"],
709
+ # },
710
+ # report_setting: { # required
711
+ # report_template: "string", # required
712
+ # framework_arns: ["string"],
713
+ # number_of_frameworks: 1,
714
+ # },
715
+ # report_plan_tags: {
716
+ # "string" => "string",
717
+ # },
718
+ # idempotency_token: "string",
719
+ # })
720
+ #
721
+ # @example Response structure
722
+ #
723
+ # resp.report_plan_name #=> String
724
+ # resp.report_plan_arn #=> String
725
+ # resp.creation_time #=> Time
726
+ #
727
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateReportPlan AWS API Documentation
728
+ #
729
+ # @overload create_report_plan(params = {})
730
+ # @param [Hash] params ({})
731
+ def create_report_plan(params = {}, options = {})
732
+ req = build_request(:create_report_plan, params)
733
+ req.send_request(options)
734
+ end
735
+
569
736
  # Deletes a backup plan. A backup plan can only be deleted after all
570
737
  # associated selections of resources have been deleted. Deleting a
571
738
  # backup plan deletes the current version of a backup plan. Previous
@@ -637,8 +804,8 @@ module Aws::Backup
637
804
  # @option params [required, String] :backup_vault_name
638
805
  # The name of a logical container where backups are stored. Backup
639
806
  # vaults are identified by names that are unique to the account used to
640
- # create them and the AWS Region where they are created. They consist of
641
- # lowercase letters, numbers, and hyphens.
807
+ # create them and the Amazon Web Services Region where they are created.
808
+ # They consist of lowercase letters, numbers, and hyphens.
642
809
  #
643
810
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
644
811
  #
@@ -663,8 +830,8 @@ module Aws::Backup
663
830
  # @option params [required, String] :backup_vault_name
664
831
  # The name of a logical container where backups are stored. Backup
665
832
  # vaults are identified by names that are unique to the account used to
666
- # create them and the AWS Region where they are created. They consist of
667
- # lowercase letters, numbers, and hyphens.
833
+ # create them and the Amazon Web Services Region where they are created.
834
+ # They consist of lowercase letters, numbers, and hyphens.
668
835
  #
669
836
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
670
837
  #
@@ -708,6 +875,28 @@ module Aws::Backup
708
875
  req.send_request(options)
709
876
  end
710
877
 
878
+ # Deletes the framework specified by a framework name.
879
+ #
880
+ # @option params [required, String] :framework_name
881
+ # The unique name of a framework.
882
+ #
883
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
884
+ #
885
+ # @example Request syntax with placeholder values
886
+ #
887
+ # resp = client.delete_framework({
888
+ # framework_name: "FrameworkName", # required
889
+ # })
890
+ #
891
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteFramework AWS API Documentation
892
+ #
893
+ # @overload delete_framework(params = {})
894
+ # @param [Hash] params ({})
895
+ def delete_framework(params = {}, options = {})
896
+ req = build_request(:delete_framework, params)
897
+ req.send_request(options)
898
+ end
899
+
711
900
  # Deletes the recovery point specified by a recovery point ID.
712
901
  #
713
902
  # If the recovery point ID belongs to a continuous backup, calling this
@@ -717,8 +906,8 @@ module Aws::Backup
717
906
  # @option params [required, String] :backup_vault_name
718
907
  # The name of a logical container where backups are stored. Backup
719
908
  # vaults are identified by names that are unique to the account used to
720
- # create them and the AWS Region where they are created. They consist of
721
- # lowercase letters, numbers, and hyphens.
909
+ # create them and the Amazon Web Services Region where they are created.
910
+ # They consist of lowercase letters, numbers, and hyphens.
722
911
  #
723
912
  # @option params [required, String] :recovery_point_arn
724
913
  # An Amazon Resource Name (ARN) that uniquely identifies a recovery
@@ -743,10 +932,32 @@ module Aws::Backup
743
932
  req.send_request(options)
744
933
  end
745
934
 
935
+ # Deletes the report plan specified by a report plan name.
936
+ #
937
+ # @option params [required, String] :report_plan_name
938
+ # The unique name of a report plan.
939
+ #
940
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
941
+ #
942
+ # @example Request syntax with placeholder values
943
+ #
944
+ # resp = client.delete_report_plan({
945
+ # report_plan_name: "ReportPlanName", # required
946
+ # })
947
+ #
948
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteReportPlan AWS API Documentation
949
+ #
950
+ # @overload delete_report_plan(params = {})
951
+ # @param [Hash] params ({})
952
+ def delete_report_plan(params = {}, options = {})
953
+ req = build_request(:delete_report_plan, params)
954
+ req.send_request(options)
955
+ end
956
+
746
957
  # Returns backup job details for the specified `BackupJobId`.
747
958
  #
748
959
  # @option params [required, String] :backup_job_id
749
- # Uniquely identifies a request to AWS Backup to back up a resource.
960
+ # Uniquely identifies a request to Backup to back up a resource.
750
961
  #
751
962
  # @return [Types::DescribeBackupJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
752
963
  #
@@ -818,8 +1029,8 @@ module Aws::Backup
818
1029
  # @option params [required, String] :backup_vault_name
819
1030
  # The name of a logical container where backups are stored. Backup
820
1031
  # vaults are identified by names that are unique to the account used to
821
- # create them and the AWS Region where they are created. They consist of
822
- # lowercase letters, numbers, and hyphens.
1032
+ # create them and the Amazon Web Services Region where they are created.
1033
+ # They consist of lowercase letters, numbers, and hyphens.
823
1034
  #
824
1035
  # @return [Types::DescribeBackupVaultOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
825
1036
  #
@@ -899,8 +1110,62 @@ module Aws::Backup
899
1110
  req.send_request(options)
900
1111
  end
901
1112
 
902
- # Describes the global settings of the AWS account, including whether it
903
- # is opted in to cross-account backup.
1113
+ # Returns the framework details for the specified `FrameworkName`.
1114
+ #
1115
+ # @option params [required, String] :framework_name
1116
+ # The unique name of a framework.
1117
+ #
1118
+ # @return [Types::DescribeFrameworkOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1119
+ #
1120
+ # * {Types::DescribeFrameworkOutput#framework_name #framework_name} => String
1121
+ # * {Types::DescribeFrameworkOutput#framework_arn #framework_arn} => String
1122
+ # * {Types::DescribeFrameworkOutput#framework_description #framework_description} => String
1123
+ # * {Types::DescribeFrameworkOutput#framework_controls #framework_controls} => Array&lt;Types::FrameworkControl&gt;
1124
+ # * {Types::DescribeFrameworkOutput#creation_time #creation_time} => Time
1125
+ # * {Types::DescribeFrameworkOutput#deployment_status #deployment_status} => String
1126
+ # * {Types::DescribeFrameworkOutput#framework_status #framework_status} => String
1127
+ # * {Types::DescribeFrameworkOutput#idempotency_token #idempotency_token} => String
1128
+ #
1129
+ # @example Request syntax with placeholder values
1130
+ #
1131
+ # resp = client.describe_framework({
1132
+ # framework_name: "FrameworkName", # required
1133
+ # })
1134
+ #
1135
+ # @example Response structure
1136
+ #
1137
+ # resp.framework_name #=> String
1138
+ # resp.framework_arn #=> String
1139
+ # resp.framework_description #=> String
1140
+ # resp.framework_controls #=> Array
1141
+ # resp.framework_controls[0].control_name #=> String
1142
+ # resp.framework_controls[0].control_input_parameters #=> Array
1143
+ # resp.framework_controls[0].control_input_parameters[0].parameter_name #=> String
1144
+ # resp.framework_controls[0].control_input_parameters[0].parameter_value #=> String
1145
+ # resp.framework_controls[0].control_scope.compliance_resource_ids #=> Array
1146
+ # resp.framework_controls[0].control_scope.compliance_resource_ids[0] #=> String
1147
+ # resp.framework_controls[0].control_scope.compliance_resource_types #=> Array
1148
+ # resp.framework_controls[0].control_scope.compliance_resource_types[0] #=> String
1149
+ # resp.framework_controls[0].control_scope.tags #=> Hash
1150
+ # resp.framework_controls[0].control_scope.tags["string"] #=> String
1151
+ # resp.creation_time #=> Time
1152
+ # resp.deployment_status #=> String
1153
+ # resp.framework_status #=> String
1154
+ # resp.idempotency_token #=> String
1155
+ #
1156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeFramework AWS API Documentation
1157
+ #
1158
+ # @overload describe_framework(params = {})
1159
+ # @param [Hash] params ({})
1160
+ def describe_framework(params = {}, options = {})
1161
+ req = build_request(:describe_framework, params)
1162
+ req.send_request(options)
1163
+ end
1164
+
1165
+ # Describes whether the Amazon Web Services account is opted in to
1166
+ # cross-account backup. Returns an error if the account is not a member
1167
+ # of an Organizations organization. Example: `describe-global-settings
1168
+ # --region us-west-2`
904
1169
  #
905
1170
  # @return [Types::DescribeGlobalSettingsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
906
1171
  #
@@ -923,8 +1188,8 @@ module Aws::Backup
923
1188
  end
924
1189
 
925
1190
  # Returns information about a saved resource, including the last time it
926
- # was backed up, its Amazon Resource Name (ARN), and the AWS service
927
- # type of the saved resource.
1191
+ # was backed up, its Amazon Resource Name (ARN), and the Amazon Web
1192
+ # Services service type of the saved resource.
928
1193
  #
929
1194
  # @option params [required, String] :resource_arn
930
1195
  # An Amazon Resource Name (ARN) that uniquely identifies a resource. The
@@ -963,8 +1228,8 @@ module Aws::Backup
963
1228
  # @option params [required, String] :backup_vault_name
964
1229
  # The name of a logical container where backups are stored. Backup
965
1230
  # vaults are identified by names that are unique to the account used to
966
- # create them and the AWS Region where they are created. They consist of
967
- # lowercase letters, numbers, and hyphens.
1231
+ # create them and the Amazon Web Services Region where they are created.
1232
+ # They consist of lowercase letters, numbers, and hyphens.
968
1233
  #
969
1234
  # @option params [required, String] :recovery_point_arn
970
1235
  # An Amazon Resource Name (ARN) that uniquely identifies a recovery
@@ -982,6 +1247,7 @@ module Aws::Backup
982
1247
  # * {Types::DescribeRecoveryPointOutput#created_by #created_by} => Types::RecoveryPointCreator
983
1248
  # * {Types::DescribeRecoveryPointOutput#iam_role_arn #iam_role_arn} => String
984
1249
  # * {Types::DescribeRecoveryPointOutput#status #status} => String
1250
+ # * {Types::DescribeRecoveryPointOutput#status_message #status_message} => String
985
1251
  # * {Types::DescribeRecoveryPointOutput#creation_date #creation_date} => Time
986
1252
  # * {Types::DescribeRecoveryPointOutput#completion_date #completion_date} => Time
987
1253
  # * {Types::DescribeRecoveryPointOutput#backup_size_in_bytes #backup_size_in_bytes} => Integer
@@ -1013,6 +1279,7 @@ module Aws::Backup
1013
1279
  # resp.created_by.backup_rule_id #=> String
1014
1280
  # resp.iam_role_arn #=> String
1015
1281
  # resp.status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
1282
+ # resp.status_message #=> String
1016
1283
  # resp.creation_date #=> Time
1017
1284
  # resp.completion_date #=> Time
1018
1285
  # resp.backup_size_in_bytes #=> Integer
@@ -1034,13 +1301,11 @@ module Aws::Backup
1034
1301
  req.send_request(options)
1035
1302
  end
1036
1303
 
1037
- # Returns the current service opt-in settings for the Region. If
1038
- # service-opt-in is enabled for a service, AWS Backup tries to protect
1039
- # that service's resources in this Region, when the resource is
1040
- # included in an on-demand backup or scheduled backup plan. Otherwise,
1041
- # AWS Backup does not try to protect that service's resources in this
1042
- # Region, AWS Backup does not try to protect that service's resources
1043
- # in this Region.
1304
+ # Returns the current service opt-in settings for the Region. If service
1305
+ # opt-in is enabled for a service, Backup tries to protect that
1306
+ # service's resources in this Region, when the resource is included in
1307
+ # an on-demand backup or scheduled backup plan. Otherwise, Backup does
1308
+ # not try to protect that service's resources in this Region.
1044
1309
  #
1045
1310
  # @return [Types::DescribeRegionSettingsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1046
1311
  #
@@ -1060,6 +1325,89 @@ module Aws::Backup
1060
1325
  req.send_request(options)
1061
1326
  end
1062
1327
 
1328
+ # Returns the details associated with creating a report as specified by
1329
+ # its `ReportJobId`.
1330
+ #
1331
+ # @option params [required, String] :report_job_id
1332
+ # The identifier of the report job. A unique, randomly generated,
1333
+ # Unicode, UTF-8 encoded string that is at most 1,024 bytes long. The
1334
+ # report job ID cannot be edited.
1335
+ #
1336
+ # @return [Types::DescribeReportJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1337
+ #
1338
+ # * {Types::DescribeReportJobOutput#report_job #report_job} => Types::ReportJob
1339
+ #
1340
+ # @example Request syntax with placeholder values
1341
+ #
1342
+ # resp = client.describe_report_job({
1343
+ # report_job_id: "ReportJobId", # required
1344
+ # })
1345
+ #
1346
+ # @example Response structure
1347
+ #
1348
+ # resp.report_job.report_job_id #=> String
1349
+ # resp.report_job.report_plan_arn #=> String
1350
+ # resp.report_job.report_template #=> String
1351
+ # resp.report_job.creation_time #=> Time
1352
+ # resp.report_job.completion_time #=> Time
1353
+ # resp.report_job.status #=> String
1354
+ # resp.report_job.status_message #=> String
1355
+ # resp.report_job.report_destination.s3_bucket_name #=> String
1356
+ # resp.report_job.report_destination.s3_keys #=> Array
1357
+ # resp.report_job.report_destination.s3_keys[0] #=> String
1358
+ #
1359
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeReportJob AWS API Documentation
1360
+ #
1361
+ # @overload describe_report_job(params = {})
1362
+ # @param [Hash] params ({})
1363
+ def describe_report_job(params = {}, options = {})
1364
+ req = build_request(:describe_report_job, params)
1365
+ req.send_request(options)
1366
+ end
1367
+
1368
+ # Returns a list of all report plans for an Amazon Web Services account
1369
+ # and Amazon Web Services Region.
1370
+ #
1371
+ # @option params [required, String] :report_plan_name
1372
+ # The unique name of a report plan.
1373
+ #
1374
+ # @return [Types::DescribeReportPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1375
+ #
1376
+ # * {Types::DescribeReportPlanOutput#report_plan #report_plan} => Types::ReportPlan
1377
+ #
1378
+ # @example Request syntax with placeholder values
1379
+ #
1380
+ # resp = client.describe_report_plan({
1381
+ # report_plan_name: "ReportPlanName", # required
1382
+ # })
1383
+ #
1384
+ # @example Response structure
1385
+ #
1386
+ # resp.report_plan.report_plan_arn #=> String
1387
+ # resp.report_plan.report_plan_name #=> String
1388
+ # resp.report_plan.report_plan_description #=> String
1389
+ # resp.report_plan.report_setting.report_template #=> String
1390
+ # resp.report_plan.report_setting.framework_arns #=> Array
1391
+ # resp.report_plan.report_setting.framework_arns[0] #=> String
1392
+ # resp.report_plan.report_setting.number_of_frameworks #=> Integer
1393
+ # resp.report_plan.report_delivery_channel.s3_bucket_name #=> String
1394
+ # resp.report_plan.report_delivery_channel.s3_key_prefix #=> String
1395
+ # resp.report_plan.report_delivery_channel.formats #=> Array
1396
+ # resp.report_plan.report_delivery_channel.formats[0] #=> String
1397
+ # resp.report_plan.deployment_status #=> String
1398
+ # resp.report_plan.creation_time #=> Time
1399
+ # resp.report_plan.last_attempted_execution_time #=> Time
1400
+ # resp.report_plan.last_successful_execution_time #=> Time
1401
+ #
1402
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeReportPlan AWS API Documentation
1403
+ #
1404
+ # @overload describe_report_plan(params = {})
1405
+ # @param [Hash] params ({})
1406
+ def describe_report_plan(params = {}, options = {})
1407
+ req = build_request(:describe_report_plan, params)
1408
+ req.send_request(options)
1409
+ end
1410
+
1063
1411
  # Returns metadata associated with a restore job that is specified by a
1064
1412
  # job ID.
1065
1413
  #
@@ -1113,20 +1461,20 @@ module Aws::Backup
1113
1461
  req.send_request(options)
1114
1462
  end
1115
1463
 
1116
- # Deletes the specified continuous backup recovery point from AWS Backup
1117
- # and releases control of that continuous backup to the source service,
1118
- # such as Amazon RDS. The source service will continue to create and
1119
- # retain continuous backups using the lifecycle that you specified in
1120
- # your original backup plan.
1464
+ # Deletes the specified continuous backup recovery point from Backup and
1465
+ # releases control of that continuous backup to the source service, such
1466
+ # as Amazon RDS. The source service will continue to create and retain
1467
+ # continuous backups using the lifecycle that you specified in your
1468
+ # original backup plan.
1121
1469
  #
1122
1470
  # Does not support snapshot backup recovery points.
1123
1471
  #
1124
1472
  # @option params [required, String] :backup_vault_name
1125
- # The unique name of an AWS Backup vault. Required.
1473
+ # The unique name of an Backup vault.
1126
1474
  #
1127
1475
  # @option params [required, String] :recovery_point_arn
1128
- # An Amazon Resource Name (ARN) that uniquely identifies an AWS Backup
1129
- # recovery point. Required.
1476
+ # An Amazon Resource Name (ARN) that uniquely identifies an Backup
1477
+ # recovery point.
1130
1478
  #
1131
1479
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1132
1480
  #
@@ -1400,8 +1748,8 @@ module Aws::Backup
1400
1748
  # @option params [required, String] :backup_vault_name
1401
1749
  # The name of a logical container where backups are stored. Backup
1402
1750
  # vaults are identified by names that are unique to the account used to
1403
- # create them and the AWS Region where they are created. They consist of
1404
- # lowercase letters, numbers, and hyphens.
1751
+ # create them and the Amazon Web Services Region where they are created.
1752
+ # They consist of lowercase letters, numbers, and hyphens.
1405
1753
  #
1406
1754
  # @return [Types::GetBackupVaultAccessPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1407
1755
  #
@@ -1435,8 +1783,8 @@ module Aws::Backup
1435
1783
  # @option params [required, String] :backup_vault_name
1436
1784
  # The name of a logical container where backups are stored. Backup
1437
1785
  # vaults are identified by names that are unique to the account used to
1438
- # create them and the AWS Region where they are created. They consist of
1439
- # lowercase letters, numbers, and hyphens.
1786
+ # create them and the Amazon Web Services Region where they are created.
1787
+ # They consist of lowercase letters, numbers, and hyphens.
1440
1788
  #
1441
1789
  # @return [Types::GetBackupVaultNotificationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1442
1790
  #
@@ -1474,8 +1822,8 @@ module Aws::Backup
1474
1822
  # @option params [required, String] :backup_vault_name
1475
1823
  # The name of a logical container where backups are stored. Backup
1476
1824
  # vaults are identified by names that are unique to the account used to
1477
- # create them and the AWS Region where they are created. They consist of
1478
- # lowercase letters, numbers, and hyphens.
1825
+ # create them and the Amazon Web Services Region where they are created.
1826
+ # They consist of lowercase letters, numbers, and hyphens.
1479
1827
  #
1480
1828
  # @option params [required, String] :recovery_point_arn
1481
1829
  # An Amazon Resource Name (ARN) that uniquely identifies a recovery
@@ -1511,7 +1859,7 @@ module Aws::Backup
1511
1859
  req.send_request(options)
1512
1860
  end
1513
1861
 
1514
- # Returns the AWS resource types supported by AWS Backup.
1862
+ # Returns the Amazon Web Services resource types supported by Backup.
1515
1863
  #
1516
1864
  # @return [Types::GetSupportedResourceTypesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1517
1865
  #
@@ -1558,8 +1906,9 @@ module Aws::Backup
1558
1906
  # @option params [String] :by_backup_vault_name
1559
1907
  # Returns only backup jobs that will be stored in the specified backup
1560
1908
  # vault. Backup vaults are identified by names that are unique to the
1561
- # account used to create them and the AWS Region where they are created.
1562
- # They consist of lowercase letters, numbers, and hyphens.
1909
+ # account used to create them and the Amazon Web Services Region where
1910
+ # they are created. They consist of lowercase letters, numbers, and
1911
+ # hyphens.
1563
1912
  #
1564
1913
  # @option params [Time,DateTime,Date,Integer,String] :by_created_before
1565
1914
  # Returns only backup jobs that were created before the specified date.
@@ -1582,14 +1931,14 @@ module Aws::Backup
1582
1931
  #
1583
1932
  # * `Aurora` for Amazon Aurora
1584
1933
  #
1585
- # * `Storage Gateway` for AWS Storage Gateway
1934
+ # * `Storage Gateway` for Storage Gateway
1586
1935
  #
1587
1936
  # @option params [String] :by_account_id
1588
1937
  # The account ID to list the jobs from. Returns only backup jobs
1589
1938
  # associated with the specified account ID.
1590
1939
  #
1591
- # If used from an AWS Organizations management account, passing `*`
1592
- # returns all jobs across the organization.
1940
+ # If used from an Organizations management account, passing `*` returns
1941
+ # all jobs across the organization.
1593
1942
  #
1594
1943
  # @return [Types::ListBackupJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1595
1944
  #
@@ -1749,10 +2098,9 @@ module Aws::Backup
1749
2098
  req.send_request(options)
1750
2099
  end
1751
2100
 
1752
- # Returns a list of existing backup plans for an authenticated account.
1753
- # The list is populated only if the advanced option is set for the
1754
- # backup plan. The list contains information such as Amazon Resource
1755
- # Names (ARNs), plan IDs, creation and deletion dates, version IDs, plan
2101
+ # Returns a list of all active backup plans for an authenticated
2102
+ # account. The list contains information such as Amazon Resource Names
2103
+ # (ARNs), plan IDs, creation and deletion dates, version IDs, plan
1756
2104
  # names, and creator request IDs.
1757
2105
  #
1758
2106
  # @option params [String] :next_token
@@ -1944,7 +2292,7 @@ module Aws::Backup
1944
2292
  #
1945
2293
  # * `Aurora` for Amazon Aurora
1946
2294
  #
1947
- # * `Storage Gateway` for AWS Storage Gateway
2295
+ # * `Storage Gateway` for Storage Gateway
1948
2296
  #
1949
2297
  # @option params [String] :by_destination_vault_arn
1950
2298
  # An Amazon Resource Name (ARN) that uniquely identifies a source backup
@@ -2008,7 +2356,53 @@ module Aws::Backup
2008
2356
  req.send_request(options)
2009
2357
  end
2010
2358
 
2011
- # Returns an array of resources successfully backed up by AWS Backup,
2359
+ # Returns a list of all frameworks for an Amazon Web Services account
2360
+ # and Amazon Web Services Region.
2361
+ #
2362
+ # @option params [Integer] :max_results
2363
+ # The number of desired results from 1 to 1000. Optional. If
2364
+ # unspecified, the query will return 1 MB of data.
2365
+ #
2366
+ # @option params [String] :next_token
2367
+ # An identifier that was returned from the previous call to this
2368
+ # operation, which can be used to return the next set of items in the
2369
+ # list.
2370
+ #
2371
+ # @return [Types::ListFrameworksOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2372
+ #
2373
+ # * {Types::ListFrameworksOutput#frameworks #frameworks} => Array&lt;Types::Framework&gt;
2374
+ # * {Types::ListFrameworksOutput#next_token #next_token} => String
2375
+ #
2376
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2377
+ #
2378
+ # @example Request syntax with placeholder values
2379
+ #
2380
+ # resp = client.list_frameworks({
2381
+ # max_results: 1,
2382
+ # next_token: "string",
2383
+ # })
2384
+ #
2385
+ # @example Response structure
2386
+ #
2387
+ # resp.frameworks #=> Array
2388
+ # resp.frameworks[0].framework_name #=> String
2389
+ # resp.frameworks[0].framework_arn #=> String
2390
+ # resp.frameworks[0].framework_description #=> String
2391
+ # resp.frameworks[0].number_of_controls #=> Integer
2392
+ # resp.frameworks[0].creation_time #=> Time
2393
+ # resp.frameworks[0].deployment_status #=> String
2394
+ # resp.next_token #=> String
2395
+ #
2396
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListFrameworks AWS API Documentation
2397
+ #
2398
+ # @overload list_frameworks(params = {})
2399
+ # @param [Hash] params ({})
2400
+ def list_frameworks(params = {}, options = {})
2401
+ req = build_request(:list_frameworks, params)
2402
+ req.send_request(options)
2403
+ end
2404
+
2405
+ # Returns an array of resources successfully backed up by Backup,
2012
2406
  # including the time the resource was saved, an Amazon Resource Name
2013
2407
  # (ARN) of the resource, and a resource type.
2014
2408
  #
@@ -2058,8 +2452,13 @@ module Aws::Backup
2058
2452
  # @option params [required, String] :backup_vault_name
2059
2453
  # The name of a logical container where backups are stored. Backup
2060
2454
  # vaults are identified by names that are unique to the account used to
2061
- # create them and the AWS Region where they are created. They consist of
2062
- # lowercase letters, numbers, and hyphens.
2455
+ # create them and the Amazon Web Services Region where they are created.
2456
+ # They consist of lowercase letters, numbers, and hyphens.
2457
+ #
2458
+ # <note markdown="1"> Backup vault name might not be available when a supported service
2459
+ # creates the backup.
2460
+ #
2461
+ # </note>
2063
2462
  #
2064
2463
  # @option params [String] :next_token
2065
2464
  # The next item following a partial list of returned items. For example,
@@ -2124,6 +2523,7 @@ module Aws::Backup
2124
2523
  # resp.recovery_points[0].created_by.backup_rule_id #=> String
2125
2524
  # resp.recovery_points[0].iam_role_arn #=> String
2126
2525
  # resp.recovery_points[0].status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
2526
+ # resp.recovery_points[0].status_message #=> String
2127
2527
  # resp.recovery_points[0].creation_date #=> Time
2128
2528
  # resp.recovery_points[0].completion_date #=> Time
2129
2529
  # resp.recovery_points[0].backup_size_in_bytes #=> Integer
@@ -2144,9 +2544,14 @@ module Aws::Backup
2144
2544
  req.send_request(options)
2145
2545
  end
2146
2546
 
2147
- # Returns detailed information about recovery points of the type
2547
+ # Returns detailed information about all the recovery points of the type
2148
2548
  # specified by a resource Amazon Resource Name (ARN).
2149
2549
  #
2550
+ # <note markdown="1"> For Amazon EFS and Amazon EC2, this action only lists recovery points
2551
+ # created by Backup.
2552
+ #
2553
+ # </note>
2554
+ #
2150
2555
  # @option params [required, String] :resource_arn
2151
2556
  # An ARN that uniquely identifies a resource. The format of the ARN
2152
2557
  # depends on the resource type.
@@ -2160,6 +2565,10 @@ module Aws::Backup
2160
2565
  # @option params [Integer] :max_results
2161
2566
  # The maximum number of items to be returned.
2162
2567
  #
2568
+ # <note markdown="1"> Amazon RDS requires a value of at least 20.
2569
+ #
2570
+ # </note>
2571
+ #
2163
2572
  # @return [Types::ListRecoveryPointsByResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2164
2573
  #
2165
2574
  # * {Types::ListRecoveryPointsByResourceOutput#next_token #next_token} => String
@@ -2182,6 +2591,7 @@ module Aws::Backup
2182
2591
  # resp.recovery_points[0].recovery_point_arn #=> String
2183
2592
  # resp.recovery_points[0].creation_date #=> Time
2184
2593
  # resp.recovery_points[0].status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
2594
+ # resp.recovery_points[0].status_message #=> String
2185
2595
  # resp.recovery_points[0].encryption_key_arn #=> String
2186
2596
  # resp.recovery_points[0].backup_size_bytes #=> Integer
2187
2597
  # resp.recovery_points[0].backup_vault_name #=> String
@@ -2195,8 +2605,137 @@ module Aws::Backup
2195
2605
  req.send_request(options)
2196
2606
  end
2197
2607
 
2198
- # Returns a list of jobs that AWS Backup initiated to restore a saved
2199
- # resource, including metadata about the recovery process.
2608
+ # Returns details about your report jobs.
2609
+ #
2610
+ # @option params [String] :by_report_plan_name
2611
+ # Returns only report jobs with the specified report plan name.
2612
+ #
2613
+ # @option params [Time,DateTime,Date,Integer,String] :by_creation_before
2614
+ # Returns only report jobs that were created before the date and time
2615
+ # specified in Unix format and Coordinated Universal Time (UTC). For
2616
+ # example, the value 1516925490 represents Friday, January 26, 2018
2617
+ # 12:11:30 AM.
2618
+ #
2619
+ # @option params [Time,DateTime,Date,Integer,String] :by_creation_after
2620
+ # Returns only report jobs that were created after the date and time
2621
+ # specified in Unix format and Coordinated Universal Time (UTC). For
2622
+ # example, the value 1516925490 represents Friday, January 26, 2018
2623
+ # 12:11:30 AM.
2624
+ #
2625
+ # @option params [String] :by_status
2626
+ # Returns only report jobs that are in the specified status. The
2627
+ # statuses are:
2628
+ #
2629
+ # `CREATED | RUNNING | COMPLETED | FAILED`
2630
+ #
2631
+ # @option params [Integer] :max_results
2632
+ # The number of desired results from 1 to 1000. Optional. If
2633
+ # unspecified, the query will return 1 MB of data.
2634
+ #
2635
+ # @option params [String] :next_token
2636
+ # An identifier that was returned from the previous call to this
2637
+ # operation, which can be used to return the next set of items in the
2638
+ # list.
2639
+ #
2640
+ # @return [Types::ListReportJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2641
+ #
2642
+ # * {Types::ListReportJobsOutput#report_jobs #report_jobs} => Array&lt;Types::ReportJob&gt;
2643
+ # * {Types::ListReportJobsOutput#next_token #next_token} => String
2644
+ #
2645
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2646
+ #
2647
+ # @example Request syntax with placeholder values
2648
+ #
2649
+ # resp = client.list_report_jobs({
2650
+ # by_report_plan_name: "ReportPlanName",
2651
+ # by_creation_before: Time.now,
2652
+ # by_creation_after: Time.now,
2653
+ # by_status: "string",
2654
+ # max_results: 1,
2655
+ # next_token: "string",
2656
+ # })
2657
+ #
2658
+ # @example Response structure
2659
+ #
2660
+ # resp.report_jobs #=> Array
2661
+ # resp.report_jobs[0].report_job_id #=> String
2662
+ # resp.report_jobs[0].report_plan_arn #=> String
2663
+ # resp.report_jobs[0].report_template #=> String
2664
+ # resp.report_jobs[0].creation_time #=> Time
2665
+ # resp.report_jobs[0].completion_time #=> Time
2666
+ # resp.report_jobs[0].status #=> String
2667
+ # resp.report_jobs[0].status_message #=> String
2668
+ # resp.report_jobs[0].report_destination.s3_bucket_name #=> String
2669
+ # resp.report_jobs[0].report_destination.s3_keys #=> Array
2670
+ # resp.report_jobs[0].report_destination.s3_keys[0] #=> String
2671
+ # resp.next_token #=> String
2672
+ #
2673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListReportJobs AWS API Documentation
2674
+ #
2675
+ # @overload list_report_jobs(params = {})
2676
+ # @param [Hash] params ({})
2677
+ def list_report_jobs(params = {}, options = {})
2678
+ req = build_request(:list_report_jobs, params)
2679
+ req.send_request(options)
2680
+ end
2681
+
2682
+ # Returns a list of your report plans. For detailed information about a
2683
+ # single report plan, use `DescribeReportPlan`.
2684
+ #
2685
+ # @option params [Integer] :max_results
2686
+ # The number of desired results from 1 to 1000. Optional. If
2687
+ # unspecified, the query will return 1 MB of data.
2688
+ #
2689
+ # @option params [String] :next_token
2690
+ # An identifier that was returned from the previous call to this
2691
+ # operation, which can be used to return the next set of items in the
2692
+ # list.
2693
+ #
2694
+ # @return [Types::ListReportPlansOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2695
+ #
2696
+ # * {Types::ListReportPlansOutput#report_plans #report_plans} => Array&lt;Types::ReportPlan&gt;
2697
+ # * {Types::ListReportPlansOutput#next_token #next_token} => String
2698
+ #
2699
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2700
+ #
2701
+ # @example Request syntax with placeholder values
2702
+ #
2703
+ # resp = client.list_report_plans({
2704
+ # max_results: 1,
2705
+ # next_token: "string",
2706
+ # })
2707
+ #
2708
+ # @example Response structure
2709
+ #
2710
+ # resp.report_plans #=> Array
2711
+ # resp.report_plans[0].report_plan_arn #=> String
2712
+ # resp.report_plans[0].report_plan_name #=> String
2713
+ # resp.report_plans[0].report_plan_description #=> String
2714
+ # resp.report_plans[0].report_setting.report_template #=> String
2715
+ # resp.report_plans[0].report_setting.framework_arns #=> Array
2716
+ # resp.report_plans[0].report_setting.framework_arns[0] #=> String
2717
+ # resp.report_plans[0].report_setting.number_of_frameworks #=> Integer
2718
+ # resp.report_plans[0].report_delivery_channel.s3_bucket_name #=> String
2719
+ # resp.report_plans[0].report_delivery_channel.s3_key_prefix #=> String
2720
+ # resp.report_plans[0].report_delivery_channel.formats #=> Array
2721
+ # resp.report_plans[0].report_delivery_channel.formats[0] #=> String
2722
+ # resp.report_plans[0].deployment_status #=> String
2723
+ # resp.report_plans[0].creation_time #=> Time
2724
+ # resp.report_plans[0].last_attempted_execution_time #=> Time
2725
+ # resp.report_plans[0].last_successful_execution_time #=> Time
2726
+ # resp.next_token #=> String
2727
+ #
2728
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListReportPlans AWS API Documentation
2729
+ #
2730
+ # @overload list_report_plans(params = {})
2731
+ # @param [Hash] params ({})
2732
+ def list_report_plans(params = {}, options = {})
2733
+ req = build_request(:list_report_plans, params)
2734
+ req.send_request(options)
2735
+ end
2736
+
2737
+ # Returns a list of jobs that Backup initiated to restore a saved
2738
+ # resource, including details about the recovery process.
2200
2739
  #
2201
2740
  # @option params [String] :next_token
2202
2741
  # The next item following a partial list of returned items. For example,
@@ -2323,8 +2862,8 @@ module Aws::Backup
2323
2862
  # @option params [required, String] :backup_vault_name
2324
2863
  # The name of a logical container where backups are stored. Backup
2325
2864
  # vaults are identified by names that are unique to the account used to
2326
- # create them and the AWS Region where they are created. They consist of
2327
- # lowercase letters, numbers, and hyphens.
2865
+ # create them and the Amazon Web Services Region where they are created.
2866
+ # They consist of lowercase letters, numbers, and hyphens.
2328
2867
  #
2329
2868
  # @option params [String] :policy
2330
2869
  # The backup vault access policy document in JSON format.
@@ -2353,8 +2892,8 @@ module Aws::Backup
2353
2892
  # @option params [required, String] :backup_vault_name
2354
2893
  # The name of a logical container where backups are stored. Backup
2355
2894
  # vaults are identified by names that are unique to the account used to
2356
- # create them and the AWS Region where they are created. They consist of
2357
- # lowercase letters, numbers, and hyphens.
2895
+ # create them and the Amazon Web Services Region where they are created.
2896
+ # They consist of lowercase letters, numbers, and hyphens.
2358
2897
  #
2359
2898
  # @option params [required, String] :sns_topic_arn
2360
2899
  # The Amazon Resource Name (ARN) that specifies the topic for a backup
@@ -2365,6 +2904,22 @@ module Aws::Backup
2365
2904
  # An array of events that indicate the status of jobs to back up
2366
2905
  # resources to the backup vault.
2367
2906
  #
2907
+ # <note markdown="1"> The following events are supported:
2908
+ #
2909
+ # `BACKUP_JOB_STARTED`, `BACKUP_JOB_COMPLETED`,
2910
+ #
2911
+ # `COPY_JOB_STARTED`, `COPY_JOB_SUCCESSFUL`, `COPY_JOB_FAILED`,
2912
+ #
2913
+ # `RESTORE_JOB_STARTED`, `RESTORE_JOB_COMPLETED`, and
2914
+ # `RECOVERY_POINT_MODIFIED`.
2915
+ #
2916
+ # To find failed backup jobs, use `BACKUP_JOB_COMPLETED` and filter
2917
+ # using event metadata.
2918
+ #
2919
+ # Other events in the following list are deprecated.
2920
+ #
2921
+ # </note>
2922
+ #
2368
2923
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2369
2924
  #
2370
2925
  # @example Request syntax with placeholder values
@@ -2389,8 +2944,8 @@ module Aws::Backup
2389
2944
  # @option params [required, String] :backup_vault_name
2390
2945
  # The name of a logical container where backups are stored. Backup
2391
2946
  # vaults are identified by names that are unique to the account used to
2392
- # create them and the AWS Region where they are created. They consist of
2393
- # lowercase letters, numbers, and hyphens.
2947
+ # create them and the Amazon Web Services Region where they are created.
2948
+ # They consist of lowercase letters, numbers, and hyphens.
2394
2949
  #
2395
2950
  # @option params [required, String] :resource_arn
2396
2951
  # An Amazon Resource Name (ARN) that uniquely identifies a resource. The
@@ -2401,8 +2956,10 @@ module Aws::Backup
2401
2956
  # for example, `arn:aws:iam::123456789012:role/S3Access`.
2402
2957
  #
2403
2958
  # @option params [String] :idempotency_token
2404
- # A customer chosen string that can be used to distinguish between calls
2405
- # to `StartBackupJob`.
2959
+ # A customer-chosen string that you can use to distinguish between
2960
+ # otherwise identical calls to `StartBackupJob`. Retrying a successful
2961
+ # request with the same idempotency token results in a success message
2962
+ # with no action taken.
2406
2963
  #
2407
2964
  # @option params [Integer] :start_window_minutes
2408
2965
  # A value in minutes after a backup is scheduled before a job will be
@@ -2418,9 +2975,8 @@ module Aws::Backup
2418
2975
  #
2419
2976
  # @option params [Types::Lifecycle] :lifecycle
2420
2977
  # The lifecycle defines when a protected resource is transitioned to
2421
- # cold storage and when it expires. AWS Backup will transition and
2422
- # expire backups automatically according to the lifecycle that you
2423
- # define.
2978
+ # cold storage and when it expires. Backup will transition and expire
2979
+ # backups automatically according to the lifecycle that you define.
2424
2980
  #
2425
2981
  # Backups transitioned to cold storage must be stored in cold storage
2426
2982
  # for a minimum of 90 days. Therefore, the “expire after days” setting
@@ -2437,11 +2993,12 @@ module Aws::Backup
2437
2993
  #
2438
2994
  # @option params [Hash<String,String>] :backup_options
2439
2995
  # Specifies the backup option for a selected resource. This option is
2440
- # only available for Windows VSS backup jobs.
2996
+ # only available for Windows Volume Shadow Copy Service (VSS) backup
2997
+ # jobs.
2441
2998
  #
2442
- # Valid values: Set to `"WindowsVSS”:“enabled"` to enable WindowsVSS
2443
- # backup option and create a VSS Windows backup. Set to
2444
- # WindowsVSS”:”disabled to create a regular backup. The WindowsVSS
2999
+ # Valid values: Set to `"WindowsVSS":"enabled"` to enable the
3000
+ # `WindowsVSS` backup option and create a Windows VSS backup. Set to
3001
+ # `"WindowsVSS""disabled"` to create a regular backup. The `WindowsVSS`
2445
3002
  # option is not enabled by default.
2446
3003
  #
2447
3004
  # @return [Types::StartBackupJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2498,8 +3055,8 @@ module Aws::Backup
2498
3055
  # @option params [required, String] :source_backup_vault_name
2499
3056
  # The name of a logical source container where backups are stored.
2500
3057
  # Backup vaults are identified by names that are unique to the account
2501
- # used to create them and the AWS Region where they are created. They
2502
- # consist of lowercase letters, numbers, and hyphens.
3058
+ # used to create them and the Amazon Web Services Region where they are
3059
+ # created. They consist of lowercase letters, numbers, and hyphens.
2503
3060
  #
2504
3061
  # @option params [required, String] :destination_backup_vault_arn
2505
3062
  # An Amazon Resource Name (ARN) that uniquely identifies a destination
@@ -2511,8 +3068,10 @@ module Aws::Backup
2511
3068
  # example, `arn:aws:iam::123456789012:role/S3Access`.
2512
3069
  #
2513
3070
  # @option params [String] :idempotency_token
2514
- # A customer chosen string that can be used to distinguish between calls
2515
- # to `StartCopyJob`.
3071
+ # A customer-chosen string that you can use to distinguish between
3072
+ # otherwise identical calls to `StartCopyJob`. Retrying a successful
3073
+ # request with the same idempotency token results in a success message
3074
+ # with no action taken.
2516
3075
  #
2517
3076
  # @option params [Types::Lifecycle] :lifecycle
2518
3077
  # Contains an array of `Transition` objects specifying how long in days
@@ -2560,6 +3119,44 @@ module Aws::Backup
2560
3119
  req.send_request(options)
2561
3120
  end
2562
3121
 
3122
+ # Starts an on-demand report job for the specified report plan.
3123
+ #
3124
+ # @option params [required, String] :report_plan_name
3125
+ # The unique name of a report plan.
3126
+ #
3127
+ # @option params [String] :idempotency_token
3128
+ # A customer-chosen string that you can use to distinguish between
3129
+ # otherwise identical calls to `StartReportJobInput`. Retrying a
3130
+ # successful request with the same idempotency token results in a
3131
+ # success message with no action taken.
3132
+ #
3133
+ # **A suitable default value is auto-generated.** You should normally
3134
+ # not need to pass this option.**
3135
+ #
3136
+ # @return [Types::StartReportJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3137
+ #
3138
+ # * {Types::StartReportJobOutput#report_job_id #report_job_id} => String
3139
+ #
3140
+ # @example Request syntax with placeholder values
3141
+ #
3142
+ # resp = client.start_report_job({
3143
+ # report_plan_name: "ReportPlanName", # required
3144
+ # idempotency_token: "string",
3145
+ # })
3146
+ #
3147
+ # @example Response structure
3148
+ #
3149
+ # resp.report_job_id #=> String
3150
+ #
3151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartReportJob AWS API Documentation
3152
+ #
3153
+ # @overload start_report_job(params = {})
3154
+ # @param [Hash] params ({})
3155
+ def start_report_job(params = {}, options = {})
3156
+ req = build_request(:start_report_job, params)
3157
+ req.send_request(options)
3158
+ end
3159
+
2563
3160
  # Recovers the saved resource identified by an Amazon Resource Name
2564
3161
  # (ARN).
2565
3162
  #
@@ -2582,17 +3179,16 @@ module Aws::Backup
2582
3179
  # File System (Amazon EFS) instance:
2583
3180
  #
2584
3181
  # * `file-system-id`\: The ID of the Amazon EFS file system that is
2585
- # backed up by AWS Backup. Returned in
2586
- # `GetRecoveryPointRestoreMetadata`.
3182
+ # backed up by Backup. Returned in `GetRecoveryPointRestoreMetadata`.
2587
3183
  #
2588
3184
  # * `Encrypted`\: A Boolean value that, if true, specifies that the file
2589
3185
  # system is encrypted. If `KmsKeyId` is specified, `Encrypted` must be
2590
3186
  # set to `true`.
2591
3187
  #
2592
- # * `KmsKeyId`\: Specifies the AWS KMS key that is used to encrypt the
2593
- # restored file system. You can specify a key from another AWS account
2594
- # provided that key it is properly shared with your account via AWS
2595
- # KMS.
3188
+ # * `KmsKeyId`\: Specifies the Amazon Web Services KMS key that is used
3189
+ # to encrypt the restored file system. You can specify a key from
3190
+ # another Amazon Web Services account provided that key it is properly
3191
+ # shared with your account via Amazon Web Services KMS.
2596
3192
  #
2597
3193
  # * `PerformanceMode`\: Specifies the throughput mode of the file
2598
3194
  # system.
@@ -2603,20 +3199,21 @@ module Aws::Backup
2603
3199
  # * `newFileSystem`\: A Boolean value that, if true, specifies that the
2604
3200
  # recovery point is restored to a new Amazon EFS file system.
2605
3201
  #
2606
- # * `ItemsToRestore `\: An array of one to five strings where each
2607
- # string is a file path. Use `ItemsToRestore` to restore specific
2608
- # files or directories rather than the entire file system. This
2609
- # parameter is optional. For example,
2610
- # `"itemsToRestore":"["/my.test"]"`.
3202
+ # * `ItemsToRestore`\: An array of one to five strings where each string
3203
+ # is a file path. Use `ItemsToRestore` to restore specific files or
3204
+ # directories rather than the entire file system. This parameter is
3205
+ # optional. For example, `"itemsToRestore":"["/my.test"]"`.
2611
3206
  #
2612
3207
  # @option params [required, String] :iam_role_arn
2613
- # The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to
3208
+ # The Amazon Resource Name (ARN) of the IAM role that Backup uses to
2614
3209
  # create the target recovery point; for example,
2615
3210
  # `arn:aws:iam::123456789012:role/S3Access`.
2616
3211
  #
2617
3212
  # @option params [String] :idempotency_token
2618
- # A customer chosen string that can be used to distinguish between calls
2619
- # to `StartRestoreJob`.
3213
+ # A customer-chosen string that you can use to distinguish between
3214
+ # otherwise identical calls to `StartRestoreJob`. Retrying a successful
3215
+ # request with the same idempotency token results in a success message
3216
+ # with no action taken.
2620
3217
  #
2621
3218
  # @option params [String] :resource_type
2622
3219
  # Starts a job to restore a recovery point for one of the following
@@ -2634,7 +3231,7 @@ module Aws::Backup
2634
3231
  #
2635
3232
  # * `Aurora` for Amazon Aurora
2636
3233
  #
2637
- # * `Storage Gateway` for AWS Storage Gateway
3234
+ # * `Storage Gateway` for Storage Gateway
2638
3235
  #
2639
3236
  # @return [Types::StartRestoreJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2640
3237
  #
@@ -2668,7 +3265,7 @@ module Aws::Backup
2668
3265
  # Attempts to cancel a job to create a one-time backup of a resource.
2669
3266
  #
2670
3267
  # @option params [required, String] :backup_job_id
2671
- # Uniquely identifies a request to AWS Backup to back up a resource.
3268
+ # Uniquely identifies a request to Backup to back up a resource.
2672
3269
  #
2673
3270
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2674
3271
  #
@@ -2829,11 +3426,87 @@ module Aws::Backup
2829
3426
  req.send_request(options)
2830
3427
  end
2831
3428
 
2832
- # Updates the current global settings for the AWS account. Use the
2833
- # `DescribeGlobalSettings` API to determine the current settings.
3429
+ # Updates an existing framework identified by its `FrameworkName` with
3430
+ # the input document in JSON format.
3431
+ #
3432
+ # @option params [required, String] :framework_name
3433
+ # The unique name of a framework. This name is between 1 and 256
3434
+ # characters, starting with a letter, and consisting of letters (a-z,
3435
+ # A-Z), numbers (0-9), and underscores (\_).
3436
+ #
3437
+ # @option params [String] :framework_description
3438
+ # An optional description of the framework with a maximum 1,024
3439
+ # characters.
3440
+ #
3441
+ # @option params [Array<Types::FrameworkControl>] :framework_controls
3442
+ # A list of the controls that make up the framework. Each control in the
3443
+ # list has a name, input parameters, and scope.
3444
+ #
3445
+ # @option params [String] :idempotency_token
3446
+ # A customer-chosen string that you can use to distinguish between
3447
+ # otherwise identical calls to `UpdateFrameworkInput`. Retrying a
3448
+ # successful request with the same idempotency token results in a
3449
+ # success message with no action taken.
3450
+ #
3451
+ # **A suitable default value is auto-generated.** You should normally
3452
+ # not need to pass this option.**
3453
+ #
3454
+ # @return [Types::UpdateFrameworkOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3455
+ #
3456
+ # * {Types::UpdateFrameworkOutput#framework_name #framework_name} => String
3457
+ # * {Types::UpdateFrameworkOutput#framework_arn #framework_arn} => String
3458
+ # * {Types::UpdateFrameworkOutput#creation_time #creation_time} => Time
3459
+ #
3460
+ # @example Request syntax with placeholder values
3461
+ #
3462
+ # resp = client.update_framework({
3463
+ # framework_name: "FrameworkName", # required
3464
+ # framework_description: "FrameworkDescription",
3465
+ # framework_controls: [
3466
+ # {
3467
+ # control_name: "ControlName", # required
3468
+ # control_input_parameters: [
3469
+ # {
3470
+ # parameter_name: "ParameterName",
3471
+ # parameter_value: "ParameterValue",
3472
+ # },
3473
+ # ],
3474
+ # control_scope: {
3475
+ # compliance_resource_ids: ["string"],
3476
+ # compliance_resource_types: ["ARN"],
3477
+ # tags: {
3478
+ # "string" => "string",
3479
+ # },
3480
+ # },
3481
+ # },
3482
+ # ],
3483
+ # idempotency_token: "string",
3484
+ # })
3485
+ #
3486
+ # @example Response structure
3487
+ #
3488
+ # resp.framework_name #=> String
3489
+ # resp.framework_arn #=> String
3490
+ # resp.creation_time #=> Time
3491
+ #
3492
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateFramework AWS API Documentation
3493
+ #
3494
+ # @overload update_framework(params = {})
3495
+ # @param [Hash] params ({})
3496
+ def update_framework(params = {}, options = {})
3497
+ req = build_request(:update_framework, params)
3498
+ req.send_request(options)
3499
+ end
3500
+
3501
+ # Updates whether the Amazon Web Services account is opted in to
3502
+ # cross-account backup. Returns an error if the account is not an
3503
+ # Organizations management account. Use the `DescribeGlobalSettings` API
3504
+ # to determine the current settings.
2834
3505
  #
2835
3506
  # @option params [Hash<String,String>] :global_settings
2836
- # A list of resources along with the opt-in preferences for the account.
3507
+ # A value for `isCrossAccountBackupEnabled` and a Region. Example:
3508
+ # `update-global-settings --global-settings
3509
+ # isCrossAccountBackupEnabled=false --region us-west-2`.
2837
3510
  #
2838
3511
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2839
3512
  #
@@ -2857,7 +3530,7 @@ module Aws::Backup
2857
3530
  # Sets the transition lifecycle of a recovery point.
2858
3531
  #
2859
3532
  # The lifecycle defines when a protected resource is transitioned to
2860
- # cold storage and when it expires. AWS Backup transitions and expires
3533
+ # cold storage and when it expires. Backup transitions and expires
2861
3534
  # backups automatically according to the lifecycle that you define.
2862
3535
  #
2863
3536
  # Backups transitioned to cold storage must be stored in cold storage
@@ -2874,8 +3547,8 @@ module Aws::Backup
2874
3547
  # @option params [required, String] :backup_vault_name
2875
3548
  # The name of a logical container where backups are stored. Backup
2876
3549
  # vaults are identified by names that are unique to the account used to
2877
- # create them and the AWS Region where they are created. They consist of
2878
- # lowercase letters, numbers, and hyphens.
3550
+ # create them and the Amazon Web Services Region where they are created.
3551
+ # They consist of lowercase letters, numbers, and hyphens.
2879
3552
  #
2880
3553
  # @option params [required, String] :recovery_point_arn
2881
3554
  # An Amazon Resource Name (ARN) that uniquely identifies a recovery
@@ -2884,7 +3557,7 @@ module Aws::Backup
2884
3557
  #
2885
3558
  # @option params [Types::Lifecycle] :lifecycle
2886
3559
  # The lifecycle defines when a protected resource is transitioned to
2887
- # cold storage and when it expires. AWS Backup transitions and expires
3560
+ # cold storage and when it expires. Backup transitions and expires
2888
3561
  # backups automatically according to the lifecycle that you define.
2889
3562
  #
2890
3563
  # Backups transitioned to cold storage must be stored in cold storage
@@ -2930,12 +3603,12 @@ module Aws::Backup
2930
3603
  end
2931
3604
 
2932
3605
  # Updates the current service opt-in settings for the Region. If
2933
- # service-opt-in is enabled for a service, AWS Backup tries to protect
2934
- # that service's resources in this Region, when the resource is
2935
- # included in an on-demand backup or scheduled backup plan. Otherwise,
2936
- # AWS Backup does not try to protect that service's resources in this
2937
- # Region. Use the `DescribeRegionSettings` API to determine the resource
2938
- # types that are supported.
3606
+ # service-opt-in is enabled for a service, Backup tries to protect that
3607
+ # service's resources in this Region, when the resource is included in
3608
+ # an on-demand backup or scheduled backup plan. Otherwise, Backup does
3609
+ # not try to protect that service's resources in this Region. Use the
3610
+ # `DescribeRegionSettings` API to determine the resource types that are
3611
+ # supported.
2939
3612
  #
2940
3613
  # @option params [Hash<String,Boolean>] :resource_type_opt_in_preference
2941
3614
  # Updates the list of services along with the opt-in preferences for the
@@ -2960,6 +3633,82 @@ module Aws::Backup
2960
3633
  req.send_request(options)
2961
3634
  end
2962
3635
 
3636
+ # Updates an existing report plan identified by its `ReportPlanName`
3637
+ # with the input document in JSON format.
3638
+ #
3639
+ # @option params [required, String] :report_plan_name
3640
+ # The unique name of the report plan. This name is between 1 and 256
3641
+ # characters, starting with a letter, and consisting of letters (a-z,
3642
+ # A-Z), numbers (0-9), and underscores (\_).
3643
+ #
3644
+ # @option params [String] :report_plan_description
3645
+ # An optional description of the report plan with a maximum 1,024
3646
+ # characters.
3647
+ #
3648
+ # @option params [Types::ReportDeliveryChannel] :report_delivery_channel
3649
+ # A structure that contains information about where to deliver your
3650
+ # reports, specifically your Amazon S3 bucket name, S3 key prefix, and
3651
+ # the formats of your reports.
3652
+ #
3653
+ # @option params [Types::ReportSetting] :report_setting
3654
+ # Identifies the report template for the report. Reports are built using
3655
+ # a report template. The report templates are:
3656
+ #
3657
+ # `RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT |
3658
+ # BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT`
3659
+ #
3660
+ # If the report template is `RESOURCE_COMPLIANCE_REPORT` or
3661
+ # `CONTROL_COMPLIANCE_REPORT`, this API resource also describes the
3662
+ # report coverage by Amazon Web Services Regions and frameworks.
3663
+ #
3664
+ # @option params [String] :idempotency_token
3665
+ # A customer-chosen string that you can use to distinguish between
3666
+ # otherwise identical calls to `UpdateReportPlanInput`. Retrying a
3667
+ # successful request with the same idempotency token results in a
3668
+ # success message with no action taken.
3669
+ #
3670
+ # **A suitable default value is auto-generated.** You should normally
3671
+ # not need to pass this option.**
3672
+ #
3673
+ # @return [Types::UpdateReportPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3674
+ #
3675
+ # * {Types::UpdateReportPlanOutput#report_plan_name #report_plan_name} => String
3676
+ # * {Types::UpdateReportPlanOutput#report_plan_arn #report_plan_arn} => String
3677
+ # * {Types::UpdateReportPlanOutput#creation_time #creation_time} => Time
3678
+ #
3679
+ # @example Request syntax with placeholder values
3680
+ #
3681
+ # resp = client.update_report_plan({
3682
+ # report_plan_name: "ReportPlanName", # required
3683
+ # report_plan_description: "ReportPlanDescription",
3684
+ # report_delivery_channel: {
3685
+ # s3_bucket_name: "string", # required
3686
+ # s3_key_prefix: "string",
3687
+ # formats: ["string"],
3688
+ # },
3689
+ # report_setting: {
3690
+ # report_template: "string", # required
3691
+ # framework_arns: ["string"],
3692
+ # number_of_frameworks: 1,
3693
+ # },
3694
+ # idempotency_token: "string",
3695
+ # })
3696
+ #
3697
+ # @example Response structure
3698
+ #
3699
+ # resp.report_plan_name #=> String
3700
+ # resp.report_plan_arn #=> String
3701
+ # resp.creation_time #=> Time
3702
+ #
3703
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateReportPlan AWS API Documentation
3704
+ #
3705
+ # @overload update_report_plan(params = {})
3706
+ # @param [Hash] params ({})
3707
+ def update_report_plan(params = {}, options = {})
3708
+ req = build_request(:update_report_plan, params)
3709
+ req.send_request(options)
3710
+ end
3711
+
2963
3712
  # @!endgroup
2964
3713
 
2965
3714
  # @param params ({})
@@ -2973,7 +3722,7 @@ module Aws::Backup
2973
3722
  params: params,
2974
3723
  config: config)
2975
3724
  context[:gem_name] = 'aws-sdk-backup'
2976
- context[:gem_version] = '1.29.0'
3725
+ context[:gem_version] = '1.33.0'
2977
3726
  Seahorse::Client::Request.new(handlers, context)
2978
3727
  end
2979
3728