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.
@@ -25,8 +25,9 @@ module Aws::Backup
25
25
  # @!attribute [rw] resource_type
26
26
  # Specifies an object containing resource type and backup options. The
27
27
  # only supported resource type is Amazon EC2 instances with Windows
28
- # VSS. For an CloudFormation example, see the [sample CloudFormation
29
- # template to enable Windows VSS][1] in the *AWS Backup User Guide*.
28
+ # Volume Shadow Copy Service (VSS). For a CloudFormation example, see
29
+ # the [sample CloudFormation template to enable Windows VSS][1] in the
30
+ # *Backup User Guide*.
30
31
  #
31
32
  # Valid values: `EC2`.
32
33
  #
@@ -41,11 +42,11 @@ module Aws::Backup
41
42
  #
42
43
  # Valid values:
43
44
  #
44
- # Set to `"WindowsVSS":"enabled"` to enable the WindowsVSS backup
45
- # option and create a VSS Windows backup.
45
+ # Set to `"WindowsVSS":"enabled"` to enable the `WindowsVSS` backup
46
+ # option and create a Windows VSS backup.
46
47
  #
47
48
  # Set to `"WindowsVSS":"disabled"` to create a regular backup. The
48
- # WindowsVSS option is not enabled by default.
49
+ # `WindowsVSS` option is not enabled by default.
49
50
  #
50
51
  # If you specify an invalid option, you get an
51
52
  # `InvalidParameterValueException` exception.
@@ -107,14 +108,14 @@ module Aws::Backup
107
108
  # @return [String]
108
109
  #
109
110
  # @!attribute [rw] backup_job_id
110
- # Uniquely identifies a request to AWS Backup to back up a resource.
111
+ # Uniquely identifies a request to Backup to back up a resource.
111
112
  # @return [String]
112
113
  #
113
114
  # @!attribute [rw] backup_vault_name
114
115
  # The name of a logical container where backups are stored. Backup
115
116
  # vaults are identified by names that are unique to the account used
116
- # to create them and the AWS Region where they are created. They
117
- # consist of lowercase letters, numbers, and hyphens.
117
+ # to create them and the Amazon Web Services Region where they are
118
+ # created. They consist of lowercase letters, numbers, and hyphens.
118
119
  # @return [String]
119
120
  #
120
121
  # @!attribute [rw] backup_vault_arn
@@ -199,10 +200,11 @@ module Aws::Backup
199
200
  # @return [Time]
200
201
  #
201
202
  # @!attribute [rw] resource_type
202
- # The type of AWS resource to be backed up; for example, an Amazon
203
- # Elastic Block Store (Amazon EBS) volume or an Amazon Relational
204
- # Database Service (Amazon RDS) database. For VSS Windows backups, the
205
- # only supported resource type is Amazon EC2.
203
+ # The type of Amazon Web Services resource to be backed up; for
204
+ # example, an Amazon Elastic Block Store (Amazon EBS) volume or an
205
+ # Amazon Relational Database Service (Amazon RDS) database. For
206
+ # Windows Volume Shadow Copy Service (VSS) backups, the only supported
207
+ # resource type is Amazon EC2.
206
208
  # @return [String]
207
209
  #
208
210
  # @!attribute [rw] bytes_transferred
@@ -212,11 +214,12 @@ module Aws::Backup
212
214
  #
213
215
  # @!attribute [rw] backup_options
214
216
  # Specifies the backup option for a selected resource. This option is
215
- # only available for Windows VSS backup jobs.
217
+ # only available for Windows Volume Shadow Copy Service (VSS) backup
218
+ # jobs.
216
219
  #
217
- # Valid values: Set to `"WindowsVSS”:“enabled"` to enable WindowsVSS
218
- # backup option and create a VSS Windows backup. Set to
219
- # WindowsVSS”:”disabled to create a regular backup. If you specify
220
+ # Valid values: Set to `"WindowsVSS":"enabled"` to enable the
221
+ # `WindowsVSS` backup option and create a Windows VSS backup. Set to
222
+ # `"WindowsVSS":"disabled"` to create a regular backup. If you specify
220
223
  # an invalid option, you get an `InvalidParameterValueException`
221
224
  # exception.
222
225
  # @return [Hash<String,String>]
@@ -255,7 +258,7 @@ module Aws::Backup
255
258
  # Contains an optional backup plan display name and an array of
256
259
  # `BackupRule` objects, each of which specifies a backup rule. Each rule
257
260
  # in a backup plan is a separate scheduled task and can back up a
258
- # different selection of AWS resources.
261
+ # different selection of Amazon Web Services resources.
259
262
  #
260
263
  # @!attribute [rw] backup_plan_name
261
264
  # The display name of a backup plan.
@@ -282,8 +285,7 @@ module Aws::Backup
282
285
 
283
286
  # Contains an optional backup plan display name and an array of
284
287
  # `BackupRule` objects, each of which specifies a backup rule. Each rule
285
- # in a backup plan is a separate scheduled task and can back up a
286
- # different selection of AWS resources.
288
+ # in a backup plan is a separate scheduled task.
287
289
  #
288
290
  # @note When making an API call, you may pass BackupPlanInput
289
291
  # data as a hash:
@@ -337,7 +339,8 @@ module Aws::Backup
337
339
  #
338
340
  # @!attribute [rw] advanced_backup_settings
339
341
  # Specifies a list of `BackupOptions` for each resource type. These
340
- # settings are only available for Windows VSS backup jobs.
342
+ # settings are only available for Windows Volume Shadow Copy Service
343
+ # (VSS) backup jobs.
341
344
  # @return [Array<Types::AdvancedBackupSetting>]
342
345
  #
343
346
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/BackupPlanInput AWS API Documentation
@@ -447,13 +450,13 @@ module Aws::Backup
447
450
  # @!attribute [rw] target_backup_vault_name
448
451
  # The name of a logical container where backups are stored. Backup
449
452
  # vaults are identified by names that are unique to the account used
450
- # to create them and the AWS Region where they are created. They
451
- # consist of lowercase letters, numbers, and hyphens.
453
+ # to create them and the Amazon Web Services Region where they are
454
+ # created. They consist of lowercase letters, numbers, and hyphens.
452
455
  # @return [String]
453
456
  #
454
457
  # @!attribute [rw] schedule_expression
455
- # A CRON expression specifying when AWS Backup initiates a backup job.
456
- # For more information about cron expressions, see [Schedule
458
+ # A cron expression in UTC specifying when Backup initiates a backup
459
+ # job. For more information about cron expressions, see [Schedule
457
460
  # Expressions for Rules][1] in the *Amazon CloudWatch Events User
458
461
  # Guide.*. Prior to specifying a value for this parameter, we
459
462
  # recommend testing your cron expression using one of the many
@@ -471,13 +474,13 @@ module Aws::Backup
471
474
  #
472
475
  # @!attribute [rw] completion_window_minutes
473
476
  # A value in minutes after a backup job is successfully started before
474
- # it must be completed or it will be canceled by AWS Backup. This
475
- # value is optional.
477
+ # it must be completed or it will be canceled by Backup. This value is
478
+ # optional.
476
479
  # @return [Integer]
477
480
  #
478
481
  # @!attribute [rw] lifecycle
479
482
  # The lifecycle defines when a protected resource is transitioned to
480
- # cold storage and when it expires. AWS Backup transitions and expires
483
+ # cold storage and when it expires. Backup transitions and expires
481
484
  # backups automatically according to the lifecycle that you define.
482
485
  #
483
486
  # Backups transitioned to cold storage must be stored in cold storage
@@ -506,10 +509,10 @@ module Aws::Backup
506
509
  # @return [Array<Types::CopyAction>]
507
510
  #
508
511
  # @!attribute [rw] enable_continuous_backup
509
- # Specifies whether AWS Backup creates continuous backups. True causes
510
- # AWS Backup to create continuous backups capable of point-in-time
511
- # restore (PITR). False (or not specified) causes AWS Backup to create
512
- # snapshot backups.
512
+ # Specifies whether Backup creates continuous backups. True causes
513
+ # Backup to create continuous backups capable of point-in-time restore
514
+ # (PITR). False (or not specified) causes Backup to create snapshot
515
+ # backups.
513
516
  # @return [Boolean]
514
517
  #
515
518
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/BackupRule AWS API Documentation
@@ -566,12 +569,13 @@ module Aws::Backup
566
569
  # @!attribute [rw] target_backup_vault_name
567
570
  # The name of a logical container where backups are stored. Backup
568
571
  # vaults are identified by names that are unique to the account used
569
- # to create them and the AWS Region where they are created. They
570
- # consist of lowercase letters, numbers, and hyphens.
572
+ # to create them and the Amazon Web Services Region where they are
573
+ # created. They consist of lowercase letters, numbers, and hyphens.
571
574
  # @return [String]
572
575
  #
573
576
  # @!attribute [rw] schedule_expression
574
- # A CRON expression specifying when AWS Backup initiates a backup job.
577
+ # A CRON expression in UTC specifying when Backup initiates a backup
578
+ # job.
575
579
  # @return [String]
576
580
  #
577
581
  # @!attribute [rw] start_window_minutes
@@ -581,15 +585,14 @@ module Aws::Backup
581
585
  #
582
586
  # @!attribute [rw] completion_window_minutes
583
587
  # A value in minutes after a backup job is successfully started before
584
- # it must be completed or it will be canceled by AWS Backup. This
585
- # value is optional.
588
+ # it must be completed or it will be canceled by Backup. This value is
589
+ # optional.
586
590
  # @return [Integer]
587
591
  #
588
592
  # @!attribute [rw] lifecycle
589
593
  # The lifecycle defines when a protected resource is transitioned to
590
- # cold storage and when it expires. AWS Backup will transition and
591
- # expire backups automatically according to the lifecycle that you
592
- # define.
594
+ # cold storage and when it expires. Backup will transition and expire
595
+ # backups automatically according to the lifecycle that you define.
593
596
  #
594
597
  # Backups transitioned to cold storage must be stored in cold storage
595
598
  # for a minimum of 90 days. Therefore, the “expire after days” setting
@@ -612,10 +615,10 @@ module Aws::Backup
612
615
  # @return [Array<Types::CopyAction>]
613
616
  #
614
617
  # @!attribute [rw] enable_continuous_backup
615
- # Specifies whether AWS Backup creates continuous backups. True causes
616
- # AWS Backup to create continuous backups capable of point-in-time
617
- # restore (PITR). False (or not specified) causes AWS Backup to create
618
- # snapshot backups.
618
+ # Specifies whether Backup creates continuous backups. True causes
619
+ # Backup to create continuous backups capable of point-in-time restore
620
+ # (PITR). False (or not specified) causes Backup to create snapshot
621
+ # backups.
619
622
  # @return [Boolean]
620
623
  #
621
624
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/BackupRuleInput AWS API Documentation
@@ -657,7 +660,7 @@ module Aws::Backup
657
660
  # @return [String]
658
661
  #
659
662
  # @!attribute [rw] iam_role_arn
660
- # The ARN of the IAM role that AWS Backup uses to authenticate when
663
+ # The ARN of the IAM role that Backup uses to authenticate when
661
664
  # backing up the target resource; for example,
662
665
  # `arn:aws:iam::123456789012:role/S3Access`.
663
666
  # @return [String]
@@ -737,8 +740,8 @@ module Aws::Backup
737
740
  # @!attribute [rw] backup_vault_name
738
741
  # The name of a logical container where backups are stored. Backup
739
742
  # vaults are identified by names that are unique to the account used
740
- # to create them and the AWS Region where they are created. They
741
- # consist of lowercase letters, numbers, and hyphens.
743
+ # to create them and the Amazon Web Services Region where they are
744
+ # created. They consist of lowercase letters, numbers, and hyphens.
742
745
  # @return [String]
743
746
  #
744
747
  # @!attribute [rw] backup_vault_arn
@@ -770,6 +773,56 @@ module Aws::Backup
770
773
  # The number of recovery points that are stored in a backup vault.
771
774
  # @return [Integer]
772
775
  #
776
+ # @!attribute [rw] locked
777
+ # A Boolean value that indicates whether Backup Vault Lock applies to
778
+ # the selected backup vault. If `true`, Vault Lock prevents delete and
779
+ # update operations on the recovery points in the selected vault.
780
+ # @return [Boolean]
781
+ #
782
+ # @!attribute [rw] min_retention_days
783
+ # The Backup Vault Lock setting that specifies the minimum retention
784
+ # period that the vault retains its recovery points. If this parameter
785
+ # is not specified, Vault Lock does not enforce a minimum retention
786
+ # period.
787
+ #
788
+ # If specified, any backup or copy job to the vault must have a
789
+ # lifecycle policy with a retention period equal to or longer than the
790
+ # minimum retention period. If the job's retention period is shorter
791
+ # than that minimum retention period, then the vault fails the backup
792
+ # or copy job, and you should either modify your lifecycle settings or
793
+ # use a different vault. Recovery points already stored in the vault
794
+ # prior to Vault Lock are not affected.
795
+ # @return [Integer]
796
+ #
797
+ # @!attribute [rw] max_retention_days
798
+ # The Backup Vault Lock setting that specifies the maximum retention
799
+ # period that the vault retains its recovery points. If this parameter
800
+ # is not specified, Vault Lock does not enforce a maximum retention
801
+ # period on the recovery points in the vault (allowing indefinite
802
+ # storage).
803
+ #
804
+ # If specified, any backup or copy job to the vault must have a
805
+ # lifecycle policy with a retention period equal to or shorter than
806
+ # the maximum retention period. If the job's retention period is
807
+ # longer than that maximum retention period, then the vault fails the
808
+ # backup or copy job, and you should either modify your lifecycle
809
+ # settings or use a different vault. Recovery points already stored in
810
+ # the vault prior to Vault Lock are not affected.
811
+ # @return [Integer]
812
+ #
813
+ # @!attribute [rw] lock_date
814
+ # The date and time when Backup Vault Lock configuration becomes
815
+ # immutable, meaning it cannot be changed or deleted.
816
+ #
817
+ # If you applied Vault Lock to your vault without specifying a lock
818
+ # date, you can change your Vault Lock settings, or delete Vault Lock
819
+ # from the vault entirely, at any time.
820
+ #
821
+ # This value is in Unix format, Coordinated Universal Time (UTC), and
822
+ # accurate to milliseconds. For example, the value 1516925490.087
823
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
824
+ # @return [Time]
825
+ #
773
826
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/BackupVaultListMember AWS API Documentation
774
827
  #
775
828
  class BackupVaultListMember < Struct.new(
@@ -778,7 +831,11 @@ module Aws::Backup
778
831
  :creation_date,
779
832
  :encryption_key_arn,
780
833
  :creator_request_id,
781
- :number_of_recovery_points)
834
+ :number_of_recovery_points,
835
+ :locked,
836
+ :min_retention_days,
837
+ :max_retention_days,
838
+ :lock_date)
782
839
  SENSITIVE = []
783
840
  include Aws::Structure
784
841
  end
@@ -787,7 +844,7 @@ module Aws::Backup
787
844
  # used to specify a lifecycle for a recovery point.
788
845
  #
789
846
  # The lifecycle defines when a protected resource is transitioned to
790
- # cold storage and when it expires. AWS Backup transitions and expires
847
+ # cold storage and when it expires. Backup transitions and expires
791
848
  # backups automatically according to the lifecycle that you define.
792
849
  #
793
850
  # Backups transitioned to cold storage must be stored in cold storage
@@ -857,6 +914,110 @@ module Aws::Backup
857
914
  include Aws::Structure
858
915
  end
859
916
 
917
+ # Backup can't perform the action that you requested until it finishes
918
+ # performing a previous action. Try again later.
919
+ #
920
+ # @!attribute [rw] code
921
+ # @return [String]
922
+ #
923
+ # @!attribute [rw] message
924
+ # @return [String]
925
+ #
926
+ # @!attribute [rw] type
927
+ # @return [String]
928
+ #
929
+ # @!attribute [rw] context
930
+ # @return [String]
931
+ #
932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ConflictException AWS API Documentation
933
+ #
934
+ class ConflictException < Struct.new(
935
+ :code,
936
+ :message,
937
+ :type,
938
+ :context)
939
+ SENSITIVE = []
940
+ include Aws::Structure
941
+ end
942
+
943
+ # A list of parameters for a control. A control can have zero, one, or
944
+ # more than one parameter. An example of a control with two parameters
945
+ # is: "backup plan frequency is at least `daily` and the retention
946
+ # period is at least `1 year`". The first parameter is `daily`. The
947
+ # second parameter is `1 year`.
948
+ #
949
+ # @note When making an API call, you may pass ControlInputParameter
950
+ # data as a hash:
951
+ #
952
+ # {
953
+ # parameter_name: "ParameterName",
954
+ # parameter_value: "ParameterValue",
955
+ # }
956
+ #
957
+ # @!attribute [rw] parameter_name
958
+ # The name of a parameter, for example, `BackupPlanFrequency`.
959
+ # @return [String]
960
+ #
961
+ # @!attribute [rw] parameter_value
962
+ # The value of parameter, for example, `hourly`.
963
+ # @return [String]
964
+ #
965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ControlInputParameter AWS API Documentation
966
+ #
967
+ class ControlInputParameter < Struct.new(
968
+ :parameter_name,
969
+ :parameter_value)
970
+ SENSITIVE = []
971
+ include Aws::Structure
972
+ end
973
+
974
+ # A framework consists of one or more controls. Each control has its own
975
+ # control scope. The control scope defines what the control will
976
+ # evaluate. Three examples of control scopes are: a specific backup
977
+ # plan, all backup plans with a specific tag, or all backup plans.
978
+ #
979
+ # <note markdown="1"> To set a control scope that includes all of a particular resource,
980
+ # leave the `ControlScope` empty or do not pass it when calling
981
+ # `CreateFramework`.
982
+ #
983
+ # </note>
984
+ #
985
+ # @note When making an API call, you may pass ControlScope
986
+ # data as a hash:
987
+ #
988
+ # {
989
+ # compliance_resource_ids: ["string"],
990
+ # compliance_resource_types: ["ARN"],
991
+ # tags: {
992
+ # "string" => "string",
993
+ # },
994
+ # }
995
+ #
996
+ # @!attribute [rw] compliance_resource_ids
997
+ # The ID of the only Amazon Web Services resource that you want your
998
+ # control scope to contain.
999
+ # @return [Array<String>]
1000
+ #
1001
+ # @!attribute [rw] compliance_resource_types
1002
+ # Describes whether the control scope includes one or more types of
1003
+ # resources, such as `EFS` or `RDS`.
1004
+ # @return [Array<String>]
1005
+ #
1006
+ # @!attribute [rw] tags
1007
+ # Describes whether the control scope includes resources with one or
1008
+ # more tags. Each tag is a key-value pair.
1009
+ # @return [Hash<String,String>]
1010
+ #
1011
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ControlScope AWS API Documentation
1012
+ #
1013
+ class ControlScope < Struct.new(
1014
+ :compliance_resource_ids,
1015
+ :compliance_resource_types,
1016
+ :tags)
1017
+ SENSITIVE = []
1018
+ include Aws::Structure
1019
+ end
1020
+
860
1021
  # The details of the copy operation.
861
1022
  #
862
1023
  # @note When making an API call, you may pass CopyAction
@@ -936,9 +1097,9 @@ module Aws::Backup
936
1097
  # @return [String]
937
1098
  #
938
1099
  # @!attribute [rw] resource_arn
939
- # The AWS resource to be copied; for example, an Amazon Elastic Block
940
- # Store (Amazon EBS) volume or an Amazon Relational Database Service
941
- # (Amazon RDS) database.
1100
+ # The Amazon Web Services resource to be copied; for example, an
1101
+ # Amazon Elastic Block Store (Amazon EBS) volume or an Amazon
1102
+ # Relational Database Service (Amazon RDS) database.
942
1103
  # @return [String]
943
1104
  #
944
1105
  # @!attribute [rw] creation_date
@@ -974,14 +1135,14 @@ module Aws::Backup
974
1135
  # @return [String]
975
1136
  #
976
1137
  # @!attribute [rw] created_by
977
- # Contains information about the backup plan and rule that AWS Backup
978
- # used to initiate the recovery point backup.
1138
+ # Contains information about the backup plan and rule that Backup used
1139
+ # to initiate the recovery point backup.
979
1140
  # @return [Types::RecoveryPointCreator]
980
1141
  #
981
1142
  # @!attribute [rw] resource_type
982
- # The type of AWS resource to be copied; for example, an Amazon
983
- # Elastic Block Store (Amazon EBS) volume or an Amazon Relational
984
- # Database Service (Amazon RDS) database.
1143
+ # The type of Amazon Web Services resource to be copied; for example,
1144
+ # an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon
1145
+ # Relational Database Service (Amazon RDS) database.
985
1146
  # @return [String]
986
1147
  #
987
1148
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CopyJob AWS API Documentation
@@ -1105,7 +1266,8 @@ module Aws::Backup
1105
1266
  #
1106
1267
  # @!attribute [rw] advanced_backup_settings
1107
1268
  # A list of `BackupOptions` settings for a resource type. This option
1108
- # is only available for Windows VSS backup jobs.
1269
+ # is only available for Windows Volume Shadow Copy Service (VSS)
1270
+ # backup jobs.
1109
1271
  # @return [Array<Types::AdvancedBackupSetting>]
1110
1272
  #
1111
1273
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupPlanOutput AWS API Documentation
@@ -1207,8 +1369,8 @@ module Aws::Backup
1207
1369
  # @!attribute [rw] backup_vault_name
1208
1370
  # The name of a logical container where backups are stored. Backup
1209
1371
  # vaults are identified by names that are unique to the account used
1210
- # to create them and the AWS Region where they are created. They
1211
- # consist of letters, numbers, and hyphens.
1372
+ # to create them and the Amazon Web Services Region where they are
1373
+ # created. They consist of letters, numbers, and hyphens.
1212
1374
  # @return [String]
1213
1375
  #
1214
1376
  # @!attribute [rw] backup_vault_tags
@@ -1269,6 +1431,204 @@ module Aws::Backup
1269
1431
  include Aws::Structure
1270
1432
  end
1271
1433
 
1434
+ # @note When making an API call, you may pass CreateFrameworkInput
1435
+ # data as a hash:
1436
+ #
1437
+ # {
1438
+ # framework_name: "FrameworkName", # required
1439
+ # framework_description: "FrameworkDescription",
1440
+ # framework_controls: [ # required
1441
+ # {
1442
+ # control_name: "ControlName", # required
1443
+ # control_input_parameters: [
1444
+ # {
1445
+ # parameter_name: "ParameterName",
1446
+ # parameter_value: "ParameterValue",
1447
+ # },
1448
+ # ],
1449
+ # control_scope: {
1450
+ # compliance_resource_ids: ["string"],
1451
+ # compliance_resource_types: ["ARN"],
1452
+ # tags: {
1453
+ # "string" => "string",
1454
+ # },
1455
+ # },
1456
+ # },
1457
+ # ],
1458
+ # idempotency_token: "string",
1459
+ # framework_tags: {
1460
+ # "string" => "string",
1461
+ # },
1462
+ # }
1463
+ #
1464
+ # @!attribute [rw] framework_name
1465
+ # The unique name of the framework. The name must be between 1 and 256
1466
+ # characters, starting with a letter, and consisting of letters (a-z,
1467
+ # A-Z), numbers (0-9), and underscores (\_).
1468
+ # @return [String]
1469
+ #
1470
+ # @!attribute [rw] framework_description
1471
+ # An optional description of the framework with a maximum of 1,024
1472
+ # characters.
1473
+ # @return [String]
1474
+ #
1475
+ # @!attribute [rw] framework_controls
1476
+ # A list of the controls that make up the framework. Each control in
1477
+ # the list has a name, input parameters, and scope.
1478
+ # @return [Array<Types::FrameworkControl>]
1479
+ #
1480
+ # @!attribute [rw] idempotency_token
1481
+ # A customer-chosen string that you can use to distinguish between
1482
+ # otherwise identical calls to `CreateFrameworkInput`. Retrying a
1483
+ # successful request with the same idempotency token results in a
1484
+ # success message with no action taken.
1485
+ #
1486
+ # **A suitable default value is auto-generated.** You should normally
1487
+ # not need to pass this option.
1488
+ # @return [String]
1489
+ #
1490
+ # @!attribute [rw] framework_tags
1491
+ # Metadata that you can assign to help organize the frameworks that
1492
+ # you create. Each tag is a key-value pair.
1493
+ # @return [Hash<String,String>]
1494
+ #
1495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateFrameworkInput AWS API Documentation
1496
+ #
1497
+ class CreateFrameworkInput < Struct.new(
1498
+ :framework_name,
1499
+ :framework_description,
1500
+ :framework_controls,
1501
+ :idempotency_token,
1502
+ :framework_tags)
1503
+ SENSITIVE = []
1504
+ include Aws::Structure
1505
+ end
1506
+
1507
+ # @!attribute [rw] framework_name
1508
+ # The unique name of the framework. The name must be between 1 and 256
1509
+ # characters, starting with a letter, and consisting of letters (a-z,
1510
+ # A-Z), numbers (0-9), and underscores (\_).
1511
+ # @return [String]
1512
+ #
1513
+ # @!attribute [rw] framework_arn
1514
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource.
1515
+ # The format of the ARN depends on the resource type.
1516
+ # @return [String]
1517
+ #
1518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateFrameworkOutput AWS API Documentation
1519
+ #
1520
+ class CreateFrameworkOutput < Struct.new(
1521
+ :framework_name,
1522
+ :framework_arn)
1523
+ SENSITIVE = []
1524
+ include Aws::Structure
1525
+ end
1526
+
1527
+ # @note When making an API call, you may pass CreateReportPlanInput
1528
+ # data as a hash:
1529
+ #
1530
+ # {
1531
+ # report_plan_name: "ReportPlanName", # required
1532
+ # report_plan_description: "ReportPlanDescription",
1533
+ # report_delivery_channel: { # required
1534
+ # s3_bucket_name: "string", # required
1535
+ # s3_key_prefix: "string",
1536
+ # formats: ["string"],
1537
+ # },
1538
+ # report_setting: { # required
1539
+ # report_template: "string", # required
1540
+ # framework_arns: ["string"],
1541
+ # number_of_frameworks: 1,
1542
+ # },
1543
+ # report_plan_tags: {
1544
+ # "string" => "string",
1545
+ # },
1546
+ # idempotency_token: "string",
1547
+ # }
1548
+ #
1549
+ # @!attribute [rw] report_plan_name
1550
+ # The unique name of the report plan. The name must be between 1 and
1551
+ # 256 characters, starting with a letter, and consisting of letters
1552
+ # (a-z, A-Z), numbers (0-9), and underscores (\_).
1553
+ # @return [String]
1554
+ #
1555
+ # @!attribute [rw] report_plan_description
1556
+ # An optional description of the report plan with a maximum of 1,024
1557
+ # characters.
1558
+ # @return [String]
1559
+ #
1560
+ # @!attribute [rw] report_delivery_channel
1561
+ # A structure that contains information about where and how to deliver
1562
+ # your reports, specifically your Amazon S3 bucket name, S3 key
1563
+ # prefix, and the formats of your reports.
1564
+ # @return [Types::ReportDeliveryChannel]
1565
+ #
1566
+ # @!attribute [rw] report_setting
1567
+ # Identifies the report template for the report. Reports are built
1568
+ # using a report template. The report templates are:
1569
+ #
1570
+ # `RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT |
1571
+ # BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT`
1572
+ #
1573
+ # If the report template is `RESOURCE_COMPLIANCE_REPORT` or
1574
+ # `CONTROL_COMPLIANCE_REPORT`, this API resource also describes the
1575
+ # report coverage by Amazon Web Services Regions and frameworks.
1576
+ # @return [Types::ReportSetting]
1577
+ #
1578
+ # @!attribute [rw] report_plan_tags
1579
+ # Metadata that you can assign to help organize the report plans that
1580
+ # you create. Each tag is a key-value pair.
1581
+ # @return [Hash<String,String>]
1582
+ #
1583
+ # @!attribute [rw] idempotency_token
1584
+ # A customer-chosen string that you can use to distinguish between
1585
+ # otherwise identical calls to `CreateReportPlanInput`. Retrying a
1586
+ # successful request with the same idempotency token results in a
1587
+ # success message with no action taken.
1588
+ #
1589
+ # **A suitable default value is auto-generated.** You should normally
1590
+ # not need to pass this option.
1591
+ # @return [String]
1592
+ #
1593
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateReportPlanInput AWS API Documentation
1594
+ #
1595
+ class CreateReportPlanInput < Struct.new(
1596
+ :report_plan_name,
1597
+ :report_plan_description,
1598
+ :report_delivery_channel,
1599
+ :report_setting,
1600
+ :report_plan_tags,
1601
+ :idempotency_token)
1602
+ SENSITIVE = []
1603
+ include Aws::Structure
1604
+ end
1605
+
1606
+ # @!attribute [rw] report_plan_name
1607
+ # The unique name of the report plan.
1608
+ # @return [String]
1609
+ #
1610
+ # @!attribute [rw] report_plan_arn
1611
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource.
1612
+ # The format of the ARN depends on the resource type.
1613
+ # @return [String]
1614
+ #
1615
+ # @!attribute [rw] creation_time
1616
+ # The date and time a backup vault is created, in Unix format and
1617
+ # Coordinated Universal Time (UTC). The value of `CreationTime` is
1618
+ # accurate to milliseconds. For example, the value 1516925490.087
1619
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
1620
+ # @return [Time]
1621
+ #
1622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateReportPlanOutput AWS API Documentation
1623
+ #
1624
+ class CreateReportPlanOutput < Struct.new(
1625
+ :report_plan_name,
1626
+ :report_plan_arn,
1627
+ :creation_time)
1628
+ SENSITIVE = []
1629
+ include Aws::Structure
1630
+ end
1631
+
1272
1632
  # @note When making an API call, you may pass DeleteBackupPlanInput
1273
1633
  # data as a hash:
1274
1634
  #
@@ -1357,8 +1717,8 @@ module Aws::Backup
1357
1717
  # @!attribute [rw] backup_vault_name
1358
1718
  # The name of a logical container where backups are stored. Backup
1359
1719
  # vaults are identified by names that are unique to the account used
1360
- # to create them and the AWS Region where they are created. They
1361
- # consist of lowercase letters, numbers, and hyphens.
1720
+ # to create them and the Amazon Web Services Region where they are
1721
+ # created. They consist of lowercase letters, numbers, and hyphens.
1362
1722
  # @return [String]
1363
1723
  #
1364
1724
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultAccessPolicyInput AWS API Documentation
@@ -1379,8 +1739,8 @@ module Aws::Backup
1379
1739
  # @!attribute [rw] backup_vault_name
1380
1740
  # The name of a logical container where backups are stored. Backup
1381
1741
  # vaults are identified by names that are unique to the account used
1382
- # to create them and the AWS Region where they are created. They
1383
- # consist of lowercase letters, numbers, and hyphens.
1742
+ # to create them and the Amazon Web Services Region where they are
1743
+ # created. They consist of lowercase letters, numbers, and hyphens.
1384
1744
  # @return [String]
1385
1745
  #
1386
1746
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultInput AWS API Documentation
@@ -1391,6 +1751,25 @@ module Aws::Backup
1391
1751
  include Aws::Structure
1392
1752
  end
1393
1753
 
1754
+ # @note When making an API call, you may pass DeleteBackupVaultLockConfigurationInput
1755
+ # data as a hash:
1756
+ #
1757
+ # {
1758
+ # backup_vault_name: "BackupVaultName", # required
1759
+ # }
1760
+ #
1761
+ # @!attribute [rw] backup_vault_name
1762
+ # The name of the backup vault from which to delete Backup Vault Lock.
1763
+ # @return [String]
1764
+ #
1765
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultLockConfigurationInput AWS API Documentation
1766
+ #
1767
+ class DeleteBackupVaultLockConfigurationInput < Struct.new(
1768
+ :backup_vault_name)
1769
+ SENSITIVE = []
1770
+ include Aws::Structure
1771
+ end
1772
+
1394
1773
  # @note When making an API call, you may pass DeleteBackupVaultNotificationsInput
1395
1774
  # data as a hash:
1396
1775
  #
@@ -1413,6 +1792,25 @@ module Aws::Backup
1413
1792
  include Aws::Structure
1414
1793
  end
1415
1794
 
1795
+ # @note When making an API call, you may pass DeleteFrameworkInput
1796
+ # data as a hash:
1797
+ #
1798
+ # {
1799
+ # framework_name: "FrameworkName", # required
1800
+ # }
1801
+ #
1802
+ # @!attribute [rw] framework_name
1803
+ # The unique name of a framework.
1804
+ # @return [String]
1805
+ #
1806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteFrameworkInput AWS API Documentation
1807
+ #
1808
+ class DeleteFrameworkInput < Struct.new(
1809
+ :framework_name)
1810
+ SENSITIVE = []
1811
+ include Aws::Structure
1812
+ end
1813
+
1416
1814
  # @note When making an API call, you may pass DeleteRecoveryPointInput
1417
1815
  # data as a hash:
1418
1816
  #
@@ -1424,8 +1822,8 @@ module Aws::Backup
1424
1822
  # @!attribute [rw] backup_vault_name
1425
1823
  # The name of a logical container where backups are stored. Backup
1426
1824
  # vaults are identified by names that are unique to the account used
1427
- # to create them and the AWS Region where they are created. They
1428
- # consist of lowercase letters, numbers, and hyphens.
1825
+ # to create them and the Amazon Web Services Region where they are
1826
+ # created. They consist of lowercase letters, numbers, and hyphens.
1429
1827
  # @return [String]
1430
1828
  #
1431
1829
  # @!attribute [rw] recovery_point_arn
@@ -1443,8 +1841,27 @@ module Aws::Backup
1443
1841
  include Aws::Structure
1444
1842
  end
1445
1843
 
1446
- # A dependent AWS service or resource returned an error to the AWS
1447
- # Backup service, and the action cannot be completed.
1844
+ # @note When making an API call, you may pass DeleteReportPlanInput
1845
+ # data as a hash:
1846
+ #
1847
+ # {
1848
+ # report_plan_name: "ReportPlanName", # required
1849
+ # }
1850
+ #
1851
+ # @!attribute [rw] report_plan_name
1852
+ # The unique name of a report plan.
1853
+ # @return [String]
1854
+ #
1855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteReportPlanInput AWS API Documentation
1856
+ #
1857
+ class DeleteReportPlanInput < Struct.new(
1858
+ :report_plan_name)
1859
+ SENSITIVE = []
1860
+ include Aws::Structure
1861
+ end
1862
+
1863
+ # A dependent Amazon Web Services service or resource returned an error
1864
+ # to the Backup service, and the action cannot be completed.
1448
1865
  #
1449
1866
  # @!attribute [rw] code
1450
1867
  # @return [String]
@@ -1477,7 +1894,7 @@ module Aws::Backup
1477
1894
  # }
1478
1895
  #
1479
1896
  # @!attribute [rw] backup_job_id
1480
- # Uniquely identifies a request to AWS Backup to back up a resource.
1897
+ # Uniquely identifies a request to Backup to back up a resource.
1481
1898
  # @return [String]
1482
1899
  #
1483
1900
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupJobInput AWS API Documentation
@@ -1493,14 +1910,14 @@ module Aws::Backup
1493
1910
  # @return [String]
1494
1911
  #
1495
1912
  # @!attribute [rw] backup_job_id
1496
- # Uniquely identifies a request to AWS Backup to back up a resource.
1913
+ # Uniquely identifies a request to Backup to back up a resource.
1497
1914
  # @return [String]
1498
1915
  #
1499
1916
  # @!attribute [rw] backup_vault_name
1500
1917
  # The name of a logical container where backups are stored. Backup
1501
1918
  # vaults are identified by names that are unique to the account used
1502
- # to create them and the AWS Region where they are created. They
1503
- # consist of lowercase letters, numbers, and hyphens.
1919
+ # to create them and the Amazon Web Services Region where they are
1920
+ # created. They consist of lowercase letters, numbers, and hyphens.
1504
1921
  # @return [String]
1505
1922
  #
1506
1923
  # @!attribute [rw] backup_vault_arn
@@ -1563,9 +1980,9 @@ module Aws::Backup
1563
1980
  # @return [Types::RecoveryPointCreator]
1564
1981
  #
1565
1982
  # @!attribute [rw] resource_type
1566
- # The type of AWS resource to be backed up; for example, an Amazon
1567
- # Elastic Block Store (Amazon EBS) volume or an Amazon Relational
1568
- # Database Service (Amazon RDS) database.
1983
+ # The type of Amazon Web Services resource to be backed up; for
1984
+ # example, an Amazon Elastic Block Store (Amazon EBS) volume or an
1985
+ # Amazon Relational Database Service (Amazon RDS) database.
1569
1986
  # @return [String]
1570
1987
  #
1571
1988
  # @!attribute [rw] bytes_transferred
@@ -1599,9 +2016,9 @@ module Aws::Backup
1599
2016
  #
1600
2017
  # @!attribute [rw] backup_type
1601
2018
  # Represents the actual backup type selected for a backup job. For
1602
- # example, if a successful WindowsVSS backup was taken, `BackupType`
1603
- # returns "WindowsVSS". If `BackupType` is empty, then the backup
1604
- # type that was is a regular backup.
2019
+ # example, if a successful Windows Volume Shadow Copy Service (VSS)
2020
+ # backup was taken, `BackupType` returns `"WindowsVSS"`. If
2021
+ # `BackupType` is empty, then the backup type was a regular backup.
1605
2022
  # @return [String]
1606
2023
  #
1607
2024
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupJobOutput AWS API Documentation
@@ -1641,8 +2058,8 @@ module Aws::Backup
1641
2058
  # @!attribute [rw] backup_vault_name
1642
2059
  # The name of a logical container where backups are stored. Backup
1643
2060
  # vaults are identified by names that are unique to the account used
1644
- # to create them and the AWS Region where they are created. They
1645
- # consist of lowercase letters, numbers, and hyphens.
2061
+ # to create them and the Amazon Web Services Region where they are
2062
+ # created. They consist of lowercase letters, numbers, and hyphens.
1646
2063
  # @return [String]
1647
2064
  #
1648
2065
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupVaultInput AWS API Documentation
@@ -1689,6 +2106,57 @@ module Aws::Backup
1689
2106
  # The number of recovery points that are stored in a backup vault.
1690
2107
  # @return [Integer]
1691
2108
  #
2109
+ # @!attribute [rw] locked
2110
+ # A Boolean that indicates whether Backup Vault Lock is currently
2111
+ # protecting the backup vault. `True` means that Vault Lock causes
2112
+ # delete or update operations on the recovery points stored in the
2113
+ # vault to fail.
2114
+ # @return [Boolean]
2115
+ #
2116
+ # @!attribute [rw] min_retention_days
2117
+ # The Backup Vault Lock setting that specifies the minimum retention
2118
+ # period that the vault retains its recovery points. If this parameter
2119
+ # is not specified, Vault Lock does not enforce a minimum retention
2120
+ # period.
2121
+ #
2122
+ # If specified, any backup or copy job to the vault must have a
2123
+ # lifecycle policy with a retention period equal to or longer than the
2124
+ # minimum retention period. If the job's retention period is shorter
2125
+ # than that minimum retention period, then the vault fails the backup
2126
+ # or copy job, and you should either modify your lifecycle settings or
2127
+ # use a different vault. Recovery points already stored in the vault
2128
+ # prior to Vault Lock are not affected.
2129
+ # @return [Integer]
2130
+ #
2131
+ # @!attribute [rw] max_retention_days
2132
+ # The Backup Vault Lock setting that specifies the maximum retention
2133
+ # period that the vault retains its recovery points. If this parameter
2134
+ # is not specified, Vault Lock does not enforce a maximum retention
2135
+ # period on the recovery points in the vault (allowing indefinite
2136
+ # storage).
2137
+ #
2138
+ # If specified, any backup or copy job to the vault must have a
2139
+ # lifecycle policy with a retention period equal to or shorter than
2140
+ # the maximum retention period. If the job's retention period is
2141
+ # longer than that maximum retention period, then the vault fails the
2142
+ # backup or copy job, and you should either modify your lifecycle
2143
+ # settings or use a different vault. Recovery points already stored in
2144
+ # the vault prior to Vault Lock are not affected.
2145
+ # @return [Integer]
2146
+ #
2147
+ # @!attribute [rw] lock_date
2148
+ # The date and time when Backup Vault Lock configuration cannot be
2149
+ # changed or deleted.
2150
+ #
2151
+ # If you applied Vault Lock to your vault without specifying a lock
2152
+ # date, you can change any of your Vault Lock settings, or delete
2153
+ # Vault Lock from the vault entirely, at any time.
2154
+ #
2155
+ # This value is in Unix format, Coordinated Universal Time (UTC), and
2156
+ # accurate to milliseconds. For example, the value 1516925490.087
2157
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
2158
+ # @return [Time]
2159
+ #
1692
2160
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupVaultOutput AWS API Documentation
1693
2161
  #
1694
2162
  class DescribeBackupVaultOutput < Struct.new(
@@ -1697,7 +2165,11 @@ module Aws::Backup
1697
2165
  :encryption_key_arn,
1698
2166
  :creation_date,
1699
2167
  :creator_request_id,
1700
- :number_of_recovery_points)
2168
+ :number_of_recovery_points,
2169
+ :locked,
2170
+ :min_retention_days,
2171
+ :max_retention_days,
2172
+ :lock_date)
1701
2173
  SENSITIVE = []
1702
2174
  include Aws::Structure
1703
2175
  end
@@ -1733,47 +2205,138 @@ module Aws::Backup
1733
2205
  include Aws::Structure
1734
2206
  end
1735
2207
 
1736
- # @api private
1737
- #
1738
- # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeGlobalSettingsInput AWS API Documentation
2208
+ # @note When making an API call, you may pass DescribeFrameworkInput
2209
+ # data as a hash:
1739
2210
  #
1740
- class DescribeGlobalSettingsInput < Aws::EmptyStructure; end
1741
-
1742
- # @!attribute [rw] global_settings
1743
- # A list of resources along with the opt-in preferences for the
1744
- # account.
1745
- # @return [Hash<String,String>]
2211
+ # {
2212
+ # framework_name: "FrameworkName", # required
2213
+ # }
1746
2214
  #
1747
- # @!attribute [rw] last_update_time
1748
- # The date and time that the global settings were last updated. This
1749
- # update is in Unix format and Coordinated Universal Time (UTC). The
1750
- # value of `LastUpdateTime` is accurate to milliseconds. For example,
1751
- # the value 1516925490.087 represents Friday, January 26, 2018
1752
- # 12:11:30.087 AM.
1753
- # @return [Time]
2215
+ # @!attribute [rw] framework_name
2216
+ # The unique name of a framework.
2217
+ # @return [String]
1754
2218
  #
1755
- # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeGlobalSettingsOutput AWS API Documentation
2219
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeFrameworkInput AWS API Documentation
1756
2220
  #
1757
- class DescribeGlobalSettingsOutput < Struct.new(
1758
- :global_settings,
1759
- :last_update_time)
2221
+ class DescribeFrameworkInput < Struct.new(
2222
+ :framework_name)
1760
2223
  SENSITIVE = []
1761
2224
  include Aws::Structure
1762
2225
  end
1763
2226
 
1764
- # @note When making an API call, you may pass DescribeProtectedResourceInput
1765
- # data as a hash:
1766
- #
1767
- # {
1768
- # resource_arn: "ARN", # required
1769
- # }
2227
+ # @!attribute [rw] framework_name
2228
+ # The unique name of a framework.
2229
+ # @return [String]
1770
2230
  #
1771
- # @!attribute [rw] resource_arn
2231
+ # @!attribute [rw] framework_arn
1772
2232
  # An Amazon Resource Name (ARN) that uniquely identifies a resource.
1773
2233
  # The format of the ARN depends on the resource type.
1774
2234
  # @return [String]
1775
2235
  #
1776
- # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeProtectedResourceInput AWS API Documentation
2236
+ # @!attribute [rw] framework_description
2237
+ # An optional description of the framework.
2238
+ # @return [String]
2239
+ #
2240
+ # @!attribute [rw] framework_controls
2241
+ # A list of the controls that make up the framework. Each control in
2242
+ # the list has a name, input parameters, and scope.
2243
+ # @return [Array<Types::FrameworkControl>]
2244
+ #
2245
+ # @!attribute [rw] creation_time
2246
+ # The date and time that a framework is created, in Unix format and
2247
+ # Coordinated Universal Time (UTC). The value of `CreationTime` is
2248
+ # accurate to milliseconds. For example, the value 1516925490.087
2249
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
2250
+ # @return [Time]
2251
+ #
2252
+ # @!attribute [rw] deployment_status
2253
+ # The deployment status of a framework. The statuses are:
2254
+ #
2255
+ # `CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS |
2256
+ # COMPLETED | FAILED`
2257
+ # @return [String]
2258
+ #
2259
+ # @!attribute [rw] framework_status
2260
+ # A framework consists of one or more controls. Each control governs a
2261
+ # resource, such as backup plans, backup selections, backup vaults, or
2262
+ # recovery points. You can also turn Config recording on or off for
2263
+ # each resource. The statuses are:
2264
+ #
2265
+ # * `ACTIVE` when recording is turned on for all resources governed by
2266
+ # the framework.
2267
+ #
2268
+ # * `PARTIALLY_ACTIVE` when recording is turned off for at least one
2269
+ # resource governed by the framework.
2270
+ #
2271
+ # * `INACTIVE` when recording is turned off for all resources governed
2272
+ # by the framework.
2273
+ #
2274
+ # * `UNAVAILABLE` when Backup is unable to validate recording status
2275
+ # at this time.
2276
+ # @return [String]
2277
+ #
2278
+ # @!attribute [rw] idempotency_token
2279
+ # A customer-chosen string that you can use to distinguish between
2280
+ # otherwise identical calls to `DescribeFrameworkOutput`. Retrying a
2281
+ # successful request with the same idempotency token results in a
2282
+ # success message with no action taken.
2283
+ # @return [String]
2284
+ #
2285
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeFrameworkOutput AWS API Documentation
2286
+ #
2287
+ class DescribeFrameworkOutput < Struct.new(
2288
+ :framework_name,
2289
+ :framework_arn,
2290
+ :framework_description,
2291
+ :framework_controls,
2292
+ :creation_time,
2293
+ :deployment_status,
2294
+ :framework_status,
2295
+ :idempotency_token)
2296
+ SENSITIVE = []
2297
+ include Aws::Structure
2298
+ end
2299
+
2300
+ # @api private
2301
+ #
2302
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeGlobalSettingsInput AWS API Documentation
2303
+ #
2304
+ class DescribeGlobalSettingsInput < Aws::EmptyStructure; end
2305
+
2306
+ # @!attribute [rw] global_settings
2307
+ # The status of the flag `isCrossAccountBackupEnabled`.
2308
+ # @return [Hash<String,String>]
2309
+ #
2310
+ # @!attribute [rw] last_update_time
2311
+ # The date and time that the flag `isCrossAccountBackupEnabled` was
2312
+ # last updated. This update is in Unix format and Coordinated
2313
+ # Universal Time (UTC). The value of `LastUpdateTime` is accurate to
2314
+ # milliseconds. For example, the value 1516925490.087 represents
2315
+ # Friday, January 26, 2018 12:11:30.087 AM.
2316
+ # @return [Time]
2317
+ #
2318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeGlobalSettingsOutput AWS API Documentation
2319
+ #
2320
+ class DescribeGlobalSettingsOutput < Struct.new(
2321
+ :global_settings,
2322
+ :last_update_time)
2323
+ SENSITIVE = []
2324
+ include Aws::Structure
2325
+ end
2326
+
2327
+ # @note When making an API call, you may pass DescribeProtectedResourceInput
2328
+ # data as a hash:
2329
+ #
2330
+ # {
2331
+ # resource_arn: "ARN", # required
2332
+ # }
2333
+ #
2334
+ # @!attribute [rw] resource_arn
2335
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource.
2336
+ # The format of the ARN depends on the resource type.
2337
+ # @return [String]
2338
+ #
2339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeProtectedResourceInput AWS API Documentation
1777
2340
  #
1778
2341
  class DescribeProtectedResourceInput < Struct.new(
1779
2342
  :resource_arn)
@@ -1787,8 +2350,8 @@ module Aws::Backup
1787
2350
  # @return [String]
1788
2351
  #
1789
2352
  # @!attribute [rw] resource_type
1790
- # The type of AWS resource saved as a recovery point; for example, an
1791
- # EBS volume or an Amazon RDS database.
2353
+ # The type of Amazon Web Services resource saved as a recovery point;
2354
+ # for example, an Amazon EBS volume or an Amazon RDS database.
1792
2355
  # @return [String]
1793
2356
  #
1794
2357
  # @!attribute [rw] last_backup_time
@@ -1819,8 +2382,8 @@ module Aws::Backup
1819
2382
  # @!attribute [rw] backup_vault_name
1820
2383
  # The name of a logical container where backups are stored. Backup
1821
2384
  # vaults are identified by names that are unique to the account used
1822
- # to create them and the AWS Region where they are created. They
1823
- # consist of lowercase letters, numbers, and hyphens.
2385
+ # to create them and the Amazon Web Services Region where they are
2386
+ # created. They consist of lowercase letters, numbers, and hyphens.
1824
2387
  # @return [String]
1825
2388
  #
1826
2389
  # @!attribute [rw] recovery_point_arn
@@ -1859,8 +2422,8 @@ module Aws::Backup
1859
2422
  # An Amazon Resource Name (ARN) that uniquely identifies the source
1860
2423
  # vault where the resource was originally backed up in; for example,
1861
2424
  # `arn:aws:backup:us-east-1:123456789012:vault:BackupVault`. If the
1862
- # recovery is restored to the same AWS account or Region, this value
1863
- # will be `null`.
2425
+ # recovery is restored to the same Amazon Web Services account or
2426
+ # Region, this value will be `null`.
1864
2427
  # @return [String]
1865
2428
  #
1866
2429
  # @!attribute [rw] resource_arn
@@ -1869,9 +2432,10 @@ module Aws::Backup
1869
2432
  # @return [String]
1870
2433
  #
1871
2434
  # @!attribute [rw] resource_type
1872
- # The type of AWS resource to save as a recovery point; for example,
1873
- # an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon
1874
- # Relational Database Service (Amazon RDS) database.
2435
+ # The type of Amazon Web Services resource to save as a recovery
2436
+ # point; for example, an Amazon Elastic Block Store (Amazon EBS)
2437
+ # volume or an Amazon Relational Database Service (Amazon RDS)
2438
+ # database.
1875
2439
  # @return [String]
1876
2440
  #
1877
2441
  # @!attribute [rw] created_by
@@ -1889,10 +2453,27 @@ module Aws::Backup
1889
2453
  # @!attribute [rw] status
1890
2454
  # A status code specifying the state of the recovery point.
1891
2455
  #
1892
- # <note markdown="1"> A partial status indicates that the recovery point was not
1893
- # successfully re-created and must be retried.
2456
+ # `PARTIAL` status indicates Backup could not create the recovery
2457
+ # point before the backup window closed. To increase your backup plan
2458
+ # window using the API, see [UpdateBackupPlan][1]. You can also
2459
+ # increase your backup plan window using the Console by choosing and
2460
+ # editing your backup plan.
1894
2461
  #
1895
- # </note>
2462
+ # `EXPIRED` status indicates that the recovery point has exceeded its
2463
+ # retention period, but Backup lacks permission or is otherwise unable
2464
+ # to delete it. To manually delete these recovery points, see [ Step
2465
+ # 3: Delete the recovery points][2] in the *Clean up resources*
2466
+ # section of *Getting started*.
2467
+ #
2468
+ #
2469
+ #
2470
+ # [1]: https://docs.aws.amazon.com/aws-backup/latest/devguide/API_UpdateBackupPlan.html
2471
+ # [2]: https://docs.aws.amazon.com/aws-backup/latest/devguide/gs-cleanup-resources.html#cleanup-backups
2472
+ # @return [String]
2473
+ #
2474
+ # @!attribute [rw] status_message
2475
+ # A status message explaining the reason for the recovery point
2476
+ # deletion failure.
1896
2477
  # @return [String]
1897
2478
  #
1898
2479
  # @!attribute [rw] creation_date
@@ -1921,7 +2502,7 @@ module Aws::Backup
1921
2502
  #
1922
2503
  # @!attribute [rw] lifecycle
1923
2504
  # The lifecycle defines when a protected resource is transitioned to
1924
- # cold storage and when it expires. AWS Backup transitions and expires
2505
+ # cold storage and when it expires. Backup transitions and expires
1925
2506
  # backups automatically according to the lifecycle that you define.
1926
2507
  #
1927
2508
  # Backups that are transitioned to cold storage must be stored in cold
@@ -1971,6 +2552,7 @@ module Aws::Backup
1971
2552
  :created_by,
1972
2553
  :iam_role_arn,
1973
2554
  :status,
2555
+ :status_message,
1974
2556
  :creation_date,
1975
2557
  :completion_date,
1976
2558
  :backup_size_in_bytes,
@@ -2003,6 +2585,75 @@ module Aws::Backup
2003
2585
  include Aws::Structure
2004
2586
  end
2005
2587
 
2588
+ # @note When making an API call, you may pass DescribeReportJobInput
2589
+ # data as a hash:
2590
+ #
2591
+ # {
2592
+ # report_job_id: "ReportJobId", # required
2593
+ # }
2594
+ #
2595
+ # @!attribute [rw] report_job_id
2596
+ # The identifier of the report job. A unique, randomly generated,
2597
+ # Unicode, UTF-8 encoded string that is at most 1,024 bytes long. The
2598
+ # report job ID cannot be edited.
2599
+ # @return [String]
2600
+ #
2601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeReportJobInput AWS API Documentation
2602
+ #
2603
+ class DescribeReportJobInput < Struct.new(
2604
+ :report_job_id)
2605
+ SENSITIVE = []
2606
+ include Aws::Structure
2607
+ end
2608
+
2609
+ # @!attribute [rw] report_job
2610
+ # A list of information about a report job, including its completion
2611
+ # and creation times, report destination, unique report job ID, Amazon
2612
+ # Resource Name (ARN), report template, status, and status message.
2613
+ # @return [Types::ReportJob]
2614
+ #
2615
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeReportJobOutput AWS API Documentation
2616
+ #
2617
+ class DescribeReportJobOutput < Struct.new(
2618
+ :report_job)
2619
+ SENSITIVE = []
2620
+ include Aws::Structure
2621
+ end
2622
+
2623
+ # @note When making an API call, you may pass DescribeReportPlanInput
2624
+ # data as a hash:
2625
+ #
2626
+ # {
2627
+ # report_plan_name: "ReportPlanName", # required
2628
+ # }
2629
+ #
2630
+ # @!attribute [rw] report_plan_name
2631
+ # The unique name of a report plan.
2632
+ # @return [String]
2633
+ #
2634
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeReportPlanInput AWS API Documentation
2635
+ #
2636
+ class DescribeReportPlanInput < Struct.new(
2637
+ :report_plan_name)
2638
+ SENSITIVE = []
2639
+ include Aws::Structure
2640
+ end
2641
+
2642
+ # @!attribute [rw] report_plan
2643
+ # Returns details about the report plan that is specified by its name.
2644
+ # These details include the report plan's Amazon Resource Name (ARN),
2645
+ # description, settings, delivery channel, deployment status, creation
2646
+ # time, and last attempted and successful run times.
2647
+ # @return [Types::ReportPlan]
2648
+ #
2649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeReportPlanOutput AWS API Documentation
2650
+ #
2651
+ class DescribeReportPlanOutput < Struct.new(
2652
+ :report_plan)
2653
+ SENSITIVE = []
2654
+ include Aws::Structure
2655
+ end
2656
+
2006
2657
  # @note When making an API call, you may pass DescribeRestoreJobInput
2007
2658
  # data as a hash:
2008
2659
  #
@@ -2051,7 +2702,7 @@ module Aws::Backup
2051
2702
  # @return [Time]
2052
2703
  #
2053
2704
  # @!attribute [rw] status
2054
- # Status code specifying the state of the job that is initiated by AWS
2705
+ # Status code specifying the state of the job that is initiated by
2055
2706
  # Backup to restore a recovery point.
2056
2707
  # @return [String]
2057
2708
  #
@@ -2118,12 +2769,12 @@ module Aws::Backup
2118
2769
  # }
2119
2770
  #
2120
2771
  # @!attribute [rw] backup_vault_name
2121
- # The unique name of an AWS Backup vault. Required.
2772
+ # The unique name of an Backup vault.
2122
2773
  # @return [String]
2123
2774
  #
2124
2775
  # @!attribute [rw] recovery_point_arn
2125
- # An Amazon Resource Name (ARN) that uniquely identifies an AWS Backup
2126
- # recovery point. Required.
2776
+ # An Amazon Resource Name (ARN) that uniquely identifies an Backup
2777
+ # recovery point.
2127
2778
  # @return [String]
2128
2779
  #
2129
2780
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DisassociateRecoveryPointInput AWS API Documentation
@@ -2171,6 +2822,105 @@ module Aws::Backup
2171
2822
  include Aws::Structure
2172
2823
  end
2173
2824
 
2825
+ # Contains detailed information about a framework. Frameworks contain
2826
+ # controls, which evaluate and report on your backup events and
2827
+ # resources. Frameworks generate daily compliance results.
2828
+ #
2829
+ # @!attribute [rw] framework_name
2830
+ # The unique name of a framework. This name is between 1 and 256
2831
+ # characters, starting with a letter, and consisting of letters (a-z,
2832
+ # A-Z), numbers (0-9), and underscores (\_).
2833
+ # @return [String]
2834
+ #
2835
+ # @!attribute [rw] framework_arn
2836
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource.
2837
+ # The format of the ARN depends on the resource type.
2838
+ # @return [String]
2839
+ #
2840
+ # @!attribute [rw] framework_description
2841
+ # An optional description of the framework with a maximum 1,024
2842
+ # characters.
2843
+ # @return [String]
2844
+ #
2845
+ # @!attribute [rw] number_of_controls
2846
+ # The number of controls contained by the framework.
2847
+ # @return [Integer]
2848
+ #
2849
+ # @!attribute [rw] creation_time
2850
+ # The date and time that a framework is created, in Unix format and
2851
+ # Coordinated Universal Time (UTC). The value of `CreationTime` is
2852
+ # accurate to milliseconds. For example, the value 1516925490.087
2853
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
2854
+ # @return [Time]
2855
+ #
2856
+ # @!attribute [rw] deployment_status
2857
+ # The deployment status of a framework. The statuses are:
2858
+ #
2859
+ # `CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS |
2860
+ # COMPLETED | FAILED`
2861
+ # @return [String]
2862
+ #
2863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/Framework AWS API Documentation
2864
+ #
2865
+ class Framework < Struct.new(
2866
+ :framework_name,
2867
+ :framework_arn,
2868
+ :framework_description,
2869
+ :number_of_controls,
2870
+ :creation_time,
2871
+ :deployment_status)
2872
+ SENSITIVE = []
2873
+ include Aws::Structure
2874
+ end
2875
+
2876
+ # Contains detailed information about all of the controls of a
2877
+ # framework. Each framework must contain at least one control.
2878
+ #
2879
+ # @note When making an API call, you may pass FrameworkControl
2880
+ # data as a hash:
2881
+ #
2882
+ # {
2883
+ # control_name: "ControlName", # required
2884
+ # control_input_parameters: [
2885
+ # {
2886
+ # parameter_name: "ParameterName",
2887
+ # parameter_value: "ParameterValue",
2888
+ # },
2889
+ # ],
2890
+ # control_scope: {
2891
+ # compliance_resource_ids: ["string"],
2892
+ # compliance_resource_types: ["ARN"],
2893
+ # tags: {
2894
+ # "string" => "string",
2895
+ # },
2896
+ # },
2897
+ # }
2898
+ #
2899
+ # @!attribute [rw] control_name
2900
+ # The name of a control. This name is between 1 and 256 characters.
2901
+ # @return [String]
2902
+ #
2903
+ # @!attribute [rw] control_input_parameters
2904
+ # A list of `ParameterName` and `ParameterValue` pairs.
2905
+ # @return [Array<Types::ControlInputParameter>]
2906
+ #
2907
+ # @!attribute [rw] control_scope
2908
+ # The scope of a control. The control scope defines what the control
2909
+ # will evaluate. Three examples of control scopes are: a specific
2910
+ # backup plan, all backup plans with a specific tag, or all backup
2911
+ # plans. For more information, see `ControlScope`.
2912
+ # @return [Types::ControlScope]
2913
+ #
2914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/FrameworkControl AWS API Documentation
2915
+ #
2916
+ class FrameworkControl < Struct.new(
2917
+ :control_name,
2918
+ :control_input_parameters,
2919
+ :control_scope)
2920
+ SENSITIVE = []
2921
+ include Aws::Structure
2922
+ end
2923
+
2174
2924
  # @note When making an API call, you may pass GetBackupPlanFromJSONInput
2175
2925
  # data as a hash:
2176
2926
  #
@@ -2405,8 +3155,8 @@ module Aws::Backup
2405
3155
  # @!attribute [rw] backup_vault_name
2406
3156
  # The name of a logical container where backups are stored. Backup
2407
3157
  # vaults are identified by names that are unique to the account used
2408
- # to create them and the AWS Region where they are created. They
2409
- # consist of lowercase letters, numbers, and hyphens.
3158
+ # to create them and the Amazon Web Services Region where they are
3159
+ # created. They consist of lowercase letters, numbers, and hyphens.
2410
3160
  # @return [String]
2411
3161
  #
2412
3162
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultAccessPolicyInput AWS API Documentation
@@ -2454,8 +3204,8 @@ module Aws::Backup
2454
3204
  # @!attribute [rw] backup_vault_name
2455
3205
  # The name of a logical container where backups are stored. Backup
2456
3206
  # vaults are identified by names that are unique to the account used
2457
- # to create them and the AWS Region where they are created. They
2458
- # consist of lowercase letters, numbers, and hyphens.
3207
+ # to create them and the Amazon Web Services Region where they are
3208
+ # created. They consist of lowercase letters, numbers, and hyphens.
2459
3209
  # @return [String]
2460
3210
  #
2461
3211
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultNotificationsInput AWS API Documentation
@@ -2512,8 +3262,8 @@ module Aws::Backup
2512
3262
  # @!attribute [rw] backup_vault_name
2513
3263
  # The name of a logical container where backups are stored. Backup
2514
3264
  # vaults are identified by names that are unique to the account used
2515
- # to create them and the AWS Region where they are created. They
2516
- # consist of lowercase letters, numbers, and hyphens.
3265
+ # to create them and the Amazon Web Services Region where they are
3266
+ # created. They consist of lowercase letters, numbers, and hyphens.
2517
3267
  # @return [String]
2518
3268
  #
2519
3269
  # @!attribute [rw] recovery_point_arn
@@ -2558,7 +3308,10 @@ module Aws::Backup
2558
3308
  end
2559
3309
 
2560
3310
  # @!attribute [rw] resource_types
2561
- # Contains a string with the supported AWS resource types:
3311
+ # Contains a string with the supported Amazon Web Services resource
3312
+ # types:
3313
+ #
3314
+ # * `Aurora` for Amazon Aurora
2562
3315
  #
2563
3316
  # * `DynamoDB` for Amazon DynamoDB
2564
3317
  #
@@ -2568,11 +3321,11 @@ module Aws::Backup
2568
3321
  #
2569
3322
  # * `EFS` for Amazon Elastic File System
2570
3323
  #
2571
- # * `RDS` for Amazon Relational Database Service
3324
+ # * `FSX` for Amazon FSx
2572
3325
  #
2573
- # * `Aurora` for Amazon Aurora
3326
+ # * `RDS` for Amazon Relational Database Service
2574
3327
  #
2575
- # * `Storage Gateway` for AWS Storage Gateway
3328
+ # * `Storage Gateway` for Storage Gateway
2576
3329
  # @return [Array<String>]
2577
3330
  #
2578
3331
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetSupportedResourceTypesOutput AWS API Documentation
@@ -2635,7 +3388,7 @@ module Aws::Backup
2635
3388
  include Aws::Structure
2636
3389
  end
2637
3390
 
2638
- # AWS Backup is already performing an action on this recovery point. It
3391
+ # Backup is already performing an action on this recovery point. It
2639
3392
  # can't perform the action you requested until the first action
2640
3393
  # finishes. Try again later.
2641
3394
  #
@@ -2766,8 +3519,9 @@ module Aws::Backup
2766
3519
  # @!attribute [rw] by_backup_vault_name
2767
3520
  # Returns only backup jobs that will be stored in the specified backup
2768
3521
  # vault. Backup vaults are identified by names that are unique to the
2769
- # account used to create them and the AWS Region where they are
2770
- # created. They consist of lowercase letters, numbers, and hyphens.
3522
+ # account used to create them and the Amazon Web Services Region where
3523
+ # they are created. They consist of lowercase letters, numbers, and
3524
+ # hyphens.
2771
3525
  # @return [String]
2772
3526
  #
2773
3527
  # @!attribute [rw] by_created_before
@@ -2794,14 +3548,14 @@ module Aws::Backup
2794
3548
  #
2795
3549
  # * `Aurora` for Amazon Aurora
2796
3550
  #
2797
- # * `Storage Gateway` for AWS Storage Gateway
3551
+ # * `Storage Gateway` for Storage Gateway
2798
3552
  # @return [String]
2799
3553
  #
2800
3554
  # @!attribute [rw] by_account_id
2801
3555
  # The account ID to list the jobs from. Returns only backup jobs
2802
3556
  # associated with the specified account ID.
2803
3557
  #
2804
- # If used from an AWS Organizations management account, passing `*`
3558
+ # If used from an Organizations management account, passing `*`
2805
3559
  # returns all jobs across the organization.
2806
3560
  # @return [String]
2807
3561
  #
@@ -3166,7 +3920,7 @@ module Aws::Backup
3166
3920
  #
3167
3921
  # * `Aurora` for Amazon Aurora
3168
3922
  #
3169
- # * `Storage Gateway` for AWS Storage Gateway
3923
+ # * `Storage Gateway` for Storage Gateway
3170
3924
  # @return [String]
3171
3925
  #
3172
3926
  # @!attribute [rw] by_destination_vault_arn
@@ -3217,6 +3971,55 @@ module Aws::Backup
3217
3971
  include Aws::Structure
3218
3972
  end
3219
3973
 
3974
+ # @note When making an API call, you may pass ListFrameworksInput
3975
+ # data as a hash:
3976
+ #
3977
+ # {
3978
+ # max_results: 1,
3979
+ # next_token: "string",
3980
+ # }
3981
+ #
3982
+ # @!attribute [rw] max_results
3983
+ # The number of desired results from 1 to 1000. Optional. If
3984
+ # unspecified, the query will return 1 MB of data.
3985
+ # @return [Integer]
3986
+ #
3987
+ # @!attribute [rw] next_token
3988
+ # An identifier that was returned from the previous call to this
3989
+ # operation, which can be used to return the next set of items in the
3990
+ # list.
3991
+ # @return [String]
3992
+ #
3993
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListFrameworksInput AWS API Documentation
3994
+ #
3995
+ class ListFrameworksInput < Struct.new(
3996
+ :max_results,
3997
+ :next_token)
3998
+ SENSITIVE = []
3999
+ include Aws::Structure
4000
+ end
4001
+
4002
+ # @!attribute [rw] frameworks
4003
+ # A list of frameworks with details for each framework, including the
4004
+ # framework name, Amazon Resource Name (ARN), description, number of
4005
+ # controls, creation time, and deployment status.
4006
+ # @return [Array<Types::Framework>]
4007
+ #
4008
+ # @!attribute [rw] next_token
4009
+ # An identifier that was returned from the previous call to this
4010
+ # operation, which can be used to return the next set of items in the
4011
+ # list.
4012
+ # @return [String]
4013
+ #
4014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListFrameworksOutput AWS API Documentation
4015
+ #
4016
+ class ListFrameworksOutput < Struct.new(
4017
+ :frameworks,
4018
+ :next_token)
4019
+ SENSITIVE = []
4020
+ include Aws::Structure
4021
+ end
4022
+
3220
4023
  # @note When making an API call, you may pass ListProtectedResourcesInput
3221
4024
  # data as a hash:
3222
4025
  #
@@ -3246,9 +4049,9 @@ module Aws::Backup
3246
4049
  end
3247
4050
 
3248
4051
  # @!attribute [rw] results
3249
- # An array of resources successfully backed up by AWS Backup including
3250
- # the time the resource was saved, an Amazon Resource Name (ARN) of
3251
- # the resource, and a resource type.
4052
+ # An array of resources successfully backed up by Backup including the
4053
+ # time the resource was saved, an Amazon Resource Name (ARN) of the
4054
+ # resource, and a resource type.
3252
4055
  # @return [Array<Types::ProtectedResource>]
3253
4056
  #
3254
4057
  # @!attribute [rw] next_token
@@ -3284,8 +4087,13 @@ module Aws::Backup
3284
4087
  # @!attribute [rw] backup_vault_name
3285
4088
  # The name of a logical container where backups are stored. Backup
3286
4089
  # vaults are identified by names that are unique to the account used
3287
- # to create them and the AWS Region where they are created. They
3288
- # consist of lowercase letters, numbers, and hyphens.
4090
+ # to create them and the Amazon Web Services Region where they are
4091
+ # created. They consist of lowercase letters, numbers, and hyphens.
4092
+ #
4093
+ # <note markdown="1"> Backup vault name might not be available when a supported service
4094
+ # creates the backup.
4095
+ #
4096
+ # </note>
3289
4097
  # @return [String]
3290
4098
  #
3291
4099
  # @!attribute [rw] next_token
@@ -3382,6 +4190,10 @@ module Aws::Backup
3382
4190
  #
3383
4191
  # @!attribute [rw] max_results
3384
4192
  # The maximum number of items to be returned.
4193
+ #
4194
+ # <note markdown="1"> Amazon RDS requires a value of at least 20.
4195
+ #
4196
+ # </note>
3385
4197
  # @return [Integer]
3386
4198
  #
3387
4199
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByResourceInput AWS API Documentation
@@ -3404,6 +4216,11 @@ module Aws::Backup
3404
4216
  # @!attribute [rw] recovery_points
3405
4217
  # An array of objects that contain detailed information about recovery
3406
4218
  # points of the specified resource type.
4219
+ #
4220
+ # <note markdown="1"> Only Amazon EFS and Amazon EC2 recovery points return
4221
+ # BackupVaultName.
4222
+ #
4223
+ # </note>
3407
4224
  # @return [Array<Types::RecoveryPointByResource>]
3408
4225
  #
3409
4226
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByResourceOutput AWS API Documentation
@@ -3415,94 +4232,225 @@ module Aws::Backup
3415
4232
  include Aws::Structure
3416
4233
  end
3417
4234
 
3418
- # @note When making an API call, you may pass ListRestoreJobsInput
4235
+ # @note When making an API call, you may pass ListReportJobsInput
3419
4236
  # data as a hash:
3420
4237
  #
3421
4238
  # {
3422
- # next_token: "string",
4239
+ # by_report_plan_name: "ReportPlanName",
4240
+ # by_creation_before: Time.now,
4241
+ # by_creation_after: Time.now,
4242
+ # by_status: "string",
3423
4243
  # max_results: 1,
3424
- # by_account_id: "AccountId",
3425
- # by_created_before: Time.now,
3426
- # by_created_after: Time.now,
3427
- # by_status: "PENDING", # accepts PENDING, RUNNING, COMPLETED, ABORTED, FAILED
4244
+ # next_token: "string",
3428
4245
  # }
3429
4246
  #
3430
- # @!attribute [rw] next_token
3431
- # The next item following a partial list of returned items. For
3432
- # example, if a request is made to return `maxResults` number of
3433
- # items, `NextToken` allows you to return more items in your list
3434
- # starting at the location pointed to by the next token.
3435
- # @return [String]
3436
- #
3437
- # @!attribute [rw] max_results
3438
- # The maximum number of items to be returned.
3439
- # @return [Integer]
3440
- #
3441
- # @!attribute [rw] by_account_id
3442
- # The account ID to list the jobs from. Returns only restore jobs
3443
- # associated with the specified account ID.
4247
+ # @!attribute [rw] by_report_plan_name
4248
+ # Returns only report jobs with the specified report plan name.
3444
4249
  # @return [String]
3445
4250
  #
3446
- # @!attribute [rw] by_created_before
3447
- # Returns only restore jobs that were created before the specified
3448
- # date.
4251
+ # @!attribute [rw] by_creation_before
4252
+ # Returns only report jobs that were created before the date and time
4253
+ # specified in Unix format and Coordinated Universal Time (UTC). For
4254
+ # example, the value 1516925490 represents Friday, January 26, 2018
4255
+ # 12:11:30 AM.
3449
4256
  # @return [Time]
3450
4257
  #
3451
- # @!attribute [rw] by_created_after
3452
- # Returns only restore jobs that were created after the specified
3453
- # date.
4258
+ # @!attribute [rw] by_creation_after
4259
+ # Returns only report jobs that were created after the date and time
4260
+ # specified in Unix format and Coordinated Universal Time (UTC). For
4261
+ # example, the value 1516925490 represents Friday, January 26, 2018
4262
+ # 12:11:30 AM.
3454
4263
  # @return [Time]
3455
4264
  #
3456
4265
  # @!attribute [rw] by_status
3457
- # Returns only restore jobs associated with the specified job status.
4266
+ # Returns only report jobs that are in the specified status. The
4267
+ # statuses are:
4268
+ #
4269
+ # `CREATED | RUNNING | COMPLETED | FAILED`
3458
4270
  # @return [String]
3459
4271
  #
3460
- # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreJobsInput AWS API Documentation
4272
+ # @!attribute [rw] max_results
4273
+ # The number of desired results from 1 to 1000. Optional. If
4274
+ # unspecified, the query will return 1 MB of data.
4275
+ # @return [Integer]
3461
4276
  #
3462
- class ListRestoreJobsInput < Struct.new(
3463
- :next_token,
4277
+ # @!attribute [rw] next_token
4278
+ # An identifier that was returned from the previous call to this
4279
+ # operation, which can be used to return the next set of items in the
4280
+ # list.
4281
+ # @return [String]
4282
+ #
4283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListReportJobsInput AWS API Documentation
4284
+ #
4285
+ class ListReportJobsInput < Struct.new(
4286
+ :by_report_plan_name,
4287
+ :by_creation_before,
4288
+ :by_creation_after,
4289
+ :by_status,
3464
4290
  :max_results,
3465
- :by_account_id,
3466
- :by_created_before,
3467
- :by_created_after,
3468
- :by_status)
4291
+ :next_token)
3469
4292
  SENSITIVE = []
3470
4293
  include Aws::Structure
3471
4294
  end
3472
4295
 
3473
- # @!attribute [rw] restore_jobs
3474
- # An array of objects that contain detailed information about jobs to
3475
- # restore saved resources.
3476
- # @return [Array<Types::RestoreJobsListMember>]
4296
+ # @!attribute [rw] report_jobs
4297
+ # Details about your report jobs in JSON format.
4298
+ # @return [Array<Types::ReportJob>]
3477
4299
  #
3478
4300
  # @!attribute [rw] next_token
3479
- # The next item following a partial list of returned items. For
3480
- # example, if a request is made to return `maxResults` number of
3481
- # items, `NextToken` allows you to return more items in your list
3482
- # starting at the location pointed to by the next token.
4301
+ # An identifier that was returned from the previous call to this
4302
+ # operation, which can be used to return the next set of items in the
4303
+ # list.
3483
4304
  # @return [String]
3484
4305
  #
3485
- # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreJobsOutput AWS API Documentation
4306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListReportJobsOutput AWS API Documentation
3486
4307
  #
3487
- class ListRestoreJobsOutput < Struct.new(
3488
- :restore_jobs,
4308
+ class ListReportJobsOutput < Struct.new(
4309
+ :report_jobs,
3489
4310
  :next_token)
3490
4311
  SENSITIVE = []
3491
4312
  include Aws::Structure
3492
4313
  end
3493
4314
 
3494
- # @note When making an API call, you may pass ListTagsInput
4315
+ # @note When making an API call, you may pass ListReportPlansInput
3495
4316
  # data as a hash:
3496
4317
  #
3497
4318
  # {
3498
- # resource_arn: "ARN", # required
3499
- # next_token: "string",
3500
4319
  # max_results: 1,
4320
+ # next_token: "string",
3501
4321
  # }
3502
4322
  #
3503
- # @!attribute [rw] resource_arn
3504
- # An Amazon Resource Name (ARN) that uniquely identifies a resource.
3505
- # The format of the ARN depends on the type of resource. Valid targets
4323
+ # @!attribute [rw] max_results
4324
+ # The number of desired results from 1 to 1000. Optional. If
4325
+ # unspecified, the query will return 1 MB of data.
4326
+ # @return [Integer]
4327
+ #
4328
+ # @!attribute [rw] next_token
4329
+ # An identifier that was returned from the previous call to this
4330
+ # operation, which can be used to return the next set of items in the
4331
+ # list.
4332
+ # @return [String]
4333
+ #
4334
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListReportPlansInput AWS API Documentation
4335
+ #
4336
+ class ListReportPlansInput < Struct.new(
4337
+ :max_results,
4338
+ :next_token)
4339
+ SENSITIVE = []
4340
+ include Aws::Structure
4341
+ end
4342
+
4343
+ # @!attribute [rw] report_plans
4344
+ # A list of your report plans with detailed information for each plan.
4345
+ # This information includes the Amazon Resource Name (ARN), report
4346
+ # plan name, description, settings, delivery channel, deployment
4347
+ # status, creation time, and last times the report plan attempted to
4348
+ # and successfully ran.
4349
+ # @return [Array<Types::ReportPlan>]
4350
+ #
4351
+ # @!attribute [rw] next_token
4352
+ # An identifier that was returned from the previous call to this
4353
+ # operation, which can be used to return the next set of items in the
4354
+ # list.
4355
+ # @return [String]
4356
+ #
4357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListReportPlansOutput AWS API Documentation
4358
+ #
4359
+ class ListReportPlansOutput < Struct.new(
4360
+ :report_plans,
4361
+ :next_token)
4362
+ SENSITIVE = []
4363
+ include Aws::Structure
4364
+ end
4365
+
4366
+ # @note When making an API call, you may pass ListRestoreJobsInput
4367
+ # data as a hash:
4368
+ #
4369
+ # {
4370
+ # next_token: "string",
4371
+ # max_results: 1,
4372
+ # by_account_id: "AccountId",
4373
+ # by_created_before: Time.now,
4374
+ # by_created_after: Time.now,
4375
+ # by_status: "PENDING", # accepts PENDING, RUNNING, COMPLETED, ABORTED, FAILED
4376
+ # }
4377
+ #
4378
+ # @!attribute [rw] next_token
4379
+ # The next item following a partial list of returned items. For
4380
+ # example, if a request is made to return `maxResults` number of
4381
+ # items, `NextToken` allows you to return more items in your list
4382
+ # starting at the location pointed to by the next token.
4383
+ # @return [String]
4384
+ #
4385
+ # @!attribute [rw] max_results
4386
+ # The maximum number of items to be returned.
4387
+ # @return [Integer]
4388
+ #
4389
+ # @!attribute [rw] by_account_id
4390
+ # The account ID to list the jobs from. Returns only restore jobs
4391
+ # associated with the specified account ID.
4392
+ # @return [String]
4393
+ #
4394
+ # @!attribute [rw] by_created_before
4395
+ # Returns only restore jobs that were created before the specified
4396
+ # date.
4397
+ # @return [Time]
4398
+ #
4399
+ # @!attribute [rw] by_created_after
4400
+ # Returns only restore jobs that were created after the specified
4401
+ # date.
4402
+ # @return [Time]
4403
+ #
4404
+ # @!attribute [rw] by_status
4405
+ # Returns only restore jobs associated with the specified job status.
4406
+ # @return [String]
4407
+ #
4408
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreJobsInput AWS API Documentation
4409
+ #
4410
+ class ListRestoreJobsInput < Struct.new(
4411
+ :next_token,
4412
+ :max_results,
4413
+ :by_account_id,
4414
+ :by_created_before,
4415
+ :by_created_after,
4416
+ :by_status)
4417
+ SENSITIVE = []
4418
+ include Aws::Structure
4419
+ end
4420
+
4421
+ # @!attribute [rw] restore_jobs
4422
+ # An array of objects that contain detailed information about jobs to
4423
+ # restore saved resources.
4424
+ # @return [Array<Types::RestoreJobsListMember>]
4425
+ #
4426
+ # @!attribute [rw] next_token
4427
+ # The next item following a partial list of returned items. For
4428
+ # example, if a request is made to return `maxResults` number of
4429
+ # items, `NextToken` allows you to return more items in your list
4430
+ # starting at the location pointed to by the next token.
4431
+ # @return [String]
4432
+ #
4433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreJobsOutput AWS API Documentation
4434
+ #
4435
+ class ListRestoreJobsOutput < Struct.new(
4436
+ :restore_jobs,
4437
+ :next_token)
4438
+ SENSITIVE = []
4439
+ include Aws::Structure
4440
+ end
4441
+
4442
+ # @note When making an API call, you may pass ListTagsInput
4443
+ # data as a hash:
4444
+ #
4445
+ # {
4446
+ # resource_arn: "ARN", # required
4447
+ # next_token: "string",
4448
+ # max_results: 1,
4449
+ # }
4450
+ #
4451
+ # @!attribute [rw] resource_arn
4452
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource.
4453
+ # The format of the ARN depends on the type of resource. Valid targets
3506
4454
  # for `ListTags` are recovery points, backup plans, and backup vaults.
3507
4455
  # @return [String]
3508
4456
  #
@@ -3581,10 +4529,11 @@ module Aws::Backup
3581
4529
  # @return [String]
3582
4530
  #
3583
4531
  # @!attribute [rw] resource_type
3584
- # The type of AWS resource; for example, an Amazon Elastic Block Store
3585
- # (Amazon EBS) volume or an Amazon Relational Database Service (Amazon
3586
- # RDS) database. For VSS Windows backups, the only supported resource
3587
- # type is Amazon EC2.
4532
+ # The type of Amazon Web Services resource; for example, an Amazon
4533
+ # Elastic Block Store (Amazon EBS) volume or an Amazon Relational
4534
+ # Database Service (Amazon RDS) database. For Windows Volume Shadow
4535
+ # Copy Service (VSS) backups, the only supported resource type is
4536
+ # Amazon EC2.
3588
4537
  # @return [String]
3589
4538
  #
3590
4539
  # @!attribute [rw] last_backup_time
@@ -3615,8 +4564,8 @@ module Aws::Backup
3615
4564
  # @!attribute [rw] backup_vault_name
3616
4565
  # The name of a logical container where backups are stored. Backup
3617
4566
  # vaults are identified by names that are unique to the account used
3618
- # to create them and the AWS Region where they are created. They
3619
- # consist of lowercase letters, numbers, and hyphens.
4567
+ # to create them and the Amazon Web Services Region where they are
4568
+ # created. They consist of lowercase letters, numbers, and hyphens.
3620
4569
  # @return [String]
3621
4570
  #
3622
4571
  # @!attribute [rw] policy
@@ -3632,6 +4581,94 @@ module Aws::Backup
3632
4581
  include Aws::Structure
3633
4582
  end
3634
4583
 
4584
+ # @note When making an API call, you may pass PutBackupVaultLockConfigurationInput
4585
+ # data as a hash:
4586
+ #
4587
+ # {
4588
+ # backup_vault_name: "BackupVaultName", # required
4589
+ # min_retention_days: 1,
4590
+ # max_retention_days: 1,
4591
+ # changeable_for_days: 1,
4592
+ # }
4593
+ #
4594
+ # @!attribute [rw] backup_vault_name
4595
+ # The Backup Vault Lock configuration that specifies the name of the
4596
+ # backup vault it protects.
4597
+ # @return [String]
4598
+ #
4599
+ # @!attribute [rw] min_retention_days
4600
+ # The Backup Vault Lock configuration that specifies the minimum
4601
+ # retention period that the vault retains its recovery points. This
4602
+ # setting can be useful if, for example, your organization's policies
4603
+ # require you to retain certain data for at least seven years (2555
4604
+ # days).
4605
+ #
4606
+ # If this parameter is not specified, Vault Lock will not enforce a
4607
+ # minimum retention period.
4608
+ #
4609
+ # If this parameter is specified, any backup or copy job to the vault
4610
+ # must have a lifecycle policy with a retention period equal to or
4611
+ # longer than the minimum retention period. If the job's retention
4612
+ # period is shorter than that minimum retention period, then the vault
4613
+ # fails that backup or copy job, and you should either modify your
4614
+ # lifecycle settings or use a different vault. Recovery points already
4615
+ # saved in the vault prior to Vault Lock are not affected.
4616
+ # @return [Integer]
4617
+ #
4618
+ # @!attribute [rw] max_retention_days
4619
+ # The Backup Vault Lock configuration that specifies the maximum
4620
+ # retention period that the vault retains its recovery points. This
4621
+ # setting can be useful if, for example, your organization's policies
4622
+ # require you to destroy certain data after retaining it for four
4623
+ # years (1460 days).
4624
+ #
4625
+ # If this parameter is not included, Vault Lock does not enforce a
4626
+ # maximum retention period on the recovery points in the vault. If
4627
+ # this parameter is included without a value, Vault Lock will not
4628
+ # enforce a maximum retention period.
4629
+ #
4630
+ # If this parameter is specified, any backup or copy job to the vault
4631
+ # must have a lifecycle policy with a retention period equal to or
4632
+ # shorter than the maximum retention period. If the job's retention
4633
+ # period is longer than that maximum retention period, then the vault
4634
+ # fails the backup or copy job, and you should either modify your
4635
+ # lifecycle settings or use a different vault. Recovery points already
4636
+ # saved in the vault prior to Vault Lock are not affected.
4637
+ # @return [Integer]
4638
+ #
4639
+ # @!attribute [rw] changeable_for_days
4640
+ # The Backup Vault Lock configuration that specifies the number of
4641
+ # days before the lock date. For example, setting `ChangeableForDays`
4642
+ # to 30 on Jan. 1, 2022 at 8pm UTC will set the lock date to Jan. 31,
4643
+ # 2022 at 8pm UTC.
4644
+ #
4645
+ # Backup enforces a 72-hour cooling-off period before Vault Lock takes
4646
+ # effect and becomes immutable. Therefore, you must set
4647
+ # `ChangeableForDays` to 3 or greater.
4648
+ #
4649
+ # Before the lock date, you can delete Vault Lock from the vault using
4650
+ # `DeleteBackupVaultLockConfiguration` or change the Vault Lock
4651
+ # configuration using `PutBackupVaultLockConfiguration`. On and after
4652
+ # the lock date, the Vault Lock becomes immutable and cannot be
4653
+ # changed or deleted.
4654
+ #
4655
+ # If this parameter is not specified, you can delete Vault Lock from
4656
+ # the vault using `DeleteBackupVaultLockConfiguration` or change the
4657
+ # Vault Lock configuration using `PutBackupVaultLockConfiguration` at
4658
+ # any time.
4659
+ # @return [Integer]
4660
+ #
4661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultLockConfigurationInput AWS API Documentation
4662
+ #
4663
+ class PutBackupVaultLockConfigurationInput < Struct.new(
4664
+ :backup_vault_name,
4665
+ :min_retention_days,
4666
+ :max_retention_days,
4667
+ :changeable_for_days)
4668
+ SENSITIVE = []
4669
+ include Aws::Structure
4670
+ end
4671
+
3635
4672
  # @note When making an API call, you may pass PutBackupVaultNotificationsInput
3636
4673
  # data as a hash:
3637
4674
  #
@@ -3644,8 +4681,8 @@ module Aws::Backup
3644
4681
  # @!attribute [rw] backup_vault_name
3645
4682
  # The name of a logical container where backups are stored. Backup
3646
4683
  # vaults are identified by names that are unique to the account used
3647
- # to create them and the AWS Region where they are created. They
3648
- # consist of lowercase letters, numbers, and hyphens.
4684
+ # to create them and the Amazon Web Services Region where they are
4685
+ # created. They consist of lowercase letters, numbers, and hyphens.
3649
4686
  # @return [String]
3650
4687
  #
3651
4688
  # @!attribute [rw] sns_topic_arn
@@ -3657,6 +4694,22 @@ module Aws::Backup
3657
4694
  # @!attribute [rw] backup_vault_events
3658
4695
  # An array of events that indicate the status of jobs to back up
3659
4696
  # resources to the backup vault.
4697
+ #
4698
+ # <note markdown="1"> The following events are supported:
4699
+ #
4700
+ # `BACKUP_JOB_STARTED`, `BACKUP_JOB_COMPLETED`,
4701
+ #
4702
+ # `COPY_JOB_STARTED`, `COPY_JOB_SUCCESSFUL`, `COPY_JOB_FAILED`,
4703
+ #
4704
+ # `RESTORE_JOB_STARTED`, `RESTORE_JOB_COMPLETED`, and
4705
+ # `RECOVERY_POINT_MODIFIED`.
4706
+ #
4707
+ # To find failed backup jobs, use `BACKUP_JOB_COMPLETED` and filter
4708
+ # using event metadata.
4709
+ #
4710
+ # Other events in the following list are deprecated.
4711
+ #
4712
+ # </note>
3660
4713
  # @return [Array<String>]
3661
4714
  #
3662
4715
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultNotificationsInput AWS API Documentation
@@ -3681,8 +4734,8 @@ module Aws::Backup
3681
4734
  # @!attribute [rw] backup_vault_name
3682
4735
  # The name of a logical container where backups are stored. Backup
3683
4736
  # vaults are identified by names that are unique to the account used
3684
- # to create them and the AWS Region where they are created. They
3685
- # consist of lowercase letters, numbers, and hyphens.
4737
+ # to create them and the Amazon Web Services Region where they are
4738
+ # created. They consist of lowercase letters, numbers, and hyphens.
3686
4739
  # @return [String]
3687
4740
  #
3688
4741
  # @!attribute [rw] backup_vault_arn
@@ -3702,10 +4755,11 @@ module Aws::Backup
3702
4755
  # @return [String]
3703
4756
  #
3704
4757
  # @!attribute [rw] resource_type
3705
- # The type of AWS resource saved as a recovery point; for example, an
3706
- # Amazon Elastic Block Store (Amazon EBS) volume or an Amazon
3707
- # Relational Database Service (Amazon RDS) database. For VSS Windows
3708
- # backups, the only supported resource type is Amazon EC2.
4758
+ # The type of Amazon Web Services resource saved as a recovery point;
4759
+ # for example, an Amazon Elastic Block Store (Amazon EBS) volume or an
4760
+ # Amazon Relational Database Service (Amazon RDS) database. For
4761
+ # Windows Volume Shadow Copy Service (VSS) backups, the only supported
4762
+ # resource type is Amazon EC2.
3709
4763
  # @return [String]
3710
4764
  #
3711
4765
  # @!attribute [rw] created_by
@@ -3724,6 +4778,11 @@ module Aws::Backup
3724
4778
  # A status code specifying the state of the recovery point.
3725
4779
  # @return [String]
3726
4780
  #
4781
+ # @!attribute [rw] status_message
4782
+ # A message explaining the reason of the recovery point deletion
4783
+ # failure.
4784
+ # @return [String]
4785
+ #
3727
4786
  # @!attribute [rw] creation_date
3728
4787
  # The date and time a recovery point is created, in Unix format and
3729
4788
  # Coordinated Universal Time (UTC). The value of `CreationDate` is
@@ -3749,7 +4808,7 @@ module Aws::Backup
3749
4808
  #
3750
4809
  # @!attribute [rw] lifecycle
3751
4810
  # The lifecycle defines when a protected resource is transitioned to
3752
- # cold storage and when it expires. AWS Backup transitions and expires
4811
+ # cold storage and when it expires. Backup transitions and expires
3753
4812
  # backups automatically according to the lifecycle that you define.
3754
4813
  #
3755
4814
  # Backups transitioned to cold storage must be stored in cold storage
@@ -3793,6 +4852,7 @@ module Aws::Backup
3793
4852
  :created_by,
3794
4853
  :iam_role_arn,
3795
4854
  :status,
4855
+ :status_message,
3796
4856
  :creation_date,
3797
4857
  :completion_date,
3798
4858
  :backup_size_in_bytes,
@@ -3824,6 +4884,11 @@ module Aws::Backup
3824
4884
  # A status code specifying the state of the recovery point.
3825
4885
  # @return [String]
3826
4886
  #
4887
+ # @!attribute [rw] status_message
4888
+ # A message explaining the reason of the recovery point deletion
4889
+ # failure.
4890
+ # @return [String]
4891
+ #
3827
4892
  # @!attribute [rw] encryption_key_arn
3828
4893
  # The server-side encryption key that is used to protect your backups;
3829
4894
  # for example,
@@ -3837,8 +4902,8 @@ module Aws::Backup
3837
4902
  # @!attribute [rw] backup_vault_name
3838
4903
  # The name of a logical container where backups are stored. Backup
3839
4904
  # vaults are identified by names that are unique to the account used
3840
- # to create them and the AWS Region where they are created. They
3841
- # consist of lowercase letters, numbers, and hyphens.
4905
+ # to create them and the Amazon Web Services Region where they are
4906
+ # created. They consist of lowercase letters, numbers, and hyphens.
3842
4907
  # @return [String]
3843
4908
  #
3844
4909
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/RecoveryPointByResource AWS API Documentation
@@ -3847,6 +4912,7 @@ module Aws::Backup
3847
4912
  :recovery_point_arn,
3848
4913
  :creation_date,
3849
4914
  :status,
4915
+ :status_message,
3850
4916
  :encryption_key_arn,
3851
4917
  :backup_size_bytes,
3852
4918
  :backup_vault_name)
@@ -3854,8 +4920,8 @@ module Aws::Backup
3854
4920
  include Aws::Structure
3855
4921
  end
3856
4922
 
3857
- # Contains information about the backup plan and rule that AWS Backup
3858
- # used to initiate the recovery point backup.
4923
+ # Contains information about the backup plan and rule that Backup used
4924
+ # to initiate the recovery point backup.
3859
4925
  #
3860
4926
  # @!attribute [rw] backup_plan_id
3861
4927
  # Uniquely identifies a backup plan.
@@ -3888,6 +4954,256 @@ module Aws::Backup
3888
4954
  include Aws::Structure
3889
4955
  end
3890
4956
 
