/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.securityhub.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Contains detailed information about the recovery points stored in an Backup backup vault. A backup, or recovery * point, represents the content of a resource at a specified time. *

* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AwsBackupRecoveryPointDetails implements Serializable, Cloneable, StructuredPojo { /** *

* The size, in bytes, of a backup. *

*/ private Long backupSizeInBytes; /** *

* An Amazon Resource Name (ARN) that uniquely identifies a backup vault. *

*/ private String backupVaultArn; /** *

* The name of a logical container where backups are stored. Backup vaults are identified by names that are unique * to the Amazon Web Services account used to create them and the Amazon Web Services Region where they are created. * They consist of lowercase letters, numbers, and hyphens. *

*/ private String backupVaultName; /** *

* A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt * timestamps. *

*/ private AwsBackupRecoveryPointCalculatedLifecycleDetails calculatedLifecycle; /** *

* The date and time that a job to create a recovery point is completed, in Unix format and UTC. The value of * CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, * January 26, 2018 12:11:30.087 AM. *

*/ private String completionDate; /** *

* Contains identifying information about the creation of a recovery point, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan * that is used to create it. *

*/ private AwsBackupRecoveryPointCreatedByDetails createdBy; /** *

* The date and time a recovery point is created, in Unix format and UTC. The value of CreationDate is * accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 * AM. *

*/ private String creationDate; /** *

* The ARN for the server-side encryption key that is used to protect your backups. *

*/ private String encryptionKeyArn; /** *

* Specifies the IAM role ARN used to create the target recovery point *

*/ private String iamRoleArn; /** *

* A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or * FALSE if the recovery point is not encrypted. *

*/ private Boolean isEncrypted; /** *

* The date and time that a recovery point was last restored, in Unix format and UTC. The value of * LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM. *

*/ private String lastRestoreTime; /** *

* The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup * transitions and expires backups automatically according to the lifecycle that you define *

*/ private AwsBackupRecoveryPointLifecycleDetails lifecycle; /** *

* An ARN that uniquely identifies a recovery point. *

*/ private String recoveryPointArn; /** *

* An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type. *

*/ private String resourceArn; /** *

* The type of Amazon Web Services resource saved as a recovery point, such as an Amazon EBS volume or an Amazon RDS * database. *

*/ private String resourceType; /** *

* The ARN for the backup vault where the recovery point was originally copied from. If the recovery point is * restored to the same account, this value will be null. *

*/ private String sourceBackupVaultArn; /** *

* A status code specifying the state of the recovery point. Valid values are as follows: *

* */ private String status; /** *

* A message explaining the reason of the recovery point deletion failure. *

*/ private String statusMessage; /** *

* Specifies the storage class of the recovery point. Valid values are as follows: *

* */ private String storageClass; /** *

* The size, in bytes, of a backup. *

* * @param backupSizeInBytes * The size, in bytes, of a backup. */ public void setBackupSizeInBytes(Long backupSizeInBytes) { this.backupSizeInBytes = backupSizeInBytes; } /** *

* The size, in bytes, of a backup. *

* * @return The size, in bytes, of a backup. */ public Long getBackupSizeInBytes() { return this.backupSizeInBytes; } /** *

* The size, in bytes, of a backup. *

* * @param backupSizeInBytes * The size, in bytes, of a backup. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withBackupSizeInBytes(Long backupSizeInBytes) { setBackupSizeInBytes(backupSizeInBytes); return this; } /** *

* An Amazon Resource Name (ARN) that uniquely identifies a backup vault. *

* * @param backupVaultArn * An Amazon Resource Name (ARN) that uniquely identifies a backup vault. */ public void setBackupVaultArn(String backupVaultArn) { this.backupVaultArn = backupVaultArn; } /** *

* An Amazon Resource Name (ARN) that uniquely identifies a backup vault. *

* * @return An Amazon Resource Name (ARN) that uniquely identifies a backup vault. */ public String getBackupVaultArn() { return this.backupVaultArn; } /** *

* An Amazon Resource Name (ARN) that uniquely identifies a backup vault. *

* * @param backupVaultArn * An Amazon Resource Name (ARN) that uniquely identifies a backup vault. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withBackupVaultArn(String backupVaultArn) { setBackupVaultArn(backupVaultArn); return this; } /** *

* The name of a logical container where backups are stored. Backup vaults are identified by names that are unique * to the Amazon Web Services account used to create them and the Amazon Web Services Region where they are created. * They consist of lowercase letters, numbers, and hyphens. *

* * @param backupVaultName * The name of a logical container where backups are stored. Backup vaults are identified by names that are * unique to the Amazon Web Services account used to create them and the Amazon Web Services Region where * they are created. They consist of lowercase letters, numbers, and hyphens. */ public void setBackupVaultName(String backupVaultName) { this.backupVaultName = backupVaultName; } /** *

* The name of a logical container where backups are stored. Backup vaults are identified by names that are unique * to the Amazon Web Services account used to create them and the Amazon Web Services Region where they are created. * They consist of lowercase letters, numbers, and hyphens. *

* * @return The name of a logical container where backups are stored. Backup vaults are identified by names that are * unique to the Amazon Web Services account used to create them and the Amazon Web Services Region where * they are created. They consist of lowercase letters, numbers, and hyphens. */ public String getBackupVaultName() { return this.backupVaultName; } /** *

* The name of a logical container where backups are stored. Backup vaults are identified by names that are unique * to the Amazon Web Services account used to create them and the Amazon Web Services Region where they are created. * They consist of lowercase letters, numbers, and hyphens. *

* * @param backupVaultName * The name of a logical container where backups are stored. Backup vaults are identified by names that are * unique to the Amazon Web Services account used to create them and the Amazon Web Services Region where * they are created. They consist of lowercase letters, numbers, and hyphens. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withBackupVaultName(String backupVaultName) { setBackupVaultName(backupVaultName); return this; } /** *

* A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt * timestamps. *

* * @param calculatedLifecycle * A CalculatedLifecycle object containing DeleteAt and * MoveToColdStorageAt timestamps. */ public void setCalculatedLifecycle(AwsBackupRecoveryPointCalculatedLifecycleDetails calculatedLifecycle) { this.calculatedLifecycle = calculatedLifecycle; } /** *

* A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt * timestamps. *

* * @return A CalculatedLifecycle object containing DeleteAt and * MoveToColdStorageAt timestamps. */ public AwsBackupRecoveryPointCalculatedLifecycleDetails getCalculatedLifecycle() { return this.calculatedLifecycle; } /** *

* A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt * timestamps. *

* * @param calculatedLifecycle * A CalculatedLifecycle object containing DeleteAt and * MoveToColdStorageAt timestamps. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withCalculatedLifecycle(AwsBackupRecoveryPointCalculatedLifecycleDetails calculatedLifecycle) { setCalculatedLifecycle(calculatedLifecycle); return this; } /** *

* The date and time that a job to create a recovery point is completed, in Unix format and UTC. The value of * CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, * January 26, 2018 12:11:30.087 AM. *

* * @param completionDate * The date and time that a job to create a recovery point is completed, in Unix format and UTC. The value of * CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM. */ public void setCompletionDate(String completionDate) { this.completionDate = completionDate; } /** *

* The date and time that a job to create a recovery point is completed, in Unix format and UTC. The value of * CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, * January 26, 2018 12:11:30.087 AM. *

* * @return The date and time that a job to create a recovery point is completed, in Unix format and UTC. The value * of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 * represents Friday, January 26, 2018 12:11:30.087 AM. */ public String getCompletionDate() { return this.completionDate; } /** *

* The date and time that a job to create a recovery point is completed, in Unix format and UTC. The value of * CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, * January 26, 2018 12:11:30.087 AM. *

* * @param completionDate * The date and time that a job to create a recovery point is completed, in Unix format and UTC. The value of * CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withCompletionDate(String completionDate) { setCompletionDate(completionDate); return this; } /** *

* Contains identifying information about the creation of a recovery point, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan * that is used to create it. *

* * @param createdBy * Contains identifying information about the creation of a recovery point, including the * BackupPlanArn, BackupPlanId, BackupPlanVersion, and * BackupRuleId of the backup plan that is used to create it. */ public void setCreatedBy(AwsBackupRecoveryPointCreatedByDetails createdBy) { this.createdBy = createdBy; } /** *

* Contains identifying information about the creation of a recovery point, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan * that is used to create it. *

* * @return Contains identifying information about the creation of a recovery point, including the * BackupPlanArn, BackupPlanId, BackupPlanVersion, and * BackupRuleId of the backup plan that is used to create it. */ public AwsBackupRecoveryPointCreatedByDetails getCreatedBy() { return this.createdBy; } /** *

* Contains identifying information about the creation of a recovery point, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan * that is used to create it. *

* * @param createdBy * Contains identifying information about the creation of a recovery point, including the * BackupPlanArn, BackupPlanId, BackupPlanVersion, and * BackupRuleId of the backup plan that is used to create it. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withCreatedBy(AwsBackupRecoveryPointCreatedByDetails createdBy) { setCreatedBy(createdBy); return this; } /** *

* The date and time a recovery point is created, in Unix format and UTC. The value of CreationDate is * accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 * AM. *

* * @param creationDate * The date and time a recovery point is created, in Unix format and UTC. The value of * CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM. */ public void setCreationDate(String creationDate) { this.creationDate = creationDate; } /** *

* The date and time a recovery point is created, in Unix format and UTC. The value of CreationDate is * accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 * AM. *

* * @return The date and time a recovery point is created, in Unix format and UTC. The value of * CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM. */ public String getCreationDate() { return this.creationDate; } /** *

* The date and time a recovery point is created, in Unix format and UTC. The value of CreationDate is * accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 * AM. *

* * @param creationDate * The date and time a recovery point is created, in Unix format and UTC. The value of * CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withCreationDate(String creationDate) { setCreationDate(creationDate); return this; } /** *

* The ARN for the server-side encryption key that is used to protect your backups. *

* * @param encryptionKeyArn * The ARN for the server-side encryption key that is used to protect your backups. */ public void setEncryptionKeyArn(String encryptionKeyArn) { this.encryptionKeyArn = encryptionKeyArn; } /** *

* The ARN for the server-side encryption key that is used to protect your backups. *

* * @return The ARN for the server-side encryption key that is used to protect your backups. */ public String getEncryptionKeyArn() { return this.encryptionKeyArn; } /** *

* The ARN for the server-side encryption key that is used to protect your backups. *

* * @param encryptionKeyArn * The ARN for the server-side encryption key that is used to protect your backups. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withEncryptionKeyArn(String encryptionKeyArn) { setEncryptionKeyArn(encryptionKeyArn); return this; } /** *

* Specifies the IAM role ARN used to create the target recovery point *

* * @param iamRoleArn * Specifies the IAM role ARN used to create the target recovery point */ public void setIamRoleArn(String iamRoleArn) { this.iamRoleArn = iamRoleArn; } /** *

* Specifies the IAM role ARN used to create the target recovery point *

* * @return Specifies the IAM role ARN used to create the target recovery point */ public String getIamRoleArn() { return this.iamRoleArn; } /** *

* Specifies the IAM role ARN used to create the target recovery point *

* * @param iamRoleArn * Specifies the IAM role ARN used to create the target recovery point * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withIamRoleArn(String iamRoleArn) { setIamRoleArn(iamRoleArn); return this; } /** *

* A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or * FALSE if the recovery point is not encrypted. *

* * @param isEncrypted * A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or * FALSE if the recovery point is not encrypted. */ public void setIsEncrypted(Boolean isEncrypted) { this.isEncrypted = isEncrypted; } /** *

* A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or * FALSE if the recovery point is not encrypted. *

* * @return A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or * FALSE if the recovery point is not encrypted. */ public Boolean getIsEncrypted() { return this.isEncrypted; } /** *

* A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or * FALSE if the recovery point is not encrypted. *

* * @param isEncrypted * A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or * FALSE if the recovery point is not encrypted. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withIsEncrypted(Boolean isEncrypted) { setIsEncrypted(isEncrypted); return this; } /** *

* A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or * FALSE if the recovery point is not encrypted. *

* * @return A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or * FALSE if the recovery point is not encrypted. */ public Boolean isEncrypted() { return this.isEncrypted; } /** *

* The date and time that a recovery point was last restored, in Unix format and UTC. The value of * LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM. *

* * @param lastRestoreTime * The date and time that a recovery point was last restored, in Unix format and UTC. The value of * LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM. */ public void setLastRestoreTime(String lastRestoreTime) { this.lastRestoreTime = lastRestoreTime; } /** *

* The date and time that a recovery point was last restored, in Unix format and UTC. The value of * LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM. *

* * @return The date and time that a recovery point was last restored, in Unix format and UTC. The value of * LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 * represents Friday, January 26, 2018 12:11:30.087 AM. */ public String getLastRestoreTime() { return this.lastRestoreTime; } /** *

* The date and time that a recovery point was last restored, in Unix format and UTC. The value of * LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM. *

* * @param lastRestoreTime * The date and time that a recovery point was last restored, in Unix format and UTC. The value of * LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withLastRestoreTime(String lastRestoreTime) { setLastRestoreTime(lastRestoreTime); return this; } /** *

* The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup * transitions and expires backups automatically according to the lifecycle that you define *

* * @param lifecycle * The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. * Backup transitions and expires backups automatically according to the lifecycle that you define */ public void setLifecycle(AwsBackupRecoveryPointLifecycleDetails lifecycle) { this.lifecycle = lifecycle; } /** *

* The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup * transitions and expires backups automatically according to the lifecycle that you define *

* * @return The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. * Backup transitions and expires backups automatically according to the lifecycle that you define */ public AwsBackupRecoveryPointLifecycleDetails getLifecycle() { return this.lifecycle; } /** *

* The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup * transitions and expires backups automatically according to the lifecycle that you define *

* * @param lifecycle * The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. * Backup transitions and expires backups automatically according to the lifecycle that you define * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withLifecycle(AwsBackupRecoveryPointLifecycleDetails lifecycle) { setLifecycle(lifecycle); return this; } /** *

* An ARN that uniquely identifies a recovery point. *

* * @param recoveryPointArn * An ARN that uniquely identifies a recovery point. */ public void setRecoveryPointArn(String recoveryPointArn) { this.recoveryPointArn = recoveryPointArn; } /** *

* An ARN that uniquely identifies a recovery point. *

* * @return An ARN that uniquely identifies a recovery point. */ public String getRecoveryPointArn() { return this.recoveryPointArn; } /** *

* An ARN that uniquely identifies a recovery point. *

* * @param recoveryPointArn * An ARN that uniquely identifies a recovery point. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withRecoveryPointArn(String recoveryPointArn) { setRecoveryPointArn(recoveryPointArn); return this; } /** *

* An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type. *

* * @param resourceArn * An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type. */ public void setResourceArn(String resourceArn) { this.resourceArn = resourceArn; } /** *

* An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type. *

* * @return An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type. */ public String getResourceArn() { return this.resourceArn; } /** *

* An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type. *

* * @param resourceArn * An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withResourceArn(String resourceArn) { setResourceArn(resourceArn); return this; } /** *

* The type of Amazon Web Services resource saved as a recovery point, such as an Amazon EBS volume or an Amazon RDS * database. *

* * @param resourceType * The type of Amazon Web Services resource saved as a recovery point, such as an Amazon EBS volume or an * Amazon RDS database. */ public void setResourceType(String resourceType) { this.resourceType = resourceType; } /** *

* The type of Amazon Web Services resource saved as a recovery point, such as an Amazon EBS volume or an Amazon RDS * database. *

* * @return The type of Amazon Web Services resource saved as a recovery point, such as an Amazon EBS volume or an * Amazon RDS database. */ public String getResourceType() { return this.resourceType; } /** *

* The type of Amazon Web Services resource saved as a recovery point, such as an Amazon EBS volume or an Amazon RDS * database. *

* * @param resourceType * The type of Amazon Web Services resource saved as a recovery point, such as an Amazon EBS volume or an * Amazon RDS database. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withResourceType(String resourceType) { setResourceType(resourceType); return this; } /** *

* The ARN for the backup vault where the recovery point was originally copied from. If the recovery point is * restored to the same account, this value will be null. *

* * @param sourceBackupVaultArn * The ARN for the backup vault where the recovery point was originally copied from. If the recovery point is * restored to the same account, this value will be null. */ public void setSourceBackupVaultArn(String sourceBackupVaultArn) { this.sourceBackupVaultArn = sourceBackupVaultArn; } /** *

* The ARN for the backup vault where the recovery point was originally copied from. If the recovery point is * restored to the same account, this value will be null. *

* * @return The ARN for the backup vault where the recovery point was originally copied from. If the recovery point * is restored to the same account, this value will be null. */ public String getSourceBackupVaultArn() { return this.sourceBackupVaultArn; } /** *

* The ARN for the backup vault where the recovery point was originally copied from. If the recovery point is * restored to the same account, this value will be null. *

* * @param sourceBackupVaultArn * The ARN for the backup vault where the recovery point was originally copied from. If the recovery point is * restored to the same account, this value will be null. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsBackupRecoveryPointDetails withSourceBackupVaultArn(String sourceBackupVaultArn) { setSourceBackupVaultArn(sourceBackupVaultArn); return this; } /** *

* A status code specifying the state of the recovery point. Valid values are as follows: *

* * * @param status * A status code specifying the state of the recovery point. Valid values are as follows:

*