/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace DocDB { namespace Model { /** *

Detailed information about an instance.

See Also:

AWS * API Reference

*/ class DBInstance { public: AWS_DOCDB_API DBInstance(); AWS_DOCDB_API DBInstance(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_DOCDB_API DBInstance& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_DOCDB_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_DOCDB_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

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

*/ inline const Aws::String& GetDBInstanceIdentifier() const{ return m_dBInstanceIdentifier; } /** *

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

*/ inline bool DBInstanceIdentifierHasBeenSet() const { return m_dBInstanceIdentifierHasBeenSet; } /** *

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

*/ inline void SetDBInstanceIdentifier(const Aws::String& value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier = value; } /** *

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

*/ inline void SetDBInstanceIdentifier(Aws::String&& value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier = std::move(value); } /** *

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

*/ inline void SetDBInstanceIdentifier(const char* value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier.assign(value); } /** *

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

*/ inline DBInstance& WithDBInstanceIdentifier(const Aws::String& value) { SetDBInstanceIdentifier(value); return *this;} /** *

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

*/ inline DBInstance& WithDBInstanceIdentifier(Aws::String&& value) { SetDBInstanceIdentifier(std::move(value)); return *this;} /** *

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

*/ inline DBInstance& WithDBInstanceIdentifier(const char* value) { SetDBInstanceIdentifier(value); return *this;} /** *

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

*/ inline const Aws::String& GetDBInstanceClass() const{ return m_dBInstanceClass; } /** *

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

*/ inline bool DBInstanceClassHasBeenSet() const { return m_dBInstanceClassHasBeenSet; } /** *

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

*/ inline void SetDBInstanceClass(const Aws::String& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = value; } /** *

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

*/ inline void SetDBInstanceClass(Aws::String&& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = std::move(value); } /** *

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

*/ inline void SetDBInstanceClass(const char* value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass.assign(value); } /** *

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

*/ inline DBInstance& WithDBInstanceClass(const Aws::String& value) { SetDBInstanceClass(value); return *this;} /** *

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

*/ inline DBInstance& WithDBInstanceClass(Aws::String&& value) { SetDBInstanceClass(std::move(value)); return *this;} /** *

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

*/ inline DBInstance& WithDBInstanceClass(const char* value) { SetDBInstanceClass(value); return *this;} /** *

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

*/ inline const Aws::String& GetEngine() const{ return m_engine; } /** *

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

*/ inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } /** *

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

*/ inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } /** *

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

*/ inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } /** *

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

*/ inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } /** *

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

*/ inline DBInstance& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} /** *

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

*/ inline DBInstance& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} /** *

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

*/ inline DBInstance& WithEngine(const char* value) { SetEngine(value); return *this;} /** *

Specifies the current state of this database.

*/ inline const Aws::String& GetDBInstanceStatus() const{ return m_dBInstanceStatus; } /** *

Specifies the current state of this database.

*/ inline bool DBInstanceStatusHasBeenSet() const { return m_dBInstanceStatusHasBeenSet; } /** *

Specifies the current state of this database.

*/ inline void SetDBInstanceStatus(const Aws::String& value) { m_dBInstanceStatusHasBeenSet = true; m_dBInstanceStatus = value; } /** *

Specifies the current state of this database.

*/ inline void SetDBInstanceStatus(Aws::String&& value) { m_dBInstanceStatusHasBeenSet = true; m_dBInstanceStatus = std::move(value); } /** *

Specifies the current state of this database.

*/ inline void SetDBInstanceStatus(const char* value) { m_dBInstanceStatusHasBeenSet = true; m_dBInstanceStatus.assign(value); } /** *

Specifies the current state of this database.

*/ inline DBInstance& WithDBInstanceStatus(const Aws::String& value) { SetDBInstanceStatus(value); return *this;} /** *

Specifies the current state of this database.

*/ inline DBInstance& WithDBInstanceStatus(Aws::String&& value) { SetDBInstanceStatus(std::move(value)); return *this;} /** *

Specifies the current state of this database.

*/ inline DBInstance& WithDBInstanceStatus(const char* value) { SetDBInstanceStatus(value); return *this;} /** *

Specifies the connection endpoint.

*/ inline const Endpoint& GetEndpoint() const{ return m_endpoint; } /** *

Specifies the connection endpoint.

*/ inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } /** *

Specifies the connection endpoint.

*/ inline void SetEndpoint(const Endpoint& value) { m_endpointHasBeenSet = true; m_endpoint = value; } /** *

Specifies the connection endpoint.

*/ inline void SetEndpoint(Endpoint&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); } /** *

Specifies the connection endpoint.

*/ inline DBInstance& WithEndpoint(const Endpoint& value) { SetEndpoint(value); return *this;} /** *

Specifies the connection endpoint.

*/ inline DBInstance& WithEndpoint(Endpoint&& value) { SetEndpoint(std::move(value)); return *this;} /** *

Provides the date and time that the instance was created.

*/ inline const Aws::Utils::DateTime& GetInstanceCreateTime() const{ return m_instanceCreateTime; } /** *

Provides the date and time that the instance was created.

*/ inline bool InstanceCreateTimeHasBeenSet() const { return m_instanceCreateTimeHasBeenSet; } /** *

Provides the date and time that the instance was created.

*/ inline void SetInstanceCreateTime(const Aws::Utils::DateTime& value) { m_instanceCreateTimeHasBeenSet = true; m_instanceCreateTime = value; } /** *

Provides the date and time that the instance was created.

*/ inline void SetInstanceCreateTime(Aws::Utils::DateTime&& value) { m_instanceCreateTimeHasBeenSet = true; m_instanceCreateTime = std::move(value); } /** *

Provides the date and time that the instance was created.

*/ inline DBInstance& WithInstanceCreateTime(const Aws::Utils::DateTime& value) { SetInstanceCreateTime(value); return *this;} /** *

Provides the date and time that the instance was created.

*/ inline DBInstance& WithInstanceCreateTime(Aws::Utils::DateTime&& value) { SetInstanceCreateTime(std::move(value)); return *this;} /** *

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

*/ inline const Aws::String& GetPreferredBackupWindow() const{ return m_preferredBackupWindow; } /** *

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

*/ inline bool PreferredBackupWindowHasBeenSet() const { return m_preferredBackupWindowHasBeenSet; } /** *

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

*/ inline void SetPreferredBackupWindow(const Aws::String& value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow = value; } /** *

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

*/ inline void SetPreferredBackupWindow(Aws::String&& value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow = std::move(value); } /** *

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

*/ inline void SetPreferredBackupWindow(const char* value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow.assign(value); } /** *

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

*/ inline DBInstance& WithPreferredBackupWindow(const Aws::String& value) { SetPreferredBackupWindow(value); return *this;} /** *

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

*/ inline DBInstance& WithPreferredBackupWindow(Aws::String&& value) { SetPreferredBackupWindow(std::move(value)); return *this;} /** *

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

*/ inline DBInstance& WithPreferredBackupWindow(const char* value) { SetPreferredBackupWindow(value); return *this;} /** *

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

*/ inline int GetBackupRetentionPeriod() const{ return m_backupRetentionPeriod; } /** *

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

*/ inline bool BackupRetentionPeriodHasBeenSet() const { return m_backupRetentionPeriodHasBeenSet; } /** *

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

*/ inline void SetBackupRetentionPeriod(int value) { m_backupRetentionPeriodHasBeenSet = true; m_backupRetentionPeriod = value; } /** *

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

*/ inline DBInstance& WithBackupRetentionPeriod(int value) { SetBackupRetentionPeriod(value); return *this;} /** *

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

*/ inline const Aws::Vector& GetVpcSecurityGroups() const{ return m_vpcSecurityGroups; } /** *

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

*/ inline bool VpcSecurityGroupsHasBeenSet() const { return m_vpcSecurityGroupsHasBeenSet; } /** *

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

*/ inline void SetVpcSecurityGroups(const Aws::Vector& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups = value; } /** *

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

*/ inline void SetVpcSecurityGroups(Aws::Vector&& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups = std::move(value); } /** *

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

*/ inline DBInstance& WithVpcSecurityGroups(const Aws::Vector& value) { SetVpcSecurityGroups(value); return *this;} /** *

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

*/ inline DBInstance& WithVpcSecurityGroups(Aws::Vector&& value) { SetVpcSecurityGroups(std::move(value)); return *this;} /** *

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

*/ inline DBInstance& AddVpcSecurityGroups(const VpcSecurityGroupMembership& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups.push_back(value); return *this; } /** *

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

*/ inline DBInstance& AddVpcSecurityGroups(VpcSecurityGroupMembership&& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups.push_back(std::move(value)); return *this; } /** *

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

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

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

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

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

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

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

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

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

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

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

*/ inline DBInstance& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

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

