/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Lightsail { namespace Model { /** */ class UpdateRelationalDatabaseRequest : public LightsailRequest { public: AWS_LIGHTSAIL_API UpdateRelationalDatabaseRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateRelationalDatabase"; } AWS_LIGHTSAIL_API Aws::String SerializePayload() const override; AWS_LIGHTSAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of your Lightsail database resource to update.

*/ inline const Aws::String& GetRelationalDatabaseName() const{ return m_relationalDatabaseName; } /** *

The name of your Lightsail database resource to update.

*/ inline bool RelationalDatabaseNameHasBeenSet() const { return m_relationalDatabaseNameHasBeenSet; } /** *

The name of your Lightsail database resource to update.

*/ inline void SetRelationalDatabaseName(const Aws::String& value) { m_relationalDatabaseNameHasBeenSet = true; m_relationalDatabaseName = value; } /** *

The name of your Lightsail database resource to update.

*/ inline void SetRelationalDatabaseName(Aws::String&& value) { m_relationalDatabaseNameHasBeenSet = true; m_relationalDatabaseName = std::move(value); } /** *

The name of your Lightsail database resource to update.

*/ inline void SetRelationalDatabaseName(const char* value) { m_relationalDatabaseNameHasBeenSet = true; m_relationalDatabaseName.assign(value); } /** *

The name of your Lightsail database resource to update.

*/ inline UpdateRelationalDatabaseRequest& WithRelationalDatabaseName(const Aws::String& value) { SetRelationalDatabaseName(value); return *this;} /** *

The name of your Lightsail database resource to update.

*/ inline UpdateRelationalDatabaseRequest& WithRelationalDatabaseName(Aws::String&& value) { SetRelationalDatabaseName(std::move(value)); return *this;} /** *

The name of your Lightsail database resource to update.

*/ inline UpdateRelationalDatabaseRequest& WithRelationalDatabaseName(const char* value) { SetRelationalDatabaseName(value); return *this;} /** *

The password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

MySQL

*

Constraints: Must contain from 8 to 41 characters.

PostgreSQL *

Constraints: Must contain from 8 to 128 characters.

*/ inline const Aws::String& GetMasterUserPassword() const{ return m_masterUserPassword; } /** *

The password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

MySQL

*

Constraints: Must contain from 8 to 41 characters.

PostgreSQL *

Constraints: Must contain from 8 to 128 characters.

*/ inline bool MasterUserPasswordHasBeenSet() const { return m_masterUserPasswordHasBeenSet; } /** *

The password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

MySQL

*

Constraints: Must contain from 8 to 41 characters.

PostgreSQL *

Constraints: Must contain from 8 to 128 characters.

*/ inline void SetMasterUserPassword(const Aws::String& value) { m_masterUserPasswordHasBeenSet = true; m_masterUserPassword = value; } /** *

The password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

MySQL

*

Constraints: Must contain from 8 to 41 characters.

PostgreSQL *

Constraints: Must contain from 8 to 128 characters.

*/ inline void SetMasterUserPassword(Aws::String&& value) { m_masterUserPasswordHasBeenSet = true; m_masterUserPassword = std::move(value); } /** *

The password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

MySQL

*

Constraints: Must contain from 8 to 41 characters.

PostgreSQL *

Constraints: Must contain from 8 to 128 characters.

*/ inline void SetMasterUserPassword(const char* value) { m_masterUserPasswordHasBeenSet = true; m_masterUserPassword.assign(value); } /** *

The password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

MySQL

*

Constraints: Must contain from 8 to 41 characters.

PostgreSQL *

Constraints: Must contain from 8 to 128 characters.

*/ inline UpdateRelationalDatabaseRequest& WithMasterUserPassword(const Aws::String& value) { SetMasterUserPassword(value); return *this;} /** *

The password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

MySQL

*

Constraints: Must contain from 8 to 41 characters.

PostgreSQL *

Constraints: Must contain from 8 to 128 characters.

*/ inline UpdateRelationalDatabaseRequest& WithMasterUserPassword(Aws::String&& value) { SetMasterUserPassword(std::move(value)); return *this;} /** *

The password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

MySQL

*

Constraints: Must contain from 8 to 41 characters.

PostgreSQL *

Constraints: Must contain from 8 to 128 characters.

*/ inline UpdateRelationalDatabaseRequest& WithMasterUserPassword(const char* value) { SetMasterUserPassword(value); return *this;} /** *

When true, the master user password is changed to a new strong * password generated by Lightsail.

Use the get relational database * master user password operation to get the new password.

*/ inline bool GetRotateMasterUserPassword() const{ return m_rotateMasterUserPassword; } /** *

When true, the master user password is changed to a new strong * password generated by Lightsail.

Use the get relational database * master user password operation to get the new password.

*/ inline bool RotateMasterUserPasswordHasBeenSet() const { return m_rotateMasterUserPasswordHasBeenSet; } /** *

When true, the master user password is changed to a new strong * password generated by Lightsail.

Use the get relational database * master user password operation to get the new password.

*/ inline void SetRotateMasterUserPassword(bool value) { m_rotateMasterUserPasswordHasBeenSet = true; m_rotateMasterUserPassword = value; } /** *

When true, the master user password is changed to a new strong * password generated by Lightsail.

Use the get relational database * master user password operation to get the new password.

*/ inline UpdateRelationalDatabaseRequest& WithRotateMasterUserPassword(bool value) { SetRotateMasterUserPassword(value); return *this;} /** *

The daily time range during which automated backups are created for your * database if automated backups are enabled.

Constraints:

  • *

    Must be in the hh24:mi-hh24:mi format.

    Example: * 16:00-16:30

  • Specified in Coordinated Universal * Time (UTC).

  • Must not conflict with the preferred maintenance * window.

  • Must be at least 30 minutes.

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

The daily time range during which automated backups are created for your * database if automated backups are enabled.

Constraints:

  • *

    Must be in the hh24:mi-hh24:mi format.

    Example: * 16:00-16:30

  • Specified in Coordinated Universal * Time (UTC).

  • Must not conflict with the preferred maintenance * window.

  • Must be at least 30 minutes.

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

The daily time range during which automated backups are created for your * database if automated backups are enabled.

Constraints:

  • *

    Must be in the hh24:mi-hh24:mi format.

    Example: * 16:00-16:30

  • Specified in Coordinated Universal * Time (UTC).

  • Must not conflict with the preferred maintenance * window.

  • Must be at least 30 minutes.

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

The daily time range during which automated backups are created for your * database if automated backups are enabled.

Constraints:

  • *

    Must be in the hh24:mi-hh24:mi format.

    Example: * 16:00-16:30

  • Specified in Coordinated Universal * Time (UTC).

  • Must not conflict with the preferred maintenance * window.

  • Must be at least 30 minutes.

*/ 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 your * database if automated backups are enabled.

Constraints:

  • *

    Must be in the hh24:mi-hh24:mi format.

    Example: * 16:00-16:30

  • Specified in Coordinated Universal * Time (UTC).

  • Must not conflict with the preferred maintenance * window.

  • Must be at least 30 minutes.

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

The daily time range during which automated backups are created for your * database if automated backups are enabled.

Constraints:

  • *

    Must be in the hh24:mi-hh24:mi format.

    Example: * 16:00-16:30

  • Specified in Coordinated Universal * Time (UTC).

  • Must not conflict with the preferred maintenance * window.

  • Must be at least 30 minutes.

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

The daily time range during which automated backups are created for your * database if automated backups are enabled.

Constraints:

  • *

    Must be in the hh24:mi-hh24:mi format.

    Example: * 16:00-16:30

  • Specified in Coordinated Universal * Time (UTC).

  • Must not conflict with the preferred maintenance * window.

  • Must be at least 30 minutes.

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

The daily time range during which automated backups are created for your * database if automated backups are enabled.

Constraints:

  • *

    Must be in the hh24:mi-hh24:mi format.

    Example: * 16:00-16:30

  • Specified in Coordinated Universal * Time (UTC).

  • Must not conflict with the preferred maintenance * window.

  • Must be at least 30 minutes.

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

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

The default is a 30-minute window selected at random from an * 8-hour block of time for each Amazon Web Services Region, occurring on a random * day of the week.

Constraints:

  • Must be in the * ddd:hh24:mi-ddd:hh24:mi format.

  • Valid days: Mon, * Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be at least 30 minutes.

    *
  • Specified in Coordinated Universal Time (UTC).

  • *

    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 your * database.

The default is a 30-minute window selected at random from an * 8-hour block of time for each Amazon Web Services Region, occurring on a random * day of the week.

Constraints:

  • Must be in the * ddd:hh24:mi-ddd:hh24:mi format.

  • Valid days: Mon, * Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be at least 30 minutes.

    *
  • Specified in Coordinated Universal Time (UTC).

  • *

    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 your * database.

The default is a 30-minute window selected at random from an * 8-hour block of time for each Amazon Web Services Region, occurring on a random * day of the week.

Constraints:

  • Must be in the * ddd:hh24:mi-ddd:hh24:mi format.

  • Valid days: Mon, * Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be at least 30 minutes.

    *
  • Specified in Coordinated Universal Time (UTC).

  • *

    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 your * database.

The default is a 30-minute window selected at random from an * 8-hour block of time for each Amazon Web Services Region, occurring on a random * day of the week.

Constraints:

  • Must be in the * ddd:hh24:mi-ddd:hh24:mi format.

  • Valid days: Mon, * Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be at least 30 minutes.

    *
  • Specified in Coordinated Universal Time (UTC).

  • *

    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 your * database.

The default is a 30-minute window selected at random from an * 8-hour block of time for each Amazon Web Services Region, occurring on a random * day of the week.

Constraints:

  • Must be in the * ddd:hh24:mi-ddd:hh24:mi format.

  • Valid days: Mon, * Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be at least 30 minutes.

    *
  • Specified in Coordinated Universal Time (UTC).

  • *

    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 your * database.

The default is a 30-minute window selected at random from an * 8-hour block of time for each Amazon Web Services Region, occurring on a random * day of the week.

Constraints:

  • Must be in the * ddd:hh24:mi-ddd:hh24:mi format.

  • Valid days: Mon, * Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be at least 30 minutes.

    *
  • Specified in Coordinated Universal Time (UTC).

  • *

    Example: Tue:17:00-Tue:17:30

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

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

The default is a 30-minute window selected at random from an * 8-hour block of time for each Amazon Web Services Region, occurring on a random * day of the week.

Constraints:

  • Must be in the * ddd:hh24:mi-ddd:hh24:mi format.

  • Valid days: Mon, * Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be at least 30 minutes.

    *
  • Specified in Coordinated Universal Time (UTC).

  • *

    Example: Tue:17:00-Tue:17:30

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

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

The default is a 30-minute window selected at random from an * 8-hour block of time for each Amazon Web Services Region, occurring on a random * day of the week.

Constraints:

  • Must be in the * ddd:hh24:mi-ddd:hh24:mi format.

  • Valid days: Mon, * Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be at least 30 minutes.

    *
  • Specified in Coordinated Universal Time (UTC).

  • *

    Example: Tue:17:00-Tue:17:30

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

When true, enables automated backup retention for your * database.

Updates are applied during the next maintenance window because * this can result in an outage.

*/ inline bool GetEnableBackupRetention() const{ return m_enableBackupRetention; } /** *

When true, enables automated backup retention for your * database.

Updates are applied during the next maintenance window because * this can result in an outage.

*/ inline bool EnableBackupRetentionHasBeenSet() const { return m_enableBackupRetentionHasBeenSet; } /** *

When true, enables automated backup retention for your * database.

Updates are applied during the next maintenance window because * this can result in an outage.

*/ inline void SetEnableBackupRetention(bool value) { m_enableBackupRetentionHasBeenSet = true; m_enableBackupRetention = value; } /** *

When true, enables automated backup retention for your * database.

Updates are applied during the next maintenance window because * this can result in an outage.

*/ inline UpdateRelationalDatabaseRequest& WithEnableBackupRetention(bool value) { SetEnableBackupRetention(value); return *this;} /** *

When true, disables automated backup retention for your * database.

Disabling backup retention deletes all automated database * backups. Before disabling this, you may want to create a snapshot of your * database using the create relational database snapshot * operation.

Updates are applied during the next maintenance window because * this can result in an outage.

*/ inline bool GetDisableBackupRetention() const{ return m_disableBackupRetention; } /** *

When true, disables automated backup retention for your * database.

Disabling backup retention deletes all automated database * backups. Before disabling this, you may want to create a snapshot of your * database using the create relational database snapshot * operation.

Updates are applied during the next maintenance window because * this can result in an outage.

*/ inline bool DisableBackupRetentionHasBeenSet() const { return m_disableBackupRetentionHasBeenSet; } /** *

When true, disables automated backup retention for your * database.

Disabling backup retention deletes all automated database * backups. Before disabling this, you may want to create a snapshot of your * database using the create relational database snapshot * operation.

Updates are applied during the next maintenance window because * this can result in an outage.

*/ inline void SetDisableBackupRetention(bool value) { m_disableBackupRetentionHasBeenSet = true; m_disableBackupRetention = value; } /** *

When true, disables automated backup retention for your * database.

Disabling backup retention deletes all automated database * backups. Before disabling this, you may want to create a snapshot of your * database using the create relational database snapshot * operation.

Updates are applied during the next maintenance window because * this can result in an outage.

*/ inline UpdateRelationalDatabaseRequest& WithDisableBackupRetention(bool value) { SetDisableBackupRetention(value); return *this;} /** *

Specifies the accessibility options for your database. A value of * true specifies a database that is available to resources outside of * your Lightsail account. A value of false specifies a database that * is available only to your Lightsail resources in the same region as your * database.

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

Specifies the accessibility options for your database. A value of * true specifies a database that is available to resources outside of * your Lightsail account. A value of false specifies a database that * is available only to your Lightsail resources in the same region as your * database.

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

Specifies the accessibility options for your database. A value of * true specifies a database that is available to resources outside of * your Lightsail account. A value of false specifies a database that * is available only to your Lightsail resources in the same region as your * database.

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

Specifies the accessibility options for your database. A value of * true specifies a database that is available to resources outside of * your Lightsail account. A value of false specifies a database that * is available only to your Lightsail resources in the same region as your * database.

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

When true, applies changes immediately. When false, * applies changes during the preferred maintenance window. Some changes may cause * an outage.

Default: false

*/ inline bool GetApplyImmediately() const{ return m_applyImmediately; } /** *

When true, applies changes immediately. When false, * applies changes during the preferred maintenance window. Some changes may cause * an outage.

Default: false

*/ inline bool ApplyImmediatelyHasBeenSet() const { return m_applyImmediatelyHasBeenSet; } /** *

When true, applies changes immediately. When false, * applies changes during the preferred maintenance window. Some changes may cause * an outage.

Default: false

*/ inline void SetApplyImmediately(bool value) { m_applyImmediatelyHasBeenSet = true; m_applyImmediately = value; } /** *

When true, applies changes immediately. When false, * applies changes during the preferred maintenance window. Some changes may cause * an outage.

Default: false

*/ inline UpdateRelationalDatabaseRequest& WithApplyImmediately(bool value) { SetApplyImmediately(value); return *this;} /** *

Indicates the certificate that needs to be associated with the database.

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

Indicates the certificate that needs to be associated with the database.

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

Indicates the certificate that needs to be associated with the database.

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

Indicates the certificate that needs to be associated with the database.

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

Indicates the certificate that needs to be associated with the database.

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

Indicates the certificate that needs to be associated with the database.

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

Indicates the certificate that needs to be associated with the database.

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

Indicates the certificate that needs to be associated with the database.

*/ inline UpdateRelationalDatabaseRequest& WithCaCertificateIdentifier(const char* value) { SetCaCertificateIdentifier(value); return *this;} private: Aws::String m_relationalDatabaseName; bool m_relationalDatabaseNameHasBeenSet = false; Aws::String m_masterUserPassword; bool m_masterUserPasswordHasBeenSet = false; bool m_rotateMasterUserPassword; bool m_rotateMasterUserPasswordHasBeenSet = false; Aws::String m_preferredBackupWindow; bool m_preferredBackupWindowHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; bool m_enableBackupRetention; bool m_enableBackupRetentionHasBeenSet = false; bool m_disableBackupRetention; bool m_disableBackupRetentionHasBeenSet = false; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; bool m_applyImmediately; bool m_applyImmediatelyHasBeenSet = false; Aws::String m_caCertificateIdentifier; bool m_caCertificateIdentifierHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws