aws-sdk-backup 1.30.0 → 1.34.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
  #
@@ -683,6 +850,38 @@ module Aws::Backup
683
850
  req.send_request(options)
684
851
  end
685
852
 
853
+ # Deletes Backup Vault Lock from a backup vault specified by a backup
854
+ # vault name.
855
+ #
856
+ # If the Vault Lock configuration is immutable, then you cannot delete
857
+ # Vault Lock using API operations, and you will receive an
858
+ # `InvalidRequestException` if you attempt to do so. For more
859
+ # information, see [Vault Lock][1] in the *Backup Developer Guide*.
860
+ #
861
+ #
862
+ #
863
+ # [1]: https://docs.aws.amazon.com/aws-backup/latest/devguide/vault-lock.html
864
+ #
865
+ # @option params [required, String] :backup_vault_name
866
+ # The name of the backup vault from which to delete Backup Vault Lock.
867
+ #
868
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
869
+ #
870
+ # @example Request syntax with placeholder values
871
+ #
872
+ # resp = client.delete_backup_vault_lock_configuration({
873
+ # backup_vault_name: "BackupVaultName", # required
874
+ # })
875
+ #
876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultLockConfiguration AWS API Documentation
877
+ #
878
+ # @overload delete_backup_vault_lock_configuration(params = {})
879
+ # @param [Hash] params ({})
880
+ def delete_backup_vault_lock_configuration(params = {}, options = {})
881
+ req = build_request(:delete_backup_vault_lock_configuration, params)
882
+ req.send_request(options)
883
+ end
884
+
686
885
  # Deletes event notifications for the specified backup vault.
687
886
  #
688
887
  # @option params [required, String] :backup_vault_name
@@ -708,6 +907,28 @@ module Aws::Backup
708
907
  req.send_request(options)
709
908
  end
710
909
 
910
+ # Deletes the framework specified by a framework name.
911
+ #
912
+ # @option params [required, String] :framework_name
913
+ # The unique name of a framework.
914
+ #
915
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
916
+ #
917
+ # @example Request syntax with placeholder values
918
+ #
919
+ # resp = client.delete_framework({
920
+ # framework_name: "FrameworkName", # required
921
+ # })
922
+ #
923
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteFramework AWS API Documentation
924
+ #
925
+ # @overload delete_framework(params = {})
926
+ # @param [Hash] params ({})
927
+ def delete_framework(params = {}, options = {})
928
+ req = build_request(:delete_framework, params)
929
+ req.send_request(options)
930
+ end
931
+
711
932
  # Deletes the recovery point specified by a recovery point ID.
712
933
  #
713
934
  # If the recovery point ID belongs to a continuous backup, calling this
@@ -717,8 +938,8 @@ module Aws::Backup
717
938
  # @option params [required, String] :backup_vault_name
718
939
  # The name of a logical container where backups are stored. Backup
719
940
  # 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.
941
+ # create them and the Amazon Web Services Region where they are created.
942
+ # They consist of lowercase letters, numbers, and hyphens.
722
943
  #
723
944
  # @option params [required, String] :recovery_point_arn
724
945
  # An Amazon Resource Name (ARN) that uniquely identifies a recovery
@@ -743,10 +964,32 @@ module Aws::Backup
743
964
  req.send_request(options)
744
965
  end
745
966
 
967
+ # Deletes the report plan specified by a report plan name.
968
+ #
969
+ # @option params [required, String] :report_plan_name
970
+ # The unique name of a report plan.
971
+ #
972
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
973
+ #
974
+ # @example Request syntax with placeholder values
975
+ #
976
+ # resp = client.delete_report_plan({
977
+ # report_plan_name: "ReportPlanName", # required
978
+ # })
979
+ #
980
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteReportPlan AWS API Documentation
981
+ #
982
+ # @overload delete_report_plan(params = {})
983
+ # @param [Hash] params ({})
984
+ def delete_report_plan(params = {}, options = {})
985
+ req = build_request(:delete_report_plan, params)
986
+ req.send_request(options)
987
+ end
988
+
746
989
  # Returns backup job details for the specified `BackupJobId`.
747
990
  #
748
991
  # @option params [required, String] :backup_job_id
749
- # Uniquely identifies a request to AWS Backup to back up a resource.
992
+ # Uniquely identifies a request to Backup to back up a resource.
750
993
  #
751
994
  # @return [Types::DescribeBackupJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
752
995
  #
@@ -818,8 +1061,8 @@ module Aws::Backup
818
1061
  # @option params [required, String] :backup_vault_name
819
1062
  # The name of a logical container where backups are stored. Backup
820
1063
  # 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.
1064
+ # create them and the Amazon Web Services Region where they are created.
1065
+ # They consist of lowercase letters, numbers, and hyphens.
823
1066
  #
824
1067
  # @return [Types::DescribeBackupVaultOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
825
1068
  #
@@ -829,6 +1072,10 @@ module Aws::Backup
829
1072
  # * {Types::DescribeBackupVaultOutput#creation_date #creation_date} => Time
830
1073
  # * {Types::DescribeBackupVaultOutput#creator_request_id #creator_request_id} => String
831
1074
  # * {Types::DescribeBackupVaultOutput#number_of_recovery_points #number_of_recovery_points} => Integer
1075
+ # * {Types::DescribeBackupVaultOutput#locked #locked} => Boolean
1076
+ # * {Types::DescribeBackupVaultOutput#min_retention_days #min_retention_days} => Integer
1077
+ # * {Types::DescribeBackupVaultOutput#max_retention_days #max_retention_days} => Integer
1078
+ # * {Types::DescribeBackupVaultOutput#lock_date #lock_date} => Time
832
1079
  #
833
1080
  # @example Request syntax with placeholder values
834
1081
  #
@@ -844,6 +1091,10 @@ module Aws::Backup
844
1091
  # resp.creation_date #=> Time
845
1092
  # resp.creator_request_id #=> String
846
1093
  # resp.number_of_recovery_points #=> Integer
1094
+ # resp.locked #=> Boolean
1095
+ # resp.min_retention_days #=> Integer
1096
+ # resp.max_retention_days #=> Integer
1097
+ # resp.lock_date #=> Time
847
1098
  #
848
1099
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupVault AWS API Documentation
849
1100
  #
@@ -899,8 +1150,62 @@ module Aws::Backup
899
1150
  req.send_request(options)
900
1151
  end
901
1152
 
902
- # Describes the global settings of the AWS account, including whether it
903
- # is opted in to cross-account backup.
1153
+ # Returns the framework details for the specified `FrameworkName`.
1154
+ #
1155
+ # @option params [required, String] :framework_name
1156
+ # The unique name of a framework.
1157
+ #
1158
+ # @return [Types::DescribeFrameworkOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1159
+ #
1160
+ # * {Types::DescribeFrameworkOutput#framework_name #framework_name} => String
1161
+ # * {Types::DescribeFrameworkOutput#framework_arn #framework_arn} => String
1162
+ # * {Types::DescribeFrameworkOutput#framework_description #framework_description} => String
1163
+ # * {Types::DescribeFrameworkOutput#framework_controls #framework_controls} => Array&lt;Types::FrameworkControl&gt;
1164
+ # * {Types::DescribeFrameworkOutput#creation_time #creation_time} => Time
1165
+ # * {Types::DescribeFrameworkOutput#deployment_status #deployment_status} => String
1166
+ # * {Types::DescribeFrameworkOutput#framework_status #framework_status} => String
1167
+ # * {Types::DescribeFrameworkOutput#idempotency_token #idempotency_token} => String
1168
+ #
1169
+ # @example Request syntax with placeholder values
1170
+ #
1171
+ # resp = client.describe_framework({
1172
+ # framework_name: "FrameworkName", # required
1173
+ # })
1174
+ #
1175
+ # @example Response structure
1176
+ #
1177
+ # resp.framework_name #=> String
1178
+ # resp.framework_arn #=> String
1179
+ # resp.framework_description #=> String
1180
+ # resp.framework_controls #=> Array
1181
+ # resp.framework_controls[0].control_name #=> String
1182
+ # resp.framework_controls[0].control_input_parameters #=> Array
1183
+ # resp.framework_controls[0].control_input_parameters[0].parameter_name #=> String
1184
+ # resp.framework_controls[0].control_input_parameters[0].parameter_value #=> String
1185
+ # resp.framework_controls[0].control_scope.compliance_resource_ids #=> Array
1186
+ # resp.framework_controls[0].control_scope.compliance_resource_ids[0] #=> String
1187
+ # resp.framework_controls[0].control_scope.compliance_resource_types #=> Array
1188
+ # resp.framework_controls[0].control_scope.compliance_resource_types[0] #=> String
1189
+ # resp.framework_controls[0].control_scope.tags #=> Hash
1190
+ # resp.framework_controls[0].control_scope.tags["string"] #=> String
1191
+ # resp.creation_time #=> Time
1192
+ # resp.deployment_status #=> String
1193
+ # resp.framework_status #=> String
1194
+ # resp.idempotency_token #=> String
1195
+ #
1196
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeFramework AWS API Documentation
1197
+ #
1198
+ # @overload describe_framework(params = {})
1199
+ # @param [Hash] params ({})
1200
+ def describe_framework(params = {}, options = {})
1201
+ req = build_request(:describe_framework, params)
1202
+ req.send_request(options)
1203
+ end
1204
+
1205
+ # Describes whether the Amazon Web Services account is opted in to
1206
+ # cross-account backup. Returns an error if the account is not a member
1207
+ # of an Organizations organization. Example: `describe-global-settings
1208
+ # --region us-west-2`
904
1209
  #
905
1210
  # @return [Types::DescribeGlobalSettingsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
906
1211
  #
@@ -923,8 +1228,8 @@ module Aws::Backup
923
1228
  end
924
1229
 
925
1230
  # 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.
1231
+ # was backed up, its Amazon Resource Name (ARN), and the Amazon Web
1232
+ # Services service type of the saved resource.
928
1233
  #
929
1234
  # @option params [required, String] :resource_arn
930
1235
  # An Amazon Resource Name (ARN) that uniquely identifies a resource. The
@@ -963,8 +1268,8 @@ module Aws::Backup
963
1268
  # @option params [required, String] :backup_vault_name
964
1269
  # The name of a logical container where backups are stored. Backup
965
1270
  # 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.
1271
+ # create them and the Amazon Web Services Region where they are created.
1272
+ # They consist of lowercase letters, numbers, and hyphens.
968
1273
  #
969
1274
  # @option params [required, String] :recovery_point_arn
970
1275
  # An Amazon Resource Name (ARN) that uniquely identifies a recovery
@@ -982,6 +1287,7 @@ module Aws::Backup
982
1287
  # * {Types::DescribeRecoveryPointOutput#created_by #created_by} => Types::RecoveryPointCreator
983
1288
  # * {Types::DescribeRecoveryPointOutput#iam_role_arn #iam_role_arn} => String
984
1289
  # * {Types::DescribeRecoveryPointOutput#status #status} => String
1290
+ # * {Types::DescribeRecoveryPointOutput#status_message #status_message} => String
985
1291
  # * {Types::DescribeRecoveryPointOutput#creation_date #creation_date} => Time
986
1292
  # * {Types::DescribeRecoveryPointOutput#completion_date #completion_date} => Time
987
1293
  # * {Types::DescribeRecoveryPointOutput#backup_size_in_bytes #backup_size_in_bytes} => Integer
@@ -1013,6 +1319,7 @@ module Aws::Backup
1013
1319
  # resp.created_by.backup_rule_id #=> String
1014
1320
  # resp.iam_role_arn #=> String
1015
1321
  # resp.status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
1322
+ # resp.status_message #=> String
1016
1323
  # resp.creation_date #=> Time
1017
1324
  # resp.completion_date #=> Time
1018
1325
  # resp.backup_size_in_bytes #=> Integer
@@ -1034,13 +1341,11 @@ module Aws::Backup
1034
1341
  req.send_request(options)
1035
1342
  end
1036
1343
 
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.
1344
+ # Returns the current service opt-in settings for the Region. If service
1345
+ # opt-in is enabled for a service, Backup tries to protect that
1346
+ # service's resources in this Region, when the resource is included in
1347
+ # an on-demand backup or scheduled backup plan. Otherwise, Backup does
1348
+ # not try to protect that service's resources in this Region.
1044
1349
  #
1045
1350
  # @return [Types::DescribeRegionSettingsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1046
1351
  #
@@ -1060,6 +1365,89 @@ module Aws::Backup
1060
1365
  req.send_request(options)
1061
1366
  end
1062
1367
 
1368
+ # Returns the details associated with creating a report as specified by
1369
+ # its `ReportJobId`.
1370
+ #
1371
+ # @option params [required, String] :report_job_id
1372
+ # The identifier of the report job. A unique, randomly generated,
1373
+ # Unicode, UTF-8 encoded string that is at most 1,024 bytes long. The
1374
+ # report job ID cannot be edited.
1375
+ #
1376
+ # @return [Types::DescribeReportJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1377
+ #
1378
+ # * {Types::DescribeReportJobOutput#report_job #report_job} => Types::ReportJob
1379
+ #
1380
+ # @example Request syntax with placeholder values
1381
+ #
1382
+ # resp = client.describe_report_job({
1383
+ # report_job_id: "ReportJobId", # required
1384
+ # })
1385
+ #
1386
+ # @example Response structure
1387
+ #
1388
+ # resp.report_job.report_job_id #=> String
1389
+ # resp.report_job.report_plan_arn #=> String
1390
+ # resp.report_job.report_template #=> String
1391
+ # resp.report_job.creation_time #=> Time
1392
+ # resp.report_job.completion_time #=> Time
1393
+ # resp.report_job.status #=> String
1394
+ # resp.report_job.status_message #=> String
1395
+ # resp.report_job.report_destination.s3_bucket_name #=> String
1396
+ # resp.report_job.report_destination.s3_keys #=> Array
1397
+ # resp.report_job.report_destination.s3_keys[0] #=> String
1398
+ #
1399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeReportJob AWS API Documentation
1400
+ #
1401
+ # @overload describe_report_job(params = {})
1402
+ # @param [Hash] params ({})
1403
+ def describe_report_job(params = {}, options = {})
1404
+ req = build_request(:describe_report_job, params)
1405
+ req.send_request(options)
1406
+ end
1407
+
1408
+ # Returns a list of all report plans for an Amazon Web Services account
1409
+ # and Amazon Web Services Region.
1410
+ #
1411
+ # @option params [required, String] :report_plan_name
1412
+ # The unique name of a report plan.
1413
+ #
1414
+ # @return [Types::DescribeReportPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1415
+ #
1416
+ # * {Types::DescribeReportPlanOutput#report_plan #report_plan} => Types::ReportPlan
1417
+ #
1418
+ # @example Request syntax with placeholder values
1419
+ #
1420
+ # resp = client.describe_report_plan({
1421
+ # report_plan_name: "ReportPlanName", # required
1422
+ # })
1423
+ #
1424
+ # @example Response structure
1425
+ #
1426
+ # resp.report_plan.report_plan_arn #=> String
1427
+ # resp.report_plan.report_plan_name #=> String
1428
+ # resp.report_plan.report_plan_description #=> String
1429
+ # resp.report_plan.report_setting.report_template #=> String
1430
+ # resp.report_plan.report_setting.framework_arns #=> Array
1431
+ # resp.report_plan.report_setting.framework_arns[0] #=> String
1432
+ # resp.report_plan.report_setting.number_of_frameworks #=> Integer
1433
+ # resp.report_plan.report_delivery_channel.s3_bucket_name #=> String
1434
+ # resp.report_plan.report_delivery_channel.s3_key_prefix #=> String
1435
+ # resp.report_plan.report_delivery_channel.formats #=> Array
1436
+ # resp.report_plan.report_delivery_channel.formats[0] #=> String
1437
+ # resp.report_plan.deployment_status #=> String
1438
+ # resp.report_plan.creation_time #=> Time
1439
+ # resp.report_plan.last_attempted_execution_time #=> Time
1440
+ # resp.report_plan.last_successful_execution_time #=> Time
1441
+ #
1442
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeReportPlan AWS API Documentation
1443
+ #
1444
+ # @overload describe_report_plan(params = {})
1445
+ # @param [Hash] params ({})
1446
+ def describe_report_plan(params = {}, options = {})
1447
+ req = build_request(:describe_report_plan, params)
1448
+ req.send_request(options)
1449
+ end
1450
+
1063
1451
  # Returns metadata associated with a restore job that is specified by a
1064
1452
  # job ID.
1065
1453
  #
@@ -1113,20 +1501,20 @@ module Aws::Backup
1113
1501
  req.send_request(options)
1114
1502
  end
1115
1503
 
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.
1504
+ # Deletes the specified continuous backup recovery point from Backup and
1505
+ # releases control of that continuous backup to the source service, such
1506
+ # as Amazon RDS. The source service will continue to create and retain
1507
+ # continuous backups using the lifecycle that you specified in your
1508
+ # original backup plan.
1121
1509
  #
1122
1510
  # Does not support snapshot backup recovery points.
1123
1511
  #
1124
1512
  # @option params [required, String] :backup_vault_name
1125
- # The unique name of an AWS Backup vault. Required.
1513
+ # The unique name of an Backup vault.
1126
1514
  #
1127
1515
  # @option params [required, String] :recovery_point_arn
1128
- # An Amazon Resource Name (ARN) that uniquely identifies an AWS Backup
1129
- # recovery point. Required.
1516
+ # An Amazon Resource Name (ARN) that uniquely identifies an Backup
1517
+ # recovery point.
1130
1518
  #
1131
1519
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1132
1520
  #
@@ -1400,8 +1788,8 @@ module Aws::Backup
1400
1788
  # @option params [required, String] :backup_vault_name
1401
1789
  # The name of a logical container where backups are stored. Backup
1402
1790
  # 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.
1791
+ # create them and the Amazon Web Services Region where they are created.
1792
+ # They consist of lowercase letters, numbers, and hyphens.
1405
1793
  #
1406
1794
  # @return [Types::GetBackupVaultAccessPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1407
1795
  #
@@ -1435,8 +1823,8 @@ module Aws::Backup
1435
1823
  # @option params [required, String] :backup_vault_name
1436
1824
  # The name of a logical container where backups are stored. Backup
1437
1825
  # 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.
1826
+ # create them and the Amazon Web Services Region where they are created.
1827
+ # They consist of lowercase letters, numbers, and hyphens.
1440
1828
  #
1441
1829
  # @return [Types::GetBackupVaultNotificationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1442
1830
  #
@@ -1474,8 +1862,8 @@ module Aws::Backup
1474
1862
  # @option params [required, String] :backup_vault_name
1475
1863
  # The name of a logical container where backups are stored. Backup
1476
1864
  # 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.
1865
+ # create them and the Amazon Web Services Region where they are created.
1866
+ # They consist of lowercase letters, numbers, and hyphens.
1479
1867
  #
1480
1868
  # @option params [required, String] :recovery_point_arn
1481
1869
  # An Amazon Resource Name (ARN) that uniquely identifies a recovery
@@ -1511,7 +1899,7 @@ module Aws::Backup
1511
1899
  req.send_request(options)
1512
1900
  end
1513
1901
 
1514
- # Returns the AWS resource types supported by AWS Backup.
1902
+ # Returns the Amazon Web Services resource types supported by Backup.
1515
1903
  #
1516
1904
  # @return [Types::GetSupportedResourceTypesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1517
1905
  #
@@ -1558,8 +1946,9 @@ module Aws::Backup
1558
1946
  # @option params [String] :by_backup_vault_name
1559
1947
  # Returns only backup jobs that will be stored in the specified backup
1560
1948
  # 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.
1949
+ # account used to create them and the Amazon Web Services Region where
1950
+ # they are created. They consist of lowercase letters, numbers, and
1951
+ # hyphens.
1563
1952
  #
1564
1953
  # @option params [Time,DateTime,Date,Integer,String] :by_created_before
1565
1954
  # Returns only backup jobs that were created before the specified date.
@@ -1582,14 +1971,14 @@ module Aws::Backup
1582
1971
  #
1583
1972
  # * `Aurora` for Amazon Aurora
1584
1973
  #
1585
- # * `Storage Gateway` for AWS Storage Gateway
1974
+ # * `Storage Gateway` for Storage Gateway
1586
1975
  #
1587
1976
  # @option params [String] :by_account_id
1588
1977
  # The account ID to list the jobs from. Returns only backup jobs
1589
1978
  # associated with the specified account ID.
1590
1979
  #
1591
- # If used from an AWS Organizations management account, passing `*`
1592
- # returns all jobs across the organization.
1980
+ # If used from an Organizations management account, passing `*` returns
1981
+ # all jobs across the organization.
1593
1982
  #
1594
1983
  # @return [Types::ListBackupJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1595
1984
  #
@@ -1749,10 +2138,9 @@ module Aws::Backup
1749
2138
  req.send_request(options)
1750
2139
  end
1751
2140
 
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
2141
+ # Returns a list of all active backup plans for an authenticated
2142
+ # account. The list contains information such as Amazon Resource Names
2143
+ # (ARNs), plan IDs, creation and deletion dates, version IDs, plan
1756
2144
  # names, and creator request IDs.
1757
2145
  #
1758
2146
  # @option params [String] :next_token
@@ -1894,6 +2282,10 @@ module Aws::Backup
1894
2282
  # resp.backup_vault_list[0].encryption_key_arn #=> String
1895
2283
  # resp.backup_vault_list[0].creator_request_id #=> String
1896
2284
  # resp.backup_vault_list[0].number_of_recovery_points #=> Integer
2285
+ # resp.backup_vault_list[0].locked #=> Boolean
2286
+ # resp.backup_vault_list[0].min_retention_days #=> Integer
2287
+ # resp.backup_vault_list[0].max_retention_days #=> Integer
2288
+ # resp.backup_vault_list[0].lock_date #=> Time
1897
2289
  # resp.next_token #=> String
1898
2290
  #
1899
2291
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupVaults AWS API Documentation
@@ -1944,7 +2336,7 @@ module Aws::Backup
1944
2336
  #
1945
2337
  # * `Aurora` for Amazon Aurora
1946
2338
  #
1947
- # * `Storage Gateway` for AWS Storage Gateway
2339
+ # * `Storage Gateway` for Storage Gateway
1948
2340
  #
1949
2341
  # @option params [String] :by_destination_vault_arn
1950
2342
  # An Amazon Resource Name (ARN) that uniquely identifies a source backup
@@ -2008,7 +2400,53 @@ module Aws::Backup
2008
2400
  req.send_request(options)
2009
2401
  end
2010
2402
 
2011
- # Returns an array of resources successfully backed up by AWS Backup,
2403
+ # Returns a list of all frameworks for an Amazon Web Services account
2404
+ # and Amazon Web Services Region.
2405
+ #
2406
+ # @option params [Integer] :max_results
2407
+ # The number of desired results from 1 to 1000. Optional. If
2408
+ # unspecified, the query will return 1 MB of data.
2409
+ #
2410
+ # @option params [String] :next_token
2411
+ # An identifier that was returned from the previous call to this
2412
+ # operation, which can be used to return the next set of items in the
2413
+ # list.
2414
+ #
2415
+ # @return [Types::ListFrameworksOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2416
+ #
2417
+ # * {Types::ListFrameworksOutput#frameworks #frameworks} => Array&lt;Types::Framework&gt;
2418
+ # * {Types::ListFrameworksOutput#next_token #next_token} => String
2419
+ #
2420
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2421
+ #
2422
+ # @example Request syntax with placeholder values
2423
+ #
2424
+ # resp = client.list_frameworks({
2425
+ # max_results: 1,
2426
+ # next_token: "string",
2427
+ # })
2428
+ #
2429
+ # @example Response structure
2430
+ #
2431
+ # resp.frameworks #=> Array
2432
+ # resp.frameworks[0].framework_name #=> String
2433
+ # resp.frameworks[0].framework_arn #=> String
2434
+ # resp.frameworks[0].framework_description #=> String
2435
+ # resp.frameworks[0].number_of_controls #=> Integer
2436
+ # resp.frameworks[0].creation_time #=> Time
2437
+ # resp.frameworks[0].deployment_status #=> String
2438
+ # resp.next_token #=> String
2439
+ #
2440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListFrameworks AWS API Documentation
2441
+ #
2442
+ # @overload list_frameworks(params = {})
2443
+ # @param [Hash] params ({})
2444
+ def list_frameworks(params = {}, options = {})
2445
+ req = build_request(:list_frameworks, params)
2446
+ req.send_request(options)
2447
+ end
2448
+
2449
+ # Returns an array of resources successfully backed up by Backup,
2012
2450
  # including the time the resource was saved, an Amazon Resource Name
2013
2451
  # (ARN) of the resource, and a resource type.
2014
2452
  #
@@ -2058,8 +2496,13 @@ module Aws::Backup
2058
2496
  # @option params [required, String] :backup_vault_name
2059
2497
  # The name of a logical container where backups are stored. Backup
2060
2498
  # 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.
2499
+ # create them and the Amazon Web Services Region where they are created.
2500
+ # They consist of lowercase letters, numbers, and hyphens.
2501
+ #
2502
+ # <note markdown="1"> Backup vault name might not be available when a supported service
2503
+ # creates the backup.
2504
+ #
2505
+ # </note>
2063
2506
  #
2064
2507
  # @option params [String] :next_token
2065
2508
  # The next item following a partial list of returned items. For example,
@@ -2124,6 +2567,7 @@ module Aws::Backup
2124
2567
  # resp.recovery_points[0].created_by.backup_rule_id #=> String
2125
2568
  # resp.recovery_points[0].iam_role_arn #=> String
2126
2569
  # resp.recovery_points[0].status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
2570
+ # resp.recovery_points[0].status_message #=> String
2127
2571
  # resp.recovery_points[0].creation_date #=> Time
2128
2572
  # resp.recovery_points[0].completion_date #=> Time
2129
2573
  # resp.recovery_points[0].backup_size_in_bytes #=> Integer
@@ -2144,9 +2588,14 @@ module Aws::Backup
2144
2588
  req.send_request(options)
2145
2589
  end
2146
2590
 
2147
- # Returns detailed information about recovery points of the type
2591
+ # Returns detailed information about all the recovery points of the type
2148
2592
  # specified by a resource Amazon Resource Name (ARN).
2149
2593
  #
2594
+ # <note markdown="1"> For Amazon EFS and Amazon EC2, this action only lists recovery points
2595
+ # created by Backup.
2596
+ #
2597
+ # </note>
2598
+ #
2150
2599
  # @option params [required, String] :resource_arn
2151
2600
  # An ARN that uniquely identifies a resource. The format of the ARN
2152
2601
  # depends on the resource type.
@@ -2160,6 +2609,10 @@ module Aws::Backup
2160
2609
  # @option params [Integer] :max_results
2161
2610
  # The maximum number of items to be returned.
2162
2611
  #
2612
+ # <note markdown="1"> Amazon RDS requires a value of at least 20.
2613
+ #
2614
+ # </note>
2615
+ #
2163
2616
  # @return [Types::ListRecoveryPointsByResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2164
2617
  #
2165
2618
  # * {Types::ListRecoveryPointsByResourceOutput#next_token #next_token} => String
@@ -2182,6 +2635,7 @@ module Aws::Backup
2182
2635
  # resp.recovery_points[0].recovery_point_arn #=> String
2183
2636
  # resp.recovery_points[0].creation_date #=> Time
2184
2637
  # resp.recovery_points[0].status #=> String, one of "COMPLETED", "PARTIAL", "DELETING", "EXPIRED"
2638
+ # resp.recovery_points[0].status_message #=> String
2185
2639
  # resp.recovery_points[0].encryption_key_arn #=> String
2186
2640
  # resp.recovery_points[0].backup_size_bytes #=> Integer
2187
2641
  # resp.recovery_points[0].backup_vault_name #=> String
@@ -2195,8 +2649,137 @@ module Aws::Backup
2195
2649
  req.send_request(options)
2196
2650
  end
2197
2651
 
2198
- # Returns a list of jobs that AWS Backup initiated to restore a saved
2199
- # resource, including metadata about the recovery process.
2652
+ # Returns details about your report jobs.
2653
+ #
2654
+ # @option params [String] :by_report_plan_name
2655
+ # Returns only report jobs with the specified report plan name.
2656
+ #
2657
+ # @option params [Time,DateTime,Date,Integer,String] :by_creation_before
2658
+ # Returns only report jobs that were created before the date and time
2659
+ # specified in Unix format and Coordinated Universal Time (UTC). For
2660
+ # example, the value 1516925490 represents Friday, January 26, 2018
2661
+ # 12:11:30 AM.
2662
+ #
2663
+ # @option params [Time,DateTime,Date,Integer,String] :by_creation_after
2664
+ # Returns only report jobs that were created after the date and time
2665
+ # specified in Unix format and Coordinated Universal Time (UTC). For
2666
+ # example, the value 1516925490 represents Friday, January 26, 2018
2667
+ # 12:11:30 AM.
2668
+ #
2669
+ # @option params [String] :by_status
2670
+ # Returns only report jobs that are in the specified status. The
2671
+ # statuses are:
2672
+ #
2673
+ # `CREATED | RUNNING | COMPLETED | FAILED`
2674
+ #
2675
+ # @option params [Integer] :max_results
2676
+ # The number of desired results from 1 to 1000. Optional. If
2677
+ # unspecified, the query will return 1 MB of data.
2678
+ #
2679
+ # @option params [String] :next_token
2680
+ # An identifier that was returned from the previous call to this
2681
+ # operation, which can be used to return the next set of items in the
2682
+ # list.
2683
+ #
2684
+ # @return [Types::ListReportJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2685
+ #
2686
+ # * {Types::ListReportJobsOutput#report_jobs #report_jobs} => Array&lt;Types::ReportJob&gt;
2687
+ # * {Types::ListReportJobsOutput#next_token #next_token} => String
2688
+ #
2689
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2690
+ #
2691
+ # @example Request syntax with placeholder values
2692
+ #
2693
+ # resp = client.list_report_jobs({
2694
+ # by_report_plan_name: "ReportPlanName",
2695
+ # by_creation_before: Time.now,
2696
+ # by_creation_after: Time.now,
2697
+ # by_status: "string",
2698
+ # max_results: 1,
2699
+ # next_token: "string",
2700
+ # })
2701
+ #
2702
+ # @example Response structure
2703
+ #
2704
+ # resp.report_jobs #=> Array
2705
+ # resp.report_jobs[0].report_job_id #=> String
2706
+ # resp.report_jobs[0].report_plan_arn #=> String
2707
+ # resp.report_jobs[0].report_template #=> String
2708
+ # resp.report_jobs[0].creation_time #=> Time
2709
+ # resp.report_jobs[0].completion_time #=> Time
2710
+ # resp.report_jobs[0].status #=> String
2711
+ # resp.report_jobs[0].status_message #=> String
2712
+ # resp.report_jobs[0].report_destination.s3_bucket_name #=> String
2713
+ # resp.report_jobs[0].report_destination.s3_keys #=> Array
2714
+ # resp.report_jobs[0].report_destination.s3_keys[0] #=> String
2715
+ # resp.next_token #=> String
2716
+ #
2717
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListReportJobs AWS API Documentation
2718
+ #
2719
+ # @overload list_report_jobs(params = {})
2720
+ # @param [Hash] params ({})
2721
+ def list_report_jobs(params = {}, options = {})
2722
+ req = build_request(:list_report_jobs, params)
2723
+ req.send_request(options)
2724
+ end
2725
+
2726
+ # Returns a list of your report plans. For detailed information about a
2727
+ # single report plan, use `DescribeReportPlan`.
2728
+ #
2729
+ # @option params [Integer] :max_results
2730
+ # The number of desired results from 1 to 1000. Optional. If
2731
+ # unspecified, the query will return 1 MB of data.
2732
+ #
2733
+ # @option params [String] :next_token
2734
+ # An identifier that was returned from the previous call to this
2735
+ # operation, which can be used to return the next set of items in the
2736
+ # list.
2737
+ #
2738
+ # @return [Types::ListReportPlansOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2739
+ #
2740
+ # * {Types::ListReportPlansOutput#report_plans #report_plans} => Array&lt;Types::ReportPlan&gt;
2741
+ # * {Types::ListReportPlansOutput#next_token #next_token} => String
2742
+ #
2743
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2744
+ #
2745
+ # @example Request syntax with placeholder values
2746
+ #
2747
+ # resp = client.list_report_plans({
2748
+ # max_results: 1,
2749
+ # next_token: "string",
2750
+ # })
2751
+ #
2752
+ # @example Response structure
2753
+ #
2754
+ # resp.report_plans #=> Array
2755
+ # resp.report_plans[0].report_plan_arn #=> String
2756
+ # resp.report_plans[0].report_plan_name #=> String
2757
+ # resp.report_plans[0].report_plan_description #=> String
2758
+ # resp.report_plans[0].report_setting.report_template #=> String
2759
+ # resp.report_plans[0].report_setting.framework_arns #=> Array
2760
+ # resp.report_plans[0].report_setting.framework_arns[0] #=> String
2761
+ # resp.report_plans[0].report_setting.number_of_frameworks #=> Integer
2762
+ # resp.report_plans[0].report_delivery_channel.s3_bucket_name #=> String
2763
+ # resp.report_plans[0].report_delivery_channel.s3_key_prefix #=> String
2764
+ # resp.report_plans[0].report_delivery_channel.formats #=> Array
2765
+ # resp.report_plans[0].report_delivery_channel.formats[0] #=> String
2766
+ # resp.report_plans[0].deployment_status #=> String
2767
+ # resp.report_plans[0].creation_time #=> Time
2768
+ # resp.report_plans[0].last_attempted_execution_time #=> Time
2769
+ # resp.report_plans[0].last_successful_execution_time #=> Time
2770
+ # resp.next_token #=> String
2771
+ #
2772
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListReportPlans AWS API Documentation
2773
+ #
2774
+ # @overload list_report_plans(params = {})
2775
+ # @param [Hash] params ({})
2776
+ def list_report_plans(params = {}, options = {})
2777
+ req = build_request(:list_report_plans, params)
2778
+ req.send_request(options)
2779
+ end
2780
+
2781
+ # Returns a list of jobs that Backup initiated to restore a saved
2782
+ # resource, including details about the recovery process.
2200
2783
  #
2201
2784
  # @option params [String] :next_token
2202
2785
  # The next item following a partial list of returned items. For example,
@@ -2323,8 +2906,8 @@ module Aws::Backup
2323
2906
  # @option params [required, String] :backup_vault_name
2324
2907
  # The name of a logical container where backups are stored. Backup
2325
2908
  # 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.
2909
+ # create them and the Amazon Web Services Region where they are created.
2910
+ # They consist of lowercase letters, numbers, and hyphens.
2328
2911
  #
2329
2912
  # @option params [String] :policy
2330
2913
  # The backup vault access policy document in JSON format.
@@ -2347,14 +2930,105 @@ module Aws::Backup
2347
2930
  req.send_request(options)
2348
2931
  end
2349
2932
 
2933
+ # Applies Backup Vault Lock to a backup vault, preventing attempts to
2934
+ # delete any recovery point stored in or created in a backup vault.
2935
+ # Vault Lock also prevents attempts to update the lifecycle policy that
2936
+ # controls the retention period of any recovery point currently stored
2937
+ # in a backup vault. If specified, Vault Lock enforces a minimum and
2938
+ # maximum retention period for future backup and copy jobs that target a
2939
+ # backup vault.
2940
+ #
2941
+ # @option params [required, String] :backup_vault_name
2942
+ # The Backup Vault Lock configuration that specifies the name of the
2943
+ # backup vault it protects.
2944
+ #
2945
+ # @option params [Integer] :min_retention_days
2946
+ # The Backup Vault Lock configuration that specifies the minimum
2947
+ # retention period that the vault retains its recovery points. This
2948
+ # setting can be useful if, for example, your organization's policies
2949
+ # require you to retain certain data for at least seven years (2555
2950
+ # days).
2951
+ #
2952
+ # If this parameter is not specified, Vault Lock will not enforce a
2953
+ # minimum retention period.
2954
+ #
2955
+ # If this parameter is specified, any backup or copy job to the vault
2956
+ # must have a lifecycle policy with a retention period equal to or
2957
+ # longer than the minimum retention period. If the job's retention
2958
+ # period is shorter than that minimum retention period, then the vault
2959
+ # fails that backup or copy job, and you should either modify your
2960
+ # lifecycle settings or use a different vault. Recovery points already
2961
+ # saved in the vault prior to Vault Lock are not affected.
2962
+ #
2963
+ # @option params [Integer] :max_retention_days
2964
+ # The Backup Vault Lock configuration that specifies the maximum
2965
+ # retention period that the vault retains its recovery points. This
2966
+ # setting can be useful if, for example, your organization's policies
2967
+ # require you to destroy certain data after retaining it for four years
2968
+ # (1460 days).
2969
+ #
2970
+ # If this parameter is not included, Vault Lock does not enforce a
2971
+ # maximum retention period on the recovery points in the vault. If this
2972
+ # parameter is included without a value, Vault Lock will not enforce a
2973
+ # maximum retention period.
2974
+ #
2975
+ # If this parameter is specified, any backup or copy job to the vault
2976
+ # must have a lifecycle policy with a retention period equal to or
2977
+ # shorter than the maximum retention period. If the job's retention
2978
+ # period is longer than that maximum retention period, then the vault
2979
+ # fails the backup or copy job, and you should either modify your
2980
+ # lifecycle settings or use a different vault. Recovery points already
2981
+ # saved in the vault prior to Vault Lock are not affected.
2982
+ #
2983
+ # @option params [Integer] :changeable_for_days
2984
+ # The Backup Vault Lock configuration that specifies the number of days
2985
+ # before the lock date. For example, setting `ChangeableForDays` to 30
2986
+ # on Jan. 1, 2022 at 8pm UTC will set the lock date to Jan. 31, 2022 at
2987
+ # 8pm UTC.
2988
+ #
2989
+ # Backup enforces a 72-hour cooling-off period before Vault Lock takes
2990
+ # effect and becomes immutable. Therefore, you must set
2991
+ # `ChangeableForDays` to 3 or greater.
2992
+ #
2993
+ # Before the lock date, you can delete Vault Lock from the vault using
2994
+ # `DeleteBackupVaultLockConfiguration` or change the Vault Lock
2995
+ # configuration using `PutBackupVaultLockConfiguration`. On and after
2996
+ # the lock date, the Vault Lock becomes immutable and cannot be changed
2997
+ # or deleted.
2998
+ #
2999
+ # If this parameter is not specified, you can delete Vault Lock from the
3000
+ # vault using `DeleteBackupVaultLockConfiguration` or change the Vault
3001
+ # Lock configuration using `PutBackupVaultLockConfiguration` at any
3002
+ # time.
3003
+ #
3004
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3005
+ #
3006
+ # @example Request syntax with placeholder values
3007
+ #
3008
+ # resp = client.put_backup_vault_lock_configuration({
3009
+ # backup_vault_name: "BackupVaultName", # required
3010
+ # min_retention_days: 1,
3011
+ # max_retention_days: 1,
3012
+ # changeable_for_days: 1,
3013
+ # })
3014
+ #
3015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultLockConfiguration AWS API Documentation
3016
+ #
3017
+ # @overload put_backup_vault_lock_configuration(params = {})
3018
+ # @param [Hash] params ({})
3019
+ def put_backup_vault_lock_configuration(params = {}, options = {})
3020
+ req = build_request(:put_backup_vault_lock_configuration, params)
3021
+ req.send_request(options)
3022
+ end
3023
+
2350
3024
  # Turns on notifications on a backup vault for the specified topic and