*/ inline DBInstance& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

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

*/ inline DBInstance& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

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

*/ inline const DBSubnetGroup& GetDBSubnetGroup() const{ return m_dBSubnetGroup; } /** *

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

*/ inline bool DBSubnetGroupHasBeenSet() const { return m_dBSubnetGroupHasBeenSet; } /** *

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

*/ inline void SetDBSubnetGroup(const DBSubnetGroup& value) { m_dBSubnetGroupHasBeenSet = true; m_dBSubnetGroup = value; } /** *

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

*/ inline void SetDBSubnetGroup(DBSubnetGroup&& value) { m_dBSubnetGroupHasBeenSet = true; m_dBSubnetGroup = std::move(value); } /** *

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

*/ inline DBInstance& WithDBSubnetGroup(const DBSubnetGroup& value) { SetDBSubnetGroup(value); return *this;} /** *

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

*/ inline DBInstance& WithDBSubnetGroup(DBSubnetGroup&& value) { SetDBSubnetGroup(std::move(value)); return *this;} /** *

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

*/ inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; } /** *

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

*/ inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; } /** *

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

*/ inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; } /** *

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

*/ inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); } /** *

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

*/ inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); } /** *

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

*/ inline DBInstance& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

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

*/ inline DBInstance& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;} /** *

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

*/ inline DBInstance& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); 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.

