/** * 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 namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace RDS { namespace Model { /** *

Contains the details of an Amazon RDS DB snapshot.

This data type is * used as a response element in the DescribeDBSnapshots action. *

See Also:

AWS API * Reference

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

Specifies the identifier for the DB snapshot.

*/ inline const Aws::String& GetDBSnapshotIdentifier() const{ return m_dBSnapshotIdentifier; } /** *

Specifies the identifier for the DB snapshot.

*/ inline bool DBSnapshotIdentifierHasBeenSet() const { return m_dBSnapshotIdentifierHasBeenSet; } /** *

Specifies the identifier for the DB snapshot.

*/ inline void SetDBSnapshotIdentifier(const Aws::String& value) { m_dBSnapshotIdentifierHasBeenSet = true; m_dBSnapshotIdentifier = value; } /** *

Specifies the identifier for the DB snapshot.

*/ inline void SetDBSnapshotIdentifier(Aws::String&& value) { m_dBSnapshotIdentifierHasBeenSet = true; m_dBSnapshotIdentifier = std::move(value); } /** *

Specifies the identifier for the DB snapshot.

*/ inline void SetDBSnapshotIdentifier(const char* value) { m_dBSnapshotIdentifierHasBeenSet = true; m_dBSnapshotIdentifier.assign(value); } /** *

Specifies the identifier for the DB snapshot.

*/ inline DBSnapshot& WithDBSnapshotIdentifier(const Aws::String& value) { SetDBSnapshotIdentifier(value); return *this;} /** *

Specifies the identifier for the DB snapshot.

*/ inline DBSnapshot& WithDBSnapshotIdentifier(Aws::String&& value) { SetDBSnapshotIdentifier(std::move(value)); return *this;} /** *

Specifies the identifier for the DB snapshot.

*/ inline DBSnapshot& WithDBSnapshotIdentifier(const char* value) { SetDBSnapshotIdentifier(value); return *this;} /** *

Specifies the DB instance identifier of the DB instance this DB snapshot was * created from.

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

Specifies the DB instance identifier of the DB instance this DB snapshot was * created from.

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

Specifies the DB instance identifier of the DB instance this DB snapshot was * created from.

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

Specifies the DB instance identifier of the DB instance this DB snapshot was * created from.

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

Specifies the DB instance identifier of the DB instance this DB snapshot was * created from.

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

Specifies the DB instance identifier of the DB instance this DB snapshot was * created from.

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

Specifies the DB instance identifier of the DB instance this DB snapshot was * created from.

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

Specifies the DB instance identifier of the DB instance this DB snapshot was * created from.

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

Specifies when the snapshot was taken in Coodinated Universal Time (UTC).

*/ inline const Aws::Utils::DateTime& GetSnapshotCreateTime() const{ return m_snapshotCreateTime; } /** *

Specifies when the snapshot was taken in Coodinated Universal Time (UTC).

*/ inline bool SnapshotCreateTimeHasBeenSet() const { return m_snapshotCreateTimeHasBeenSet; } /** *

Specifies when the snapshot was taken in Coodinated Universal Time (UTC).

*/ inline void SetSnapshotCreateTime(const Aws::Utils::DateTime& value) { m_snapshotCreateTimeHasBeenSet = true; m_snapshotCreateTime = value; } /** *

Specifies when the snapshot was taken in Coodinated Universal Time (UTC).

*/ inline void SetSnapshotCreateTime(Aws::Utils::DateTime&& value) { m_snapshotCreateTimeHasBeenSet = true; m_snapshotCreateTime = std::move(value); } /** *

Specifies when the snapshot was taken in Coodinated Universal Time (UTC).

*/ inline DBSnapshot& WithSnapshotCreateTime(const Aws::Utils::DateTime& value) { SetSnapshotCreateTime(value); return *this;} /** *

Specifies when the snapshot was taken in Coodinated Universal Time (UTC).

*/ inline DBSnapshot& WithSnapshotCreateTime(Aws::Utils::DateTime&& value) { SetSnapshotCreateTime(std::move(value)); return *this;} /** *

Specifies the name of the database engine.

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

Specifies the name of the database engine.

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

Specifies the name of the database engine.

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

Specifies the name of the database engine.

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

Specifies the name of the database engine.

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

Specifies the name of the database engine.

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

Specifies the name of the database engine.

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

Specifies the name of the database engine.

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

Specifies the allocated storage size in gibibytes (GiB).

*/ inline int GetAllocatedStorage() const{ return m_allocatedStorage; } /** *

Specifies the allocated storage size in gibibytes (GiB).

*/ inline bool AllocatedStorageHasBeenSet() const { return m_allocatedStorageHasBeenSet; } /** *

Specifies the allocated storage size in gibibytes (GiB).

*/ inline void SetAllocatedStorage(int value) { m_allocatedStorageHasBeenSet = true; m_allocatedStorage = value; } /** *

Specifies the allocated storage size in gibibytes (GiB).

*/ inline DBSnapshot& WithAllocatedStorage(int value) { SetAllocatedStorage(value); return *this;} /** *

Specifies the status of this DB snapshot.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

Specifies the status of this DB snapshot.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

Specifies the status of this DB snapshot.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

Specifies the status of this DB snapshot.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

Specifies the status of this DB snapshot.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

Specifies the status of this DB snapshot.

*/ inline DBSnapshot& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

Specifies the status of this DB snapshot.

*/ inline DBSnapshot& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

Specifies the status of this DB snapshot.

*/ inline DBSnapshot& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

Specifies the port that the database engine was listening on at the time of * the snapshot.

*/ inline int GetPort() const{ return m_port; } /** *

Specifies the port that the database engine was listening on at the time of * the snapshot.

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

Specifies the port that the database engine was listening on at the time of * the snapshot.

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

Specifies the port that the database engine was listening on at the time of * the snapshot.

*/ inline DBSnapshot& WithPort(int value) { SetPort(value); return *this;} /** *

Specifies the name of the Availability Zone the DB instance was located in at * the time of the DB snapshot.

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

Specifies the name of the Availability Zone the DB instance was located in at * the time of the DB snapshot.

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

Specifies the name of the Availability Zone the DB instance was located in at * the time of the DB snapshot.

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

Specifies the name of the Availability Zone the DB instance was located in at * the time of the DB snapshot.

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

Specifies the name of the Availability Zone the DB instance was located in at * the time of the DB snapshot.

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

Specifies the name of the Availability Zone the DB instance was located in at * the time of the DB snapshot.

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

Specifies the name of the Availability Zone the DB instance was located in at * the time of the DB snapshot.

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

Specifies the name of the Availability Zone the DB instance was located in at * the time of the DB snapshot.

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

Provides the VPC ID associated with the DB snapshot.

*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *

Provides the VPC ID associated with the DB snapshot.

*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *

Provides the VPC ID associated with the DB snapshot.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *

Provides the VPC ID associated with the DB snapshot.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *

Provides the VPC ID associated with the DB snapshot.

*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *

Provides the VPC ID associated with the DB snapshot.

*/ inline DBSnapshot& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

Provides the VPC ID associated with the DB snapshot.

*/ inline DBSnapshot& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

Provides the VPC ID associated with the DB snapshot.

*/ inline DBSnapshot& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *

Specifies the time in Coordinated Universal Time (UTC) when the DB instance, * from which the snapshot was taken, was created.

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

Specifies the time in Coordinated Universal Time (UTC) when the DB instance, * from which the snapshot was taken, was created.

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

Specifies the time in Coordinated Universal Time (UTC) when the DB instance, * from which the snapshot was taken, was created.

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

Specifies the time in Coordinated Universal Time (UTC) when the DB instance, * from which the snapshot was taken, was created.

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

Specifies the time in Coordinated Universal Time (UTC) when the DB instance, * from which the snapshot was taken, was created.

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

Specifies the time in Coordinated Universal Time (UTC) when the DB instance, * from which the snapshot was taken, was created.

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

Provides the master username for the DB snapshot.

*/ inline const Aws::String& GetMasterUsername() const{ return m_masterUsername; } /** *

Provides the master username for the DB snapshot.

*/ inline bool MasterUsernameHasBeenSet() const { return m_masterUsernameHasBeenSet; } /** *

Provides the master username for the DB snapshot.

*/ inline void SetMasterUsername(const Aws::String& value) { m_masterUsernameHasBeenSet = true; m_masterUsername = value; } /** *

Provides the master username for the DB snapshot.

*/ inline void SetMasterUsername(Aws::String&& value) { m_masterUsernameHasBeenSet = true; m_masterUsername = std::move(value); } /** *

Provides the master username for the DB snapshot.

*/ inline void SetMasterUsername(const char* value) { m_masterUsernameHasBeenSet = true; m_masterUsername.assign(value); } /** *

Provides the master username for the DB snapshot.

*/ inline DBSnapshot& WithMasterUsername(const Aws::String& value) { SetMasterUsername(value); return *this;} /** *

Provides the master username for the DB snapshot.

*/ inline DBSnapshot& WithMasterUsername(Aws::String&& value) { SetMasterUsername(std::move(value)); return *this;} /** *

Provides the master username for the DB snapshot.

*/ inline DBSnapshot& WithMasterUsername(const char* value) { SetMasterUsername(value); return *this;} /** *

Specifies the version of the database engine.

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

Specifies the version of the database engine.

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

Specifies the version of the database engine.

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

Specifies the version of the database engine.

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

Specifies the version of the database engine.

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

Specifies the version of the database engine.

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

Specifies the version of the database engine.

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

Specifies the version of the database engine.

*/ inline DBSnapshot& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

License model information for the restored DB instance.

*/ inline const Aws::String& GetLicenseModel() const{ return m_licenseModel; } /** *

License model information for the restored DB instance.

*/ inline bool LicenseModelHasBeenSet() const { return m_licenseModelHasBeenSet; } /** *

License model information for the restored DB instance.

*/ inline void SetLicenseModel(const Aws::String& value) { m_licenseModelHasBeenSet = true; m_licenseModel = value; } /** *

License model information for the restored DB instance.

*/ inline void SetLicenseModel(Aws::String&& value) { m_licenseModelHasBeenSet = true; m_licenseModel = std::move(value); } /** *

License model information for the restored DB instance.

*/ inline void SetLicenseModel(const char* value) { m_licenseModelHasBeenSet = true; m_licenseModel.assign(value); } /** *

License model information for the restored DB instance.

*/ inline DBSnapshot& WithLicenseModel(const Aws::String& value) { SetLicenseModel(value); return *this;} /** *

License model information for the restored DB instance.

*/ inline DBSnapshot& WithLicenseModel(Aws::String&& value) { SetLicenseModel(std::move(value)); return *this;} /** *

License model information for the restored DB instance.

*/ inline DBSnapshot& WithLicenseModel(const char* value) { SetLicenseModel(value); return *this;} /** *

Provides the type of the DB snapshot.

*/ inline const Aws::String& GetSnapshotType() const{ return m_snapshotType; } /** *

Provides the type of the DB snapshot.

*/ inline bool SnapshotTypeHasBeenSet() const { return m_snapshotTypeHasBeenSet; } /** *

Provides the type of the DB snapshot.

*/ inline void SetSnapshotType(const Aws::String& value) { m_snapshotTypeHasBeenSet = true; m_snapshotType = value; } /** *

Provides the type of the DB snapshot.

*/ inline void SetSnapshotType(Aws::String&& value) { m_snapshotTypeHasBeenSet = true; m_snapshotType = std::move(value); } /** *

Provides the type of the DB snapshot.

*/ inline void SetSnapshotType(const char* value) { m_snapshotTypeHasBeenSet = true; m_snapshotType.assign(value); } /** *

Provides the type of the DB snapshot.

*/ inline DBSnapshot& WithSnapshotType(const Aws::String& value) { SetSnapshotType(value); return *this;} /** *

Provides the type of the DB snapshot.

*/ inline DBSnapshot& WithSnapshotType(Aws::String&& value) { SetSnapshotType(std::move(value)); return *this;} /** *

Provides the type of the DB snapshot.

*/ inline DBSnapshot& WithSnapshotType(const char* value) { SetSnapshotType(value); return *this;} /** *

Specifies the Provisioned IOPS (I/O operations per second) value of the DB * instance at the time of the snapshot.

*/ inline int GetIops() const{ return m_iops; } /** *

Specifies the Provisioned IOPS (I/O operations per second) value of the DB * instance at the time of the snapshot.

*/ inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } /** *

Specifies the Provisioned IOPS (I/O operations per second) value of the DB * instance at the time of the snapshot.

*/ inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; } /** *

Specifies the Provisioned IOPS (I/O operations per second) value of the DB * instance at the time of the snapshot.

*/ inline DBSnapshot& WithIops(int value) { SetIops(value); return *this;} /** *

Provides the option group name for the DB snapshot.

*/ inline const Aws::String& GetOptionGroupName() const{ return m_optionGroupName; } /** *

Provides the option group name for the DB snapshot.

*/ inline bool OptionGroupNameHasBeenSet() const { return m_optionGroupNameHasBeenSet; } /** *

Provides the option group name for the DB snapshot.

*/ inline void SetOptionGroupName(const Aws::String& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = value; } /** *

Provides the option group name for the DB snapshot.

*/ inline void SetOptionGroupName(Aws::String&& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = std::move(value); } /** *

Provides the option group name for the DB snapshot.

*/ inline void SetOptionGroupName(const char* value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName.assign(value); } /** *

Provides the option group name for the DB snapshot.

*/ inline DBSnapshot& WithOptionGroupName(const Aws::String& value) { SetOptionGroupName(value); return *this;} /** *

Provides the option group name for the DB snapshot.

*/ inline DBSnapshot& WithOptionGroupName(Aws::String&& value) { SetOptionGroupName(std::move(value)); return *this;} /** *

Provides the option group name for the DB snapshot.

*/ inline DBSnapshot& WithOptionGroupName(const char* value) { SetOptionGroupName(value); return *this;} /** *

The percentage of the estimated data that has been transferred.

*/ inline int GetPercentProgress() const{ return m_percentProgress; } /** *

The percentage of the estimated data that has been transferred.

*/ inline bool PercentProgressHasBeenSet() const { return m_percentProgressHasBeenSet; } /** *

The percentage of the estimated data that has been transferred.

*/ inline void SetPercentProgress(int value) { m_percentProgressHasBeenSet = true; m_percentProgress = value; } /** *

The percentage of the estimated data that has been transferred.

*/ inline DBSnapshot& WithPercentProgress(int value) { SetPercentProgress(value); return *this;} /** *

The AWS Region that the DB snapshot was created in or copied from.

*/ inline const Aws::String& GetSourceRegion() const{ return m_sourceRegion; } /** *

The AWS Region that the DB snapshot was created in or copied from.

*/ inline bool SourceRegionHasBeenSet() const { return m_sourceRegionHasBeenSet; } /** *

The AWS Region that the DB snapshot was created in or copied from.

*/ inline void SetSourceRegion(const Aws::String& value) { m_sourceRegionHasBeenSet = true; m_sourceRegion = value; } /** *

The AWS Region that the DB snapshot was created in or copied from.

*/ inline void SetSourceRegion(Aws::String&& value) { m_sourceRegionHasBeenSet = true; m_sourceRegion = std::move(value); } /** *

The AWS Region that the DB snapshot was created in or copied from.

*/ inline void SetSourceRegion(const char* value) { m_sourceRegionHasBeenSet = true; m_sourceRegion.assign(value); } /** *

The AWS Region that the DB snapshot was created in or copied from.

*/ inline DBSnapshot& WithSourceRegion(const Aws::String& value) { SetSourceRegion(value); return *this;} /** *

The AWS Region that the DB snapshot was created in or copied from.

*/ inline DBSnapshot& WithSourceRegion(Aws::String&& value) { SetSourceRegion(std::move(value)); return *this;} /** *

The AWS Region that the DB snapshot was created in or copied from.

*/ inline DBSnapshot& WithSourceRegion(const char* value) { SetSourceRegion(value); return *this;} /** *

The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied * from. It only has value in case of cross-customer or cross-region copy.

*/ inline const Aws::String& GetSourceDBSnapshotIdentifier() const{ return m_sourceDBSnapshotIdentifier; } /** *

The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied * from. It only has value in case of cross-customer or cross-region copy.

*/ inline bool SourceDBSnapshotIdentifierHasBeenSet() const { return m_sourceDBSnapshotIdentifierHasBeenSet; } /** *

The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied * from. It only has value in case of cross-customer or cross-region copy.

*/ inline void SetSourceDBSnapshotIdentifier(const Aws::String& value) { m_sourceDBSnapshotIdentifierHasBeenSet = true; m_sourceDBSnapshotIdentifier = value; } /** *

The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied * from. It only has value in case of cross-customer or cross-region copy.

*/ inline void SetSourceDBSnapshotIdentifier(Aws::String&& value) { m_sourceDBSnapshotIdentifierHasBeenSet = true; m_sourceDBSnapshotIdentifier = std::move(value); } /** *

The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied * from. It only has value in case of cross-customer or cross-region copy.

*/ inline void SetSourceDBSnapshotIdentifier(const char* value) { m_sourceDBSnapshotIdentifierHasBeenSet = true; m_sourceDBSnapshotIdentifier.assign(value); } /** *

The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied * from. It only has value in case of cross-customer or cross-region copy.

*/ inline DBSnapshot& WithSourceDBSnapshotIdentifier(const Aws::String& value) { SetSourceDBSnapshotIdentifier(value); return *this;} /** *

The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied * from. It only has value in case of cross-customer or cross-region copy.

*/ inline DBSnapshot& WithSourceDBSnapshotIdentifier(Aws::String&& value) { SetSourceDBSnapshotIdentifier(std::move(value)); return *this;} /** *

The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied * from. It only has value in case of cross-customer or cross-region copy.

*/ inline DBSnapshot& WithSourceDBSnapshotIdentifier(const char* value) { SetSourceDBSnapshotIdentifier(value); return *this;} /** *

Specifies the storage type associated with DB snapshot.

*/ inline const Aws::String& GetStorageType() const{ return m_storageType; } /** *

Specifies the storage type associated with DB snapshot.

*/ inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; } /** *

Specifies the storage type associated with DB snapshot.

*/ inline void SetStorageType(const Aws::String& value) { m_storageTypeHasBeenSet = true; m_storageType = value; } /** *

Specifies the storage type associated with DB snapshot.

*/ inline void SetStorageType(Aws::String&& value) { m_storageTypeHasBeenSet = true; m_storageType = std::move(value); } /** *

Specifies the storage type associated with DB snapshot.

*/ inline void SetStorageType(const char* value) { m_storageTypeHasBeenSet = true; m_storageType.assign(value); } /** *

Specifies the storage type associated with DB snapshot.

*/ inline DBSnapshot& WithStorageType(const Aws::String& value) { SetStorageType(value); return *this;} /** *

Specifies the storage type associated with DB snapshot.

*/ inline DBSnapshot& WithStorageType(Aws::String&& value) { SetStorageType(std::move(value)); return *this;} /** *

Specifies the storage type associated with DB snapshot.

*/ inline DBSnapshot& WithStorageType(const char* value) { SetStorageType(value); return *this;} /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline const Aws::String& GetTdeCredentialArn() const{ return m_tdeCredentialArn; } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline bool TdeCredentialArnHasBeenSet() const { return m_tdeCredentialArnHasBeenSet; } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline void SetTdeCredentialArn(const Aws::String& value) { m_tdeCredentialArnHasBeenSet = true; m_tdeCredentialArn = value; } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline void SetTdeCredentialArn(Aws::String&& value) { m_tdeCredentialArnHasBeenSet = true; m_tdeCredentialArn = std::move(value); } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline void SetTdeCredentialArn(const char* value) { m_tdeCredentialArnHasBeenSet = true; m_tdeCredentialArn.assign(value); } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline DBSnapshot& WithTdeCredentialArn(const Aws::String& value) { SetTdeCredentialArn(value); return *this;} /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline DBSnapshot& WithTdeCredentialArn(Aws::String&& value) { SetTdeCredentialArn(std::move(value)); return *this;} /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline DBSnapshot& WithTdeCredentialArn(const char* value) { SetTdeCredentialArn(value); return *this;} /** *

Specifies whether the DB snapshot is encrypted.

*/ inline bool GetEncrypted() const{ return m_encrypted; } /** *

Specifies whether the DB snapshot is encrypted.

*/ inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; } /** *

Specifies whether the DB snapshot is encrypted.

*/ inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; } /** *

Specifies whether the DB snapshot is encrypted.

*/ inline DBSnapshot& WithEncrypted(bool value) { SetEncrypted(value); return *this;} /** *

If Encrypted is true, the AWS KMS key identifier for the * encrypted DB snapshot.

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

If Encrypted is true, the AWS KMS key identifier for the * encrypted DB snapshot.

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

If Encrypted is true, the AWS KMS key identifier for the * encrypted DB snapshot.

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

If Encrypted is true, the AWS KMS key identifier for the * encrypted DB snapshot.

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

If Encrypted is true, the AWS KMS key identifier for the * encrypted DB snapshot.

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

If Encrypted is true, the AWS KMS key identifier for the * encrypted DB snapshot.

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

If Encrypted is true, the AWS KMS key identifier for the * encrypted DB snapshot.

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

If Encrypted is true, the AWS KMS key identifier for the * encrypted DB snapshot.

*/ inline DBSnapshot& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

The Amazon Resource Name (ARN) for the DB snapshot.

*/ inline const Aws::String& GetDBSnapshotArn() const{ return m_dBSnapshotArn; } /** *

The Amazon Resource Name (ARN) for the DB snapshot.

*/ inline bool DBSnapshotArnHasBeenSet() const { return m_dBSnapshotArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the DB snapshot.

*/ inline void SetDBSnapshotArn(const Aws::String& value) { m_dBSnapshotArnHasBeenSet = true; m_dBSnapshotArn = value; } /** *

The Amazon Resource Name (ARN) for the DB snapshot.

*/ inline void SetDBSnapshotArn(Aws::String&& value) { m_dBSnapshotArnHasBeenSet = true; m_dBSnapshotArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the DB snapshot.

*/ inline void SetDBSnapshotArn(const char* value) { m_dBSnapshotArnHasBeenSet = true; m_dBSnapshotArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the DB snapshot.

*/ inline DBSnapshot& WithDBSnapshotArn(const Aws::String& value) { SetDBSnapshotArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the DB snapshot.

*/ inline DBSnapshot& WithDBSnapshotArn(Aws::String&& value) { SetDBSnapshotArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the DB snapshot.

*/ inline DBSnapshot& WithDBSnapshotArn(const char* value) { SetDBSnapshotArn(value); return *this;} /** *

The time zone of the DB snapshot. In most cases, the Timezone * element is empty. Timezone content appears only for snapshots taken * from Microsoft SQL Server DB instances that were created with a time zone * specified.

*/ inline const Aws::String& GetTimezone() const{ return m_timezone; } /** *

The time zone of the DB snapshot. In most cases, the Timezone * element is empty. Timezone content appears only for snapshots taken * from Microsoft SQL Server DB instances that were created with a time zone * specified.

*/ inline bool TimezoneHasBeenSet() const { return m_timezoneHasBeenSet; } /** *

The time zone of the DB snapshot. In most cases, the Timezone * element is empty. Timezone content appears only for snapshots taken * from Microsoft SQL Server DB instances that were created with a time zone * specified.

*/ inline void SetTimezone(const Aws::String& value) { m_timezoneHasBeenSet = true; m_timezone = value; } /** *

The time zone of the DB snapshot. In most cases, the Timezone * element is empty. Timezone content appears only for snapshots taken * from Microsoft SQL Server DB instances that were created with a time zone * specified.

*/ inline void SetTimezone(Aws::String&& value) { m_timezoneHasBeenSet = true; m_timezone = std::move(value); } /** *

The time zone of the DB snapshot. In most cases, the Timezone * element is empty. Timezone content appears only for snapshots taken * from Microsoft SQL Server DB instances that were created with a time zone * specified.

*/ inline void SetTimezone(const char* value) { m_timezoneHasBeenSet = true; m_timezone.assign(value); } /** *

The time zone of the DB snapshot. In most cases, the Timezone * element is empty. Timezone content appears only for snapshots taken * from Microsoft SQL Server DB instances that were created with a time zone * specified.

*/ inline DBSnapshot& WithTimezone(const Aws::String& value) { SetTimezone(value); return *this;} /** *

The time zone of the DB snapshot. In most cases, the Timezone * element is empty. Timezone content appears only for snapshots taken * from Microsoft SQL Server DB instances that were created with a time zone * specified.

*/ inline DBSnapshot& WithTimezone(Aws::String&& value) { SetTimezone(std::move(value)); return *this;} /** *

The time zone of the DB snapshot. In most cases, the Timezone * element is empty. Timezone content appears only for snapshots taken * from Microsoft SQL Server DB instances that were created with a time zone * specified.

*/ inline DBSnapshot& WithTimezone(const char* value) { SetTimezone(value); return *this;} /** *

True if mapping of AWS Identity and Access Management (IAM) accounts to * database accounts is enabled, and otherwise false.

*/ inline bool GetIAMDatabaseAuthenticationEnabled() const{ return m_iAMDatabaseAuthenticationEnabled; } /** *

True if mapping of AWS Identity and Access Management (IAM) accounts to * database accounts is enabled, and otherwise false.

*/ inline bool IAMDatabaseAuthenticationEnabledHasBeenSet() const { return m_iAMDatabaseAuthenticationEnabledHasBeenSet; } /** *

True if mapping of AWS Identity and Access Management (IAM) accounts to * database accounts is enabled, and otherwise false.

*/ inline void SetIAMDatabaseAuthenticationEnabled(bool value) { m_iAMDatabaseAuthenticationEnabledHasBeenSet = true; m_iAMDatabaseAuthenticationEnabled = value; } /** *

True if mapping of AWS Identity and Access Management (IAM) accounts to * database accounts is enabled, and otherwise false.

*/ inline DBSnapshot& WithIAMDatabaseAuthenticationEnabled(bool value) { SetIAMDatabaseAuthenticationEnabled(value); return *this;} /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance when the DB snapshot was created.

*/ inline const Aws::Vector& GetProcessorFeatures() const{ return m_processorFeatures; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance when the DB snapshot was created.

*/ inline bool ProcessorFeaturesHasBeenSet() const { return m_processorFeaturesHasBeenSet; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance when the DB snapshot was created.

*/ inline void SetProcessorFeatures(const Aws::Vector& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures = value; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance when the DB snapshot was created.

*/ inline void SetProcessorFeatures(Aws::Vector&& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures = std::move(value); } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance when the DB snapshot was created.

*/ inline DBSnapshot& WithProcessorFeatures(const Aws::Vector& value) { SetProcessorFeatures(value); return *this;} /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance when the DB snapshot was created.

*/ inline DBSnapshot& WithProcessorFeatures(Aws::Vector&& value) { SetProcessorFeatures(std::move(value)); return *this;} /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance when the DB snapshot was created.

*/ inline DBSnapshot& AddProcessorFeatures(const ProcessorFeature& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures.push_back(value); return *this; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance when the DB snapshot was created.

*/ inline DBSnapshot& AddProcessorFeatures(ProcessorFeature&& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures.push_back(std::move(value)); return *this; } /** *

The identifier for the source DB instance, which can't be changed and which * is unique to an AWS Region.

*/ inline const Aws::String& GetDbiResourceId() const{ return m_dbiResourceId; } /** *

The identifier for the source DB instance, which can't be changed and which * is unique to an AWS Region.

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

The identifier for the source DB instance, which can't be changed and which * is unique to an AWS Region.

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

The identifier for the source DB instance, which can't be changed and which * is unique to an AWS Region.

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

The identifier for the source DB instance, which can't be changed and which * is unique to an AWS Region.

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

The identifier for the source DB instance, which can't be changed and which * is unique to an AWS Region.

*/ inline DBSnapshot& WithDbiResourceId(const Aws::String& value) { SetDbiResourceId(value); return *this;} /** *

The identifier for the source DB instance, which can't be changed and which * is unique to an AWS Region.

*/ inline DBSnapshot& WithDbiResourceId(Aws::String&& value) { SetDbiResourceId(std::move(value)); return *this;} /** *

The identifier for the source DB instance, which can't be changed and which * is unique to an AWS Region.

*/ inline DBSnapshot& WithDbiResourceId(const char* value) { SetDbiResourceId(value); return *this;} private: Aws::String m_dBSnapshotIdentifier; bool m_dBSnapshotIdentifierHasBeenSet; Aws::String m_dBInstanceIdentifier; bool m_dBInstanceIdentifierHasBeenSet; Aws::Utils::DateTime m_snapshotCreateTime; bool m_snapshotCreateTimeHasBeenSet; Aws::String m_engine; bool m_engineHasBeenSet; int m_allocatedStorage; bool m_allocatedStorageHasBeenSet; Aws::String m_status; bool m_statusHasBeenSet; int m_port; bool m_portHasBeenSet; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet; Aws::String m_vpcId; bool m_vpcIdHasBeenSet; Aws::Utils::DateTime m_instanceCreateTime; bool m_instanceCreateTimeHasBeenSet; Aws::String m_masterUsername; bool m_masterUsernameHasBeenSet; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet; Aws::String m_licenseModel; bool m_licenseModelHasBeenSet; Aws::String m_snapshotType; bool m_snapshotTypeHasBeenSet; int m_iops; bool m_iopsHasBeenSet; Aws::String m_optionGroupName; bool m_optionGroupNameHasBeenSet; int m_percentProgress; bool m_percentProgressHasBeenSet; Aws::String m_sourceRegion; bool m_sourceRegionHasBeenSet; Aws::String m_sourceDBSnapshotIdentifier; bool m_sourceDBSnapshotIdentifierHasBeenSet; Aws::String m_storageType; bool m_storageTypeHasBeenSet; Aws::String m_tdeCredentialArn; bool m_tdeCredentialArnHasBeenSet; bool m_encrypted; bool m_encryptedHasBeenSet; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet; Aws::String m_dBSnapshotArn; bool m_dBSnapshotArnHasBeenSet; Aws::String m_timezone; bool m_timezoneHasBeenSet; bool m_iAMDatabaseAuthenticationEnabled; bool m_iAMDatabaseAuthenticationEnabledHasBeenSet; Aws::Vector m_processorFeatures; bool m_processorFeaturesHasBeenSet; Aws::String m_dbiResourceId; bool m_dbiResourceIdHasBeenSet; }; } // namespace Model } // namespace RDS } // namespace Aws