service/rds/api_op_ModifyDBInstance.go (198 lines of code) (raw):

// Code generated by smithy-go-codegen DO NOT EDIT. package rds import ( "context" "fmt" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/service/rds/types" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" ) // Modifies settings for a DB instance. You can change one or more database // configuration parameters by specifying these parameters and the new values in // the request. To learn what modifications you can make to your DB instance, call // DescribeValidDBInstanceModifications before you call ModifyDBInstance . func (c *Client) ModifyDBInstance(ctx context.Context, params *ModifyDBInstanceInput, optFns ...func(*Options)) (*ModifyDBInstanceOutput, error) { if params == nil { params = &ModifyDBInstanceInput{} } result, metadata, err := c.invokeOperation(ctx, "ModifyDBInstance", params, optFns, c.addOperationModifyDBInstanceMiddlewares) if err != nil { return nil, err } out := result.(*ModifyDBInstanceOutput) out.ResultMetadata = metadata return out, nil } type ModifyDBInstanceInput struct { // The identifier of DB instance to modify. This value is stored as a lowercase // string. // // Constraints: // // - Must match the identifier of an existing DB instance. // // This member is required. DBInstanceIdentifier *string // The new amount of storage in gibibytes (GiB) to allocate for the DB instance. // // For RDS for Db2, MariaDB, RDS for MySQL, RDS for Oracle, and RDS for // PostgreSQL, the value supplied must be at least 10% greater than the current // value. Values that are not at least 10% greater than the existing value are // rounded up so that they are 10% greater than the current value. // // For the valid values for allocated storage for each engine, see CreateDBInstance // . // // Constraints: // // - When you increase the allocated storage for a DB instance that uses // Provisioned IOPS ( gp3 , io1 , or io2 storage type), you must also specify the // Iops parameter. You can use the current value for Iops . AllocatedStorage *int32 // Specifies whether major version upgrades are allowed. Changing this parameter // doesn't result in an outage and the change is asynchronously applied as soon as // possible. // // This setting doesn't apply to RDS Custom DB instances. // // Constraints: // // - Major version upgrades must be allowed when specifying a value for the // EngineVersion parameter that's a different major version than the DB // instance's current version. AllowMajorVersionUpgrade *bool // Specifies whether the modifications in this request and any pending // modifications are asynchronously applied as soon as possible, regardless of the // PreferredMaintenanceWindow setting for the DB instance. By default, this // parameter is disabled. // // If this parameter is disabled, changes to the DB instance are applied during // the next maintenance window. Some parameter changes can cause an outage and are // applied on the next call to RebootDBInstance, or the next failure reboot. Review the table of // parameters in [Modifying a DB Instance]in the Amazon RDS User Guide to see the impact of enabling or // disabling ApplyImmediately for each modified parameter and to determine when // the changes are applied. // // [Modifying a DB Instance]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html ApplyImmediately *bool // Specifies whether minor version upgrades are applied automatically to the DB // instance during the maintenance window. An outage occurs when all the following // conditions are met: // // - The automatic upgrade is enabled for the maintenance window. // // - A newer minor version is available. // // - RDS has enabled automatic patching for the engine version. // // If any of the preceding conditions isn't met, Amazon RDS applies the change as // soon as possible and doesn't cause an outage. // // For an RDS Custom DB instance, don't enable this setting. Otherwise, the // operation returns an error. // // For more information about automatic minor version upgrades, see [Automatically upgrading the minor engine version]. // // [Automatically upgrading the minor engine version]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades AutoMinorVersionUpgrade *bool // The automation mode of the RDS Custom DB instance. If full , the DB instance // automates monitoring and instance recovery. If all paused , the instance pauses // automation for the duration set by ResumeFullAutomationModeMinutes . AutomationMode types.AutomationMode // The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services // Backup. // // This setting doesn't apply to RDS Custom DB instances. AwsBackupRecoveryPointArn *string // The number of days to retain automated backups. Setting this parameter to a // positive number enables backups. Setting this parameter to 0 disables automated // backups. // // Enabling and disabling backups can result in a brief I/O suspension that lasts // from a few seconds to a few minutes, depending on the size and class of your DB // instance. // // These changes are applied during the next maintenance window unless the // ApplyImmediately parameter is enabled for this request. If you change the // parameter from one non-zero value to another non-zero value, the change is // asynchronously applied as soon as possible. // // This setting doesn't apply to Amazon Aurora DB instances. The retention period // for automated backups is managed by the DB cluster. For more information, see // ModifyDBCluster . // // Default: Uses existing setting // // Constraints: // // - Must be a value from 0 to 35. // // - Can't be set to 0 if the DB instance is a source to read replicas. // // - Can't be set to 0 for an RDS Custom for Oracle DB instance. BackupRetentionPeriod *int32 // The CA certificate identifier to use for the DB instance's server certificate. // // This setting doesn't apply to RDS Custom DB instances. // // For more information, see [Using SSL/TLS to encrypt a connection to a DB instance] in the Amazon RDS User Guide and [Using SSL/TLS to encrypt a connection to a DB cluster] in the Amazon // Aurora User Guide. // // [Using SSL/TLS to encrypt a connection to a DB cluster]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html // [Using SSL/TLS to encrypt a connection to a DB instance]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html CACertificateIdentifier *string // Specifies whether the DB instance is restarted when you rotate your SSL/TLS // certificate. // // By default, the DB instance is restarted when you rotate your SSL/TLS // certificate. The certificate is not updated until the DB instance is restarted. // // Set this parameter only if you are not using SSL/TLS to connect to the DB // instance. // // If you are using SSL/TLS to connect to the DB instance, follow the appropriate // instructions for your DB engine to rotate your SSL/TLS certificate: // // - For more information about rotating your SSL/TLS certificate for RDS DB // engines, see [Rotating Your SSL/TLS Certificate.]in the Amazon RDS User Guide. // // - For more information about rotating your SSL/TLS certificate for Aurora DB // engines, see [Rotating Your SSL/TLS Certificate]in the Amazon Aurora User Guide. // // This setting doesn't apply to RDS Custom DB instances. // // [Rotating Your SSL/TLS Certificate.]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html // [Rotating Your SSL/TLS Certificate]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html CertificateRotationRestart *bool // The log types to be enabled for export to CloudWatch Logs for a specific DB // instance. // // A change to the CloudwatchLogsExportConfiguration parameter is always applied // to the DB instance immediately. Therefore, the ApplyImmediately parameter has // no effect. // // This setting doesn't apply to RDS Custom DB instances. // // The following values are valid for each DB engine: // // - Aurora MySQL - audit | error | general | slowquery | iam-db-auth-error // // - Aurora PostgreSQL - postgresql | iam-db-auth-error // // - RDS for MySQL - error | general | slowquery | iam-db-auth-error // // - RDS for PostgreSQL - postgresql | upgrade | iam-db-auth-error // // For more information about exporting CloudWatch Logs for Amazon RDS, see [Publishing Database Logs to Amazon CloudWatch Logs] in // the Amazon RDS User Guide. // // For more information about exporting CloudWatch Logs for Amazon Aurora, see [Publishing Database Logs to Amazon CloudWatch Logs] in // the Amazon Aurora User Guide. // // [Publishing Database Logs to Amazon CloudWatch Logs]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch CloudwatchLogsExportConfiguration *types.CloudwatchLogsExportConfiguration // Specifies whether to copy all tags from the DB instance to snapshots of the DB // instance. By default, tags aren't copied. // // This setting doesn't apply to Amazon Aurora DB instances. Copying tags to // snapshots is managed by the DB cluster. Setting this value for an Aurora DB // instance has no effect on the DB cluster setting. For more information, see // ModifyDBCluster . CopyTagsToSnapshot *bool // The new compute and memory capacity of the DB instance, for example db.m4.large // . Not all DB instance classes are available in all Amazon Web Services Regions, // or for all database engines. For the full list of DB instance classes, and // availability for your engine, see [DB Instance Class]in the Amazon RDS User Guide or [Aurora DB instance classes] in the // Amazon Aurora User Guide. For RDS Custom, see [DB instance class support for RDS Custom for Oracle]and [DB instance class support for RDS Custom for SQL Server]. // // If you modify the DB instance class, an outage occurs during the change. The // change is applied during the next maintenance window, unless you specify // ApplyImmediately in your request. // // Default: Uses existing setting // // Constraints: // // - If you are modifying the DB instance class and upgrading the engine version // at the same time, the currently running engine version must be supported on the // specified DB instance class. Otherwise, the operation returns an error. In this // case, first run the operation to upgrade the engine version, and then run it // again to modify the DB instance class. // // [Aurora DB instance classes]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html // [DB instance class support for RDS Custom for SQL Server]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html#custom-reqs-limits.instancesMS // [DB instance class support for RDS Custom for Oracle]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits.html#custom-reqs-limits.instances // [DB Instance Class]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html DBInstanceClass *string // The name of the DB parameter group to apply to the DB instance. // // Changing this setting doesn't result in an outage. The parameter group name // itself is changed immediately, but the actual parameter changes are not applied // until you reboot the instance without failover. In this case, the DB instance // isn't rebooted automatically, and the parameter changes aren't applied during // the next maintenance window. However, if you modify dynamic parameters in the // newly associated DB parameter group, these changes are applied immediately // without a reboot. // // This setting doesn't apply to RDS Custom DB instances. // // Default: Uses existing setting // // Constraints: // // - Must be in the same DB parameter group family as the DB instance. DBParameterGroupName *string // The port number on which the database accepts connections. // // The value of the DBPortNumber parameter must not match any of the port values // specified for options in the option group for the DB instance. // // If you change the DBPortNumber value, your database restarts regardless of the // value of the ApplyImmediately parameter. // // This setting doesn't apply to RDS Custom DB instances. // // Valid Values: 1150-65535 // // Default: // // - Amazon Aurora - 3306 // // - RDS for Db2 - 50000 // // - RDS for MariaDB - 3306 // // - RDS for Microsoft SQL Server - 1433 // // - RDS for MySQL - 3306 // // - RDS for Oracle - 1521 // // - RDS for PostgreSQL - 5432 // // Constraints: // // - For RDS for Microsoft SQL Server, the value can't be 1234 , 1434 , 3260 , // 3343 , 3389 , 47001 , or 49152-49156 . DBPortNumber *int32 // A list of DB security groups to authorize on this DB instance. Changing this // setting doesn't result in an outage and the change is asynchronously applied as // soon as possible. // // This setting doesn't apply to RDS Custom DB instances. // // Constraints: // // - If supplied, must match existing DB security groups. DBSecurityGroups []string // The new DB subnet group for the DB instance. You can use this parameter to move // your DB instance to a different VPC. // // If your DB instance isn't in a VPC, you can also use this parameter to move // your DB instance into a VPC. For more information, see [Working with a DB instance in a VPC]in the Amazon RDS User // Guide. // // Changing the subnet group causes an outage during the change. The change is // applied during the next maintenance window, unless you enable ApplyImmediately . // // This setting doesn't apply to RDS Custom DB instances. // // Constraints: // // - If supplied, must match existing DB subnet group. // // Example: mydbsubnetgroup // // [Working with a DB instance in a VPC]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC DBSubnetGroupName *string // Specifies the mode of Database Insights to enable for the DB instance. // // Aurora DB instances inherit this value from the DB cluster, so you can't change // this value. DatabaseInsightsMode types.DatabaseInsightsMode // Indicates whether the DB instance has a dedicated log volume (DLV) enabled. DedicatedLogVolume *bool // Specifies whether the DB instance has deletion protection enabled. The database // can't be deleted when deletion protection is enabled. By default, deletion // protection isn't enabled. For more information, see [Deleting a DB Instance]. // // This setting doesn't apply to Amazon Aurora DB instances. You can enable or // disable deletion protection for the DB cluster. For more information, see // ModifyDBCluster . DB instances in a DB cluster can be deleted even when deletion // protection is enabled for the DB cluster. // // [Deleting a DB Instance]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html DeletionProtection *bool // Specifies whether to remove the DB instance from the Active Directory domain. DisableDomain *bool // The Active Directory directory ID to move the DB instance to. Specify none to // remove the instance from its current domain. You must create the domain before // this operation. Currently, you can create only Db2, MySQL, Microsoft SQL Server, // Oracle, and PostgreSQL DB instances in an Active Directory Domain. // // For more information, see [Kerberos Authentication] in the Amazon RDS User Guide. // // This setting doesn't apply to RDS Custom DB instances. // // [Kerberos Authentication]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html Domain *string // The ARN for the Secrets Manager secret with the credentials for the user // joining the domain. // // Example: // arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456 DomainAuthSecretArn *string // The IPv4 DNS IP addresses of your primary and secondary Active Directory domain // controllers. // // Constraints: // // - Two IP addresses must be provided. If there isn't a secondary domain // controller, use the IP address of the primary domain controller for both entries // in the list. // // Example: 123.124.125.126,234.235.236.237 DomainDnsIps []string // The fully qualified domain name (FQDN) of an Active Directory domain. // // Constraints: // // - Can't be longer than 64 characters. // // Example: mymanagedADtest.mymanagedAD.mydomain DomainFqdn *string // The name of the IAM role to use when making API calls to the Directory Service. // // This setting doesn't apply to RDS Custom DB instances. DomainIAMRoleName *string // The Active Directory organizational unit for your DB instance to join. // // Constraints: // // - Must be in the distinguished name format. // // - Can't be longer than 64 characters. // // Example: OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain DomainOu *string // Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on // Outposts DB instance. // // A CoIP provides local or external connectivity to resources in your Outpost // subnets through your on-premises network. For some use cases, a CoIP can provide // lower latency for connections to the DB instance from outside of its virtual // private cloud (VPC) on your local network. // // For more information about RDS on Outposts, see [Working with Amazon RDS on Amazon Web Services Outposts] in the Amazon RDS User Guide. // // For more information about CoIPs, see [Customer-owned IP addresses] in the Amazon Web Services Outposts User // Guide. // // [Working with Amazon RDS on Amazon Web Services Outposts]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html // [Customer-owned IP addresses]: https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing EnableCustomerOwnedIp *bool // Specifies whether to enable mapping of Amazon Web Services Identity and Access // Management (IAM) accounts to database accounts. By default, mapping isn't // enabled. // // This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM // accounts to database accounts is managed by the DB cluster. // // For more information about IAM database authentication, see [IAM Database Authentication for MySQL and PostgreSQL] in the Amazon RDS // User Guide. // // This setting doesn't apply to RDS Custom DB instances. // // [IAM Database Authentication for MySQL and PostgreSQL]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html EnableIAMDatabaseAuthentication *bool // Specifies whether to enable Performance Insights for the DB instance. // // For more information, see [Using Amazon Performance Insights] in the Amazon RDS User Guide. // // This setting doesn't apply to RDS Custom DB instances. // // [Using Amazon Performance Insights]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html EnablePerformanceInsights *bool // The target Oracle DB engine when you convert a non-CDB to a CDB. This // intermediate step is necessary to upgrade an Oracle Database 19c non-CDB to an // Oracle Database 21c CDB. // // Note the following requirements: // // - Make sure that you specify oracle-ee-cdb or oracle-se2-cdb . // // - Make sure that your DB engine runs Oracle Database 19c with an April 2021 // or later RU. // // Note the following limitations: // // - You can't convert a CDB to a non-CDB. // // - You can't convert a replica database. // // - You can't convert a non-CDB to a CDB and upgrade the engine version in the // same command. // // - You can't convert the existing custom parameter or option group when it has // options or parameters that are permanent or persistent. In this situation, the // DB instance reverts to the default option and parameter group. To avoid // reverting to the default, specify a new parameter group with // --db-parameter-group-name and a new option group with --option-group-name . Engine *string // The version number of the database engine to upgrade to. Changing this // parameter results in an outage and the change is applied during the next // maintenance window unless the ApplyImmediately parameter is enabled for this // request. // // For major version upgrades, if a nondefault DB parameter group is currently in // use, a new DB parameter group in the DB parameter group family for the new // engine version must be specified. The new DB parameter group can be the default // for that DB parameter group family. // // If you specify only a major version, Amazon RDS updates the DB instance to the // default minor version if the current minor version is lower. For information // about valid engine versions, see CreateDBInstance , or call // DescribeDBEngineVersions . // // If the instance that you're modifying is acting as a read replica, the engine // version that you specify must be the same or higher than the version that the // source DB instance or cluster is running. // // In RDS Custom for Oracle, this parameter is supported for read replicas only if // they are in the PATCH_DB_FAILURE lifecycle. // // Constraints: // // - If you are upgrading the engine version and modifying the DB instance class // at the same time, the currently running engine version must be supported on the // specified DB instance class. Otherwise, the operation returns an error. In this // case, first run the operation to upgrade the engine version, and then run it // again to modify the DB instance class. EngineVersion *string // The new Provisioned IOPS (I/O operations per second) value for the RDS instance. // // Changing this setting doesn't result in an outage and the change is applied // during the next maintenance window unless the ApplyImmediately parameter is // enabled for this request. If you are migrating from Provisioned IOPS to standard // storage, set this value to 0. The DB instance will require a reboot for the // change in storage type to take effect. // // If you choose to migrate your DB instance from using standard storage to // Provisioned IOPS (io1), or from Provisioned IOPS to standard storage, the // process can take time. The duration of the migration depends on several factors // such as database load, storage size, storage type (standard or Provisioned // IOPS), amount of IOPS provisioned (if any), and the number of prior scale // storage operations. Typical migration times are under 24 hours, but the process // can take up to several days in some cases. During the migration, the DB instance // is available for use, but might experience performance degradation. While the // migration takes place, nightly backups for the instance are suspended. No other // Amazon RDS operations can take place for the instance, including modifying the // instance, rebooting the instance, deleting the instance, creating a read replica // for the instance, and creating a DB snapshot of the instance. // // Constraints: // // - For RDS for MariaDB, RDS for MySQL, RDS for Oracle, and RDS for PostgreSQL // - The value supplied must be at least 10% greater than the current value. Values // that are not at least 10% greater than the existing value are rounded up so that // they are 10% greater than the current value. // // - When you increase the Provisioned IOPS, you must also specify the // AllocatedStorage parameter. You can use the current value for AllocatedStorage // . // // Default: Uses existing setting Iops *int32 // The license model for the DB instance. // // This setting doesn't apply to Amazon Aurora or RDS Custom DB instances. // // Valid Values: // // - RDS for Db2 - bring-your-own-license // // - RDS for MariaDB - general-public-license // // - RDS for Microsoft SQL Server - license-included // // - RDS for MySQL - general-public-license // // - RDS for Oracle - bring-your-own-license | license-included // // - RDS for PostgreSQL - postgresql-license LicenseModel *string // Specifies whether to manage the master user password with Amazon Web Services // Secrets Manager. // // If the DB instance doesn't manage the master user password with Amazon Web // Services Secrets Manager, you can turn on this management. In this case, you // can't specify MasterUserPassword . // // If the DB instance already manages the master user password with Amazon Web // Services Secrets Manager, and you specify that the master user password is not // managed with Amazon Web Services Secrets Manager, then you must specify // MasterUserPassword . In this case, Amazon RDS deletes the secret and uses the // new password for the master user specified by MasterUserPassword . // // For more information, see [Password management with Amazon Web Services Secrets Manager] in the Amazon RDS User Guide. // // Constraints: // // - Can't manage the master user password with Amazon Web Services Secrets // Manager if MasterUserPassword is specified. // // - Can't specify for RDS for Oracle CDB instances in the multi-tenant // configuration. Use ModifyTenantDatabase instead. // // - Can't specify the parameters ManageMasterUserPassword and MultiTenant in the // same operation. // // [Password management with Amazon Web Services Secrets Manager]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html ManageMasterUserPassword *bool // The new password for the master user. // // Changing this parameter doesn't result in an outage and the change is // asynchronously applied as soon as possible. Between the time of the request and // the completion of the request, the MasterUserPassword element exists in the // PendingModifiedValues element of the operation response. // // Amazon RDS API operations never return the password, so this operation provides // a way to regain access to a primary instance user if the password is lost. This // includes restoring privileges that might have been accidentally revoked. // // This setting doesn't apply to the following DB instances: // // - Amazon Aurora // // The password for the master user is managed by the DB cluster. For more // information, see ModifyDBCluster . // // - RDS Custom // // - RDS for Oracle CDBs in the multi-tenant configuration // // Specify the master password in ModifyTenantDatabase instead. // // Default: Uses existing setting // // Constraints: // // - Can't be specified if ManageMasterUserPassword is turned on. // // - Can include any printable ASCII character except "/", """, or "@". For RDS // for Oracle, can't include the "&" (ampersand) or the "'" (single quotes) // character. // // Length Constraints: // // - RDS for Db2 - Must contain from 8 to 255 characters. // // - RDS for MariaDB - Must contain from 8 to 41 characters. // // - RDS for Microsoft SQL Server - Must contain from 8 to 128 characters. // // - RDS for MySQL - Must contain from 8 to 41 characters. // // - RDS for Oracle - Must contain from 8 to 30 characters. // // - RDS for PostgreSQL - Must contain from 8 to 128 characters. MasterUserPassword *string // The Amazon Web Services KMS key identifier to encrypt a secret that is // automatically generated and managed in Amazon Web Services Secrets Manager. // // This setting is valid only if both of the following conditions are met: // // - The DB instance doesn't manage the master user password in Amazon Web // Services Secrets Manager. // // If the DB instance already manages the master user password in Amazon Web // Services Secrets Manager, you can't change the KMS key used to encrypt the // secret. // // - You are turning on ManageMasterUserPassword to manage the master user // password in Amazon Web Services Secrets Manager. // // If you are turning on ManageMasterUserPassword and don't specify // MasterUserSecretKmsKeyId , then the aws/secretsmanager KMS key is used to // encrypt the secret. If the secret is in a different Amazon Web Services account, // then you can't use the aws/secretsmanager KMS key to encrypt the secret, and // you must use a customer managed KMS key. // // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, // or alias name for the KMS key. To use a KMS key in a different Amazon Web // Services account, specify the key ARN or alias ARN. // // There is a default KMS key for your Amazon Web Services account. Your Amazon // Web Services account has a different default KMS key for each Amazon Web // Services Region. MasterUserSecretKmsKeyId *string // The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale // the storage of the DB instance. // // For more information about this setting, including limitations that apply to // it, see [Managing capacity automatically with Amazon RDS storage autoscaling]in the Amazon RDS User Guide. // // This setting doesn't apply to RDS Custom DB instances. // // [Managing capacity automatically with Amazon RDS storage autoscaling]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling MaxAllocatedStorage *int32 // The interval, in seconds, between points when Enhanced Monitoring metrics are // collected for the DB instance. To disable collection of Enhanced Monitoring // metrics, specify 0 . // // If MonitoringRoleArn is specified, set MonitoringInterval to a value other than // 0 . // // This setting doesn't apply to RDS Custom DB instances. // // Valid Values: 0 | 1 | 5 | 10 | 15 | 30 | 60 // // Default: 0 MonitoringInterval *int32 // The ARN for the IAM role that permits RDS to send enhanced monitoring metrics // to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess . // For information on creating a monitoring role, see [To create an IAM role for Amazon RDS Enhanced Monitoring]in the Amazon RDS User // Guide. // // If MonitoringInterval is set to a value other than 0 , supply a // MonitoringRoleArn value. // // This setting doesn't apply to RDS Custom DB instances. // // [To create an IAM role for Amazon RDS Enhanced Monitoring]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole MonitoringRoleArn *string // Specifies whether the DB instance is a Multi-AZ deployment. Changing this // parameter doesn't result in an outage. The change is applied during the next // maintenance window unless the ApplyImmediately parameter is enabled for this // request. // // This setting doesn't apply to RDS Custom DB instances. MultiAZ *bool // Specifies whether the to convert your DB instance from the single-tenant // configuration to the multi-tenant configuration. This parameter is supported only // for RDS for Oracle CDB instances. // // During the conversion, RDS creates an initial tenant database and associates // the DB name, master user name, character set, and national character set // metadata with this database. The tags associated with the instance also // propagate to the initial tenant database. You can add more tenant databases to // your DB instance by using the CreateTenantDatabase operation. // // The conversion to the multi-tenant configuration is permanent and irreversible, // so you can't later convert back to the single-tenant configuration. When you // specify this parameter, you must also specify ApplyImmediately . MultiTenant *bool // The network type of the DB instance. // // The network type is determined by the DBSubnetGroup specified for the DB // instance. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and // the IPv6 protocols ( DUAL ). // // For more information, see [Working with a DB instance in a VPC] in the Amazon RDS User Guide. // // Valid Values: IPV4 | DUAL // // [Working with a DB instance in a VPC]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html NetworkType *string // The new identifier for the DB instance when renaming a DB instance. When you // change the DB instance identifier, an instance reboot occurs immediately if you // enable ApplyImmediately , or will occur during the next maintenance window if // you disable ApplyImmediately . This value is stored as a lowercase string. // // This setting doesn't apply to RDS Custom DB instances. // // Constraints: // // - Must contain from 1 to 63 letters, numbers, or hyphens. // // - The first character must be a letter. // // - Can't end with a hyphen or contain two consecutive hyphens. // // Example: mydbinstance NewDBInstanceIdentifier *string // The option group to associate the DB instance with. // // Changing this parameter doesn't result in an outage, with one exception. If the // parameter change results in an option group that enables OEM, it can cause a // brief period, lasting less than a second, during which new connections are // rejected but existing connections aren't interrupted. // // The change is applied during the next maintenance window unless the // ApplyImmediately parameter is enabled for this request. // // Permanent options, such as the TDE option for Oracle Advanced Security TDE, // can't be removed from an option group, and that option group can't be removed // from a DB instance after it is associated with a DB instance. // // This setting doesn't apply to RDS Custom DB instances. OptionGroupName *string // The Amazon Web Services KMS key identifier for encryption of Performance // Insights data. // // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, // or alias name for the KMS key. // // If you don't specify a value for PerformanceInsightsKMSKeyId , then Amazon RDS // uses your default KMS key. There is a default KMS key for your Amazon Web // Services account. Your Amazon Web Services account has a different default KMS // key for each Amazon Web Services Region. // // This setting doesn't apply to RDS Custom DB instances. PerformanceInsightsKMSKeyId *string // The number of days to retain Performance Insights data. // // This setting doesn't apply to RDS Custom DB instances. // // Valid Values: // // - 7 // // - month * 31, where month is a number of months from 1-23. Examples: 93 (3 // months * 31), 341 (11 months * 31), 589 (19 months * 31) // // - 731 // // Default: 7 days // // If you specify a retention period that isn't valid, such as 94 , Amazon RDS // returns an error. PerformanceInsightsRetentionPeriod *int32 // The daily time range during which automated backups are created if automated // backups are enabled, as determined by the BackupRetentionPeriod parameter. // Changing this parameter doesn't result in an outage and the change is // asynchronously applied as soon as possible. The default is a 30-minute window // selected at random from an 8-hour block of time for each Amazon Web Services // Region. For more information, see [Backup window]in the Amazon RDS User Guide. // // This setting doesn't apply to Amazon Aurora DB instances. The daily time range // for creating automated backups is managed by the DB cluster. For more // information, see ModifyDBCluster . // // Constraints: // // - Must be in the format hh24:mi-hh24:mi . // // - Must be in Universal Coordinated Time (UTC). // // - Must not conflict with the preferred maintenance window. // // - Must be at least 30 minutes. // // [Backup window]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow PreferredBackupWindow *string // The weekly time range during which system maintenance can occur, which might // result in an outage. Changing this parameter doesn't result in an outage, except // in the following situation, and the change is asynchronously applied as soon as // possible. If there are pending actions that cause a reboot, and the maintenance // window is changed to include the current time, then changing this parameter // causes a reboot of the DB instance. If you change this window to the current // time, there must be at least 30 minutes between the current time and end of the // window to ensure pending changes are applied. // // For more information, see [Amazon RDS Maintenance Window] in the Amazon RDS User Guide. // // Default: Uses existing setting // // Constraints: // // - Must be in the format ddd:hh24:mi-ddd:hh24:mi . // // - The day values must be mon | tue | wed | thu | fri | sat | sun . // // - Must be in Universal Coordinated Time (UTC). // // - Must not conflict with the preferred backup window. // // - Must be at least 30 minutes. // // [Amazon RDS Maintenance Window]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance PreferredMaintenanceWindow *string // The number of CPU cores and the number of threads per core for the DB instance // class of the DB instance. // // This setting doesn't apply to RDS Custom DB instances. ProcessorFeatures []types.ProcessorFeature // The order of priority in which an Aurora Replica is promoted to the primary // instance after a failure of the existing primary instance. For more information, // see [Fault Tolerance for an Aurora DB Cluster]in the Amazon Aurora User Guide. // // This setting doesn't apply to RDS Custom DB instances. // // Default: 1 // // Valid Values: 0 - 15 // // [Fault Tolerance for an Aurora DB Cluster]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance PromotionTier *int32 // Specifies whether the DB instance is publicly accessible. // // When the DB instance is publicly accessible and you connect from outside of the // DB instance's virtual private cloud (VPC), its Domain Name System (DNS) endpoint // resolves to the public IP address. When you connect from within the same VPC as // the DB instance, the endpoint resolves to the private IP address. Access to the // DB instance is ultimately controlled by the security group it uses. That public // access isn't permitted if the security group assigned to the DB instance doesn't // permit it. // // When the DB instance isn't publicly accessible, it is an internal DB instance // with a DNS name that resolves to a private IP address. // // PubliclyAccessible only applies to DB instances in a VPC. The DB instance must // be part of a public subnet and PubliclyAccessible must be enabled for it to be // publicly accessible. // // Changes to the PubliclyAccessible parameter are applied immediately regardless // of the value of the ApplyImmediately parameter. PubliclyAccessible *bool // A value that sets the open mode of a replica database to either mounted or // read-only. // // Currently, this parameter is only supported for Oracle DB instances. // // Mounted DB replicas are included in Oracle Enterprise Edition. The main use // case for mounted replicas is cross-Region disaster recovery. The primary // database doesn't use Active Data Guard to transmit information to the mounted // replica. Because it doesn't accept user connections, a mounted replica can't // serve a read-only workload. For more information, see [Working with Oracle Read Replicas for Amazon RDS]in the Amazon RDS User // Guide. // // This setting doesn't apply to RDS Custom DB instances. // // [Working with Oracle Read Replicas for Amazon RDS]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html ReplicaMode types.ReplicaMode // The number of minutes to pause the automation. When the time period ends, RDS // Custom resumes full automation. // // Default: 60 // // Constraints: // // - Must be at least 60. // // - Must be no more than 1,440. ResumeFullAutomationModeMinutes *int32 // Specifies whether to rotate the secret managed by Amazon Web Services Secrets // Manager for the master user password. // // This setting is valid only if the master user password is managed by RDS in // Amazon Web Services Secrets Manager for the DB instance. The secret value // contains the updated password. // // For more information, see [Password management with Amazon Web Services Secrets Manager] in the Amazon RDS User Guide. // // Constraints: // // - You must apply the change immediately when rotating the master user // password. // // [Password management with Amazon Web Services Secrets Manager]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html RotateMasterUserPassword *bool // The storage throughput value for the DB instance. // // This setting applies only to the gp3 storage type. // // This setting doesn't apply to Amazon Aurora or RDS Custom DB instances. StorageThroughput *int32 // The storage type to associate with the DB instance. // // If you specify io1 , io2 , or gp3 you must also include a value for the Iops // parameter. // // If you choose to migrate your DB instance from using standard storage to gp2 // (General Purpose SSD), gp3, or Provisioned IOPS (io1), or from these storage // types to standard storage, the process can take time. The duration of the // migration depends on several factors such as database load, storage size, // storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if // any), and the number of prior scale storage operations. Typical migration times // are under 24 hours, but the process can take up to several days in some cases. // During the migration, the DB instance is available for use, but might experience // performance degradation. While the migration takes place, nightly backups for // the instance are suspended. No other Amazon RDS operations can take place for // the instance, including modifying the instance, rebooting the instance, deleting // the instance, creating a read replica for the instance, and creating a DB // snapshot of the instance. // // Valid Values: gp2 | gp3 | io1 | io2 | standard // // Default: io1 , if the Iops parameter is specified. Otherwise, gp2 . StorageType *string // The ARN from the key store with which to associate the instance for TDE // encryption. // // This setting doesn't apply to RDS Custom DB instances. TdeCredentialArn *string // The password for the given ARN from the key store in order to access the device. // // This setting doesn't apply to RDS Custom DB instances. TdeCredentialPassword *string // Specifies whether the DB instance class of the DB instance uses its default // processor features. // // This setting doesn't apply to RDS Custom DB instances. UseDefaultProcessorFeatures *bool // A list of Amazon EC2 VPC security groups to associate with this DB instance. // This change is asynchronously applied as soon as possible. // // This setting doesn't apply to the following DB instances: // // - Amazon Aurora (The associated list of EC2 VPC security groups is managed by // the DB cluster. For more information, see ModifyDBCluster .) // // - RDS Custom // // Constraints: // // - If supplied, must match existing VPC security group IDs. VpcSecurityGroupIds []string noSmithyDocumentSerde } type ModifyDBInstanceOutput struct { // Contains the details of an Amazon RDS DB instance. // // This data type is used as a response element in the operations CreateDBInstance // , CreateDBInstanceReadReplica , DeleteDBInstance , DescribeDBInstances , // ModifyDBInstance , PromoteReadReplica , RebootDBInstance , // RestoreDBInstanceFromDBSnapshot , RestoreDBInstanceFromS3 , // RestoreDBInstanceToPointInTime , StartDBInstance , and StopDBInstance . DBInstance *types.DBInstance // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata noSmithyDocumentSerde } func (c *Client) addOperationModifyDBInstanceMiddlewares(stack *middleware.Stack, options Options) (err error) { if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { return err } err = stack.Serialize.Add(&awsAwsquery_serializeOpModifyDBInstance{}, middleware.After) if err != nil { return err } err = stack.Deserialize.Add(&awsAwsquery_deserializeOpModifyDBInstance{}, middleware.After) if err != nil { return err } if err := addProtocolFinalizerMiddlewares(stack, options, "ModifyDBInstance"); err != nil { return fmt.Errorf("add protocol finalizers: %v", err) } if err = addlegacyEndpointContextSetter(stack, options); err != nil { return err } if err = addSetLoggerMiddleware(stack, options); err != nil { return err } if err = addClientRequestID(stack); err != nil { return err } if err = addComputeContentLength(stack); err != nil { return err } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } if err = addRetry(stack, options); err != nil { return err } if err = addRawResponseToMetadata(stack); err != nil { return err } if err = addRecordResponseTiming(stack); err != nil { return err } if err = addSpanRetryLoop(stack, options); err != nil { return err } if err = addClientUserAgent(stack, options); err != nil { return err } if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { return err } if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { return err } if err = addTimeOffsetBuild(stack, c); err != nil { return err } if err = addUserAgentRetryMode(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } if err = addOpModifyDBInstanceValidationMiddleware(stack); err != nil { return err } if err = stack.Initialize.Add(newServiceMetadataMiddleware_opModifyDBInstance(options.Region), middleware.Before); err != nil { return err } if err = addRecursionDetection(stack); err != nil { return err } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } if err = addResponseErrorMiddleware(stack); err != nil { return err } if err = addRequestResponseLogging(stack, options); err != nil { return err } if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } if err = addSpanInitializeStart(stack); err != nil { return err } if err = addSpanInitializeEnd(stack); err != nil { return err } if err = addSpanBuildRequestStart(stack); err != nil { return err } if err = addSpanBuildRequestEnd(stack); err != nil { return err } return nil } func newServiceMetadataMiddleware_opModifyDBInstance(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, ServiceID: ServiceID, OperationName: "ModifyDBInstance", } }