*/ inline const PendingModifiedValues& GetPendingModifiedValues() const{ return m_pendingModifiedValues; } /** *

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

*/ inline bool PendingModifiedValuesHasBeenSet() const { return m_pendingModifiedValuesHasBeenSet; } /** *

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

*/ inline void SetPendingModifiedValues(const PendingModifiedValues& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = value; } /** *

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

*/ inline void SetPendingModifiedValues(PendingModifiedValues&& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = std::move(value); } /** *

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

*/ inline DBInstance& WithPendingModifiedValues(const PendingModifiedValues& value) { SetPendingModifiedValues(value); 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.

*/ inline DBInstance& WithPendingModifiedValues(PendingModifiedValues&& value) { SetPendingModifiedValues(std::move(value)); return *this;} /** *

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

*/ inline const Aws::Utils::DateTime& GetLatestRestorableTime() const{ return m_latestRestorableTime; } /** *

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

*/ inline bool LatestRestorableTimeHasBeenSet() const { return m_latestRestorableTimeHasBeenSet; } /** *

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

*/ inline void SetLatestRestorableTime(const Aws::Utils::DateTime& value) { m_latestRestorableTimeHasBeenSet = true; m_latestRestorableTime = value; } /** *

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

*/ inline void SetLatestRestorableTime(Aws::Utils::DateTime&& value) { m_latestRestorableTimeHasBeenSet = true; m_latestRestorableTime = std::move(value); } /** *

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

*/ inline DBInstance& WithLatestRestorableTime(const Aws::Utils::DateTime& value) { SetLatestRestorableTime(value); return *this;} /** *

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

*/ inline DBInstance& WithLatestRestorableTime(Aws::Utils::DateTime&& value) { SetLatestRestorableTime(std::move(value)); return *this;} /** *

Indicates the database engine version.

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

Indicates the database engine version.

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

Indicates the database engine version.

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

Indicates the database engine version.

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

Indicates the database engine version.

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

Indicates the database engine version.

*/ inline DBInstance& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

Indicates the database engine version.

*/ inline DBInstance& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

Indicates the database engine version.

*/ inline DBInstance& WithEngineVersion(const char* value) { SetEngineVersion(value); 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.

*/ inline bool GetAutoMinorVersionUpgrade() const{ return m_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.

*/ inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; } /** *

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

*/ inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; } /** *

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

*/ inline DBInstance& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;} /** *

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

*/ inline bool GetPubliclyAccessible() const{ return m_publiclyAccessible; } /** *

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

*/ inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; } /** *

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

*/ inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; } /** *

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

*/ inline DBInstance& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;} /** *

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

*/ inline const Aws::Vector& GetStatusInfos() const{ return m_statusInfos; } /** *

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

*/ inline bool StatusInfosHasBeenSet() const { return m_statusInfosHasBeenSet; } /** *

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

*/ inline void SetStatusInfos(const Aws::Vector& value) { m_statusInfosHasBeenSet = true; m_statusInfos = value; } /** *

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

*/ inline void SetStatusInfos(Aws::Vector&& value) { m_statusInfosHasBeenSet = true; m_statusInfos = std::move(value); } /** *

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

*/ inline DBInstance& WithStatusInfos(const Aws::Vector& value) { SetStatusInfos(value); return *this;} /** *

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

*/ inline DBInstance& WithStatusInfos(Aws::Vector&& value) { SetStatusInfos(std::move(value)); return *this;} /** *

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

*/ inline DBInstance& AddStatusInfos(const DBInstanceStatusInfo& value) { m_statusInfosHasBeenSet = true; m_statusInfos.push_back(value); return *this; } /** *

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

*/ inline DBInstance& AddStatusInfos(DBInstanceStatusInfo&& value) { m_statusInfosHasBeenSet = true; m_statusInfos.push_back(std::move(value)); return *this; } /** *

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

*/ inline const Aws::String& GetDBClusterIdentifier() const{ return m_dBClusterIdentifier; } /** *

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

*/ inline bool DBClusterIdentifierHasBeenSet() const { return m_dBClusterIdentifierHasBeenSet; } /** *

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

*/ inline void SetDBClusterIdentifier(const Aws::String& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = value; } /** *

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

*/ inline void SetDBClusterIdentifier(Aws::String&& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = std::move(value); } /** *

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

*/ inline void SetDBClusterIdentifier(const char* value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier.assign(value); } /** *

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

*/ inline DBInstance& WithDBClusterIdentifier(const Aws::String& value) { SetDBClusterIdentifier(value); return *this;} /** *

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

*/ inline DBInstance& WithDBClusterIdentifier(Aws::String&& value) { SetDBClusterIdentifier(std::move(value)); return *this;} /** *

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

*/ inline DBInstance& WithDBClusterIdentifier(const char* value) { SetDBClusterIdentifier(value); return *this;} /** *

Specifies whether or not the instance is encrypted.

*/ inline bool GetStorageEncrypted() const{ return m_storageEncrypted; } /** *

Specifies whether or not the instance is encrypted.

*/ inline bool StorageEncryptedHasBeenSet() const { return m_storageEncryptedHasBeenSet; } /** *

Specifies whether or not the instance is encrypted.

*/ inline void SetStorageEncrypted(bool value) { m_storageEncryptedHasBeenSet = true; m_storageEncrypted = value; } /** *

Specifies whether or not the instance is encrypted.

*/ inline DBInstance& WithStorageEncrypted(bool value) { SetStorageEncrypted(value); return *this;} /** *

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

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

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

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

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

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

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

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

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

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

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

*/ inline DBInstance& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

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

*/ inline DBInstance& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

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

*/ inline DBInstance& WithKmsKeyId(const char* value) { SetKmsKeyId(value); 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.

*/ inline const Aws::String& GetDbiResourceId() const{ return m_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.

*/ inline bool DbiResourceIdHasBeenSet() const { return m_dbiResourceIdHasBeenSet; } /** *

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.

*/ inline void SetDbiResourceId(const Aws::String& value) { m_dbiResourceIdHasBeenSet = true; m_dbiResourceId = value; } /** *

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.

*/ inline void SetDbiResourceId(Aws::String&& value) { m_dbiResourceIdHasBeenSet = true; m_dbiResourceId = std::move(value); } /** *

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.

*/ inline void SetDbiResourceId(const char* value) { m_dbiResourceIdHasBeenSet = true; m_dbiResourceId.assign(value); } /** *

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.

*/ inline DBInstance& WithDbiResourceId(const Aws::String& value) { SetDbiResourceId(value); 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.

*/ inline DBInstance& WithDbiResourceId(Aws::String&& value) { SetDbiResourceId(std::move(value)); 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.

*/ inline DBInstance& WithDbiResourceId(const char* value) { SetDbiResourceId(value); return *this;} /** *

The identifier of the CA certificate for this DB instance.

*/ inline const Aws::String& GetCACertificateIdentifier() const{ return m_cACertificateIdentifier; } /** *

The identifier of the CA certificate for this DB instance.

*/ inline bool CACertificateIdentifierHasBeenSet() const { return m_cACertificateIdentifierHasBeenSet; } /** *

The identifier of the CA certificate for this DB instance.

*/ inline void SetCACertificateIdentifier(const Aws::String& value) { m_cACertificateIdentifierHasBeenSet = true; m_cACertificateIdentifier = value; } /** *

The identifier of the CA certificate for this DB instance.

*/ inline void SetCACertificateIdentifier(Aws::String&& value) { m_cACertificateIdentifierHasBeenSet = true; m_cACertificateIdentifier = std::move(value); } /** *

The identifier of the CA certificate for this DB instance.

*/ inline void SetCACertificateIdentifier(const char* value) { m_cACertificateIdentifierHasBeenSet = true; m_cACertificateIdentifier.assign(value); } /** *

The identifier of the CA certificate for this DB instance.

*/ inline DBInstance& WithCACertificateIdentifier(const Aws::String& value) { SetCACertificateIdentifier(value); return *this;} /** *

The identifier of the CA certificate for this DB instance.

*/ inline DBInstance& WithCACertificateIdentifier(Aws::String&& value) { SetCACertificateIdentifier(std::move(value)); return *this;} /** *

The identifier of the CA certificate for this DB instance.

*/ inline DBInstance& WithCACertificateIdentifier(const char* value) { SetCACertificateIdentifier(value); 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.

*/ inline bool GetCopyTagsToSnapshot() const{ return m_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.

*/ inline bool CopyTagsToSnapshotHasBeenSet() const { return m_copyTagsToSnapshotHasBeenSet; } /** *

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

*/ inline void SetCopyTagsToSnapshot(bool value) { m_copyTagsToSnapshotHasBeenSet = true; m_copyTagsToSnapshot = value; } /** *

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

*/ inline DBInstance& WithCopyTagsToSnapshot(bool value) { SetCopyTagsToSnapshot(value); return *this;} /** *

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.

*/ inline int GetPromotionTier() const{ return m_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.

*/ inline bool PromotionTierHasBeenSet() const { return m_promotionTierHasBeenSet; } /** *

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.

*/ inline void SetPromotionTier(int value) { m_promotionTierHasBeenSet = true; m_promotionTier = value; } /** *

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.

*/ inline DBInstance& WithPromotionTier(int value) { SetPromotionTier(value); return *this;} /** *

The Amazon Resource Name (ARN) for the instance.

*/ inline const Aws::String& GetDBInstanceArn() const{ return m_dBInstanceArn; } /** *

The Amazon Resource Name (ARN) for the instance.

*/ inline bool DBInstanceArnHasBeenSet() const { return m_dBInstanceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the instance.

*/ inline void SetDBInstanceArn(const Aws::String& value) { m_dBInstanceArnHasBeenSet = true; m_dBInstanceArn = value; } /** *

The Amazon Resource Name (ARN) for the instance.

*/ inline void SetDBInstanceArn(Aws::String&& value) { m_dBInstanceArnHasBeenSet = true; m_dBInstanceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the instance.

*/ inline void SetDBInstanceArn(const char* value) { m_dBInstanceArnHasBeenSet = true; m_dBInstanceArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the instance.

*/ inline DBInstance& WithDBInstanceArn(const Aws::String& value) { SetDBInstanceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the instance.

*/ inline DBInstance& WithDBInstanceArn(Aws::String&& value) { SetDBInstanceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the instance.

*/ inline DBInstance& WithDBInstanceArn(const char* value) { SetDBInstanceArn(value); return *this;} /** *

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

*/ inline const Aws::Vector& GetEnabledCloudwatchLogsExports() const{ return m_enabledCloudwatchLogsExports; } /** *

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

*/ inline bool EnabledCloudwatchLogsExportsHasBeenSet() const { return m_enabledCloudwatchLogsExportsHasBeenSet; } /** *

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

*/ inline void SetEnabledCloudwatchLogsExports(const Aws::Vector& value) { m_enabledCloudwatchLogsExportsHasBeenSet = true; m_enabledCloudwatchLogsExports = value; } /** *

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

*/ inline void SetEnabledCloudwatchLogsExports(Aws::Vector&& value) { m_enabledCloudwatchLogsExportsHasBeenSet = true; m_enabledCloudwatchLogsExports = std::move(value); } /** *

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

*/ inline DBInstance& WithEnabledCloudwatchLogsExports(const Aws::Vector& value) { SetEnabledCloudwatchLogsExports(value); return *this;} /** *

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

*/ inline DBInstance& WithEnabledCloudwatchLogsExports(Aws::Vector&& value) { SetEnabledCloudwatchLogsExports(std::move(value)); return *this;} /** *

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

*/ inline DBInstance& AddEnabledCloudwatchLogsExports(const Aws::String& value) { m_enabledCloudwatchLogsExportsHasBeenSet = true; m_enabledCloudwatchLogsExports.push_back(value); return *this; } /** *

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

*/ inline DBInstance& AddEnabledCloudwatchLogsExports(Aws::String&& value) { m_enabledCloudwatchLogsExportsHasBeenSet = true; m_enabledCloudwatchLogsExports.push_back(std::move(value)); return *this; } /** *

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

*/ inline DBInstance& AddEnabledCloudwatchLogsExports(const char* value) { m_enabledCloudwatchLogsExportsHasBeenSet = true; m_enabledCloudwatchLogsExports.push_back(value); return *this; } private: Aws::String m_dBInstanceIdentifier; bool m_dBInstanceIdentifierHasBeenSet = false; Aws::String m_dBInstanceClass; bool m_dBInstanceClassHasBeenSet = false; Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_dBInstanceStatus; bool m_dBInstanceStatusHasBeenSet = false; Endpoint m_endpoint; bool m_endpointHasBeenSet = false; Aws::Utils::DateTime m_instanceCreateTime; bool m_instanceCreateTimeHasBeenSet = false; Aws::String m_preferredBackupWindow; bool m_preferredBackupWindowHasBeenSet = false; int m_backupRetentionPeriod; bool m_backupRetentionPeriodHasBeenSet = false; Aws::Vector m_vpcSecurityGroups; bool m_vpcSecurityGroupsHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; DBSubnetGroup m_dBSubnetGroup; bool m_dBSubnetGroupHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; PendingModifiedValues m_pendingModifiedValues; bool m_pendingModifiedValuesHasBeenSet = false; Aws::Utils::DateTime m_latestRestorableTime; bool m_latestRestorableTimeHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet = false; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; Aws::Vector m_statusInfos; bool m_statusInfosHasBeenSet = false; Aws::String m_dBClusterIdentifier; bool m_dBClusterIdentifierHasBeenSet = false; bool m_storageEncrypted; bool m_storageEncryptedHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::String m_dbiResourceId; bool m_dbiResourceIdHasBeenSet = false; Aws::String m_cACertificateIdentifier; bool m_cACertificateIdentifierHasBeenSet = false; bool m_copyTagsToSnapshot; bool m_copyTagsToSnapshotHasBeenSet = false; int m_promotionTier; bool m_promotionTierHasBeenSet = false; Aws::String m_dBInstanceArn; bool m_dBInstanceArnHasBeenSet = false; Aws::Vector m_enabledCloudwatchLogsExports; bool m_enabledCloudwatchLogsExportsHasBeenSet = false; }; } // namespace Model } // namespace DocDB } // namespace Aws