/** * 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 #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Lightsail { namespace Model { /** *

Describes a database.

See Also:

AWS * API Reference

*/ class RelationalDatabase { public: AWS_LIGHTSAIL_API RelationalDatabase(); AWS_LIGHTSAIL_API RelationalDatabase(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API RelationalDatabase& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The unique name of the database resource in Lightsail.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The unique name of the database resource in Lightsail.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The unique name of the database resource in Lightsail.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The unique name of the database resource in Lightsail.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The unique name of the database resource in Lightsail.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The unique name of the database resource in Lightsail.

*/ inline RelationalDatabase& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The unique name of the database resource in Lightsail.

*/ inline RelationalDatabase& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The unique name of the database resource in Lightsail.

*/ inline RelationalDatabase& WithName(const char* value) { SetName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the database.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the database.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the database.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the database.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the database.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the database.

*/ inline RelationalDatabase& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the database.

*/ inline RelationalDatabase& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the database.

*/ inline RelationalDatabase& WithArn(const char* value) { SetArn(value); return *this;} /** *

The support code for the database. Include this code in your email to support * when you have questions about a database in Lightsail. This code enables our * support team to look up your Lightsail information more easily.

*/ inline const Aws::String& GetSupportCode() const{ return m_supportCode; } /** *

The support code for the database. Include this code in your email to support * when you have questions about a database in Lightsail. This code enables our * support team to look up your Lightsail information more easily.

*/ inline bool SupportCodeHasBeenSet() const { return m_supportCodeHasBeenSet; } /** *

The support code for the database. Include this code in your email to support * when you have questions about a database in Lightsail. This code enables our * support team to look up your Lightsail information more easily.

*/ inline void SetSupportCode(const Aws::String& value) { m_supportCodeHasBeenSet = true; m_supportCode = value; } /** *

The support code for the database. Include this code in your email to support * when you have questions about a database in Lightsail. This code enables our * support team to look up your Lightsail information more easily.

*/ inline void SetSupportCode(Aws::String&& value) { m_supportCodeHasBeenSet = true; m_supportCode = std::move(value); } /** *

The support code for the database. Include this code in your email to support * when you have questions about a database in Lightsail. This code enables our * support team to look up your Lightsail information more easily.

*/ inline void SetSupportCode(const char* value) { m_supportCodeHasBeenSet = true; m_supportCode.assign(value); } /** *

The support code for the database. Include this code in your email to support * when you have questions about a database in Lightsail. This code enables our * support team to look up your Lightsail information more easily.

*/ inline RelationalDatabase& WithSupportCode(const Aws::String& value) { SetSupportCode(value); return *this;} /** *

The support code for the database. Include this code in your email to support * when you have questions about a database in Lightsail. This code enables our * support team to look up your Lightsail information more easily.

*/ inline RelationalDatabase& WithSupportCode(Aws::String&& value) { SetSupportCode(std::move(value)); return *this;} /** *

The support code for the database. Include this code in your email to support * when you have questions about a database in Lightsail. This code enables our * support team to look up your Lightsail information more easily.

*/ inline RelationalDatabase& WithSupportCode(const char* value) { SetSupportCode(value); return *this;} /** *

The timestamp when the database was created. Formatted in Unix time.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The timestamp when the database was created. Formatted in Unix time.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The timestamp when the database was created. Formatted in Unix time.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The timestamp when the database was created. Formatted in Unix time.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The timestamp when the database was created. Formatted in Unix time.

*/ inline RelationalDatabase& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The timestamp when the database was created. Formatted in Unix time.

*/ inline RelationalDatabase& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The Region name and Availability Zone where the database is located.

*/ inline const ResourceLocation& GetLocation() const{ return m_location; } /** *

The Region name and Availability Zone where the database is located.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

The Region name and Availability Zone where the database is located.

*/ inline void SetLocation(const ResourceLocation& value) { m_locationHasBeenSet = true; m_location = value; } /** *

The Region name and Availability Zone where the database is located.

*/ inline void SetLocation(ResourceLocation&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

The Region name and Availability Zone where the database is located.

*/ inline RelationalDatabase& WithLocation(const ResourceLocation& value) { SetLocation(value); return *this;} /** *

The Region name and Availability Zone where the database is located.

*/ inline RelationalDatabase& WithLocation(ResourceLocation&& value) { SetLocation(std::move(value)); return *this;} /** *

The Lightsail resource type for the database (for example, * RelationalDatabase).

*/ inline const ResourceType& GetResourceType() const{ return m_resourceType; } /** *

The Lightsail resource type for the database (for example, * RelationalDatabase).

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The Lightsail resource type for the database (for example, * RelationalDatabase).

*/ inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

The Lightsail resource type for the database (for example, * RelationalDatabase).

*/ inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

The Lightsail resource type for the database (for example, * RelationalDatabase).

*/ inline RelationalDatabase& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} /** *

The Lightsail resource type for the database (for example, * RelationalDatabase).

*/ inline RelationalDatabase& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *

The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline RelationalDatabase& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline RelationalDatabase& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline RelationalDatabase& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tag keys and optional values for the resource. For more information about * tags in Lightsail, see the Amazon * Lightsail Developer Guide.

*/ inline RelationalDatabase& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The blueprint ID for the database. A blueprint describes the major engine * version of a database.

*/ inline const Aws::String& GetRelationalDatabaseBlueprintId() const{ return m_relationalDatabaseBlueprintId; } /** *

The blueprint ID for the database. A blueprint describes the major engine * version of a database.

*/ inline bool RelationalDatabaseBlueprintIdHasBeenSet() const { return m_relationalDatabaseBlueprintIdHasBeenSet; } /** *

The blueprint ID for the database. A blueprint describes the major engine * version of a database.

*/ inline void SetRelationalDatabaseBlueprintId(const Aws::String& value) { m_relationalDatabaseBlueprintIdHasBeenSet = true; m_relationalDatabaseBlueprintId = value; } /** *

The blueprint ID for the database. A blueprint describes the major engine * version of a database.

*/ inline void SetRelationalDatabaseBlueprintId(Aws::String&& value) { m_relationalDatabaseBlueprintIdHasBeenSet = true; m_relationalDatabaseBlueprintId = std::move(value); } /** *

The blueprint ID for the database. A blueprint describes the major engine * version of a database.

*/ inline void SetRelationalDatabaseBlueprintId(const char* value) { m_relationalDatabaseBlueprintIdHasBeenSet = true; m_relationalDatabaseBlueprintId.assign(value); } /** *

The blueprint ID for the database. A blueprint describes the major engine * version of a database.

*/ inline RelationalDatabase& WithRelationalDatabaseBlueprintId(const Aws::String& value) { SetRelationalDatabaseBlueprintId(value); return *this;} /** *

The blueprint ID for the database. A blueprint describes the major engine * version of a database.

*/ inline RelationalDatabase& WithRelationalDatabaseBlueprintId(Aws::String&& value) { SetRelationalDatabaseBlueprintId(std::move(value)); return *this;} /** *

The blueprint ID for the database. A blueprint describes the major engine * version of a database.

*/ inline RelationalDatabase& WithRelationalDatabaseBlueprintId(const char* value) { SetRelationalDatabaseBlueprintId(value); return *this;} /** *

The bundle ID for the database. A bundle describes the performance * specifications for your database.

*/ inline const Aws::String& GetRelationalDatabaseBundleId() const{ return m_relationalDatabaseBundleId; } /** *

The bundle ID for the database. A bundle describes the performance * specifications for your database.

*/ inline bool RelationalDatabaseBundleIdHasBeenSet() const { return m_relationalDatabaseBundleIdHasBeenSet; } /** *

The bundle ID for the database. A bundle describes the performance * specifications for your database.

*/ inline void SetRelationalDatabaseBundleId(const Aws::String& value) { m_relationalDatabaseBundleIdHasBeenSet = true; m_relationalDatabaseBundleId = value; } /** *

The bundle ID for the database. A bundle describes the performance * specifications for your database.

*/ inline void SetRelationalDatabaseBundleId(Aws::String&& value) { m_relationalDatabaseBundleIdHasBeenSet = true; m_relationalDatabaseBundleId = std::move(value); } /** *

The bundle ID for the database. A bundle describes the performance * specifications for your database.

*/ inline void SetRelationalDatabaseBundleId(const char* value) { m_relationalDatabaseBundleIdHasBeenSet = true; m_relationalDatabaseBundleId.assign(value); } /** *

The bundle ID for the database. A bundle describes the performance * specifications for your database.

*/ inline RelationalDatabase& WithRelationalDatabaseBundleId(const Aws::String& value) { SetRelationalDatabaseBundleId(value); return *this;} /** *

The bundle ID for the database. A bundle describes the performance * specifications for your database.

*/ inline RelationalDatabase& WithRelationalDatabaseBundleId(Aws::String&& value) { SetRelationalDatabaseBundleId(std::move(value)); return *this;} /** *

The bundle ID for the database. A bundle describes the performance * specifications for your database.

*/ inline RelationalDatabase& WithRelationalDatabaseBundleId(const char* value) { SetRelationalDatabaseBundleId(value); return *this;} /** *

The name of the master database created when the Lightsail database resource * is created.

*/ inline const Aws::String& GetMasterDatabaseName() const{ return m_masterDatabaseName; } /** *

The name of the master database created when the Lightsail database resource * is created.

*/ inline bool MasterDatabaseNameHasBeenSet() const { return m_masterDatabaseNameHasBeenSet; } /** *

The name of the master database created when the Lightsail database resource * is created.

*/ inline void SetMasterDatabaseName(const Aws::String& value) { m_masterDatabaseNameHasBeenSet = true; m_masterDatabaseName = value; } /** *

The name of the master database created when the Lightsail database resource * is created.

*/ inline void SetMasterDatabaseName(Aws::String&& value) { m_masterDatabaseNameHasBeenSet = true; m_masterDatabaseName = std::move(value); } /** *

The name of the master database created when the Lightsail database resource * is created.

*/ inline void SetMasterDatabaseName(const char* value) { m_masterDatabaseNameHasBeenSet = true; m_masterDatabaseName.assign(value); } /** *

The name of the master database created when the Lightsail database resource * is created.

*/ inline RelationalDatabase& WithMasterDatabaseName(const Aws::String& value) { SetMasterDatabaseName(value); return *this;} /** *

The name of the master database created when the Lightsail database resource * is created.

*/ inline RelationalDatabase& WithMasterDatabaseName(Aws::String&& value) { SetMasterDatabaseName(std::move(value)); return *this;} /** *

The name of the master database created when the Lightsail database resource * is created.

*/ inline RelationalDatabase& WithMasterDatabaseName(const char* value) { SetMasterDatabaseName(value); return *this;} /** *

Describes the hardware of the database.

*/ inline const RelationalDatabaseHardware& GetHardware() const{ return m_hardware; } /** *

Describes the hardware of the database.

*/ inline bool HardwareHasBeenSet() const { return m_hardwareHasBeenSet; } /** *

Describes the hardware of the database.

*/ inline void SetHardware(const RelationalDatabaseHardware& value) { m_hardwareHasBeenSet = true; m_hardware = value; } /** *

Describes the hardware of the database.

*/ inline void SetHardware(RelationalDatabaseHardware&& value) { m_hardwareHasBeenSet = true; m_hardware = std::move(value); } /** *

Describes the hardware of the database.

*/ inline RelationalDatabase& WithHardware(const RelationalDatabaseHardware& value) { SetHardware(value); return *this;} /** *

Describes the hardware of the database.

*/ inline RelationalDatabase& WithHardware(RelationalDatabaseHardware&& value) { SetHardware(std::move(value)); return *this;} /** *

Describes the current state of the database.

*/ inline const Aws::String& GetState() const{ return m_state; } /** *

Describes the current state of the database.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

Describes the current state of the database.

*/ inline void SetState(const Aws::String& value) { m_stateHasBeenSet = true; m_state = value; } /** *

Describes the current state of the database.

*/ inline void SetState(Aws::String&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

Describes the current state of the database.

*/ inline void SetState(const char* value) { m_stateHasBeenSet = true; m_state.assign(value); } /** *

Describes the current state of the database.

*/ inline RelationalDatabase& WithState(const Aws::String& value) { SetState(value); return *this;} /** *

Describes the current state of the database.

*/ inline RelationalDatabase& WithState(Aws::String&& value) { SetState(std::move(value)); return *this;} /** *

Describes the current state of the database.

*/ inline RelationalDatabase& WithState(const char* value) { SetState(value); return *this;} /** *

Describes the secondary Availability Zone of a high availability * database.

The secondary database is used for failover support of a high * availability database.

*/ inline const Aws::String& GetSecondaryAvailabilityZone() const{ return m_secondaryAvailabilityZone; } /** *

Describes the secondary Availability Zone of a high availability * database.

The secondary database is used for failover support of a high * availability database.

*/ inline bool SecondaryAvailabilityZoneHasBeenSet() const { return m_secondaryAvailabilityZoneHasBeenSet; } /** *

Describes the secondary Availability Zone of a high availability * database.

The secondary database is used for failover support of a high * availability database.

*/ inline void SetSecondaryAvailabilityZone(const Aws::String& value) { m_secondaryAvailabilityZoneHasBeenSet = true; m_secondaryAvailabilityZone = value; } /** *

Describes the secondary Availability Zone of a high availability * database.

The secondary database is used for failover support of a high * availability database.

*/ inline void SetSecondaryAvailabilityZone(Aws::String&& value) { m_secondaryAvailabilityZoneHasBeenSet = true; m_secondaryAvailabilityZone = std::move(value); } /** *

Describes the secondary Availability Zone of a high availability * database.

The secondary database is used for failover support of a high * availability database.

*/ inline void SetSecondaryAvailabilityZone(const char* value) { m_secondaryAvailabilityZoneHasBeenSet = true; m_secondaryAvailabilityZone.assign(value); } /** *

Describes the secondary Availability Zone of a high availability * database.

The secondary database is used for failover support of a high * availability database.

*/ inline RelationalDatabase& WithSecondaryAvailabilityZone(const Aws::String& value) { SetSecondaryAvailabilityZone(value); return *this;} /** *

Describes the secondary Availability Zone of a high availability * database.

The secondary database is used for failover support of a high * availability database.

*/ inline RelationalDatabase& WithSecondaryAvailabilityZone(Aws::String&& value) { SetSecondaryAvailabilityZone(std::move(value)); return *this;} /** *

Describes the secondary Availability Zone of a high availability * database.

The secondary database is used for failover support of a high * availability database.

*/ inline RelationalDatabase& WithSecondaryAvailabilityZone(const char* value) { SetSecondaryAvailabilityZone(value); return *this;} /** *

A Boolean value indicating whether automated backup retention is enabled for * the database.

*/ inline bool GetBackupRetentionEnabled() const{ return m_backupRetentionEnabled; } /** *

A Boolean value indicating whether automated backup retention is enabled for * the database.

*/ inline bool BackupRetentionEnabledHasBeenSet() const { return m_backupRetentionEnabledHasBeenSet; } /** *

A Boolean value indicating whether automated backup retention is enabled for * the database.

*/ inline void SetBackupRetentionEnabled(bool value) { m_backupRetentionEnabledHasBeenSet = true; m_backupRetentionEnabled = value; } /** *

A Boolean value indicating whether automated backup retention is enabled for * the database.

*/ inline RelationalDatabase& WithBackupRetentionEnabled(bool value) { SetBackupRetentionEnabled(value); return *this;} /** *

Describes pending database value modifications.

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

Describes pending database value modifications.

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

Describes pending database value modifications.

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

Describes pending database value modifications.

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

Describes pending database value modifications.

*/ inline RelationalDatabase& WithPendingModifiedValues(const PendingModifiedRelationalDatabaseValues& value) { SetPendingModifiedValues(value); return *this;} /** *

Describes pending database value modifications.

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

The database software (for example, MySQL).

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

The database software (for example, MySQL).

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

The database software (for example, MySQL).

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

The database software (for example, MySQL).

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

The database software (for example, MySQL).

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

The database software (for example, MySQL).

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

The database software (for example, MySQL).

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

The database software (for example, MySQL).

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

The database engine version (for example, 5.7.23).

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

The database engine version (for example, 5.7.23).

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

The database engine version (for example, 5.7.23).

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

The database engine version (for example, 5.7.23).

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

The database engine version (for example, 5.7.23).

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

The database engine version (for example, 5.7.23).

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

The database engine version (for example, 5.7.23).

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

The database engine version (for example, 5.7.23).

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

The latest point in time to which the database can be restored. Formatted in * Unix time.

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

The latest point in time to which the database can be restored. Formatted in * Unix time.

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

The latest point in time to which the database can be restored. Formatted in * Unix time.

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

The latest point in time to which the database can be restored. Formatted in * Unix time.

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

The latest point in time to which the database can be restored. Formatted in * Unix time.

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

The latest point in time to which the database can be restored. Formatted in * Unix time.

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

The master user name of the database.

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

The master user name of the database.

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

The master user name of the database.

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

The master user name of the database.

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

The master user name of the database.

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

The master user name of the database.

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

The master user name of the database.

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

The master user name of the database.

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

The status of parameter updates for the database.

*/ inline const Aws::String& GetParameterApplyStatus() const{ return m_parameterApplyStatus; } /** *

The status of parameter updates for the database.

*/ inline bool ParameterApplyStatusHasBeenSet() const { return m_parameterApplyStatusHasBeenSet; } /** *

The status of parameter updates for the database.

*/ inline void SetParameterApplyStatus(const Aws::String& value) { m_parameterApplyStatusHasBeenSet = true; m_parameterApplyStatus = value; } /** *

The status of parameter updates for the database.

*/ inline void SetParameterApplyStatus(Aws::String&& value) { m_parameterApplyStatusHasBeenSet = true; m_parameterApplyStatus = std::move(value); } /** *

The status of parameter updates for the database.

*/ inline void SetParameterApplyStatus(const char* value) { m_parameterApplyStatusHasBeenSet = true; m_parameterApplyStatus.assign(value); } /** *

The status of parameter updates for the database.

*/ inline RelationalDatabase& WithParameterApplyStatus(const Aws::String& value) { SetParameterApplyStatus(value); return *this;} /** *

The status of parameter updates for the database.

*/ inline RelationalDatabase& WithParameterApplyStatus(Aws::String&& value) { SetParameterApplyStatus(std::move(value)); return *this;} /** *

The status of parameter updates for the database.

*/ inline RelationalDatabase& WithParameterApplyStatus(const char* value) { SetParameterApplyStatus(value); return *this;} /** *

The daily time range during which automated backups are created for the * database (for example, 16:00-16:30).

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

The daily time range during which automated backups are created for the * database (for example, 16:00-16:30).

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

The daily time range during which automated backups are created for the * database (for example, 16:00-16:30).

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

The daily time range during which automated backups are created for the * database (for example, 16:00-16:30).

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

The daily time range during which automated backups are created for the * database (for example, 16:00-16:30).

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

The daily time range during which automated backups are created for the * database (for example, 16:00-16:30).

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

The daily time range during which automated backups are created for the * database (for example, 16:00-16:30).

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

The daily time range during which automated backups are created for the * database (for example, 16:00-16:30).

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

The weekly time range during which system maintenance can occur on the * database.

In the format ddd:hh24:mi-ddd:hh24:mi. For * example, Tue:17:00-Tue:17:30.

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

The weekly time range during which system maintenance can occur on the * database.

In the format ddd:hh24:mi-ddd:hh24:mi. For * example, Tue:17:00-Tue:17:30.

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

The weekly time range during which system maintenance can occur on the * database.

In the format ddd:hh24:mi-ddd:hh24:mi. For * example, Tue:17:00-Tue:17:30.

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

The weekly time range during which system maintenance can occur on the * database.

In the format ddd:hh24:mi-ddd:hh24:mi. For * example, Tue:17:00-Tue:17:30.

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

The weekly time range during which system maintenance can occur on the * database.

In the format ddd:hh24:mi-ddd:hh24:mi. For * example, Tue:17:00-Tue:17:30.

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

The weekly time range during which system maintenance can occur on the * database.

In the format ddd:hh24:mi-ddd:hh24:mi. For * example, Tue:17:00-Tue:17:30.

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

The weekly time range during which system maintenance can occur on the * database.

In the format ddd:hh24:mi-ddd:hh24:mi. For * example, Tue:17:00-Tue:17:30.

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

The weekly time range during which system maintenance can occur on the * database.

In the format ddd:hh24:mi-ddd:hh24:mi. For * example, Tue:17:00-Tue:17:30.

*/ inline RelationalDatabase& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

A Boolean value indicating whether the database is publicly accessible.

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

A Boolean value indicating whether the database is publicly accessible.

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

A Boolean value indicating whether the database is publicly accessible.

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

A Boolean value indicating whether the database is publicly accessible.

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

The master endpoint for the database.

*/ inline const RelationalDatabaseEndpoint& GetMasterEndpoint() const{ return m_masterEndpoint; } /** *

The master endpoint for the database.

*/ inline bool MasterEndpointHasBeenSet() const { return m_masterEndpointHasBeenSet; } /** *

The master endpoint for the database.

*/ inline void SetMasterEndpoint(const RelationalDatabaseEndpoint& value) { m_masterEndpointHasBeenSet = true; m_masterEndpoint = value; } /** *

The master endpoint for the database.

*/ inline void SetMasterEndpoint(RelationalDatabaseEndpoint&& value) { m_masterEndpointHasBeenSet = true; m_masterEndpoint = std::move(value); } /** *

The master endpoint for the database.

*/ inline RelationalDatabase& WithMasterEndpoint(const RelationalDatabaseEndpoint& value) { SetMasterEndpoint(value); return *this;} /** *

The master endpoint for the database.

*/ inline RelationalDatabase& WithMasterEndpoint(RelationalDatabaseEndpoint&& value) { SetMasterEndpoint(std::move(value)); return *this;} /** *

Describes the pending maintenance actions for the database.

*/ inline const Aws::Vector& GetPendingMaintenanceActions() const{ return m_pendingMaintenanceActions; } /** *

Describes the pending maintenance actions for the database.

*/ inline bool PendingMaintenanceActionsHasBeenSet() const { return m_pendingMaintenanceActionsHasBeenSet; } /** *

Describes the pending maintenance actions for the database.

*/ inline void SetPendingMaintenanceActions(const Aws::Vector& value) { m_pendingMaintenanceActionsHasBeenSet = true; m_pendingMaintenanceActions = value; } /** *

Describes the pending maintenance actions for the database.

*/ inline void SetPendingMaintenanceActions(Aws::Vector&& value) { m_pendingMaintenanceActionsHasBeenSet = true; m_pendingMaintenanceActions = std::move(value); } /** *

Describes the pending maintenance actions for the database.

*/ inline RelationalDatabase& WithPendingMaintenanceActions(const Aws::Vector& value) { SetPendingMaintenanceActions(value); return *this;} /** *

Describes the pending maintenance actions for the database.

*/ inline RelationalDatabase& WithPendingMaintenanceActions(Aws::Vector&& value) { SetPendingMaintenanceActions(std::move(value)); return *this;} /** *

Describes the pending maintenance actions for the database.

*/ inline RelationalDatabase& AddPendingMaintenanceActions(const PendingMaintenanceAction& value) { m_pendingMaintenanceActionsHasBeenSet = true; m_pendingMaintenanceActions.push_back(value); return *this; } /** *

Describes the pending maintenance actions for the database.

*/ inline RelationalDatabase& AddPendingMaintenanceActions(PendingMaintenanceAction&& value) { m_pendingMaintenanceActionsHasBeenSet = true; m_pendingMaintenanceActions.push_back(std::move(value)); return *this; } /** *

The certificate associated with the database.

*/ inline const Aws::String& GetCaCertificateIdentifier() const{ return m_caCertificateIdentifier; } /** *

The certificate associated with the database.

*/ inline bool CaCertificateIdentifierHasBeenSet() const { return m_caCertificateIdentifierHasBeenSet; } /** *

The certificate associated with the database.

*/ inline void SetCaCertificateIdentifier(const Aws::String& value) { m_caCertificateIdentifierHasBeenSet = true; m_caCertificateIdentifier = value; } /** *

The certificate associated with the database.

*/ inline void SetCaCertificateIdentifier(Aws::String&& value) { m_caCertificateIdentifierHasBeenSet = true; m_caCertificateIdentifier = std::move(value); } /** *

The certificate associated with the database.

*/ inline void SetCaCertificateIdentifier(const char* value) { m_caCertificateIdentifierHasBeenSet = true; m_caCertificateIdentifier.assign(value); } /** *

The certificate associated with the database.

*/ inline RelationalDatabase& WithCaCertificateIdentifier(const Aws::String& value) { SetCaCertificateIdentifier(value); return *this;} /** *

The certificate associated with the database.

*/ inline RelationalDatabase& WithCaCertificateIdentifier(Aws::String&& value) { SetCaCertificateIdentifier(std::move(value)); return *this;} /** *

The certificate associated with the database.

*/ inline RelationalDatabase& WithCaCertificateIdentifier(const char* value) { SetCaCertificateIdentifier(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_supportCode; bool m_supportCodeHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; ResourceLocation m_location; bool m_locationHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_relationalDatabaseBlueprintId; bool m_relationalDatabaseBlueprintIdHasBeenSet = false; Aws::String m_relationalDatabaseBundleId; bool m_relationalDatabaseBundleIdHasBeenSet = false; Aws::String m_masterDatabaseName; bool m_masterDatabaseNameHasBeenSet = false; RelationalDatabaseHardware m_hardware; bool m_hardwareHasBeenSet = false; Aws::String m_state; bool m_stateHasBeenSet = false; Aws::String m_secondaryAvailabilityZone; bool m_secondaryAvailabilityZoneHasBeenSet = false; bool m_backupRetentionEnabled; bool m_backupRetentionEnabledHasBeenSet = false; PendingModifiedRelationalDatabaseValues m_pendingModifiedValues; bool m_pendingModifiedValuesHasBeenSet = false; Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::Utils::DateTime m_latestRestorableTime; bool m_latestRestorableTimeHasBeenSet = false; Aws::String m_masterUsername; bool m_masterUsernameHasBeenSet = false; Aws::String m_parameterApplyStatus; bool m_parameterApplyStatusHasBeenSet = false; Aws::String m_preferredBackupWindow; bool m_preferredBackupWindowHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; RelationalDatabaseEndpoint m_masterEndpoint; bool m_masterEndpointHasBeenSet = false; Aws::Vector m_pendingMaintenanceActions; bool m_pendingMaintenanceActionsHasBeenSet = false; Aws::String m_caCertificateIdentifier; bool m_caCertificateIdentifierHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws