/* * 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.docdb.model; import java.io.Serializable; import javax.annotation.Generated; /** *

* Detailed information about an instance. *

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

* Contains a user-provided database identifier. This identifier is the unique key that identifies an instance. *

*/ private String dBInstanceIdentifier; /** *

* Contains the name of the compute and memory capacity class of the instance. *

*/ private String dBInstanceClass; /** *

* Provides the name of the database engine to be used for this instance. *

*/ private String engine; /** *

* Specifies the current state of this database. *

*/ private String dBInstanceStatus; /** *

* Specifies the connection endpoint. *

*/ private Endpoint endpoint; /** *

* Provides the date and time that the instance was created. *

*/ private java.util.Date instanceCreateTime; /** *

* Specifies the daily time range during which automated backups are created if automated backups are enabled, as * determined by the BackupRetentionPeriod. *

*/ private String preferredBackupWindow; /** *

* Specifies the number of days for which automatic snapshots are retained. *

*/ private Integer backupRetentionPeriod; /** *

* Provides a list of VPC security group elements that the instance belongs to. *

*/ private java.util.List vpcSecurityGroups; /** *

* Specifies the name of the Availability Zone that the instance is located in. *

*/ private String availabilityZone; /** *

* Specifies information on the subnet group that is associated with the instance, including the name, description, * and subnets in the subnet group. *

*/ private DBSubnetGroup dBSubnetGroup; /** *

* Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). *

*/ private String preferredMaintenanceWindow; /** *

* Specifies that changes to the instance are pending. This element is included only when changes are pending. * Specific changes are identified by subelements. *

*/ private PendingModifiedValues pendingModifiedValues; /** *

* Specifies the latest time to which a database can be restored with point-in-time restore. *

*/ private java.util.Date latestRestorableTime; /** *

* Indicates the database engine version. *

*/ private String engineVersion; /** *

* Does not apply. This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor * version upgrades regardless of the value set. *

*/ private Boolean autoMinorVersionUpgrade; /** *

* Not supported. Amazon DocumentDB does not currently support public endpoints. The value of * PubliclyAccessible is always false. *

*/ private Boolean publiclyAccessible; /** *

* The status of a read replica. If the instance is not a read replica, this is blank. *

*/ private java.util.List statusInfos; /** *

* Contains the name of the cluster that the instance is a member of if the instance is a member of a cluster. *

*/ private String dBClusterIdentifier; /** *

* Specifies whether or not the instance is encrypted. *

*/ private Boolean storageEncrypted; /** *

* If StorageEncrypted is true, the KMS key identifier for the encrypted instance. *

*/ private String kmsKeyId; /** *

* The Amazon Web Services Region-unique, immutable identifier for the instance. This identifier is found in * CloudTrail log entries whenever the KMS key for the instance is accessed. *

*/ private String dbiResourceId; /** *

* The identifier of the CA certificate for this DB instance. *

*/ private String cACertificateIdentifier; /** *

* A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By default, * tags are not copied. *

*/ private Boolean copyTagsToSnapshot; /** *

* A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after * a failure of the existing primary instance. *

*/ private Integer promotionTier; /** *

* The Amazon Resource Name (ARN) for the instance. *

*/ private String dBInstanceArn; /** *

* A list of log types that this instance is configured to export to CloudWatch Logs. *

*/ private java.util.List enabledCloudwatchLogsExports; /** *

* Contains a user-provided database identifier. This identifier is the unique key that identifies an instance. *

* * @param dBInstanceIdentifier * Contains a user-provided database identifier. This identifier is the unique key that identifies an * instance. */ public void setDBInstanceIdentifier(String dBInstanceIdentifier) { this.dBInstanceIdentifier = dBInstanceIdentifier; } /** *

* Contains a user-provided database identifier. This identifier is the unique key that identifies an instance. *

* * @return Contains a user-provided database identifier. This identifier is the unique key that identifies an * instance. */ public String getDBInstanceIdentifier() { return this.dBInstanceIdentifier; } /** *

* Contains a user-provided database identifier. This identifier is the unique key that identifies an instance. *

* * @param dBInstanceIdentifier * Contains a user-provided database identifier. This identifier is the unique key that identifies an * instance. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withDBInstanceIdentifier(String dBInstanceIdentifier) { setDBInstanceIdentifier(dBInstanceIdentifier); return this; } /** *

* Contains the name of the compute and memory capacity class of the instance. *

* * @param dBInstanceClass * Contains the name of the compute and memory capacity class of the instance. */ public void setDBInstanceClass(String dBInstanceClass) { this.dBInstanceClass = dBInstanceClass; } /** *

* Contains the name of the compute and memory capacity class of the instance. *

* * @return Contains the name of the compute and memory capacity class of the instance. */ public String getDBInstanceClass() { return this.dBInstanceClass; } /** *

* Contains the name of the compute and memory capacity class of the instance. *

* * @param dBInstanceClass * Contains the name of the compute and memory capacity class of the instance. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withDBInstanceClass(String dBInstanceClass) { setDBInstanceClass(dBInstanceClass); return this; } /** *

* Provides the name of the database engine to be used for this instance. *

* * @param engine * Provides the name of the database engine to be used for this instance. */ public void setEngine(String engine) { this.engine = engine; } /** *

* Provides the name of the database engine to be used for this instance. *

* * @return Provides the name of the database engine to be used for this instance. */ public String getEngine() { return this.engine; } /** *

* Provides the name of the database engine to be used for this instance. *

* * @param engine * Provides the name of the database engine to be used for this instance. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withEngine(String engine) { setEngine(engine); return this; } /** *

* Specifies the current state of this database. *

* * @param dBInstanceStatus * Specifies the current state of this database. */ public void setDBInstanceStatus(String dBInstanceStatus) { this.dBInstanceStatus = dBInstanceStatus; } /** *

* Specifies the current state of this database. *

* * @return Specifies the current state of this database. */ public String getDBInstanceStatus() { return this.dBInstanceStatus; } /** *

* Specifies the current state of this database. *

* * @param dBInstanceStatus * Specifies the current state of this database. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withDBInstanceStatus(String dBInstanceStatus) { setDBInstanceStatus(dBInstanceStatus); return this; } /** *

* Specifies the connection endpoint. *

* * @param endpoint * Specifies the connection endpoint. */ public void setEndpoint(Endpoint endpoint) { this.endpoint = endpoint; } /** *

* Specifies the connection endpoint. *

* * @return Specifies the connection endpoint. */ public Endpoint getEndpoint() { return this.endpoint; } /** *

* Specifies the connection endpoint. *

* * @param endpoint * Specifies the connection endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withEndpoint(Endpoint endpoint) { setEndpoint(endpoint); return this; } /** *

* Provides the date and time that the instance was created. *

* * @param instanceCreateTime * Provides the date and time that the instance was created. */ public void setInstanceCreateTime(java.util.Date instanceCreateTime) { this.instanceCreateTime = instanceCreateTime; } /** *

* Provides the date and time that the instance was created. *

* * @return Provides the date and time that the instance was created. */ public java.util.Date getInstanceCreateTime() { return this.instanceCreateTime; } /** *

* Provides the date and time that the instance was created. *

* * @param instanceCreateTime * Provides the date and time that the instance was created. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withInstanceCreateTime(java.util.Date instanceCreateTime) { setInstanceCreateTime(instanceCreateTime); return this; } /** *

* Specifies the daily time range during which automated backups are created if automated backups are enabled, as * determined by the BackupRetentionPeriod. *

* * @param preferredBackupWindow * Specifies the daily time range during which automated backups are created if automated backups are * enabled, as determined by the BackupRetentionPeriod. */ public void setPreferredBackupWindow(String preferredBackupWindow) { this.preferredBackupWindow = preferredBackupWindow; } /** *

* Specifies the daily time range during which automated backups are created if automated backups are enabled, as * determined by the BackupRetentionPeriod. *

* * @return Specifies the daily time range during which automated backups are created if automated backups are * enabled, as determined by the BackupRetentionPeriod. */ public String getPreferredBackupWindow() { return this.preferredBackupWindow; } /** *

* Specifies the daily time range during which automated backups are created if automated backups are enabled, as * determined by the BackupRetentionPeriod. *

* * @param preferredBackupWindow * Specifies the daily time range during which automated backups are created if automated backups are * enabled, as determined by the BackupRetentionPeriod. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withPreferredBackupWindow(String preferredBackupWindow) { setPreferredBackupWindow(preferredBackupWindow); return this; } /** *

* Specifies the number of days for which automatic snapshots are retained. *

* * @param backupRetentionPeriod * Specifies the number of days for which automatic snapshots are retained. */ public void setBackupRetentionPeriod(Integer backupRetentionPeriod) { this.backupRetentionPeriod = backupRetentionPeriod; } /** *

* Specifies the number of days for which automatic snapshots are retained. *

* * @return Specifies the number of days for which automatic snapshots are retained. */ public Integer getBackupRetentionPeriod() { return this.backupRetentionPeriod; } /** *

* Specifies the number of days for which automatic snapshots are retained. *

* * @param backupRetentionPeriod * Specifies the number of days for which automatic snapshots are retained. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withBackupRetentionPeriod(Integer backupRetentionPeriod) { setBackupRetentionPeriod(backupRetentionPeriod); return this; } /** *

* Provides a list of VPC security group elements that the instance belongs to. *

* * @return Provides a list of VPC security group elements that the instance belongs to. */ public java.util.List getVpcSecurityGroups() { return vpcSecurityGroups; } /** *

* Provides a list of VPC security group elements that the instance belongs to. *

* * @param vpcSecurityGroups * Provides a list of VPC security group elements that the instance belongs to. */ public void setVpcSecurityGroups(java.util.Collection vpcSecurityGroups) { if (vpcSecurityGroups == null) { this.vpcSecurityGroups = null; return; } this.vpcSecurityGroups = new java.util.ArrayList(vpcSecurityGroups); } /** *

* Provides a list of VPC security group elements that the instance belongs to. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setVpcSecurityGroups(java.util.Collection)} or {@link #withVpcSecurityGroups(java.util.Collection)} if * you want to override the existing values. *

* * @param vpcSecurityGroups * Provides a list of VPC security group elements that the instance belongs to. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withVpcSecurityGroups(VpcSecurityGroupMembership... vpcSecurityGroups) { if (this.vpcSecurityGroups == null) { setVpcSecurityGroups(new java.util.ArrayList(vpcSecurityGroups.length)); } for (VpcSecurityGroupMembership ele : vpcSecurityGroups) { this.vpcSecurityGroups.add(ele); } return this; } /** *

* Provides a list of VPC security group elements that the instance belongs to. *

* * @param vpcSecurityGroups * Provides a list of VPC security group elements that the instance belongs to. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withVpcSecurityGroups(java.util.Collection vpcSecurityGroups) { setVpcSecurityGroups(vpcSecurityGroups); return this; } /** *

* Specifies the name of the Availability Zone that the instance is located in. *

* * @param availabilityZone * Specifies the name of the Availability Zone that the instance is located in. */ public void setAvailabilityZone(String availabilityZone) { this.availabilityZone = availabilityZone; } /** *

* Specifies the name of the Availability Zone that the instance is located in. *

* * @return Specifies the name of the Availability Zone that the instance is located in. */ public String getAvailabilityZone() { return this.availabilityZone; } /** *

* Specifies the name of the Availability Zone that the instance is located in. *

* * @param availabilityZone * Specifies the name of the Availability Zone that the instance is located in. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withAvailabilityZone(String availabilityZone) { setAvailabilityZone(availabilityZone); return this; } /** *

* Specifies information on the subnet group that is associated with the instance, including the name, description, * and subnets in the subnet group. *

* * @param dBSubnetGroup * Specifies information on the subnet group that is associated with the instance, including the name, * description, and subnets in the subnet group. */ public void setDBSubnetGroup(DBSubnetGroup dBSubnetGroup) { this.dBSubnetGroup = dBSubnetGroup; } /** *

* Specifies information on the subnet group that is associated with the instance, including the name, description, * and subnets in the subnet group. *

* * @return Specifies information on the subnet group that is associated with the instance, including the name, * description, and subnets in the subnet group. */ public DBSubnetGroup getDBSubnetGroup() { return this.dBSubnetGroup; } /** *

* Specifies information on the subnet group that is associated with the instance, including the name, description, * and subnets in the subnet group. *

* * @param dBSubnetGroup * Specifies information on the subnet group that is associated with the instance, including the name, * description, and subnets in the subnet group. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withDBSubnetGroup(DBSubnetGroup dBSubnetGroup) { setDBSubnetGroup(dBSubnetGroup); return this; } /** *

* Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). *

* * @param preferredMaintenanceWindow * Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time * (UTC). */ public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } /** *

* Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). *

* * @return Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time * (UTC). */ public String getPreferredMaintenanceWindow() { return this.preferredMaintenanceWindow; } /** *

* Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). *

* * @param preferredMaintenanceWindow * Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time * (UTC). * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withPreferredMaintenanceWindow(String preferredMaintenanceWindow) { setPreferredMaintenanceWindow(preferredMaintenanceWindow); return this; } /** *

* Specifies that changes to the instance are pending. This element is included only when changes are pending. * Specific changes are identified by subelements. *

* * @param pendingModifiedValues * Specifies that changes to the instance are pending. This element is included only when changes are * pending. Specific changes are identified by subelements. */ public void setPendingModifiedValues(PendingModifiedValues pendingModifiedValues) { this.pendingModifiedValues = pendingModifiedValues; } /** *

* Specifies that changes to the instance are pending. This element is included only when changes are pending. * Specific changes are identified by subelements. *

* * @return Specifies that changes to the instance are pending. This element is included only when changes are * pending. Specific changes are identified by subelements. */ public PendingModifiedValues getPendingModifiedValues() { return this.pendingModifiedValues; } /** *

* Specifies that changes to the instance are pending. This element is included only when changes are pending. * Specific changes are identified by subelements. *

* * @param pendingModifiedValues * Specifies that changes to the instance are pending. This element is included only when changes are * pending. Specific changes are identified by subelements. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withPendingModifiedValues(PendingModifiedValues pendingModifiedValues) { setPendingModifiedValues(pendingModifiedValues); return this; } /** *

* Specifies the latest time to which a database can be restored with point-in-time restore. *

* * @param latestRestorableTime * Specifies the latest time to which a database can be restored with point-in-time restore. */ public void setLatestRestorableTime(java.util.Date latestRestorableTime) { this.latestRestorableTime = latestRestorableTime; } /** *

* Specifies the latest time to which a database can be restored with point-in-time restore. *

* * @return Specifies the latest time to which a database can be restored with point-in-time restore. */ public java.util.Date getLatestRestorableTime() { return this.latestRestorableTime; } /** *

* Specifies the latest time to which a database can be restored with point-in-time restore. *

* * @param latestRestorableTime * Specifies the latest time to which a database can be restored with point-in-time restore. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withLatestRestorableTime(java.util.Date latestRestorableTime) { setLatestRestorableTime(latestRestorableTime); return this; } /** *

* Indicates the database engine version. *

* * @param engineVersion * Indicates the database engine version. */ public void setEngineVersion(String engineVersion) { this.engineVersion = engineVersion; } /** *

* Indicates the database engine version. *

* * @return Indicates the database engine version. */ public String getEngineVersion() { return this.engineVersion; } /** *

* Indicates the database engine version. *

* * @param engineVersion * Indicates the database engine version. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withEngineVersion(String engineVersion) { setEngineVersion(engineVersion); return this; } /** *

* Does not apply. This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor * version upgrades regardless of the value set. *

* * @param autoMinorVersionUpgrade * Does not apply. This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform * minor version upgrades regardless of the value set. */ public void setAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { this.autoMinorVersionUpgrade = autoMinorVersionUpgrade; } /** *

* Does not apply. This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor * version upgrades regardless of the value set. *

* * @return Does not apply. This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform * minor version upgrades regardless of the value set. */ public Boolean getAutoMinorVersionUpgrade() { return this.autoMinorVersionUpgrade; } /** *

* Does not apply. This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor * version upgrades regardless of the value set. *

* * @param autoMinorVersionUpgrade * Does not apply. This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform * minor version upgrades regardless of the value set. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) { setAutoMinorVersionUpgrade(autoMinorVersionUpgrade); return this; } /** *

* Does not apply. This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor * version upgrades regardless of the value set. *

* * @return Does not apply. This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform * minor version upgrades regardless of the value set. */ public Boolean isAutoMinorVersionUpgrade() { return this.autoMinorVersionUpgrade; } /** *

* Not supported. Amazon DocumentDB does not currently support public endpoints. The value of * PubliclyAccessible is always false. *

* * @param publiclyAccessible * Not supported. Amazon DocumentDB does not currently support public endpoints. The value of * PubliclyAccessible is always false. */ public void setPubliclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; } /** *

* Not supported. Amazon DocumentDB does not currently support public endpoints. The value of * PubliclyAccessible is always false. *

* * @return Not supported. Amazon DocumentDB does not currently support public endpoints. The value of * PubliclyAccessible is always false. */ public Boolean getPubliclyAccessible() { return this.publiclyAccessible; } /** *

* Not supported. Amazon DocumentDB does not currently support public endpoints. The value of * PubliclyAccessible is always false. *

* * @param publiclyAccessible * Not supported. Amazon DocumentDB does not currently support public endpoints. The value of * PubliclyAccessible is always false. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withPubliclyAccessible(Boolean publiclyAccessible) { setPubliclyAccessible(publiclyAccessible); return this; } /** *

* Not supported. Amazon DocumentDB does not currently support public endpoints. The value of * PubliclyAccessible is always false. *

* * @return Not supported. Amazon DocumentDB does not currently support public endpoints. The value of * PubliclyAccessible is always false. */ public Boolean isPubliclyAccessible() { return this.publiclyAccessible; } /** *

* The status of a read replica. If the instance is not a read replica, this is blank. *

* * @return The status of a read replica. If the instance is not a read replica, this is blank. */ public java.util.List getStatusInfos() { return statusInfos; } /** *

* The status of a read replica. If the instance is not a read replica, this is blank. *

* * @param statusInfos * The status of a read replica. If the instance is not a read replica, this is blank. */ public void setStatusInfos(java.util.Collection statusInfos) { if (statusInfos == null) { this.statusInfos = null; return; } this.statusInfos = new java.util.ArrayList(statusInfos); } /** *

* The status of a read replica. If the instance is not a read replica, this is blank. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setStatusInfos(java.util.Collection)} or {@link #withStatusInfos(java.util.Collection)} if you want to * override the existing values. *

* * @param statusInfos * The status of a read replica. If the instance is not a read replica, this is blank. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withStatusInfos(DBInstanceStatusInfo... statusInfos) { if (this.statusInfos == null) { setStatusInfos(new java.util.ArrayList(statusInfos.length)); } for (DBInstanceStatusInfo ele : statusInfos) { this.statusInfos.add(ele); } return this; } /** *

* The status of a read replica. If the instance is not a read replica, this is blank. *

* * @param statusInfos * The status of a read replica. If the instance is not a read replica, this is blank. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withStatusInfos(java.util.Collection statusInfos) { setStatusInfos(statusInfos); return this; } /** *

* Contains the name of the cluster that the instance is a member of if the instance is a member of a cluster. *

* * @param dBClusterIdentifier * Contains the name of the cluster that the instance is a member of if the instance is a member of a * cluster. */ public void setDBClusterIdentifier(String dBClusterIdentifier) { this.dBClusterIdentifier = dBClusterIdentifier; } /** *

* Contains the name of the cluster that the instance is a member of if the instance is a member of a cluster. *

* * @return Contains the name of the cluster that the instance is a member of if the instance is a member of a * cluster. */ public String getDBClusterIdentifier() { return this.dBClusterIdentifier; } /** *

* Contains the name of the cluster that the instance is a member of if the instance is a member of a cluster. *

* * @param dBClusterIdentifier * Contains the name of the cluster that the instance is a member of if the instance is a member of a * cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withDBClusterIdentifier(String dBClusterIdentifier) { setDBClusterIdentifier(dBClusterIdentifier); return this; } /** *

* Specifies whether or not the instance is encrypted. *

* * @param storageEncrypted * Specifies whether or not the instance is encrypted. */ public void setStorageEncrypted(Boolean storageEncrypted) { this.storageEncrypted = storageEncrypted; } /** *

* Specifies whether or not the instance is encrypted. *

* * @return Specifies whether or not the instance is encrypted. */ public Boolean getStorageEncrypted() { return this.storageEncrypted; } /** *

* Specifies whether or not the instance is encrypted. *

* * @param storageEncrypted * Specifies whether or not the instance is encrypted. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withStorageEncrypted(Boolean storageEncrypted) { setStorageEncrypted(storageEncrypted); return this; } /** *

* Specifies whether or not the instance is encrypted. *

* * @return Specifies whether or not the instance is encrypted. */ public Boolean isStorageEncrypted() { return this.storageEncrypted; } /** *

* If StorageEncrypted is true, the KMS key identifier for the encrypted instance. *

* * @param kmsKeyId * If StorageEncrypted is true, the KMS key identifier for the encrypted instance. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *

* If StorageEncrypted is true, the KMS key identifier for the encrypted instance. *

* * @return If StorageEncrypted is true, the KMS key identifier for the encrypted instance. */ public String getKmsKeyId() { return this.kmsKeyId; } /** *

* If StorageEncrypted is true, the KMS key identifier for the encrypted instance. *

* * @param kmsKeyId * If StorageEncrypted is true, the KMS key identifier for the encrypted instance. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** *

* The Amazon Web Services Region-unique, immutable identifier for the instance. This identifier is found in * CloudTrail log entries whenever the KMS key for the instance is accessed. *

* * @param dbiResourceId * The Amazon Web Services Region-unique, immutable identifier for the instance. This identifier is found in * CloudTrail log entries whenever the KMS key for the instance is accessed. */ public void setDbiResourceId(String dbiResourceId) { this.dbiResourceId = dbiResourceId; } /** *

* The Amazon Web Services Region-unique, immutable identifier for the instance. This identifier is found in * CloudTrail log entries whenever the KMS key for the instance is accessed. *

* * @return The Amazon Web Services Region-unique, immutable identifier for the instance. This identifier is found in * CloudTrail log entries whenever the KMS key for the instance is accessed. */ public String getDbiResourceId() { return this.dbiResourceId; } /** *

* The Amazon Web Services Region-unique, immutable identifier for the instance. This identifier is found in * CloudTrail log entries whenever the KMS key for the instance is accessed. *

* * @param dbiResourceId * The Amazon Web Services Region-unique, immutable identifier for the instance. This identifier is found in * CloudTrail log entries whenever the KMS key for the instance is accessed. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withDbiResourceId(String dbiResourceId) { setDbiResourceId(dbiResourceId); return this; } /** *

* The identifier of the CA certificate for this DB instance. *

* * @param cACertificateIdentifier * The identifier of the CA certificate for this DB instance. */ public void setCACertificateIdentifier(String cACertificateIdentifier) { this.cACertificateIdentifier = cACertificateIdentifier; } /** *

* The identifier of the CA certificate for this DB instance. *

* * @return The identifier of the CA certificate for this DB instance. */ public String getCACertificateIdentifier() { return this.cACertificateIdentifier; } /** *

* The identifier of the CA certificate for this DB instance. *

* * @param cACertificateIdentifier * The identifier of the CA certificate for this DB instance. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withCACertificateIdentifier(String cACertificateIdentifier) { setCACertificateIdentifier(cACertificateIdentifier); return this; } /** *

* A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By default, * tags are not copied. *

* * @param copyTagsToSnapshot * A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By * default, tags are not copied. */ public void setCopyTagsToSnapshot(Boolean copyTagsToSnapshot) { this.copyTagsToSnapshot = copyTagsToSnapshot; } /** *

* A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By default, * tags are not copied. *

* * @return A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By * default, tags are not copied. */ public Boolean getCopyTagsToSnapshot() { return this.copyTagsToSnapshot; } /** *

* A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By default, * tags are not copied. *

* * @param copyTagsToSnapshot * A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By * default, tags are not copied. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withCopyTagsToSnapshot(Boolean copyTagsToSnapshot) { setCopyTagsToSnapshot(copyTagsToSnapshot); return this; } /** *

* A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By default, * tags are not copied. *

* * @return A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By * default, tags are not copied. */ public Boolean isCopyTagsToSnapshot() { return this.copyTagsToSnapshot; } /** *

* A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after * a failure of the existing primary instance. *

* * @param promotionTier * A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance * after a failure of the existing primary instance. */ public void setPromotionTier(Integer promotionTier) { this.promotionTier = promotionTier; } /** *

* A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after * a failure of the existing primary instance. *

* * @return A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary * instance after a failure of the existing primary instance. */ public Integer getPromotionTier() { return this.promotionTier; } /** *

* A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after * a failure of the existing primary instance. *

* * @param promotionTier * A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance * after a failure of the existing primary instance. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withPromotionTier(Integer promotionTier) { setPromotionTier(promotionTier); return this; } /** *

* The Amazon Resource Name (ARN) for the instance. *

* * @param dBInstanceArn * The Amazon Resource Name (ARN) for the instance. */ public void setDBInstanceArn(String dBInstanceArn) { this.dBInstanceArn = dBInstanceArn; } /** *

* The Amazon Resource Name (ARN) for the instance. *

* * @return The Amazon Resource Name (ARN) for the instance. */ public String getDBInstanceArn() { return this.dBInstanceArn; } /** *

* The Amazon Resource Name (ARN) for the instance. *

* * @param dBInstanceArn * The Amazon Resource Name (ARN) for the instance. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withDBInstanceArn(String dBInstanceArn) { setDBInstanceArn(dBInstanceArn); return this; } /** *

* A list of log types that this instance is configured to export to CloudWatch Logs. *

* * @return A list of log types that this instance is configured to export to CloudWatch Logs. */ public java.util.List getEnabledCloudwatchLogsExports() { return enabledCloudwatchLogsExports; } /** *

* A list of log types that this instance is configured to export to CloudWatch Logs. *

* * @param enabledCloudwatchLogsExports * A list of log types that this instance is configured to export to CloudWatch Logs. */ public void setEnabledCloudwatchLogsExports(java.util.Collection enabledCloudwatchLogsExports) { if (enabledCloudwatchLogsExports == null) { this.enabledCloudwatchLogsExports = null; return; } this.enabledCloudwatchLogsExports = new java.util.ArrayList(enabledCloudwatchLogsExports); } /** *

* A list of log types that this instance is configured to export to CloudWatch Logs. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setEnabledCloudwatchLogsExports(java.util.Collection)} or * {@link #withEnabledCloudwatchLogsExports(java.util.Collection)} if you want to override the existing values. *

* * @param enabledCloudwatchLogsExports * A list of log types that this instance is configured to export to CloudWatch Logs. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withEnabledCloudwatchLogsExports(String... enabledCloudwatchLogsExports) { if (this.enabledCloudwatchLogsExports == null) { setEnabledCloudwatchLogsExports(new java.util.ArrayList(enabledCloudwatchLogsExports.length)); } for (String ele : enabledCloudwatchLogsExports) { this.enabledCloudwatchLogsExports.add(ele); } return this; } /** *

* A list of log types that this instance is configured to export to CloudWatch Logs. *

* * @param enabledCloudwatchLogsExports * A list of log types that this instance is configured to export to CloudWatch Logs. * @return Returns a reference to this object so that method calls can be chained together. */ public DBInstance withEnabledCloudwatchLogsExports(java.util.Collection enabledCloudwatchLogsExports) { setEnabledCloudwatchLogsExports(enabledCloudwatchLogsExports); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getDBInstanceIdentifier() != null) sb.append("DBInstanceIdentifier: ").append(getDBInstanceIdentifier()).append(","); if (getDBInstanceClass() != null) sb.append("DBInstanceClass: ").append(getDBInstanceClass()).append(","); if (getEngine() != null) sb.append("Engine: ").append(getEngine()).append(","); if (getDBInstanceStatus() != null) sb.append("DBInstanceStatus: ").append(getDBInstanceStatus()).append(","); if (getEndpoint() != null) sb.append("Endpoint: ").append(getEndpoint()).append(","); if (getInstanceCreateTime() != null) sb.append("InstanceCreateTime: ").append(getInstanceCreateTime()).append(","); if (getPreferredBackupWindow() != null) sb.append("PreferredBackupWindow: ").append(getPreferredBackupWindow()).append(","); if (getBackupRetentionPeriod() != null) sb.append("BackupRetentionPeriod: ").append(getBackupRetentionPeriod()).append(","); if (getVpcSecurityGroups() != null) sb.append("VpcSecurityGroups: ").append(getVpcSecurityGroups()).append(","); if (getAvailabilityZone() != null) sb.append("AvailabilityZone: ").append(getAvailabilityZone()).append(","); if (getDBSubnetGroup() != null) sb.append("DBSubnetGroup: ").append(getDBSubnetGroup()).append(","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(","); if (getPendingModifiedValues() != null) sb.append("PendingModifiedValues: ").append(getPendingModifiedValues()).append(","); if (getLatestRestorableTime() != null) sb.append("LatestRestorableTime: ").append(getLatestRestorableTime()).append(","); if (getEngineVersion() != null) sb.append("EngineVersion: ").append(getEngineVersion()).append(","); if (getAutoMinorVersionUpgrade() != null) sb.append("AutoMinorVersionUpgrade: ").append(getAutoMinorVersionUpgrade()).append(","); if (getPubliclyAccessible() != null) sb.append("PubliclyAccessible: ").append(getPubliclyAccessible()).append(","); if (getStatusInfos() != null) sb.append("StatusInfos: ").append(getStatusInfos()).append(","); if (getDBClusterIdentifier() != null) sb.append("DBClusterIdentifier: ").append(getDBClusterIdentifier()).append(","); if (getStorageEncrypted() != null) sb.append("StorageEncrypted: ").append(getStorageEncrypted()).append(","); if (getKmsKeyId() != null) sb.append("KmsKeyId: ").append(getKmsKeyId()).append(","); if (getDbiResourceId() != null) sb.append("DbiResourceId: ").append(getDbiResourceId()).append(","); if (getCACertificateIdentifier() != null) sb.append("CACertificateIdentifier: ").append(getCACertificateIdentifier()).append(","); if (getCopyTagsToSnapshot() != null) sb.append("CopyTagsToSnapshot: ").append(getCopyTagsToSnapshot()).append(","); if (getPromotionTier() != null) sb.append("PromotionTier: ").append(getPromotionTier()).append(","); if (getDBInstanceArn() != null) sb.append("DBInstanceArn: ").append(getDBInstanceArn()).append(","); if (getEnabledCloudwatchLogsExports() != null) sb.append("EnabledCloudwatchLogsExports: ").append(getEnabledCloudwatchLogsExports()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DBInstance == false) return false; DBInstance other = (DBInstance) obj; if (other.getDBInstanceIdentifier() == null ^ this.getDBInstanceIdentifier() == null) return false; if (other.getDBInstanceIdentifier() != null && other.getDBInstanceIdentifier().equals(this.getDBInstanceIdentifier()) == false) return false; if (other.getDBInstanceClass() == null ^ this.getDBInstanceClass() == null) return false; if (other.getDBInstanceClass() != null && other.getDBInstanceClass().equals(this.getDBInstanceClass()) == false) return false; if (other.getEngine() == null ^ this.getEngine() == null) return false; if (other.getEngine() != null && other.getEngine().equals(this.getEngine()) == false) return false; if (other.getDBInstanceStatus() == null ^ this.getDBInstanceStatus() == null) return false; if (other.getDBInstanceStatus() != null && other.getDBInstanceStatus().equals(this.getDBInstanceStatus()) == false) return false; if (other.getEndpoint() == null ^ this.getEndpoint() == null) return false; if (other.getEndpoint() != null && other.getEndpoint().equals(this.getEndpoint()) == false) return false; if (other.getInstanceCreateTime() == null ^ this.getInstanceCreateTime() == null) return false; if (other.getInstanceCreateTime() != null && other.getInstanceCreateTime().equals(this.getInstanceCreateTime()) == false) return false; if (other.getPreferredBackupWindow() == null ^ this.getPreferredBackupWindow() == null) return false; if (other.getPreferredBackupWindow() != null && other.getPreferredBackupWindow().equals(this.getPreferredBackupWindow()) == false) return false; if (other.getBackupRetentionPeriod() == null ^ this.getBackupRetentionPeriod() == null) return false; if (other.getBackupRetentionPeriod() != null && other.getBackupRetentionPeriod().equals(this.getBackupRetentionPeriod()) == false) return false; if (other.getVpcSecurityGroups() == null ^ this.getVpcSecurityGroups() == null) return false; if (other.getVpcSecurityGroups() != null && other.getVpcSecurityGroups().equals(this.getVpcSecurityGroups()) == false) return false; if (other.getAvailabilityZone() == null ^ this.getAvailabilityZone() == null) return false; if (other.getAvailabilityZone() != null && other.getAvailabilityZone().equals(this.getAvailabilityZone()) == false) return false; if (other.getDBSubnetGroup() == null ^ this.getDBSubnetGroup() == null) return false; if (other.getDBSubnetGroup() != null && other.getDBSubnetGroup().equals(this.getDBSubnetGroup()) == false) return false; if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null) return false; if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals(this.getPreferredMaintenanceWindow()) == false) return false; if (other.getPendingModifiedValues() == null ^ this.getPendingModifiedValues() == null) return false; if (other.getPendingModifiedValues() != null && other.getPendingModifiedValues().equals(this.getPendingModifiedValues()) == false) return false; if (other.getLatestRestorableTime() == null ^ this.getLatestRestorableTime() == null) return false; if (other.getLatestRestorableTime() != null && other.getLatestRestorableTime().equals(this.getLatestRestorableTime()) == false) return false; if (other.getEngineVersion() == null ^ this.getEngineVersion() == null) return false; if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == false) return false; if (other.getAutoMinorVersionUpgrade() == null ^ this.getAutoMinorVersionUpgrade() == null) return false; if (other.getAutoMinorVersionUpgrade() != null && other.getAutoMinorVersionUpgrade().equals(this.getAutoMinorVersionUpgrade()) == false) return false; if (other.getPubliclyAccessible() == null ^ this.getPubliclyAccessible() == null) return false; if (other.getPubliclyAccessible() != null && other.getPubliclyAccessible().equals(this.getPubliclyAccessible()) == false) return false; if (other.getStatusInfos() == null ^ this.getStatusInfos() == null) return false; if (other.getStatusInfos() != null && other.getStatusInfos().equals(this.getStatusInfos()) == false) return false; if (other.getDBClusterIdentifier() == null ^ this.getDBClusterIdentifier() == null) return false; if (other.getDBClusterIdentifier() != null && other.getDBClusterIdentifier().equals(this.getDBClusterIdentifier()) == false) return false; if (other.getStorageEncrypted() == null ^ this.getStorageEncrypted() == null) return false; if (other.getStorageEncrypted() != null && other.getStorageEncrypted().equals(this.getStorageEncrypted()) == false) return false; if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null) return false; if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == false) return false; if (other.getDbiResourceId() == null ^ this.getDbiResourceId() == null) return false; if (other.getDbiResourceId() != null && other.getDbiResourceId().equals(this.getDbiResourceId()) == false) return false; if (other.getCACertificateIdentifier() == null ^ this.getCACertificateIdentifier() == null) return false; if (other.getCACertificateIdentifier() != null && other.getCACertificateIdentifier().equals(this.getCACertificateIdentifier()) == false) return false; if (other.getCopyTagsToSnapshot() == null ^ this.getCopyTagsToSnapshot() == null) return false; if (other.getCopyTagsToSnapshot() != null && other.getCopyTagsToSnapshot().equals(this.getCopyTagsToSnapshot()) == false) return false; if (other.getPromotionTier() == null ^ this.getPromotionTier() == null) return false; if (other.getPromotionTier() != null && other.getPromotionTier().equals(this.getPromotionTier()) == false) return false; if (other.getDBInstanceArn() == null ^ this.getDBInstanceArn() == null) return false; if (other.getDBInstanceArn() != null && other.getDBInstanceArn().equals(this.getDBInstanceArn()) == false) return false; if (other.getEnabledCloudwatchLogsExports() == null ^ this.getEnabledCloudwatchLogsExports() == null) return false; if (other.getEnabledCloudwatchLogsExports() != null && other.getEnabledCloudwatchLogsExports().equals(this.getEnabledCloudwatchLogsExports()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDBInstanceIdentifier() == null) ? 0 : getDBInstanceIdentifier().hashCode()); hashCode = prime * hashCode + ((getDBInstanceClass() == null) ? 0 : getDBInstanceClass().hashCode()); hashCode = prime * hashCode + ((getEngine() == null) ? 0 : getEngine().hashCode()); hashCode = prime * hashCode + ((getDBInstanceStatus() == null) ? 0 : getDBInstanceStatus().hashCode()); hashCode = prime * hashCode + ((getEndpoint() == null) ? 0 : getEndpoint().hashCode()); hashCode = prime * hashCode + ((getInstanceCreateTime() == null) ? 0 : getInstanceCreateTime().hashCode()); hashCode = prime * hashCode + ((getPreferredBackupWindow() == null) ? 0 : getPreferredBackupWindow().hashCode()); hashCode = prime * hashCode + ((getBackupRetentionPeriod() == null) ? 0 : getBackupRetentionPeriod().hashCode()); hashCode = prime * hashCode + ((getVpcSecurityGroups() == null) ? 0 : getVpcSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZone() == null) ? 0 : getAvailabilityZone().hashCode()); hashCode = prime * hashCode + ((getDBSubnetGroup() == null) ? 0 : getDBSubnetGroup().hashCode()); hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); hashCode = prime * hashCode + ((getPendingModifiedValues() == null) ? 0 : getPendingModifiedValues().hashCode()); hashCode = prime * hashCode + ((getLatestRestorableTime() == null) ? 0 : getLatestRestorableTime().hashCode()); hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion().hashCode()); hashCode = prime * hashCode + ((getAutoMinorVersionUpgrade() == null) ? 0 : getAutoMinorVersionUpgrade().hashCode()); hashCode = prime * hashCode + ((getPubliclyAccessible() == null) ? 0 : getPubliclyAccessible().hashCode()); hashCode = prime * hashCode + ((getStatusInfos() == null) ? 0 : getStatusInfos().hashCode()); hashCode = prime * hashCode + ((getDBClusterIdentifier() == null) ? 0 : getDBClusterIdentifier().hashCode()); hashCode = prime * hashCode + ((getStorageEncrypted() == null) ? 0 : getStorageEncrypted().hashCode()); hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode()); hashCode = prime * hashCode + ((getDbiResourceId() == null) ? 0 : getDbiResourceId().hashCode()); hashCode = prime * hashCode + ((getCACertificateIdentifier() == null) ? 0 : getCACertificateIdentifier().hashCode()); hashCode = prime * hashCode + ((getCopyTagsToSnapshot() == null) ? 0 : getCopyTagsToSnapshot().hashCode()); hashCode = prime * hashCode + ((getPromotionTier() == null) ? 0 : getPromotionTier().hashCode()); hashCode = prime * hashCode + ((getDBInstanceArn() == null) ? 0 : getDBInstanceArn().hashCode()); hashCode = prime * hashCode + ((getEnabledCloudwatchLogsExports() == null) ? 0 : getEnabledCloudwatchLogsExports().hashCode()); return hashCode; } @Override public DBInstance clone() { try { return (DBInstance) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }