aws-sdk-backup 1.29.0 → 1.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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