1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// A list of backup options for each resource type.
10type AdvancedBackupSetting struct {
11
12	// Specifies the backup option for a selected resource. This option is only
13	// available for Windows VSS backup jobs. Valid values: Set to
14	// "WindowsVSS":"enabled" to enable the WindowsVSS backup option and create a VSS
15	// Windows backup. Set to "WindowsVSS":"disabled" to create a regular backup. The
16	// WindowsVSS option is not enabled by default. If you specify an invalid option,
17	// you get an InvalidParameterValueException exception. For more information about
18	// Windows VSS backups, see Creating a VSS-Enabled Windows Backup
19	// (https://docs.aws.amazon.com/aws-backup/latest/devguide/windows-backups.html).
20	BackupOptions map[string]string
21
22	// The type of AWS resource to be backed up. For VSS Windows backups, the only
23	// supported resource type is Amazon EC2. Valid values: EC2.
24	ResourceType *string
25}
26
27// Contains detailed information about a backup job.
28type BackupJob struct {
29
30	// The account ID that owns the backup job.
31	AccountId *string
32
33	// Uniquely identifies a request to AWS Backup to back up a resource.
34	BackupJobId *string
35
36	// Specifies the backup option for a selected resource. This option is only
37	// available for Windows VSS backup jobs. Valid values: Set to
38	// "WindowsVSS”:“enabled" to enable WindowsVSS backup option and create a VSS
39	// Windows backup. Set to “WindowsVSS”:”disabled” to create a regular backup. If
40	// you specify an invalid option, you get an InvalidParameterValueException
41	// exception.
42	BackupOptions map[string]string
43
44	// The size, in bytes, of a backup.
45	BackupSizeInBytes *int64
46
47	// Represents the type of backup for a backup job.
48	BackupType *string
49
50	// An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
51	// example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
52	BackupVaultArn *string
53
54	// The name of a logical container where backups are stored. Backup vaults are
55	// identified by names that are unique to the account used to create them and the
56	// AWS Region where they are created. They consist of lowercase letters, numbers,
57	// and hyphens.
58	BackupVaultName *string
59
60	// The size in bytes transferred to a backup vault at the time that the job status
61	// was queried.
62	BytesTransferred *int64
63
64	// The date and time a job to create a backup job is completed, in Unix format and
65	// Coordinated Universal Time (UTC). The value of CompletionDate is accurate to
66	// milliseconds. For example, the value 1516925490.087 represents Friday, January
67	// 26, 2018 12:11:30.087 AM.
68	CompletionDate *time.Time
69
70	// Contains identifying information about the creation of a backup job, including
71	// the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the
72	// backup plan used to create it.
73	CreatedBy *RecoveryPointCreator
74
75	// The date and time a backup job is created, in Unix format and Coordinated
76	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For
77	// example, the value 1516925490.087 represents Friday, January 26, 2018
78	// 12:11:30.087 AM.
79	CreationDate *time.Time
80
81	// The date and time a job to back up resources is expected to be completed, in
82	// Unix format and Coordinated Universal Time (UTC). The value of
83	// ExpectedCompletionDate is accurate to milliseconds. For example, the value
84	// 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
85	ExpectedCompletionDate *time.Time
86
87	// Specifies the IAM role ARN used to create the target recovery point; for
88	// example, arn:aws:iam::123456789012:role/S3Access.
89	IamRoleArn *string
90
91	// Contains an estimated percentage complete of a job at the time the job status
92	// was queried.
93	PercentDone *string
94
95	// An ARN that uniquely identifies a recovery point; for example,
96	// arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
97	RecoveryPointArn *string
98
99	// An ARN that uniquely identifies a resource. The format of the ARN depends on the
100	// resource type.
101	ResourceArn *string
102
103	// The type of AWS resource to be backed up; for example, an Amazon Elastic Block
104	// Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS)
105	// database. For VSS Windows backups, the only supported resource type is Amazon
106	// EC2.
107	ResourceType *string
108
109	// Specifies the time in Unix format and Coordinated Universal Time (UTC) when a
110	// backup job must be started before it is canceled. The value is calculated by
111	// adding the start window to the scheduled time. So if the scheduled time were
112	// 6:00 PM and the start window is 2 hours, the StartBy time would be 8:00 PM on
113	// the date specified. The value of StartBy is accurate to milliseconds. For
114	// example, the value 1516925490.087 represents Friday, January 26, 2018
115	// 12:11:30.087 AM.
116	StartBy *time.Time
117
118	// The current state of a resource recovery point.
119	State BackupJobState
120
121	// A detailed message explaining the status of the job to back up a resource.
122	StatusMessage *string
123}
124
125// Contains an optional backup plan display name and an array of BackupRule
126// objects, each of which specifies a backup rule. Each rule in a backup plan is a
127// separate scheduled task and can back up a different selection of AWS resources.
128type BackupPlan struct {
129
130	// The display name of a backup plan.
131	//
132	// This member is required.
133	BackupPlanName *string
134
135	// An array of BackupRule objects, each of which specifies a scheduled task that is
136	// used to back up a selection of resources.
137	//
138	// This member is required.
139	Rules []BackupRule
140
141	// Contains a list of BackupOptions for each resource type.
142	AdvancedBackupSettings []AdvancedBackupSetting
143}
144
145// Contains an optional backup plan display name and an array of BackupRule
146// objects, each of which specifies a backup rule. Each rule in a backup plan is a
147// separate scheduled task and can back up a different selection of AWS resources.
148type BackupPlanInput struct {
149
150	// The optional display name of a backup plan.
151	//
152	// This member is required.
153	BackupPlanName *string
154
155	// An array of BackupRule objects, each of which specifies a scheduled task that is
156	// used to back up a selection of resources.
157	//
158	// This member is required.
159	Rules []BackupRuleInput
160
161	// Specifies a list of BackupOptions for each resource type. These settings are
162	// only available for Windows VSS backup jobs.
163	AdvancedBackupSettings []AdvancedBackupSetting
164}
165
166// Contains metadata about a backup plan.
167type BackupPlansListMember struct {
168
169	// Contains a list of BackupOptions for a resource type.
170	AdvancedBackupSettings []AdvancedBackupSetting
171
172	// An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
173	// example,
174	// arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
175	BackupPlanArn *string
176
177	// Uniquely identifies a backup plan.
178	BackupPlanId *string
179
180	// The display name of a saved backup plan.
181	BackupPlanName *string
182
183	// The date and time a resource backup plan is created, in Unix format and
184	// Coordinated Universal Time (UTC). The value of CreationDate is accurate to
185	// milliseconds. For example, the value 1516925490.087 represents Friday, January
186	// 26, 2018 12:11:30.087 AM.
187	CreationDate *time.Time
188
189	// A unique string that identifies the request and allows failed requests to be
190	// retried without the risk of running the operation twice.
191	CreatorRequestId *string
192
193	// The date and time a backup plan is deleted, in Unix format and Coordinated
194	// Universal Time (UTC). The value of DeletionDate is accurate to milliseconds. For
195	// example, the value 1516925490.087 represents Friday, January 26, 2018
196	// 12:11:30.087 AM.
197	DeletionDate *time.Time
198
199	// The last time a job to back up resources was run with this rule. A date and
200	// time, in Unix format and Coordinated Universal Time (UTC). The value of
201	// LastExecutionDate is accurate to milliseconds. For example, the value
202	// 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
203	LastExecutionDate *time.Time
204
205	// Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
206	// 1,024 bytes long. Version IDs cannot be edited.
207	VersionId *string
208}
209
210// An object specifying metadata associated with a backup plan template.
211type BackupPlanTemplatesListMember struct {
212
213	// Uniquely identifies a stored backup plan template.
214	BackupPlanTemplateId *string
215
216	// The optional display name of a backup plan template.
217	BackupPlanTemplateName *string
218}
219
220// Specifies a scheduled task used to back up a selection of resources.
221type BackupRule struct {
222
223	// An optional display name for a backup rule.
224	//
225	// This member is required.
226	RuleName *string
227
228	// The name of a logical container where backups are stored. Backup vaults are
229	// identified by names that are unique to the account used to create them and the
230	// AWS Region where they are created. They consist of lowercase letters, numbers,
231	// and hyphens.
232	//
233	// This member is required.
234	TargetBackupVaultName *string
235
236	// A value in minutes after a backup job is successfully started before it must be
237	// completed or it will be canceled by AWS Backup. This value is optional.
238	CompletionWindowMinutes *int64
239
240	// An array of CopyAction objects, which contains the details of the copy
241	// operation.
242	CopyActions []CopyAction
243
244	// The lifecycle defines when a protected resource is transitioned to cold storage
245	// and when it expires. AWS Backup transitions and expires backups automatically
246	// according to the lifecycle that you define. Backups transitioned to cold storage
247	// must be stored in cold storage for a minimum of 90 days. Therefore, the “expire
248	// after days” setting must be 90 days greater than the “transition to cold after
249	// days” setting. The “transition to cold after days” setting cannot be changed
250	// after a backup has been transitioned to cold.
251	Lifecycle *Lifecycle
252
253	// An array of key-value pair strings that are assigned to resources that are
254	// associated with this rule when restored from backup.
255	RecoveryPointTags map[string]string
256
257	// Uniquely identifies a rule that is used to schedule the backup of a selection of
258	// resources.
259	RuleId *string
260
261	// A CRON expression specifying when AWS Backup initiates a backup job. For more
262	// information about cron expressions, see Schedule Expressions for Rules
263	// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html)
264	// in the Amazon CloudWatch Events User Guide.. Prior to specifying a value for
265	// this parameter, we recommend testing your cron expression using one of the many
266	// available cron generator and testing tools.
267	ScheduleExpression *string
268
269	// A value in minutes after a backup is scheduled before a job will be canceled if
270	// it doesn't start successfully. This value is optional.
271	StartWindowMinutes *int64
272}
273
274// Specifies a scheduled task used to back up a selection of resources.
275type BackupRuleInput struct {
276
277	// An optional display name for a backup rule.
278	//
279	// This member is required.
280	RuleName *string
281
282	// The name of a logical container where backups are stored. Backup vaults are
283	// identified by names that are unique to the account used to create them and the
284	// AWS Region where they are created. They consist of lowercase letters, numbers,
285	// and hyphens.
286	//
287	// This member is required.
288	TargetBackupVaultName *string
289
290	// A value in minutes after a backup job is successfully started before it must be
291	// completed or it will be canceled by AWS Backup. This value is optional.
292	CompletionWindowMinutes *int64
293
294	// An array of CopyAction objects, which contains the details of the copy
295	// operation.
296	CopyActions []CopyAction
297
298	// The lifecycle defines when a protected resource is transitioned to cold storage
299	// and when it expires. AWS Backup will transition and expire backups automatically
300	// according to the lifecycle that you define. Backups transitioned to cold storage
301	// must be stored in cold storage for a minimum of 90 days. Therefore, the “expire
302	// after days” setting must be 90 days greater than the “transition to cold after
303	// days” setting. The “transition to cold after days” setting cannot be changed
304	// after a backup has been transitioned to cold.
305	Lifecycle *Lifecycle
306
307	// To help organize your resources, you can assign your own metadata to the
308	// resources that you create. Each tag is a key-value pair.
309	RecoveryPointTags map[string]string
310
311	// A CRON expression specifying when AWS Backup initiates a backup job.
312	ScheduleExpression *string
313
314	// A value in minutes after a backup is scheduled before a job will be canceled if
315	// it doesn't start successfully. This value is optional.
316	StartWindowMinutes *int64
317}
318
319// Used to specify a set of resources to a backup plan.
320type BackupSelection struct {
321
322	// The ARN of the IAM role that AWS Backup uses to authenticate when backing up the
323	// target resource; for example, arn:aws:iam::123456789012:role/S3Access.
324	//
325	// This member is required.
326	IamRoleArn *string
327
328	// The display name of a resource selection document.
329	//
330	// This member is required.
331	SelectionName *string
332
333	// An array of conditions used to specify a set of resources to assign to a backup
334	// plan; for example, "StringEquals": {"ec2:ResourceTag/Department": "accounting".
335	ListOfTags []Condition
336
337	// An array of strings that contain Amazon Resource Names (ARNs) of resources to
338	// assign to a backup plan.
339	Resources []string
340}
341
342// Contains metadata about a BackupSelection object.
343type BackupSelectionsListMember struct {
344
345	// Uniquely identifies a backup plan.
346	BackupPlanId *string
347
348	// The date and time a backup plan is created, in Unix format and Coordinated
349	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For
350	// example, the value 1516925490.087 represents Friday, January 26, 2018
351	// 12:11:30.087 AM.
352	CreationDate *time.Time
353
354	// A unique string that identifies the request and allows failed requests to be
355	// retried without the risk of running the operation twice.
356	CreatorRequestId *string
357
358	// Specifies the IAM role Amazon Resource Name (ARN) to create the target recovery
359	// point; for example, arn:aws:iam::123456789012:role/S3Access.
360	IamRoleArn *string
361
362	// Uniquely identifies a request to assign a set of resources to a backup plan.
363	SelectionId *string
364
365	// The display name of a resource selection document.
366	SelectionName *string
367}
368
369// Contains metadata about a backup vault.
370type BackupVaultListMember struct {
371
372	// An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
373	// example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
374	BackupVaultArn *string
375
376	// The name of a logical container where backups are stored. Backup vaults are
377	// identified by names that are unique to the account used to create them and the
378	// AWS Region where they are created. They consist of lowercase letters, numbers,
379	// and hyphens.
380	BackupVaultName *string
381
382	// The date and time a resource backup is created, in Unix format and Coordinated
383	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For
384	// example, the value 1516925490.087 represents Friday, January 26, 2018
385	// 12:11:30.087 AM.
386	CreationDate *time.Time
387
388	// A unique string that identifies the request and allows failed requests to be
389	// retried without the risk of running the operation twice.
390	CreatorRequestId *string
391
392	// The server-side encryption key that is used to protect your backups; for
393	// example,
394	// arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
395	EncryptionKeyArn *string
396
397	// The number of recovery points that are stored in a backup vault.
398	NumberOfRecoveryPoints int64
399}
400
401// Contains DeleteAt and MoveToColdStorageAt timestamps, which are used to specify
402// a lifecycle for a recovery point. The lifecycle defines when a protected
403// resource is transitioned to cold storage and when it expires. AWS Backup
404// transitions and expires backups automatically according to the lifecycle that
405// you define. Backups transitioned to cold storage must be stored in cold storage
406// for a minimum of 90 days. Therefore, the “expire after days” setting must be 90
407// days greater than the “transition to cold after days” setting. The “transition
408// to cold after days” setting cannot be changed after a backup has been
409// transitioned to cold.
410type CalculatedLifecycle struct {
411
412	// A timestamp that specifies when to delete a recovery point.
413	DeleteAt *time.Time
414
415	// A timestamp that specifies when to transition a recovery point to cold storage.
416	MoveToColdStorageAt *time.Time
417}
418
419// Contains an array of triplets made up of a condition type (such as
420// StringEquals), a key, and a value. Conditions are used to filter resources in a
421// selection that is assigned to a backup plan.
422type Condition struct {
423
424	// The key in a key-value pair. For example, in "ec2:ResourceTag/Department":
425	// "accounting", "ec2:ResourceTag/Department" is the key.
426	//
427	// This member is required.
428	ConditionKey *string
429
430	// An operation, such as StringEquals, that is applied to a key-value pair used to
431	// filter resources in a selection.
432	//
433	// This member is required.
434	ConditionType ConditionType
435
436	// The value in a key-value pair. For example, in "ec2:ResourceTag/Department":
437	// "accounting", "accounting" is the value.
438	//
439	// This member is required.
440	ConditionValue *string
441}
442
443// The details of the copy operation.
444type CopyAction struct {
445
446	// An Amazon Resource Name (ARN) that uniquely identifies the destination backup
447	// vault for the copied backup. For example,
448	// arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
449	//
450	// This member is required.
451	DestinationBackupVaultArn *string
452
453	// Contains an array of Transition objects specifying how long in days before a
454	// recovery point transitions to cold storage or is deleted. Backups transitioned
455	// to cold storage must be stored in cold storage for a minimum of 90 days.
456	// Therefore, on the console, the “expire after days” setting must be 90 days
457	// greater than the “transition to cold after days” setting. The “transition to
458	// cold after days” setting cannot be changed after a backup has been transitioned
459	// to cold.
460	Lifecycle *Lifecycle
461}
462
463// Contains detailed information about a copy job.
464type CopyJob struct {
465
466	// The account ID that owns the copy job.
467	AccountId *string
468
469	// The size, in bytes, of a copy job.
470	BackupSizeInBytes *int64
471
472	// The date and time a copy job is completed, in Unix format and Coordinated
473	// Universal Time (UTC). The value of CompletionDate is accurate to milliseconds.
474	// For example, the value 1516925490.087 represents Friday, January 26, 2018
475	// 12:11:30.087 AM.
476	CompletionDate *time.Time
477
478	// Uniquely identifies a copy job.
479	CopyJobId *string
480
481	// Contains information about the backup plan and rule that AWS Backup used to
482	// initiate the recovery point backup.
483	CreatedBy *RecoveryPointCreator
484
485	// The date and time a copy job is created, in Unix format and Coordinated
486	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For
487	// example, the value 1516925490.087 represents Friday, January 26, 2018
488	// 12:11:30.087 AM.
489	CreationDate *time.Time
490
491	// An Amazon Resource Name (ARN) that uniquely identifies a destination copy vault;
492	// for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
493	DestinationBackupVaultArn *string
494
495	// An ARN that uniquely identifies a destination recovery point; for example,
496	// arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
497	DestinationRecoveryPointArn *string
498
499	// Specifies the IAM role ARN used to copy the target recovery point; for example,
500	// arn:aws:iam::123456789012:role/S3Access.
501	IamRoleArn *string
502
503	// The AWS resource to be copied; for example, an Amazon Elastic Block Store
504	// (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS)
505	// database.
506	ResourceArn *string
507
508	// The type of AWS resource to be copied; for example, an Amazon Elastic Block
509	// Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS)
510	// database.
511	ResourceType *string
512
513	// An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; for
514	// example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
515	SourceBackupVaultArn *string
516
517	// An ARN that uniquely identifies a source recovery point; for example,
518	// arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
519	SourceRecoveryPointArn *string
520
521	// The current state of a copy job.
522	State CopyJobState
523
524	// A detailed message explaining the status of the job to copy a resource.
525	StatusMessage *string
526}
527
528// Contains an array of Transition objects specifying how long in days before a
529// recovery point transitions to cold storage or is deleted. Backups transitioned
530// to cold storage must be stored in cold storage for a minimum of 90 days.
531// Therefore, on the console, the “expire after days” setting must be 90 days
532// greater than the “transition to cold after days” setting. The “transition to
533// cold after days” setting cannot be changed after a backup has been transitioned
534// to cold.
535type Lifecycle struct {
536
537	// Specifies the number of days after creation that a recovery point is deleted.
538	// Must be greater than 90 days plus MoveToColdStorageAfterDays.
539	DeleteAfterDays *int64
540
541	// Specifies the number of days after creation that a recovery point is moved to
542	// cold storage.
543	MoveToColdStorageAfterDays *int64
544}
545
546// A structure that contains information about a backed-up resource.
547type ProtectedResource struct {
548
549	// The date and time a resource was last backed up, in Unix format and Coordinated
550	// Universal Time (UTC). The value of LastBackupTime is accurate to milliseconds.
551	// For example, the value 1516925490.087 represents Friday, January 26, 2018
552	// 12:11:30.087 AM.
553	LastBackupTime *time.Time
554
555	// An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of
556	// the ARN depends on the resource type.
557	ResourceArn *string
558
559	// The type of AWS resource; for example, an Amazon Elastic Block Store (Amazon
560	// EBS) volume or an Amazon Relational Database Service (Amazon RDS) database. For
561	// VSS Windows backups, the only supported resource type is Amazon EC2.
562	ResourceType *string
563}
564
565// Contains detailed information about the recovery points stored in a backup
566// vault.
567type RecoveryPointByBackupVault struct {
568
569	// The size, in bytes, of a backup.
570	BackupSizeInBytes *int64
571
572	// An ARN that uniquely identifies a backup vault; for example,
573	// arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
574	BackupVaultArn *string
575
576	// The name of a logical container where backups are stored. Backup vaults are
577	// identified by names that are unique to the account used to create them and the
578	// AWS Region where they are created. They consist of lowercase letters, numbers,
579	// and hyphens.
580	BackupVaultName *string
581
582	// A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt
583	// timestamps.
584	CalculatedLifecycle *CalculatedLifecycle
585
586	// The date and time a job to restore a recovery point is completed, in Unix format
587	// and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to
588	// milliseconds. For example, the value 1516925490.087 represents Friday, January
589	// 26, 2018 12:11:30.087 AM.
590	CompletionDate *time.Time
591
592	// Contains identifying information about the creation of a recovery point,
593	// including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId
594	// of the backup plan that is used to create it.
595	CreatedBy *RecoveryPointCreator
596
597	// The date and time a recovery point is created, in Unix format and Coordinated
598	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For
599	// example, the value 1516925490.087 represents Friday, January 26, 2018
600	// 12:11:30.087 AM.
601	CreationDate *time.Time
602
603	// The server-side encryption key that is used to protect your backups; for
604	// example,
605	// arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
606	EncryptionKeyArn *string
607
608	// Specifies the IAM role ARN used to create the target recovery point; for
609	// example, arn:aws:iam::123456789012:role/S3Access.
610	IamRoleArn *string
611
612	// A Boolean value that is returned as TRUE if the specified recovery point is
613	// encrypted, or FALSE if the recovery point is not encrypted.
614	IsEncrypted bool
615
616	// The date and time a recovery point was last restored, in Unix format and
617	// Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate to
618	// milliseconds. For example, the value 1516925490.087 represents Friday, January
619	// 26, 2018 12:11:30.087 AM.
620	LastRestoreTime *time.Time
621
622	// The lifecycle defines when a protected resource is transitioned to cold storage
623	// and when it expires. AWS Backup transitions and expires backups automatically
624	// according to the lifecycle that you define. Backups transitioned to cold storage
625	// must be stored in cold storage for a minimum of 90 days. Therefore, the “expire
626	// after days” setting must be 90 days greater than the “transition to cold after
627	// days” setting. The “transition to cold after days” setting cannot be changed
628	// after a backup has been transitioned to cold.
629	Lifecycle *Lifecycle
630
631	// An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for
632	// example,
633	// arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
634	RecoveryPointArn *string
635
636	// An ARN that uniquely identifies a resource. The format of the ARN depends on the
637	// resource type.
638	ResourceArn *string
639
640	// The type of AWS resource saved as a recovery point; for example, an Amazon
641	// Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service
642	// (Amazon RDS) database. For VSS Windows backups, the only supported resource type
643	// is Amazon EC2.
644	ResourceType *string
645
646	// The backup vault where the recovery point was originally copied from. If the
647	// recovery point is restored to the same account this value will be null.
648	SourceBackupVaultArn *string
649
650	// A status code specifying the state of the recovery point.
651	Status RecoveryPointStatus
652}
653
654// Contains detailed information about a saved recovery point.
655type RecoveryPointByResource struct {
656
657	// The size, in bytes, of a backup.
658	BackupSizeBytes *int64
659
660	// The name of a logical container where backups are stored. Backup vaults are
661	// identified by names that are unique to the account used to create them and the
662	// AWS Region where they are created. They consist of lowercase letters, numbers,
663	// and hyphens.
664	BackupVaultName *string
665
666	// The date and time a recovery point is created, in Unix format and Coordinated
667	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For
668	// example, the value 1516925490.087 represents Friday, January 26, 2018
669	// 12:11:30.087 AM.
670	CreationDate *time.Time
671
672	// The server-side encryption key that is used to protect your backups; for
673	// example,
674	// arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
675	EncryptionKeyArn *string
676
677	// An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for
678	// example,
679	// arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
680	RecoveryPointArn *string
681
682	// A status code specifying the state of the recovery point.
683	Status RecoveryPointStatus
684}
685
686// Contains information about the backup plan and rule that AWS Backup used to
687// initiate the recovery point backup.
688type RecoveryPointCreator struct {
689
690	// An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
691	// example,
692	// arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
693	BackupPlanArn *string
694
695	// Uniquely identifies a backup plan.
696	BackupPlanId *string
697
698	// Version IDs are unique, randomly generated, Unicode, UTF-8 encoded strings that
699	// are at most 1,024 bytes long. They cannot be edited.
700	BackupPlanVersion *string
701
702	// Uniquely identifies a rule used to schedule the backup of a selection of
703	// resources.
704	BackupRuleId *string
705}
706
707// Contains metadata about a restore job.
708type RestoreJobsListMember struct {
709
710	// The account ID that owns the restore job.
711	AccountId *string
712
713	// The size, in bytes, of the restored resource.
714	BackupSizeInBytes *int64
715
716	// The date and time a job to restore a recovery point is completed, in Unix format
717	// and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to
718	// milliseconds. For example, the value 1516925490.087 represents Friday, January
719	// 26, 2018 12:11:30.087 AM.
720	CompletionDate *time.Time
721
722	// An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of
723	// the ARN depends on the resource type.
724	CreatedResourceArn *string
725
726	// The date and time a restore job is created, in Unix format and Coordinated
727	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For
728	// example, the value 1516925490.087 represents Friday, January 26, 2018
729	// 12:11:30.087 AM.
730	CreationDate *time.Time
731
732	// The amount of time in minutes that a job restoring a recovery point is expected
733	// to take.
734	ExpectedCompletionTimeMinutes *int64
735
736	// Specifies the IAM role ARN used to create the target recovery point; for
737	// example, arn:aws:iam::123456789012:role/S3Access.
738	IamRoleArn *string
739
740	// Contains an estimated percentage complete of a job at the time the job status
741	// was queried.
742	PercentDone *string
743
744	// An ARN that uniquely identifies a recovery point; for example,
745	// arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
746	RecoveryPointArn *string
747
748	// The resource type of the listed restore jobs; for example, an Amazon Elastic
749	// Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon
750	// RDS) database. For VSS Windows backups, the only supported resource type is
751	// Amazon EC2.
752	ResourceType *string
753
754	// Uniquely identifies the job that restores a recovery point.
755	RestoreJobId *string
756
757	// A status code specifying the state of the job initiated by AWS Backup to restore
758	// a recovery point.
759	Status RestoreJobStatus
760
761	// A detailed message explaining the status of the job to restore a recovery point.
762	StatusMessage *string
763}
764