4957
+ # Contains information from your report plan about where to deliver your
4958
+ # reports, specifically your Amazon S3 bucket name, S3 key prefix, and
4959
+ # the formats of your reports.
4960
+ #
4961
+ # @note When making an API call, you may pass ReportDeliveryChannel
4962
+ # data as a hash:
4963
+ #
4964
+ # {
4965
+ # s3_bucket_name: "string", # required
4966
+ # s3_key_prefix: "string",
4967
+ # formats: ["string"],
4968
+ # }
4969
+ #
4970
+ # @!attribute [rw] s3_bucket_name
4971
+ # The unique name of the S3 bucket that receives your reports.
4972
+ # @return [String]
4973
+ #
4974
+ # @!attribute [rw] s3_key_prefix
4975
+ # The prefix for where Backup Audit Manager delivers your reports to
4976
+ # Amazon S3. The prefix is this part of the following path:
4977
+ # s3://your-bucket-name/`prefix`/Backup/us-west-2/year/month/day/report-name.
4978
+ # If not specified, there is no prefix.
4979
+ # @return [String]
4980
+ #
4981
+ # @!attribute [rw] formats
4982
+ # A list of the format of your reports: `CSV`, `JSON`, or both. If not
4983
+ # specified, the default format is `CSV`.
4984
+ # @return [Array<String>]
4985
+ #
4986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ReportDeliveryChannel AWS API Documentation
4987
+ #
4988
+ class ReportDeliveryChannel < Struct.new(
4989
+ :s3_bucket_name,
4990
+ :s3_key_prefix,
4991
+ :formats)
4992
+ SENSITIVE = []
4993
+ include Aws::Structure
4994
+ end
4995
+
4996
+ # Contains information from your report job about your report
4997
+ # destination.
4998
+ #
4999
+ # @!attribute [rw] s3_bucket_name
5000
+ # The unique name of the Amazon S3 bucket that receives your reports.
5001
+ # @return [String]
5002
+ #
5003
+ # @!attribute [rw] s3_keys
5004
+ # The object key that uniquely identifies your reports in your S3
5005
+ # bucket.
5006
+ # @return [Array<String>]
5007
+ #
5008
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ReportDestination AWS API Documentation
5009
+ #
5010
+ class ReportDestination < Struct.new(
5011
+ :s3_bucket_name,
5012
+ :s3_keys)
5013
+ SENSITIVE = []
5014
+ include Aws::Structure
5015
+ end
5016
+
5017
+ # Contains detailed information about a report job. A report job
5018
+ # compiles a report based on a report plan and publishes it to Amazon
5019
+ # S3.
5020
+ #
5021
+ # @!attribute [rw] report_job_id
5022
+ # The identifier for a report job. A unique, randomly generated,
5023
+ # Unicode, UTF-8 encoded string that is at most 1,024 bytes long.
5024
+ # Report job IDs cannot be edited.
5025
+ # @return [String]
5026
+ #
5027
+ # @!attribute [rw] report_plan_arn
5028
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource.
5029
+ # The format of the ARN depends on the resource type.
5030
+ # @return [String]
5031
+ #
5032
+ # @!attribute [rw] report_template
5033
+ # Identifies the report template for the report. Reports are built
5034
+ # using a report template. The report templates are:
5035
+ #
5036
+ # `RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT |
5037
+ # BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT`
5038
+ # @return [String]
5039
+ #
5040
+ # @!attribute [rw] creation_time
5041
+ # The date and time that a report job is created, in Unix format and
5042
+ # Coordinated Universal Time (UTC). The value of `CreationTime` is
5043
+ # accurate to milliseconds. For example, the value 1516925490.087
5044
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
5045
+ # @return [Time]
5046
+ #
5047
+ # @!attribute [rw] completion_time
5048
+ # The date and time that a report job is completed, in Unix format and
5049
+ # Coordinated Universal Time (UTC). The value of `CompletionTime` is
5050
+ # accurate to milliseconds. For example, the value 1516925490.087
5051
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
5052
+ # @return [Time]
5053
+ #
5054
+ # @!attribute [rw] status
5055
+ # The status of a report job. The statuses are:
5056
+ #
5057
+ # `CREATED | RUNNING | COMPLETED | FAILED`
5058
+ #
5059
+ # `COMPLETED` means that the report is available for your review at
5060
+ # your designated destination. If the status is `FAILED`, review the
5061
+ # `StatusMessage` for the reason.
5062
+ # @return [String]
5063
+ #
5064
+ # @!attribute [rw] status_message
5065
+ # A message explaining the status of the report job.
5066
+ # @return [String]
5067
+ #
5068
+ # @!attribute [rw] report_destination
5069
+ # The S3 bucket name and S3 keys for the destination where the report
5070
+ # job publishes the report.
5071
+ # @return [Types::ReportDestination]
5072
+ #
5073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ReportJob AWS API Documentation
5074
+ #
5075
+ class ReportJob < Struct.new(
5076
+ :report_job_id,
5077
+ :report_plan_arn,
5078
+ :report_template,
5079
+ :creation_time,
5080
+ :completion_time,
5081
+ :status,
5082
+ :status_message,
5083
+ :report_destination)
5084
+ SENSITIVE = []
5085
+ include Aws::Structure
5086
+ end
5087
+
5088
+ # Contains detailed information about a report plan.
5089
+ #
5090
+ # @!attribute [rw] report_plan_arn
5091
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource.
5092
+ # The format of the ARN depends on the resource type.
5093
+ # @return [String]
5094
+ #
5095
+ # @!attribute [rw] report_plan_name
5096
+ # The unique name of the report plan. This name is between 1 and 256
5097
+ # characters starting with a letter, and consisting of letters (a-z,
5098
+ # A-Z), numbers (0-9), and underscores (\_).
5099
+ # @return [String]
5100
+ #
5101
+ # @!attribute [rw] report_plan_description
5102
+ # An optional description of the report plan with a maximum 1,024
5103
+ # characters.
5104
+ # @return [String]
5105
+ #
5106
+ # @!attribute [rw] report_setting
5107
+ # Identifies the report template for the report. Reports are built
5108
+ # using a report template. The report templates are:
5109
+ #
5110
+ # `RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT |
5111
+ # BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT`
5112
+ #
5113
+ # If the report template is `RESOURCE_COMPLIANCE_REPORT` or
5114
+ # `CONTROL_COMPLIANCE_REPORT`, this API resource also describes the
5115
+ # report coverage by Amazon Web Services Regions and frameworks.
5116
+ # @return [Types::ReportSetting]
5117
+ #
5118
+ # @!attribute [rw] report_delivery_channel
5119
+ # Contains information about where and how to deliver your reports,
5120
+ # specifically your Amazon S3 bucket name, S3 key prefix, and the
5121
+ # formats of your reports.
5122
+ # @return [Types::ReportDeliveryChannel]
5123
+ #
5124
+ # @!attribute [rw] deployment_status
5125
+ # The deployment status of a report plan. The statuses are:
5126
+ #
5127
+ # `CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS |
5128
+ # COMPLETED`
5129
+ # @return [String]
5130
+ #
5131
+ # @!attribute [rw] creation_time
5132
+ # The date and time that a report plan is created, in Unix format and
5133
+ # Coordinated Universal Time (UTC). The value of `CreationTime` is
5134
+ # accurate to milliseconds. For example, the value 1516925490.087
5135
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
5136
+ # @return [Time]
5137
+ #
5138
+ # @!attribute [rw] last_attempted_execution_time
5139
+ # The date and time that a report job associated with this report plan
5140
+ # last attempted to run, in Unix format and Coordinated Universal Time
5141
+ # (UTC). The value of `LastAttemptedExecutionTime` is accurate to
5142
+ # milliseconds. For example, the value 1516925490.087 represents
5143
+ # Friday, January 26, 2018 12:11:30.087 AM.
5144
+ # @return [Time]
5145
+ #
5146
+ # @!attribute [rw] last_successful_execution_time
5147
+ # The date and time that a report job associated with this report plan
5148
+ # last successfully ran, in Unix format and Coordinated Universal Time
5149
+ # (UTC). The value of `LastSuccessfulExecutionTime` is accurate to
5150
+ # milliseconds. For example, the value 1516925490.087 represents
5151
+ # Friday, January 26, 2018 12:11:30.087 AM.
5152
+ # @return [Time]
5153
+ #
5154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ReportPlan AWS API Documentation
5155
+ #
5156
+ class ReportPlan < Struct.new(
5157
+ :report_plan_arn,
5158
+ :report_plan_name,
5159
+ :report_plan_description,
5160
+ :report_setting,
5161
+ :report_delivery_channel,
5162
+ :deployment_status,
5163
+ :creation_time,
5164
+ :last_attempted_execution_time,
5165
+ :last_successful_execution_time)
5166
+ SENSITIVE = []
5167
+ include Aws::Structure
5168
+ end
5169
+
5170
+ # Contains detailed information about a report setting.
5171
+ #
5172
+ # @note When making an API call, you may pass ReportSetting
5173
+ # data as a hash:
5174
+ #
5175
+ # {
5176
+ # report_template: "string", # required
5177
+ # framework_arns: ["string"],
5178
+ # number_of_frameworks: 1,
5179
+ # }
5180
+ #
5181
+ # @!attribute [rw] report_template
5182
+ # Identifies the report template for the report. Reports are built
5183
+ # using a report template. The report templates are:
5184
+ #
5185
+ # `RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT |
5186
+ # BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT`
5187
+ # @return [String]
5188
+ #
5189
+ # @!attribute [rw] framework_arns
5190
+ # The Amazon Resource Names (ARNs) of the frameworks a report covers.
5191
+ # @return [Array<String>]
5192
+ #
5193
+ # @!attribute [rw] number_of_frameworks
5194
+ # The number of frameworks a report covers.
5195
+ # @return [Integer]
5196
+ #
5197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ReportSetting AWS API Documentation
5198
+ #
5199
+ class ReportSetting < Struct.new(
5200
+ :report_template,
5201
+ :framework_arns,
5202
+ :number_of_frameworks)
5203
+ SENSITIVE = []
5204
+ include Aws::Structure
5205
+ end
5206
+
3891
5207
  # A resource that is required for the action doesn't exist.
3892
5208
  #
3893
5209
  # @!attribute [rw] code
@@ -3943,8 +5259,8 @@ module Aws::Backup
3943
5259
  # @return [Time]
3944
5260
  #
3945
5261
  # @!attribute [rw] status
3946
- # A status code specifying the state of the job initiated by AWS
3947
- # Backup to restore a recovery point.
5262
+ # A status code specifying the state of the job initiated by Backup to
5263
+ # restore a recovery point.
3948
5264
  # @return [String]
3949
5265
  #
3950
5266
  # @!attribute [rw] status_message
@@ -3979,8 +5295,9 @@ module Aws::Backup
3979
5295
  # @!attribute [rw] resource_type
3980
5296
  # The resource type of the listed restore jobs; for example, an Amazon
3981
5297
  # Elastic Block Store (Amazon EBS) volume or an Amazon Relational
3982
- # Database Service (Amazon RDS) database. For VSS Windows backups, the
3983
- # only supported resource type is Amazon EC2.
5298
+ # Database Service (Amazon RDS) database. For Windows Volume Shadow
5299
+ # Copy Service (VSS) backups, the only supported resource type is
5300
+ # Amazon EC2.
3984
5301
  # @return [String]
3985
5302
  #
3986
5303
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/RestoreJobsListMember AWS API Documentation
@@ -4053,8 +5370,8 @@ module Aws::Backup
4053
5370
  # @!attribute [rw] backup_vault_name
4054
5371
  # The name of a logical container where backups are stored. Backup
4055
5372
  # vaults are identified by names that are unique to the account used
4056
- # to create them and the AWS Region where they are created. They
4057
- # consist of lowercase letters, numbers, and hyphens.
5373
+ # to create them and the Amazon Web Services Region where they are
5374
+ # created. They consist of lowercase letters, numbers, and hyphens.
4058
5375
  # @return [String]
4059
5376
  #
4060
5377
  # @!attribute [rw] resource_arn
@@ -4068,8 +5385,10 @@ module Aws::Backup
4068
5385
  # @return [String]
4069
5386
  #
4070
5387
  # @!attribute [rw] idempotency_token
4071
- # A customer chosen string that can be used to distinguish between
4072
- # calls to `StartBackupJob`.
5388
+ # A customer-chosen string that you can use to distinguish between
5389
+ # otherwise identical calls to `StartBackupJob`. Retrying a successful
5390
+ # request with the same idempotency token results in a success message
5391
+ # with no action taken.
4073
5392
  # @return [String]
4074
5393
  #
4075
5394
  # @!attribute [rw] start_window_minutes
@@ -4088,9 +5407,8 @@ module Aws::Backup
4088
5407
  #
4089
5408
  # @!attribute [rw] lifecycle
4090
5409
  # The lifecycle defines when a protected resource is transitioned to
4091
- # cold storage and when it expires. AWS Backup will transition and
4092
- # expire backups automatically according to the lifecycle that you
4093
- # define.
5410
+ # cold storage and when it expires. Backup will transition and expire
5411
+ # backups automatically according to the lifecycle that you define.
4094
5412
  #
4095
5413
  # Backups transitioned to cold storage must be stored in cold storage
4096
5414
  # for a minimum of 90 days. Therefore, the “expire after days” setting
@@ -4109,12 +5427,13 @@ module Aws::Backup
4109
5427
  #
4110
5428
  # @!attribute [rw] backup_options
4111
5429
  # Specifies the backup option for a selected resource. This option is
4112
- # only available for Windows VSS backup jobs.
5430
+ # only available for Windows Volume Shadow Copy Service (VSS) backup
5431
+ # jobs.
4113
5432
  #
4114
- # Valid values: Set to `"WindowsVSS”:“enabled"` to enable WindowsVSS
4115
- # backup option and create a VSS Windows backup. Set to
4116
- # WindowsVSS”:”disabled to create a regular backup. The WindowsVSS
4117
- # option is not enabled by default.
5433
+ # Valid values: Set to `"WindowsVSS":"enabled"` to enable the
5434
+ # `WindowsVSS` backup option and create a Windows VSS backup. Set to
5435
+ # `"WindowsVSS""disabled"` to create a regular backup. The
5436
+ # `WindowsVSS` option is not enabled by default.
4118
5437
  # @return [Hash<String,String>]
4119
5438
  #
4120
5439
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartBackupJobInput AWS API Documentation
@@ -4134,7 +5453,7 @@ module Aws::Backup
4134
5453
  end
4135
5454
 
4136
5455
  # @!attribute [rw] backup_job_id
4137
- # Uniquely identifies a request to AWS Backup to back up a resource.
5456
+ # Uniquely identifies a request to Backup to back up a resource.
4138
5457
  # @return [String]
4139
5458
  #
4140
5459
  # @!attribute [rw] recovery_point_arn
@@ -4183,8 +5502,9 @@ module Aws::Backup
4183
5502
  # @!attribute [rw] source_backup_vault_name
4184
5503
  # The name of a logical source container where backups are stored.
4185
5504
  # Backup vaults are identified by names that are unique to the account
4186
- # used to create them and the AWS Region where they are created. They
4187
- # consist of lowercase letters, numbers, and hyphens.
5505
+ # used to create them and the Amazon Web Services Region where they
5506
+ # are created. They consist of lowercase letters, numbers, and
5507
+ # hyphens.
4188
5508
  # @return [String]
4189
5509
  #
4190
5510
  # @!attribute [rw] destination_backup_vault_arn
@@ -4199,8 +5519,10 @@ module Aws::Backup
4199
5519
  # @return [String]
4200
5520
  #
4201
5521
  # @!attribute [rw] idempotency_token
4202
- # A customer chosen string that can be used to distinguish between
4203
- # calls to `StartCopyJob`.
5522
+ # A customer-chosen string that you can use to distinguish between
5523
+ # otherwise identical calls to `StartCopyJob`. Retrying a successful
5524
+ # request with the same idempotency token results in a success message
5525
+ # with no action taken.
4204
5526
  # @return [String]
4205
5527
  #
4206
5528
  # @!attribute [rw] lifecycle
@@ -4252,6 +5574,51 @@ module Aws::Backup
4252
5574
  include Aws::Structure
4253
5575
  end
4254
5576
 