2351
3025
  # events.
2352
3026
  #
2353
3027
  # @option params [required, String] :backup_vault_name
2354
3028
  # The name of a logical container where backups are stored. Backup
2355
3029
  # 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.
3030
+ # create them and the Amazon Web Services Region where they are created.
3031
+ # They consist of lowercase letters, numbers, and hyphens.
2358
3032
  #
2359
3033
  # @option params [required, String] :sns_topic_arn
2360
3034
  # The Amazon Resource Name (ARN) that specifies the topic for a backup
@@ -2365,6 +3039,22 @@ module Aws::Backup
2365
3039
  # An array of events that indicate the status of jobs to back up
2366
3040
  # resources to the backup vault.
2367
3041
  #
3042
+ # <note markdown="1"> The following events are supported:
3043
+ #
3044
+ # `BACKUP_JOB_STARTED`, `BACKUP_JOB_COMPLETED`,
3045
+ #
3046
+ # `COPY_JOB_STARTED`, `COPY_JOB_SUCCESSFUL`, `COPY_JOB_FAILED`,
3047
+ #
3048
+ # `RESTORE_JOB_STARTED`, `RESTORE_JOB_COMPLETED`, and
3049
+ # `RECOVERY_POINT_MODIFIED`.
3050
+ #
3051
+ # To find failed backup jobs, use `BACKUP_JOB_COMPLETED` and filter
3052
+ # using event metadata.
3053
+ #
3054
+ # Other events in the following list are deprecated.
3055
+ #
3056
+ # </note>
3057
+ #
2368
3058
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2369
3059
  #
2370
3060
  # @example Request syntax with placeholder values
@@ -2389,8 +3079,8 @@ module Aws::Backup
2389
3079
  # @option params [required, String] :backup_vault_name
2390
3080
  # The name of a logical container where backups are stored. Backup
2391
3081
  # 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.
3082
+ # create them and the Amazon Web Services Region where they are created.
3083
+ # They consist of lowercase letters, numbers, and hyphens.
2394
3084
  #
2395
3085
  # @option params [required, String] :resource_arn
2396
3086
  # An Amazon Resource Name (ARN) that uniquely identifies a resource. The
@@ -2401,8 +3091,10 @@ module Aws::Backup
2401
3091
  # for example, `arn:aws:iam::123456789012:role/S3Access`.
2402
3092
  #
2403
3093
  # @option params [String] :idempotency_token
2404
- # A customer chosen string that can be used to distinguish between calls
2405
- # to `StartBackupJob`.
3094
+ # A customer-chosen string that you can use to distinguish between
3095
+ # otherwise identical calls to `StartBackupJob`. Retrying a successful
3096
+ # request with the same idempotency token results in a success message
3097
+ # with no action taken.
2406
3098
  #
2407
3099
  # @option params [Integer] :start_window_minutes
2408
3100
  # A value in minutes after a backup is scheduled before a job will be
@@ -2418,9 +3110,8 @@ module Aws::Backup
2418
3110
  #
2419
3111
  # @option params [Types::Lifecycle] :lifecycle
2420
3112
  # 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.
3113
+ # cold storage and when it expires. Backup will transition and expire
3114
+ # backups automatically according to the lifecycle that you define.
2424
3115
  #
2425
3116
  # Backups transitioned to cold storage must be stored in cold storage
2426
3117
  # for a minimum of 90 days. Therefore, the “expire after days” setting
@@ -2437,11 +3128,12 @@ module Aws::Backup
2437
3128
  #
2438
3129
  # @option params [Hash<String,String>] :backup_options
2439
3130
  # Specifies the backup option for a selected resource. This option is
2440
- # only available for Windows VSS backup jobs.
3131
+ # only available for Windows Volume Shadow Copy Service (VSS) backup
3132
+ # jobs.
2441
3133
  #
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
3134
+ # Valid values: Set to `"WindowsVSS":"enabled"` to enable the
3135
+ # `WindowsVSS` backup option and create a Windows VSS backup. Set to
3136
+ # `"WindowsVSS""disabled"` to create a regular backup. The `WindowsVSS`
2445
3137
  # option is not enabled by default.
2446
3138
  #
2447
3139
  # @return [Types::StartBackupJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2498,8 +3190,8 @@ module Aws::Backup
2498
3190
  # @option params [required, String] :source_backup_vault_name
2499
3191
  # The name of a logical source container where backups are stored.
2500
3192
  # 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.
3193
+ # used to create them and the Amazon Web Services Region where they are
3194
+ # created. They consist of lowercase letters, numbers, and hyphens.
2503
3195
  #
2504
3196
  # @option params [required, String] :destination_backup_vault_arn
2505
3197
  # An Amazon Resource Name (ARN) that uniquely identifies a destination
@@ -2511,8 +3203,10 @@ module Aws::Backup
2511
3203
  # example, `arn:aws:iam::123456789012:role/S3Access`.
2512
3204
  #
2513
3205
  # @option params [String] :idempotency_token
2514
- # A customer chosen string that can be used to distinguish between calls
2515
- # to `StartCopyJob`.
3206
+ # A customer-chosen string that you can use to distinguish between
3207
+ # otherwise identical calls to `StartCopyJob`. Retrying a successful
3208
+ # request with the same idempotency token results in a success message
3209
+ # with no action taken.
2516
3210
  #
2517
3211
  # @option params [Types::Lifecycle] :lifecycle
2518
3212
  # Contains an array of `Transition` objects specifying how long in days
@@ -2560,6 +3254,44 @@ module Aws::Backup
2560
3254
  req.send_request(options)
2561
3255
  end
2562
3256
 
3257
+ # Starts an on-demand report job for the specified report plan.
3258
+ #
3259
+ # @option params [required, String] :report_plan_name
3260
+ # The unique name of a report plan.
3261
+ #
3262
+ # @option params [String] :idempotency_token
3263
+ # A customer-chosen string that you can use to distinguish between
3264
+ # otherwise identical calls to `StartReportJobInput`. Retrying a
3265
+ # successful request with the same idempotency token results in a
3266
+ # success message with no action taken.
3267
+ #
3268
+ # **A suitable default value is auto-generated.** You should normally
3269
+ # not need to pass this option.**
3270
+ #
3271
+ # @return [Types::StartReportJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3272
+ #
3273
+ # * {Types::StartReportJobOutput#report_job_id #report_job_id} => String
3274
+ #
3275
+ # @example Request syntax with placeholder values
3276
+ #
3277
+ # resp = client.start_report_job({
3278
+ # report_plan_name: "ReportPlanName", # required
3279
+ # idempotency_token: "string",
3280
+ # })
3281
+ #
3282
+ # @example Response structure
3283
+ #
3284
+ # resp.report_job_id #=> String
3285
+ #
3286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartReportJob AWS API Documentation
3287
+ #
3288
+ # @overload start_report_job(params = {})
3289
+ # @param [Hash] params ({})
3290
+ def start_report_job(params = {}, options = {})
3291
+ req = build_request(:start_report_job, params)
3292
+ req.send_request(options)
3293
+ end
3294
+
2563
3295
  # Recovers the saved resource identified by an Amazon Resource Name
2564
3296
  # (ARN).
2565
3297
  #
@@ -2582,17 +3314,16 @@ module Aws::Backup
2582
3314
  # File System (Amazon EFS) instance:
2583
3315
  #
2584
3316
  # * `file-system-id`\: The ID of the Amazon EFS file system that is
2585
- # backed up by AWS Backup. Returned in
2586
- # `GetRecoveryPointRestoreMetadata`.
3317
+ # backed up by Backup. Returned in `GetRecoveryPointRestoreMetadata`.
2587
3318
  #
2588
3319
  # * `Encrypted`\: A Boolean value that, if true, specifies that the file
2589
3320
  # system is encrypted. If `KmsKeyId` is specified, `Encrypted` must be
2590
3321
  # set to `true`.
2591
3322
  #
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.
3323
+ # * `KmsKeyId`\: Specifies the Amazon Web Services KMS key that is used
3324
+ # to encrypt the restored file system. You can specify a key from
3325
+ # another Amazon Web Services account provided that key it is properly
3326
+ # shared with your account via Amazon Web Services KMS.
2596
3327
  #
2597
3328
  # * `PerformanceMode`\: Specifies the throughput mode of the file
2598
3329
  # system.
@@ -2603,20 +3334,21 @@ module Aws::Backup
2603
3334
  # * `newFileSystem`\: A Boolean value that, if true, specifies that the
2604
3335
  # recovery point is restored to a new Amazon EFS file system.
2605
3336
  #
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"]"`.
3337
+ # * `ItemsToRestore`\: An array of one to five strings where each string
3338
+ # is a file path. Use `ItemsToRestore` to restore specific files or
3339
+ # directories rather than the entire file system. This parameter is
3340
+ # optional. For example, `"itemsToRestore":"["/my.test"]"`.
2611
3341
  #
2612
3342
  # @option params [required, String] :iam_role_arn
2613
- # The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to
3343
+ # The Amazon Resource Name (ARN) of the IAM role that Backup uses to
2614
3344
  # create the target recovery point; for example,
2615
3345
  # `arn:aws:iam::123456789012:role/S3Access`.
2616
3346
  #
2617
3347
  # @option params [String] :idempotency_token
2618
- # A customer chosen string that can be used to distinguish between calls
2619
- # to `StartRestoreJob`.
3348
+ # A customer-chosen string that you can use to distinguish between
3349
+ # otherwise identical calls to `StartRestoreJob`. Retrying a successful
3350
+ # request with the same idempotency token results in a success message
3351
+ # with no action taken.
2620
3352
  #
2621
3353
  # @option params [String] :resource_type
2622
3354
  # Starts a job to restore a recovery point for one of the following
@@ -2634,7 +3366,7 @@ module Aws::Backup
2634
3366
  #
2635
3367
  # * `Aurora` for Amazon Aurora
2636
3368
  #
2637
- # * `Storage Gateway` for AWS Storage Gateway
3369
+ # * `Storage Gateway` for Storage Gateway
2638
3370
  #
2639
3371
  # @return [Types::StartRestoreJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2640
3372
  #
@@ -2668,7 +3400,7 @@ module Aws::Backup
2668
3400
  # Attempts to cancel a job to create a one-time backup of a resource.
2669
3401
  #
2670
3402
  # @option params [required, String] :backup_job_id
2671
- # Uniquely identifies a request to AWS Backup to back up a resource.
3403
+ # Uniquely identifies a request to Backup to back up a resource.
2672
3404
  #
2673
3405
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2674
3406
  #
@@ -2829,11 +3561,87 @@ module Aws::Backup
2829
3561
  req.send_request(options)
2830
3562
  end
2831
3563
 
2832
- # Updates the current global settings for the AWS account. Use the
2833
- # `DescribeGlobalSettings` API to determine the current settings.
3564
+ # Updates an existing framework identified by its `FrameworkName` with
3565
+ # the input document in JSON format.
3566
+ #
3567
+ # @option params [required, String] :framework_name
3568
+ # The unique name of a framework. This name is between 1 and 256
3569
+ # characters, starting with a letter, and consisting of letters (a-z,
3570
+ # A-Z), numbers (0-9), and underscores (\_).
3571
+ #
3572
+ # @option params [String] :framework_description
3573
+ # An optional description of the framework with a maximum 1,024
3574
+ # characters.
3575
+ #
3576
+ # @option params [Array<Types::FrameworkControl>] :framework_controls
3577
+ # A list of the controls that make up the framework. Each control in the
3578
+ # list has a name, input parameters, and scope.
3579
+ #
3580
+ # @option params [String] :idempotency_token
3581
+ # A customer-chosen string that you can use to distinguish between
3582
+ # otherwise identical calls to `UpdateFrameworkInput`. Retrying a
3583
+ # successful request with the same idempotency token results in a
3584
+ # success message with no action taken.
3585
+ #
3586
+ # **A suitable default value is auto-generated.** You should normally
3587
+ # not need to pass this option.**
3588
+ #
3589
+ # @return [Types::UpdateFrameworkOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3590
+ #
3591
+ # * {Types::UpdateFrameworkOutput#framework_name #framework_name} => String
3592
+ # * {Types::UpdateFrameworkOutput#framework_arn #framework_arn} => String
3593
+ # * {Types::UpdateFrameworkOutput#creation_time #creation_time} => Time
3594
+ #
3595
+ # @example Request syntax with placeholder values
3596
+ #
3597
+ # resp = client.update_framework({
3598
+ # framework_name: "FrameworkName", # required
3599
+ # framework_description: "FrameworkDescription",
3600
+ # framework_controls: [
3601
+ # {
3602
+ # control_name: "ControlName", # required
3603
+ # control_input_parameters: [
3604
+ # {
3605
+ # parameter_name: "ParameterName",
3606
+ # parameter_value: "ParameterValue",
3607
+ # },
3608
+ # ],
3609
+ # control_scope: {
3610
+ # compliance_resource_ids: ["string"],
3611
+ # compliance_resource_types: ["ARN"],
3612
+ # tags: {
3613
+ # "string" => "string",
3614
+ # },
3615
+ # },
3616
+ # },
3617
+ # ],
3618
+ # idempotency_token: "string",
3619
+ # })
3620
+ #
3621
+ # @example Response structure
3622
+ #
3623
+ # resp.framework_name #=> String
3624
+ # resp.framework_arn #=> String
3625
+ # resp.creation_time #=> Time
3626
+ #
3627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateFramework AWS API Documentation
3628
+ #
3629
+ # @overload update_framework(params = {})
3630
+ # @param [Hash] params ({})
3631
+ def update_framework(params = {}, options = {})
3632
+ req = build_request(:update_framework, params)
3633
+ req.send_request(options)
3634
+ end
3635
+
3636
+ # Updates whether the Amazon Web Services account is opted in to
3637
+ # cross-account backup. Returns an error if the account is not an
3638
+ # Organizations management account. Use the `DescribeGlobalSettings` API
3639
+ # to determine the current settings.
2834
3640
  #
2835
3641
  # @option params [Hash<String,String>] :global_settings
2836
- # A list of resources along with the opt-in preferences for the account.
3642
+ # A value for `isCrossAccountBackupEnabled` and a Region. Example:
3643
+ # `update-global-settings --global-settings
3644
+ # isCrossAccountBackupEnabled=false --region us-west-2`.
2837
3645
  #
2838
3646
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2839
3647
  #
@@ -2857,7 +3665,7 @@ module Aws::Backup
2857
3665
  # Sets the transition lifecycle of a recovery point.
2858
3666
  #
2859
3667
  # The lifecycle defines when a protected resource is transitioned to
2860
- # cold storage and when it expires. AWS Backup transitions and expires
3668
+ # cold storage and when it expires. Backup transitions and expires
2861
3669
  # backups automatically according to the lifecycle that you define.
2862
3670
  #
2863
3671
  # Backups transitioned to cold storage must be stored in cold storage
@@ -2874,8 +3682,8 @@ module Aws::Backup
2874
3682
  # @option params [required, String] :backup_vault_name
2875
3683
  # The name of a logical container where backups are stored. Backup
2876
3684
  # 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.
3685
+ # create them and the Amazon Web Services Region where they are created.
3686
+ # They consist of lowercase letters, numbers, and hyphens.
2879
3687
  #
2880
3688
  # @option params [required, String] :recovery_point_arn
2881
3689
  # An Amazon Resource Name (ARN) that uniquely identifies a recovery
@@ -2884,7 +3692,7 @@ module Aws::Backup
2884
3692
  #
2885
3693
  # @option params [Types::Lifecycle] :lifecycle
2886
3694
  # The lifecycle defines when a protected resource is transitioned to
2887
- # cold storage and when it expires. AWS Backup transitions and expires
3695
+ # cold storage and when it expires. Backup transitions and expires
2888
3696
  # backups automatically according to the lifecycle that you define.
2889
3697
  #
2890
3698
  # Backups transitioned to cold storage must be stored in cold storage
@@ -2930,12 +3738,12 @@ module Aws::Backup
2930
3738
  end
2931
3739
 
2932
3740
  # 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.
3741
+ # service-opt-in is enabled for a service, Backup tries to protect that
3742
+ # service's resources in this Region, when the resource is included in
3743
+ # an on-demand backup or scheduled backup plan. Otherwise, Backup does
3744
+ # not try to protect that service's resources in this Region. Use the
3745
+ # `DescribeRegionSettings` API to determine the resource types that are
3746
+ # supported.
2939
3747
  #
2940
3748
  # @option params [Hash<String,Boolean>] :resource_type_opt_in_preference
2941
3749
  # Updates the list of services along with the opt-in preferences for the
@@ -2960,6 +3768,82 @@ module Aws::Backup
2960
3768
  req.send_request(options)
2961
3769
  end
2962
3770
 
3771
+ # Updates an existing report plan identified by its `ReportPlanName`
3772
+ # with the input document in JSON format.
3773
+ #
3774
+ # @option params [required, String] :report_plan_name
3775
+ # The unique name of the report plan. This name is between 1 and 256
3776
+ # characters, starting with a letter, and consisting of letters (a-z,
3777
+ # A-Z), numbers (0-9), and underscores (\_).
3778
+ #
3779
+ # @option params [String] :report_plan_description
3780
+ # An optional description of the report plan with a maximum 1,024
3781
+ # characters.
3782
+ #
3783
+ # @option params [Types::ReportDeliveryChannel] :report_delivery_channel
3784
+ # A structure that contains information about where to deliver your
3785
+ # reports, specifically your Amazon S3 bucket name, S3 key prefix, and
3786
+ # the formats of your reports.
3787
+ #
3788
+ # @option params [Types::ReportSetting] :report_setting
3789
+ # Identifies the report template for the report. Reports are built using
3790
+ # a report template. The report templates are:
3791
+ #
3792
+ # `RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT |
3793
+ # BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT`
3794
+ #
3795
+ # If the report template is `RESOURCE_COMPLIANCE_REPORT` or
3796
+ # `CONTROL_COMPLIANCE_REPORT`, this API resource also describes the
3797
+ # report coverage by Amazon Web Services Regions and frameworks.
3798
+ #
3799
+ # @option params [String] :idempotency_token
3800
+ # A customer-chosen string that you can use to distinguish between
3801
+ # otherwise identical calls to `UpdateReportPlanInput`. Retrying a
3802
+ # successful request with the same idempotency token results in a
3803
+ # success message with no action taken.
3804
+ #
3805
+ # **A suitable default value is auto-generated.** You should normally
3806
+ # not need to pass this option.**
3807
+ #
3808
+ # @return [Types::UpdateReportPlanOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3809
+ #
3810
+ # * {Types::UpdateReportPlanOutput#report_plan_name #report_plan_name} => String
3811
+ # * {Types::UpdateReportPlanOutput#report_plan_arn #report_plan_arn} => String
3812
+ # * {Types::UpdateReportPlanOutput#creation_time #creation_time} => Time
3813
+ #
3814
+ # @example Request syntax with placeholder values
3815
+ #
3816
+ # resp = client.update_report_plan({
3817
+ # report_plan_name: "ReportPlanName", # required
3818
+ # report_plan_description: "ReportPlanDescription",
3819
+ # report_delivery_channel: {
3820
+ # s3_bucket_name: "string", # required
3821
+ # s3_key_prefix: "string",
3822
+ # formats: ["string"],
3823
+ # },
3824
+ # report_setting: {
3825
+ # report_template: "string", # required
3826
+ # framework_arns: ["string"],
3827
+ # number_of_frameworks: 1,
3828
+ # },
3829
+ # idempotency_token: "string",
3830
+ # })
3831
+ #
3832
+ # @example Response structure
3833
+ #
3834
+ # resp.report_plan_name #=> String
3835
+ # resp.report_plan_arn #=> String
3836
+ # resp.creation_time #=> Time
3837
+ #
3838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateReportPlan AWS API Documentation
3839
+ #
3840
+ # @overload update_report_plan(params = {})
3841
+ # @param [Hash] params ({})
3842
+ def update_report_plan(params = {}, options = {})
3843
+ req = build_request(:update_report_plan, params)
3844
+ req.send_request(options)
3845
+ end
3846
+
2963
3847
  # @!endgroup
2964
3848
 
2965
3849
  # @param params ({})
@@ -2973,7 +3857,7 @@ module Aws::Backup
2973
3857
  params: params,
2974
3858
  config: config)
2975
3859
  context[:gem_name] = 'aws-sdk-backup'
2976
- context[:gem_version] = '1.30.0'
3860
+ context[:gem_version] = '1.34.0'
2977
3861
  Seahorse::Client::Request.new(handlers, context)
2978
3862
  end
2979
3863