5577
+ # @note When making an API call, you may pass StartReportJobInput
5578
+ # data as a hash:
5579
+ #
5580
+ # {
5581
+ # report_plan_name: "ReportPlanName", # required
5582
+ # idempotency_token: "string",
5583
+ # }
5584
+ #
5585
+ # @!attribute [rw] report_plan_name
5586
+ # The unique name of a report plan.
5587
+ # @return [String]
5588
+ #
5589
+ # @!attribute [rw] idempotency_token
5590
+ # A customer-chosen string that you can use to distinguish between
5591
+ # otherwise identical calls to `StartReportJobInput`. Retrying a
5592
+ # successful request with the same idempotency token results in a
5593
+ # success message with no action taken.
5594
+ #
5595
+ # **A suitable default value is auto-generated.** You should normally
5596
+ # not need to pass this option.
5597
+ # @return [String]
5598
+ #
5599
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartReportJobInput AWS API Documentation
5600
+ #
5601
+ class StartReportJobInput < Struct.new(
5602
+ :report_plan_name,
5603
+ :idempotency_token)
5604
+ SENSITIVE = []
5605
+ include Aws::Structure
5606
+ end
5607
+
5608
+ # @!attribute [rw] report_job_id
5609
+ # The identifier of the report job. A unique, randomly generated,
5610
+ # Unicode, UTF-8 encoded string that is at most 1,024 bytes long. The
5611
+ # report job ID cannot be edited.
5612
+ # @return [String]
5613
+ #
5614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartReportJobOutput AWS API Documentation
5615
+ #
5616
+ class StartReportJobOutput < Struct.new(
5617
+ :report_job_id)
5618
+ SENSITIVE = []
5619
+ include Aws::Structure
5620
+ end
5621
+
4255
5622
  # @note When making an API call, you may pass StartRestoreJobInput
4256
5623
  # data as a hash:
4257
5624
  #
@@ -4285,17 +5652,17 @@ module Aws::Backup
4285
5652
  # File System (Amazon EFS) instance:
4286
5653
  #
4287
5654
  # * `file-system-id`\: The ID of the Amazon EFS file system that is
4288
- # backed up by AWS Backup. Returned in
5655
+ # backed up by Backup. Returned in
4289
5656
  # `GetRecoveryPointRestoreMetadata`.
4290
5657
  #
4291
5658
  # * `Encrypted`\: A Boolean value that, if true, specifies that the
4292
5659
  # file system is encrypted. If `KmsKeyId` is specified, `Encrypted`
4293
5660
  # must be set to `true`.
4294
5661
  #
4295
- # * `KmsKeyId`\: Specifies the AWS KMS key that is used to encrypt the
4296
- # restored file system. You can specify a key from another AWS
4297
- # account provided that key it is properly shared with your account
4298
- # via AWS KMS.
5662
+ # * `KmsKeyId`\: Specifies the Amazon Web Services KMS key that is
5663
+ # used to encrypt the restored file system. You can specify a key
5664
+ # from another Amazon Web Services account provided that key it is
5665
+ # properly shared with your account via Amazon Web Services KMS.
4299
5666
  #
4300
5667
  # * `PerformanceMode`\: Specifies the throughput mode of the file
4301
5668
  # system.
@@ -4306,7 +5673,7 @@ module Aws::Backup
4306
5673
  # * `newFileSystem`\: A Boolean value that, if true, specifies that
4307
5674
  # the recovery point is restored to a new Amazon EFS file system.
4308
5675
  #
4309
- # * `ItemsToRestore `\: An array of one to five strings where each
5676
+ # * `ItemsToRestore`\: An array of one to five strings where each
4310
5677
  # string is a file path. Use `ItemsToRestore` to restore specific
4311
5678
  # files or directories rather than the entire file system. This
4312
5679
  # parameter is optional. For example,
@@ -4314,14 +5681,16 @@ module Aws::Backup
4314
5681
  # @return [Hash<String,String>]
4315
5682
  #
4316
5683
  # @!attribute [rw] iam_role_arn
4317
- # The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses
4318
- # to create the target recovery point; for example,
5684
+ # The Amazon Resource Name (ARN) of the IAM role that Backup uses to
5685
+ # create the target recovery point; for example,
4319
5686
  # `arn:aws:iam::123456789012:role/S3Access`.
4320
5687
  # @return [String]
4321
5688
  #
4322
5689
  # @!attribute [rw] idempotency_token
4323
- # A customer chosen string that can be used to distinguish between
4324
- # calls to `StartRestoreJob`.
5690
+ # A customer-chosen string that you can use to distinguish between
5691
+ # otherwise identical calls to `StartRestoreJob`. Retrying a
5692
+ # successful request with the same idempotency token results in a
5693
+ # success message with no action taken.
4325
5694
  # @return [String]
4326
5695
  #
4327
5696
  # @!attribute [rw] resource_type
@@ -4340,7 +5709,7 @@ module Aws::Backup
4340
5709
  #
4341
5710
  # * `Aurora` for Amazon Aurora
4342
5711
  #
4343
- # * `Storage Gateway` for AWS Storage Gateway
5712
+ # * `Storage Gateway` for Storage Gateway
4344
5713
  # @return [String]
4345
5714
  #
4346
5715
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartRestoreJobInput AWS API Documentation
@@ -4375,7 +5744,7 @@ module Aws::Backup
4375
5744
  # }
4376
5745
  #
4377
5746
  # @!attribute [rw] backup_job_id
4378
- # Uniquely identifies a request to AWS Backup to back up a resource.
5747
+ # Uniquely identifies a request to Backup to back up a resource.
4379
5748
  # @return [String]
4380
5749
  #
4381
5750
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StopBackupJobInput AWS API Documentation
@@ -4515,7 +5884,7 @@ module Aws::Backup
4515
5884
  # @return [String]
4516
5885
  #
4517
5886
  # @!attribute [rw] creation_date
4518
- # The date and time a backup plan is updated, in Unix format and
5887
+ # The date and time a backup plan is created, in Unix format and
4519
5888
  # Coordinated Universal Time (UTC). The value of `CreationDate` is
4520
5889
  # accurate to milliseconds. For example, the value 1516925490.087
4521
5890
  # represents Friday, January 26, 2018 12:11:30.087 AM.
@@ -4542,6 +5911,98 @@ module Aws::Backup
4542
5911
  include Aws::Structure
4543
5912
  end
4544
5913
 
5914
+ # @note When making an API call, you may pass UpdateFrameworkInput
5915
+ # data as a hash:
5916
+ #
5917
+ # {
5918
+ # framework_name: "FrameworkName", # required
5919
+ # framework_description: "FrameworkDescription",
5920
+ # framework_controls: [
5921
+ # {
5922
+ # control_name: "ControlName", # required
5923
+ # control_input_parameters: [
5924
+ # {
5925
+ # parameter_name: "ParameterName",
5926
+ # parameter_value: "ParameterValue",
5927
+ # },
5928
+ # ],
5929
+ # control_scope: {
5930
+ # compliance_resource_ids: ["string"],
5931
+ # compliance_resource_types: ["ARN"],
5932
+ # tags: {
5933
+ # "string" => "string",
5934
+ # },
5935
+ # },
5936
+ # },
5937
+ # ],
5938
+ # idempotency_token: "string",
5939
+ # }
5940
+ #
5941
+ # @!attribute [rw] framework_name
5942
+ # The unique name of a framework. This name is between 1 and 256
5943
+ # characters, starting with a letter, and consisting of letters (a-z,
5944
+ # A-Z), numbers (0-9), and underscores (\_).
5945
+ # @return [String]
5946
+ #
5947
+ # @!attribute [rw] framework_description
5948
+ # An optional description of the framework with a maximum 1,024
5949
+ # characters.
5950
+ # @return [String]
5951
+ #
5952
+ # @!attribute [rw] framework_controls
5953
+ # A list of the controls that make up the framework. Each control in
5954
+ # the list has a name, input parameters, and scope.
5955
+ # @return [Array<Types::FrameworkControl>]
5956
+ #
5957
+ # @!attribute [rw] idempotency_token
5958
+ # A customer-chosen string that you can use to distinguish between
5959
+ # otherwise identical calls to `UpdateFrameworkInput`. Retrying a
5960
+ # successful request with the same idempotency token results in a
5961
+ # success message with no action taken.
5962
+ #
5963
+ # **A suitable default value is auto-generated.** You should normally
5964
+ # not need to pass this option.
5965
+ # @return [String]
5966
+ #
5967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateFrameworkInput AWS API Documentation
5968
+ #
5969
+ class UpdateFrameworkInput < Struct.new(
5970
+ :framework_name,
5971
+ :framework_description,
5972
+ :framework_controls,
5973
+ :idempotency_token)
5974
+ SENSITIVE = []
5975
+ include Aws::Structure
5976
+ end
5977
+
5978
+ # @!attribute [rw] framework_name
5979
+ # The unique name of a framework. This name is between 1 and 256
5980
+ # characters, starting with a letter, and consisting of letters (a-z,
5981
+ # A-Z), numbers (0-9), and underscores (\_).
5982
+ # @return [String]
5983
+ #
5984
+ # @!attribute [rw] framework_arn
5985
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource.
5986
+ # The format of the ARN depends on the resource type.
5987
+ # @return [String]
5988
+ #
5989
+ # @!attribute [rw] creation_time
5990
+ # The date and time that a framework is created, in Unix format and
5991
+ # Coordinated Universal Time (UTC). The value of `CreationTime` is
5992
+ # accurate to milliseconds. For example, the value 1516925490.087
5993
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
5994
+ # @return [Time]
5995
+ #
5996
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateFrameworkOutput AWS API Documentation
5997
+ #
5998
+ class UpdateFrameworkOutput < Struct.new(
5999
+ :framework_name,
6000
+ :framework_arn,
6001
+ :creation_time)
6002
+ SENSITIVE = []
6003
+ include Aws::Structure
6004
+ end
6005
+
4545
6006
  # @note When making an API call, you may pass UpdateGlobalSettingsInput
4546
6007
  # data as a hash:
4547
6008
  #
@@ -4552,8 +6013,9 @@ module Aws::Backup
4552
6013
  # }
4553
6014
  #
4554
6015
  # @!attribute [rw] global_settings
4555
- # A list of resources along with the opt-in preferences for the
4556
- # account.
6016
+ # A value for `isCrossAccountBackupEnabled` and a Region. Example:
6017
+ # `update-global-settings --global-settings
6018
+ # isCrossAccountBackupEnabled=false --region us-west-2`.
4557
6019
  # @return [Hash<String,String>]
4558
6020
  #
4559
6021
  # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateGlobalSettingsInput AWS API Documentation
@@ -4579,8 +6041,8 @@ module Aws::Backup
4579
6041
  # @!attribute [rw] backup_vault_name
4580
6042
  # The name of a logical container where backups are stored. Backup
4581
6043
  # vaults are identified by names that are unique to the account used
4582
- # to create them and the AWS Region where they are created. They
4583
- # consist of lowercase letters, numbers, and hyphens.
6044
+ # to create them and the Amazon Web Services Region where they are
6045
+ # created. They consist of lowercase letters, numbers, and hyphens.
4584
6046
  # @return [String]
4585
6047
  #
4586
6048
  # @!attribute [rw] recovery_point_arn
@@ -4591,7 +6053,7 @@ module Aws::Backup
4591
6053
  #
4592
6054
  # @!attribute [rw] lifecycle
4593
6055
  # The lifecycle defines when a protected resource is transitioned to
4594
- # cold storage and when it expires. AWS Backup transitions and expires
6056
+ # cold storage and when it expires. Backup transitions and expires
4595
6057
  # backups automatically according to the lifecycle that you define.
4596
6058
  #
4597
6059
  # Backups transitioned to cold storage must be stored in cold storage
@@ -4624,7 +6086,7 @@ module Aws::Backup
4624
6086
  #
4625
6087
  # @!attribute [rw] lifecycle
4626
6088
  # The lifecycle defines when a protected resource is transitioned to
4627
- # cold storage and when it expires. AWS Backup transitions and expires
6089
+ # cold storage and when it expires. Backup transitions and expires
4628
6090
  # backups automatically according to the lifecycle that you define.
4629
6091
  #
4630
6092
  # Backups transitioned to cold storage must be stored in cold storage
@@ -4675,5 +6137,101 @@ module Aws::Backup
4675
6137
  include Aws::Structure
4676
6138
  end
4677
6139
 
6140
+ # @note When making an API call, you may pass UpdateReportPlanInput
6141
+ # data as a hash:
6142
+ #
6143
+ # {
6144
+ # report_plan_name: "ReportPlanName", # required
6145
+ # report_plan_description: "ReportPlanDescription",
6146
+ # report_delivery_channel: {
6147
+ # s3_bucket_name: "string", # required
6148
+ # s3_key_prefix: "string",
6149
+ # formats: ["string"],
6150
+ # },
6151
+ # report_setting: {
6152
+ # report_template: "string", # required
6153
+ # framework_arns: ["string"],
6154
+ # number_of_frameworks: 1,
6155
+ # },
6156
+ # idempotency_token: "string",
6157
+ # }
6158
+ #
6159
+ # @!attribute [rw] report_plan_name
6160
+ # The unique name of the report plan. This name is between 1 and 256
6161
+ # characters, starting with a letter, and consisting of letters (a-z,
6162
+ # A-Z), numbers (0-9), and underscores (\_).
6163
+ # @return [String]
6164
+ #
6165
+ # @!attribute [rw] report_plan_description
6166
+ # An optional description of the report plan with a maximum 1,024
6167
+ # characters.
6168
+ # @return [String]
6169
+ #
6170
+ # @!attribute [rw] report_delivery_channel
6171
+ # A structure that contains information about where to deliver your
6172
+ # reports, specifically your Amazon S3 bucket name, S3 key prefix, and
6173
+ # the formats of your reports.
6174
+ # @return [Types::ReportDeliveryChannel]
6175
+ #
6176
+ # @!attribute [rw] report_setting
6177
+ # Identifies the report template for the report. Reports are built
6178
+ # using a report template. The report templates are:
6179
+ #
6180
+ # `RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT |
6181
+ # BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT`
6182
+ #
6183
+ # If the report template is `RESOURCE_COMPLIANCE_REPORT` or
6184
+ # `CONTROL_COMPLIANCE_REPORT`, this API resource also describes the
6185
+ # report coverage by Amazon Web Services Regions and frameworks.
6186
+ # @return [Types::ReportSetting]
6187
+ #
6188
+ # @!attribute [rw] idempotency_token
6189
+ # A customer-chosen string that you can use to distinguish between
6190
+ # otherwise identical calls to `UpdateReportPlanInput`. Retrying a
6191
+ # successful request with the same idempotency token results in a
6192
+ # success message with no action taken.
6193
+ #
6194
+ # **A suitable default value is auto-generated.** You should normally
6195
+ # not need to pass this option.
6196
+ # @return [String]
6197
+ #
6198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateReportPlanInput AWS API Documentation
6199
+ #
6200
+ class UpdateReportPlanInput < Struct.new(
6201
+ :report_plan_name,
6202
+ :report_plan_description,
6203
+ :report_delivery_channel,
6204
+ :report_setting,
6205
+ :idempotency_token)
6206
+ SENSITIVE = []
6207
+ include Aws::Structure
6208
+ end
6209
+
6210
+ # @!attribute [rw] report_plan_name
6211
+ # The unique name of the report plan.
6212
+ # @return [String]
6213
+ #
6214
+ # @!attribute [rw] report_plan_arn
6215
+ # An Amazon Resource Name (ARN) that uniquely identifies a resource.
6216
+ # The format of the ARN depends on the resource type.
6217
+ # @return [String]
6218
+ #
6219
+ # @!attribute [rw] creation_time
6220
+ # The date and time that a report plan is created, in Unix format and
6221
+ # Coordinated Universal Time (UTC). The value of `CreationTime` is
6222
+ # accurate to milliseconds. For example, the value 1516925490.087
6223
+ # represents Friday, January 26, 2018 12:11:30.087 AM.
6224
+ # @return [Time]
6225
+ #
6226
+ # @see http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateReportPlanOutput AWS API Documentation
6227
+ #
6228
+ class UpdateReportPlanOutput < Struct.new(
6229
+ :report_plan_name,
6230
+ :report_plan_arn,
6231
+ :creation_time)
6232
+ SENSITIVE = []
6233
+ include Aws::Structure
6234
+ end
6235
+
4678
6236
  end
4679
6237
  end