github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/rds/instance.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package rds 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides an RDS instance resource. A DB instance is an isolated database 16 // environment in the cloud. A DB instance can contain multiple user-created 17 // databases. 18 // 19 // Changes to a DB instance can occur when you manually change a parameter, such as 20 // `allocatedStorage`, and are reflected in the next maintenance window. Because 21 // of this, this provider may report a difference in its planning phase because a 22 // modification has not yet taken place. You can use the `applyImmediately` flag 23 // to instruct the service to apply the change immediately (see documentation 24 // below). 25 // 26 // When upgrading the major version of an engine, `allowMajorVersionUpgrade` must be set to `true`. 27 // 28 // > **Note:** using `applyImmediately` can result in a brief downtime as the server reboots. 29 // See the AWS Docs on [RDS Instance Maintenance][instance-maintenance] for more information. 30 // 31 // > **Note:** All arguments including the username and password will be stored in the raw state as plain-text. 32 // Read more about sensitive data instate. 33 // 34 // ## RDS Instance Class Types 35 // 36 // Amazon RDS supports instance classes for the following use cases: General-purpose, Memory-optimized, Burstable Performance, and Optimized-reads. 37 // For more information please read the AWS RDS documentation about [DB Instance Class Types](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) 38 // 39 // ## Low-Downtime Updates 40 // 41 // By default, RDS applies updates to DB Instances in-place, which can lead to service interruptions. 42 // Low-downtime updates minimize service interruptions by performing the updates with an [RDS Blue/Green deployment][blue-green] and switching over the instances when complete. 43 // 44 // Low-downtime updates are only available for DB Instances using MySQL and MariaDB, 45 // as other engines are not supported by RDS Blue/Green deployments. 46 // They cannot be used with DB Instances with replicas. 47 // 48 // Backups must be enabled to use low-downtime updates. 49 // 50 // Enable low-downtime updates by setting `blue_green_update.enabled` to `true`. 51 // 52 // ## Example Usage 53 // 54 // ### Basic Usage 55 // 56 // <!--Start PulumiCodeChooser --> 57 // ```go 58 // package main 59 // 60 // import ( 61 // 62 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 63 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 64 // 65 // ) 66 // 67 // func main() { 68 // pulumi.Run(func(ctx *pulumi.Context) error { 69 // _, err := rds.NewInstance(ctx, "default", &rds.InstanceArgs{ 70 // AllocatedStorage: pulumi.Int(10), 71 // DbName: pulumi.String("mydb"), 72 // Engine: pulumi.String("mysql"), 73 // EngineVersion: pulumi.String("5.7"), 74 // InstanceClass: pulumi.String(rds.InstanceType_T3_Micro), 75 // Username: pulumi.String("foo"), 76 // Password: pulumi.String("foobarbaz"), 77 // ParameterGroupName: pulumi.String("default.mysql5.7"), 78 // SkipFinalSnapshot: pulumi.Bool(true), 79 // }) 80 // if err != nil { 81 // return err 82 // } 83 // return nil 84 // }) 85 // } 86 // 87 // ``` 88 // <!--End PulumiCodeChooser --> 89 // 90 // ### RDS Custom for Oracle Usage with Replica 91 // 92 // <!--Start PulumiCodeChooser --> 93 // ```go 94 // package main 95 // 96 // import ( 97 // 98 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms" 99 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 100 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 101 // 102 // ) 103 // 104 // func main() { 105 // pulumi.Run(func(ctx *pulumi.Context) error { 106 // // Lookup the available instance classes for the custom engine for the region being operated in 107 // custom_oracle, err := rds.GetOrderableDbInstance(ctx, &rds.GetOrderableDbInstanceArgs{ 108 // Engine: "custom-oracle-ee", 109 // EngineVersion: pulumi.StringRef("19.c.ee.002"), 110 // LicenseModel: pulumi.StringRef("bring-your-own-license"), 111 // StorageType: pulumi.StringRef("gp3"), 112 // PreferredInstanceClasses: []string{ 113 // "db.r5.xlarge", 114 // "db.r5.2xlarge", 115 // "db.r5.4xlarge", 116 // }, 117 // }, nil) 118 // if err != nil { 119 // return err 120 // } 121 // // The RDS instance resource requires an ARN. Look up the ARN of the KMS key associated with the CEV. 122 // byId, err := kms.LookupKey(ctx, &kms.LookupKeyArgs{ 123 // KeyId: "example-ef278353ceba4a5a97de6784565b9f78", 124 // }, nil) 125 // if err != nil { 126 // return err 127 // } 128 // _, err = rds.NewInstance(ctx, "default", &rds.InstanceArgs{ 129 // AllocatedStorage: pulumi.Int(50), 130 // AutoMinorVersionUpgrade: pulumi.Bool(false), 131 // CustomIamInstanceProfile: pulumi.String("AWSRDSCustomInstanceProfile"), 132 // BackupRetentionPeriod: pulumi.Int(7), 133 // DbSubnetGroupName: pulumi.Any(dbSubnetGroupName), 134 // Engine: pulumi.String(custom_oracle.Engine), 135 // EngineVersion: pulumi.String(custom_oracle.EngineVersion), 136 // Identifier: pulumi.String("ee-instance-demo"), 137 // InstanceClass: custom_oracle.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput), 138 // KmsKeyId: pulumi.String(byId.Arn), 139 // LicenseModel: pulumi.String(custom_oracle.LicenseModel), 140 // MultiAz: pulumi.Bool(false), 141 // Password: pulumi.String("avoid-plaintext-passwords"), 142 // Username: pulumi.String("test"), 143 // StorageEncrypted: pulumi.Bool(true), 144 // }) 145 // if err != nil { 146 // return err 147 // } 148 // _, err = rds.NewInstance(ctx, "test-replica", &rds.InstanceArgs{ 149 // ReplicateSourceDb: _default.Identifier, 150 // ReplicaMode: pulumi.String("mounted"), 151 // AutoMinorVersionUpgrade: pulumi.Bool(false), 152 // CustomIamInstanceProfile: pulumi.String("AWSRDSCustomInstanceProfile"), 153 // BackupRetentionPeriod: pulumi.Int(7), 154 // Identifier: pulumi.String("ee-instance-replica"), 155 // InstanceClass: custom_oracle.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput), 156 // KmsKeyId: pulumi.String(byId.Arn), 157 // MultiAz: pulumi.Bool(false), 158 // SkipFinalSnapshot: pulumi.Bool(true), 159 // StorageEncrypted: pulumi.Bool(true), 160 // }) 161 // if err != nil { 162 // return err 163 // } 164 // return nil 165 // }) 166 // } 167 // 168 // ``` 169 // <!--End PulumiCodeChooser --> 170 // 171 // ### RDS Custom for SQL Server 172 // 173 // <!--Start PulumiCodeChooser --> 174 // ```go 175 // package main 176 // 177 // import ( 178 // 179 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms" 180 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 181 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 182 // 183 // ) 184 // 185 // func main() { 186 // pulumi.Run(func(ctx *pulumi.Context) error { 187 // // Lookup the available instance classes for the custom engine for the region being operated in 188 // custom_sqlserver, err := rds.GetOrderableDbInstance(ctx, &rds.GetOrderableDbInstanceArgs{ 189 // Engine: "custom-sqlserver-se", 190 // EngineVersion: pulumi.StringRef("15.00.4249.2.v1"), 191 // StorageType: pulumi.StringRef("gp3"), 192 // PreferredInstanceClasses: []string{ 193 // "db.r5.xlarge", 194 // "db.r5.2xlarge", 195 // "db.r5.4xlarge", 196 // }, 197 // }, nil) 198 // if err != nil { 199 // return err 200 // } 201 // // The RDS instance resource requires an ARN. Look up the ARN of the KMS key. 202 // byId, err := kms.LookupKey(ctx, &kms.LookupKeyArgs{ 203 // KeyId: "example-ef278353ceba4a5a97de6784565b9f78", 204 // }, nil) 205 // if err != nil { 206 // return err 207 // } 208 // _, err = rds.NewInstance(ctx, "example", &rds.InstanceArgs{ 209 // AllocatedStorage: pulumi.Int(500), 210 // AutoMinorVersionUpgrade: pulumi.Bool(false), 211 // CustomIamInstanceProfile: pulumi.String("AWSRDSCustomSQLServerInstanceProfile"), 212 // BackupRetentionPeriod: pulumi.Int(7), 213 // DbSubnetGroupName: pulumi.Any(dbSubnetGroupName), 214 // Engine: pulumi.String(custom_sqlserver.Engine), 215 // EngineVersion: pulumi.String(custom_sqlserver.EngineVersion), 216 // Identifier: pulumi.String("sql-instance-demo"), 217 // InstanceClass: custom_sqlserver.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput), 218 // KmsKeyId: pulumi.String(byId.Arn), 219 // MultiAz: pulumi.Bool(false), 220 // Password: pulumi.String("avoid-plaintext-passwords"), 221 // StorageEncrypted: pulumi.Bool(true), 222 // Username: pulumi.String("test"), 223 // }) 224 // if err != nil { 225 // return err 226 // } 227 // return nil 228 // }) 229 // } 230 // 231 // ``` 232 // <!--End PulumiCodeChooser --> 233 // 234 // ### RDS Db2 Usage 235 // 236 // <!--Start PulumiCodeChooser --> 237 // ```go 238 // package main 239 // 240 // import ( 241 // 242 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 243 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 244 // 245 // ) 246 // 247 // func main() { 248 // pulumi.Run(func(ctx *pulumi.Context) error { 249 // // Lookup the default version for the engine. Db2 Standard Edition is `db2-se`, Db2 Advanced Edition is `db2-ae`. 250 // _default, err := rds.GetEngineVersion(ctx, &rds.GetEngineVersionArgs{ 251 // Engine: "db2-se", 252 // }, nil) 253 // if err != nil { 254 // return err 255 // } 256 // // Lookup the available instance classes for the engine in the region being operated in 257 // example, err := rds.GetOrderableDbInstance(ctx, &rds.GetOrderableDbInstanceArgs{ 258 // Engine: _default.Engine, 259 // EngineVersion: pulumi.StringRef(_default.Version), 260 // LicenseModel: pulumi.StringRef("bring-your-own-license"), 261 // StorageType: pulumi.StringRef("gp3"), 262 // PreferredInstanceClasses: []string{ 263 // "db.t3.small", 264 // "db.r6i.large", 265 // "db.m6i.large", 266 // }, 267 // }, nil) 268 // if err != nil { 269 // return err 270 // } 271 // // The RDS Db2 instance resource requires licensing information. Create a new parameter group using the default paramater group as a source, and set license information. 272 // exampleParameterGroup, err := rds.NewParameterGroup(ctx, "example", &rds.ParameterGroupArgs{ 273 // Name: pulumi.String("db-db2-params"), 274 // Family: pulumi.String(_default.ParameterGroupFamily), 275 // Parameters: rds.ParameterGroupParameterArray{ 276 // &rds.ParameterGroupParameterArgs{ 277 // ApplyMethod: pulumi.String("immediate"), 278 // Name: pulumi.String("rds.ibm_customer_id"), 279 // Value: pulumi.String("0"), 280 // }, 281 // &rds.ParameterGroupParameterArgs{ 282 // ApplyMethod: pulumi.String("immediate"), 283 // Name: pulumi.String("rds.ibm_site_id"), 284 // Value: pulumi.String("0"), 285 // }, 286 // }, 287 // }) 288 // if err != nil { 289 // return err 290 // } 291 // // Create the RDS Db2 instance, use the data sources defined to set attributes 292 // _, err = rds.NewInstance(ctx, "example", &rds.InstanceArgs{ 293 // AllocatedStorage: pulumi.Int(100), 294 // BackupRetentionPeriod: pulumi.Int(7), 295 // DbName: pulumi.String("test"), 296 // Engine: pulumi.String(example.Engine), 297 // EngineVersion: pulumi.String(example.EngineVersion), 298 // Identifier: pulumi.String("db2-instance-demo"), 299 // InstanceClass: example.InstanceClass.ApplyT(func(x *string) rds.InstanceType { return rds.InstanceType(*x) }).(rds.InstanceTypeOutput), 300 // ParameterGroupName: exampleParameterGroup.Name, 301 // Password: pulumi.String("avoid-plaintext-passwords"), 302 // Username: pulumi.String("test"), 303 // }) 304 // if err != nil { 305 // return err 306 // } 307 // return nil 308 // }) 309 // } 310 // 311 // ``` 312 // <!--End PulumiCodeChooser --> 313 // 314 // ### Storage Autoscaling 315 // 316 // To enable Storage Autoscaling with instances that support the feature, define the `maxAllocatedStorage` argument higher than the `allocatedStorage` argument. This provider will automatically hide differences with the `allocatedStorage` argument value if autoscaling occurs. 317 // 318 // <!--Start PulumiCodeChooser --> 319 // ```go 320 // package main 321 // 322 // import ( 323 // 324 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 325 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 326 // 327 // ) 328 // 329 // func main() { 330 // pulumi.Run(func(ctx *pulumi.Context) error { 331 // _, err := rds.NewInstance(ctx, "example", &rds.InstanceArgs{ 332 // AllocatedStorage: pulumi.Int(50), 333 // MaxAllocatedStorage: pulumi.Int(100), 334 // }) 335 // if err != nil { 336 // return err 337 // } 338 // return nil 339 // }) 340 // } 341 // 342 // ``` 343 // <!--End PulumiCodeChooser --> 344 // 345 // ### Managed Master Passwords via Secrets Manager, default KMS Key 346 // 347 // > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). 348 // 349 // You can specify the `manageMasterUserPassword` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manageMasterUserPassword` attribute and removing the `password` attribute (removal is required). 350 // 351 // <!--Start PulumiCodeChooser --> 352 // ```go 353 // package main 354 // 355 // import ( 356 // 357 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 358 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 359 // 360 // ) 361 // 362 // func main() { 363 // pulumi.Run(func(ctx *pulumi.Context) error { 364 // _, err := rds.NewInstance(ctx, "default", &rds.InstanceArgs{ 365 // AllocatedStorage: pulumi.Int(10), 366 // DbName: pulumi.String("mydb"), 367 // Engine: pulumi.String("mysql"), 368 // EngineVersion: pulumi.String("5.7"), 369 // InstanceClass: pulumi.String(rds.InstanceType_T3_Micro), 370 // ManageMasterUserPassword: pulumi.Bool(true), 371 // Username: pulumi.String("foo"), 372 // ParameterGroupName: pulumi.String("default.mysql5.7"), 373 // }) 374 // if err != nil { 375 // return err 376 // } 377 // return nil 378 // }) 379 // } 380 // 381 // ``` 382 // <!--End PulumiCodeChooser --> 383 // 384 // ### Managed Master Passwords via Secrets Manager, specific KMS Key 385 // 386 // > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). 387 // 388 // You can specify the `masterUserSecretKmsKeyId` attribute to specify a specific KMS Key. 389 // 390 // <!--Start PulumiCodeChooser --> 391 // ```go 392 // package main 393 // 394 // import ( 395 // 396 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms" 397 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 398 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 399 // 400 // ) 401 // 402 // func main() { 403 // pulumi.Run(func(ctx *pulumi.Context) error { 404 // example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{ 405 // Description: pulumi.String("Example KMS Key"), 406 // }) 407 // if err != nil { 408 // return err 409 // } 410 // _, err = rds.NewInstance(ctx, "default", &rds.InstanceArgs{ 411 // AllocatedStorage: pulumi.Int(10), 412 // DbName: pulumi.String("mydb"), 413 // Engine: pulumi.String("mysql"), 414 // EngineVersion: pulumi.String("5.7"), 415 // InstanceClass: pulumi.String(rds.InstanceType_T3_Micro), 416 // ManageMasterUserPassword: pulumi.Bool(true), 417 // MasterUserSecretKmsKeyId: example.KeyId, 418 // Username: pulumi.String("foo"), 419 // ParameterGroupName: pulumi.String("default.mysql5.7"), 420 // }) 421 // if err != nil { 422 // return err 423 // } 424 // return nil 425 // }) 426 // } 427 // 428 // ``` 429 // <!--End PulumiCodeChooser --> 430 // 431 // ## Import 432 // 433 // Using `pulumi import`, import DB Instances using the `identifier`. For example: 434 // 435 // ```sh 436 // $ pulumi import aws:rds/instance:Instance default mydb-rds-instance 437 // ``` 438 type Instance struct { 439 pulumi.CustomResourceState 440 441 // Specifies the DNS address of the DB instance. 442 Address pulumi.StringOutput `pulumi:"address"` 443 // The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If `replicateSourceDb` is set, the value is ignored during the creation of the instance. 444 AllocatedStorage pulumi.IntOutput `pulumi:"allocatedStorage"` 445 // Indicates that major version 446 // upgrades are allowed. Changing this parameter does not result in an outage and 447 // the change is asynchronously applied as soon as possible. 448 AllowMajorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"allowMajorVersionUpgrade"` 449 // Specifies whether any database modifications 450 // are applied immediately, or during the next maintenance window. Default is 451 // `false`. See [Amazon RDS Documentation for more 452 // information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 453 ApplyImmediately pulumi.BoolPtrOutput `pulumi:"applyImmediately"` 454 // The ARN of the RDS instance. 455 Arn pulumi.StringOutput `pulumi:"arn"` 456 // Indicates that minor engine upgrades 457 // will be applied automatically to the DB instance during the maintenance window. 458 // Defaults to true. 459 AutoMinorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"autoMinorVersionUpgrade"` 460 // The AZ for the RDS instance. 461 AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` 462 // The days to retain backups for. 463 // Must be between `0` and `35`. 464 // Default is `0`. 465 // Must be greater than `0` if the database is used as a source for a [Read Replica][instance-replication], 466 // uses low-downtime updates, 467 // or will use [RDS Blue/Green deployments][blue-green]. 468 BackupRetentionPeriod pulumi.IntOutput `pulumi:"backupRetentionPeriod"` 469 // Specifies where automated backups and manual snapshots are stored. Possible values are `region` (default) and `outposts`. See [Working with Amazon RDS on AWS Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) for more information. 470 BackupTarget pulumi.StringOutput `pulumi:"backupTarget"` 471 // The daily time range (in UTC) during which automated backups are created if they are enabled. 472 // Example: "09:46-10:16". Must not overlap with `maintenanceWindow`. 473 BackupWindow pulumi.StringOutput `pulumi:"backupWindow"` 474 // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. 475 // See `blueGreenUpdate` below. 476 BlueGreenUpdate InstanceBlueGreenUpdatePtrOutput `pulumi:"blueGreenUpdate"` 477 // The identifier of the CA certificate for the DB instance. 478 CaCertIdentifier pulumi.StringOutput `pulumi:"caCertIdentifier"` 479 // The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation). 480 // This can't be changed. 481 // See [Oracle Character Sets Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html) or 482 // [Server-Level Collation for Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) for more information. 483 // Cannot be set with `replicateSourceDb`, `restoreToPointInTime`, `s3Import`, or `snapshotIdentifier`. 484 CharacterSetName pulumi.StringOutput `pulumi:"characterSetName"` 485 // Copy all Instance `tags` to snapshots. Default is `false`. 486 CopyTagsToSnapshot pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshot"` 487 // The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 488 CustomIamInstanceProfile pulumi.StringPtrOutput `pulumi:"customIamInstanceProfile"` 489 // Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See [CoIP for RDS on Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html#rds-on-outposts.coip) for more information. 490 // 491 // > **NOTE:** Removing the `replicateSourceDb` attribute from an existing RDS 492 // Replicate database managed by the provider will promote the database to a fully 493 // standalone database. 494 CustomerOwnedIpEnabled pulumi.BoolPtrOutput `pulumi:"customerOwnedIpEnabled"` 495 // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. 496 DbName pulumi.StringOutput `pulumi:"dbName"` 497 // Name of DB subnet group. DB instance will 498 // be created in the VPC associated with the DB subnet group. If unspecified, will 499 // be created in the `default` VPC, or in EC2 Classic, if available. When working 500 // with read replicas, it should be specified only if the source database 501 // specifies an instance in another AWS Region. See [DBSubnetGroupName in API 502 // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) 503 // for additional read replica constraints. 504 DbSubnetGroupName pulumi.StringOutput `pulumi:"dbSubnetGroupName"` 505 // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. 506 DeleteAutomatedBackups pulumi.BoolPtrOutput `pulumi:"deleteAutomatedBackups"` 507 // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. 508 DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"` 509 // The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 510 Domain pulumi.StringPtrOutput `pulumi:"domain"` 511 // The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with `domain` and `domainIamRoleName`. 512 DomainAuthSecretArn pulumi.StringPtrOutput `pulumi:"domainAuthSecretArn"` 513 // The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. 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. Conflicts with `domain` and `domainIamRoleName`. 514 DomainDnsIps pulumi.StringArrayOutput `pulumi:"domainDnsIps"` 515 // The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with `domain` and `domainIamRoleName`. 516 DomainFqdn pulumi.StringOutput `pulumi:"domainFqdn"` 517 // The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 518 DomainIamRoleName pulumi.StringPtrOutput `pulumi:"domainIamRoleName"` 519 // The self managed Active Directory organizational unit for your DB instance to join. Conflicts with `domain` and `domainIamRoleName`. 520 DomainOu pulumi.StringPtrOutput `pulumi:"domainOu"` 521 // Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). 522 EnabledCloudwatchLogsExports pulumi.StringArrayOutput `pulumi:"enabledCloudwatchLogsExports"` 523 // The connection endpoint in `address:port` format. 524 Endpoint pulumi.StringOutput `pulumi:"endpoint"` 525 // The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the DB cluster's engine'. For information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide. 526 Engine pulumi.StringOutput `pulumi:"engine"` 527 // The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as `5.7` (for `5.7.10`). The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the DB cluster's engine version'. 528 EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` 529 // The running version of the database. 530 EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"` 531 // The name of your final DB snapshot 532 // when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is 533 // set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. 534 FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"` 535 // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. 536 HostedZoneId pulumi.StringOutput `pulumi:"hostedZoneId"` 537 // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database 538 // accounts is enabled. 539 IamDatabaseAuthenticationEnabled pulumi.BoolPtrOutput `pulumi:"iamDatabaseAuthenticationEnabled"` 540 // The name of the RDS instance, if omitted, this provider will assign a random, unique identifier. Required if `restoreToPointInTime` is specified. 541 Identifier pulumi.StringOutput `pulumi:"identifier"` 542 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 543 IdentifierPrefix pulumi.StringOutput `pulumi:"identifierPrefix"` 544 // The instance type of the RDS instance. 545 InstanceClass pulumi.StringOutput `pulumi:"instanceClass"` 546 // The amount of provisioned IOPS. Setting this implies a 547 // storageType of "io1". Can only be set when `storageType` is `"io1"` or `"gp3"`. 548 // Cannot be specified for gp3 storage if the `allocatedStorage` value is below a per-`engine` threshold. 549 // See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 550 Iops pulumi.IntOutput `pulumi:"iops"` 551 // The ARN for the KMS encryption key. If creating an 552 // encrypted replica, set this to the destination KMS ARN. 553 KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` 554 // The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore. 555 LatestRestorableTime pulumi.StringOutput `pulumi:"latestRestorableTime"` 556 // License model information for this DB instance. Valid values for this field are as follows: 557 // * RDS for MariaDB: `general-public-license` 558 // * RDS for Microsoft SQL Server: `license-included` 559 // * RDS for MySQL: `general-public-license` 560 // * RDS for Oracle: `bring-your-own-license | license-included` 561 // * RDS for PostgreSQL: `postgresql-license` 562 LicenseModel pulumi.StringOutput `pulumi:"licenseModel"` 563 // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. 564 ListenerEndpoints InstanceListenerEndpointArrayOutput `pulumi:"listenerEndpoints"` 565 // The window to perform maintenance in. 566 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS 567 // Maintenance Window 568 // docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) 569 // for more information. 570 MaintenanceWindow pulumi.StringOutput `pulumi:"maintenanceWindow"` 571 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. 572 ManageMasterUserPassword pulumi.BoolPtrOutput `pulumi:"manageMasterUserPassword"` 573 // 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. If not specified, the default KMS key for your Amazon Web Services account is used. 574 MasterUserSecretKmsKeyId pulumi.StringOutput `pulumi:"masterUserSecretKmsKeyId"` 575 // A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. 576 MasterUserSecrets InstanceMasterUserSecretArrayOutput `pulumi:"masterUserSecrets"` 577 // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. 578 MaxAllocatedStorage pulumi.IntPtrOutput `pulumi:"maxAllocatedStorage"` 579 // The interval, in seconds, between points 580 // when Enhanced Monitoring metrics are collected for the DB instance. To disable 581 // collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid 582 // Values: 0, 1, 5, 10, 15, 30, 60. 583 MonitoringInterval pulumi.IntPtrOutput `pulumi:"monitoringInterval"` 584 // The ARN for the IAM role that permits RDS 585 // to send enhanced monitoring metrics to CloudWatch Logs. You can find more 586 // information on the [AWS 587 // Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) 588 // what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 589 MonitoringRoleArn pulumi.StringOutput `pulumi:"monitoringRoleArn"` 590 // Specifies if the RDS instance is multi-AZ 591 MultiAz pulumi.BoolOutput `pulumi:"multiAz"` 592 // Deprecated: This property has been deprecated. Please use 'dbName' instead. 593 Name pulumi.StringPtrOutput `pulumi:"name"` 594 // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See [Oracle Character Sets 595 // Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html). 596 NcharCharacterSetName pulumi.StringOutput `pulumi:"ncharCharacterSetName"` 597 // The network type of the DB instance. Valid values: `IPV4`, `DUAL`. 598 NetworkType pulumi.StringOutput `pulumi:"networkType"` 599 // Name of the DB option group to associate. 600 OptionGroupName pulumi.StringOutput `pulumi:"optionGroupName"` 601 // Name of the DB parameter group to associate. 602 ParameterGroupName pulumi.StringOutput `pulumi:"parameterGroupName"` 603 // (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` 604 // is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in 605 // logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. 606 Password pulumi.StringPtrOutput `pulumi:"password"` 607 // Specifies whether Performance Insights are enabled. Defaults to false. 608 PerformanceInsightsEnabled pulumi.BoolPtrOutput `pulumi:"performanceInsightsEnabled"` 609 // The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. Once KMS key is set, it can never be changed. 610 PerformanceInsightsKmsKeyId pulumi.StringOutput `pulumi:"performanceInsightsKmsKeyId"` 611 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 612 PerformanceInsightsRetentionPeriod pulumi.IntOutput `pulumi:"performanceInsightsRetentionPeriod"` 613 // The port on which the DB accepts connections. 614 Port pulumi.IntOutput `pulumi:"port"` 615 // Bool to control if instance is publicly 616 // accessible. Default is `false`. 617 PubliclyAccessible pulumi.BoolPtrOutput `pulumi:"publiclyAccessible"` 618 // Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute 619 // is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. 620 ReplicaMode pulumi.StringOutput `pulumi:"replicaMode"` 621 Replicas pulumi.StringArrayOutput `pulumi:"replicas"` 622 // Specifies that this resource is a Replicate 623 // database, and to use this value as the source database. This correlates to the 624 // `identifier` of another Amazon RDS Database to replicate (if replicating within 625 // a single region) or ARN of the Amazon RDS Database to replicate (if replicating 626 // cross-region). Note that if you are 627 // creating a cross-region replica of an encrypted database you will also need to 628 // specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with 629 // PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) 630 // for more information on using Replication. 631 ReplicateSourceDb pulumi.StringPtrOutput `pulumi:"replicateSourceDb"` 632 // The RDS Resource ID of this instance. 633 ResourceId pulumi.StringOutput `pulumi:"resourceId"` 634 // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. 635 RestoreToPointInTime InstanceRestoreToPointInTimePtrOutput `pulumi:"restoreToPointInTime"` 636 // Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) 637 S3Import InstanceS3ImportPtrOutput `pulumi:"s3Import"` 638 // Determines whether a final DB snapshot is 639 // created before the DB instance is deleted. If true is specified, no DBSnapshot 640 // is created. If false is specified, a DB snapshot is created before the DB 641 // instance is deleted, using the value from `finalSnapshotIdentifier`. Default 642 // is `false`. 643 SkipFinalSnapshot pulumi.BoolPtrOutput `pulumi:"skipFinalSnapshot"` 644 // Specifies whether or not to create this 645 // database from a snapshot. This correlates to the snapshot ID you'd find in the 646 // RDS console, e.g: rds:production-2015-06-26-06-05. 647 SnapshotIdentifier pulumi.StringOutput `pulumi:"snapshotIdentifier"` 648 // The RDS instance status. 649 Status pulumi.StringOutput `pulumi:"status"` 650 // Specifies whether the DB instance is 651 // encrypted. Note that if you are creating a cross-region read replica this field 652 // is ignored and you should instead declare `kmsKeyId` with a valid ARN. The 653 // default is `false` if not specified. 654 StorageEncrypted pulumi.BoolPtrOutput `pulumi:"storageEncrypted"` 655 // The storage throughput value for the DB instance. Can only be set when `storageType` is `"gp3"`. Cannot be specified if the `allocatedStorage` value is below a per-`engine` threshold. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 656 StorageThroughput pulumi.IntOutput `pulumi:"storageThroughput"` 657 // One of "standard" (magnetic), "gp2" (general 658 // purpose SSD), "gp3" (general purpose SSD that needs `iops` independently) 659 // or "io1" (provisioned IOPS SSD). The default is "io1" if `iops` is specified, 660 // "gp2" if not. 661 StorageType pulumi.StringOutput `pulumi:"storageType"` 662 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 663 Tags pulumi.StringMapOutput `pulumi:"tags"` 664 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 665 // 666 // Deprecated: Please use `tags` instead. 667 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 668 // Time zone of the DB instance. `timezone` is currently 669 // only supported by Microsoft SQL Server. The `timezone` can only be set on 670 // creation. See [MSSQL User 671 // Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) 672 // for more information. 673 Timezone pulumi.StringOutput `pulumi:"timezone"` 674 // (Required unless a `snapshotIdentifier` or `replicateSourceDb` 675 // is provided) Username for the master DB user. Cannot be specified for a replica. 676 Username pulumi.StringOutput `pulumi:"username"` 677 // List of VPC security groups to 678 // associate. 679 VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"` 680 } 681 682 // NewInstance registers a new resource with the given unique name, arguments, and options. 683 func NewInstance(ctx *pulumi.Context, 684 name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error) { 685 if args == nil { 686 return nil, errors.New("missing one or more required arguments") 687 } 688 689 if args.InstanceClass == nil { 690 return nil, errors.New("invalid value for required argument 'InstanceClass'") 691 } 692 if args.Password != nil { 693 args.Password = pulumi.ToSecret(args.Password).(pulumi.StringPtrInput) 694 } 695 secrets := pulumi.AdditionalSecretOutputs([]string{ 696 "password", 697 }) 698 opts = append(opts, secrets) 699 opts = internal.PkgResourceDefaultOpts(opts) 700 var resource Instance 701 err := ctx.RegisterResource("aws:rds/instance:Instance", name, args, &resource, opts...) 702 if err != nil { 703 return nil, err 704 } 705 return &resource, nil 706 } 707 708 // GetInstance gets an existing Instance resource's state with the given name, ID, and optional 709 // state properties that are used to uniquely qualify the lookup (nil if not required). 710 func GetInstance(ctx *pulumi.Context, 711 name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error) { 712 var resource Instance 713 err := ctx.ReadResource("aws:rds/instance:Instance", name, id, state, &resource, opts...) 714 if err != nil { 715 return nil, err 716 } 717 return &resource, nil 718 } 719 720 // Input properties used for looking up and filtering Instance resources. 721 type instanceState struct { 722 // Specifies the DNS address of the DB instance. 723 Address *string `pulumi:"address"` 724 // The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If `replicateSourceDb` is set, the value is ignored during the creation of the instance. 725 AllocatedStorage *int `pulumi:"allocatedStorage"` 726 // Indicates that major version 727 // upgrades are allowed. Changing this parameter does not result in an outage and 728 // the change is asynchronously applied as soon as possible. 729 AllowMajorVersionUpgrade *bool `pulumi:"allowMajorVersionUpgrade"` 730 // Specifies whether any database modifications 731 // are applied immediately, or during the next maintenance window. Default is 732 // `false`. See [Amazon RDS Documentation for more 733 // information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 734 ApplyImmediately *bool `pulumi:"applyImmediately"` 735 // The ARN of the RDS instance. 736 Arn *string `pulumi:"arn"` 737 // Indicates that minor engine upgrades 738 // will be applied automatically to the DB instance during the maintenance window. 739 // Defaults to true. 740 AutoMinorVersionUpgrade *bool `pulumi:"autoMinorVersionUpgrade"` 741 // The AZ for the RDS instance. 742 AvailabilityZone *string `pulumi:"availabilityZone"` 743 // The days to retain backups for. 744 // Must be between `0` and `35`. 745 // Default is `0`. 746 // Must be greater than `0` if the database is used as a source for a [Read Replica][instance-replication], 747 // uses low-downtime updates, 748 // or will use [RDS Blue/Green deployments][blue-green]. 749 BackupRetentionPeriod *int `pulumi:"backupRetentionPeriod"` 750 // Specifies where automated backups and manual snapshots are stored. Possible values are `region` (default) and `outposts`. See [Working with Amazon RDS on AWS Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) for more information. 751 BackupTarget *string `pulumi:"backupTarget"` 752 // The daily time range (in UTC) during which automated backups are created if they are enabled. 753 // Example: "09:46-10:16". Must not overlap with `maintenanceWindow`. 754 BackupWindow *string `pulumi:"backupWindow"` 755 // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. 756 // See `blueGreenUpdate` below. 757 BlueGreenUpdate *InstanceBlueGreenUpdate `pulumi:"blueGreenUpdate"` 758 // The identifier of the CA certificate for the DB instance. 759 CaCertIdentifier *string `pulumi:"caCertIdentifier"` 760 // The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation). 761 // This can't be changed. 762 // See [Oracle Character Sets Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html) or 763 // [Server-Level Collation for Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) for more information. 764 // Cannot be set with `replicateSourceDb`, `restoreToPointInTime`, `s3Import`, or `snapshotIdentifier`. 765 CharacterSetName *string `pulumi:"characterSetName"` 766 // Copy all Instance `tags` to snapshots. Default is `false`. 767 CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` 768 // The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 769 CustomIamInstanceProfile *string `pulumi:"customIamInstanceProfile"` 770 // Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See [CoIP for RDS on Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html#rds-on-outposts.coip) for more information. 771 // 772 // > **NOTE:** Removing the `replicateSourceDb` attribute from an existing RDS 773 // Replicate database managed by the provider will promote the database to a fully 774 // standalone database. 775 CustomerOwnedIpEnabled *bool `pulumi:"customerOwnedIpEnabled"` 776 // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. 777 DbName *string `pulumi:"dbName"` 778 // Name of DB subnet group. DB instance will 779 // be created in the VPC associated with the DB subnet group. If unspecified, will 780 // be created in the `default` VPC, or in EC2 Classic, if available. When working 781 // with read replicas, it should be specified only if the source database 782 // specifies an instance in another AWS Region. See [DBSubnetGroupName in API 783 // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) 784 // for additional read replica constraints. 785 DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` 786 // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. 787 DeleteAutomatedBackups *bool `pulumi:"deleteAutomatedBackups"` 788 // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. 789 DeletionProtection *bool `pulumi:"deletionProtection"` 790 // The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 791 Domain *string `pulumi:"domain"` 792 // The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with `domain` and `domainIamRoleName`. 793 DomainAuthSecretArn *string `pulumi:"domainAuthSecretArn"` 794 // The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. 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. Conflicts with `domain` and `domainIamRoleName`. 795 DomainDnsIps []string `pulumi:"domainDnsIps"` 796 // The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with `domain` and `domainIamRoleName`. 797 DomainFqdn *string `pulumi:"domainFqdn"` 798 // The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 799 DomainIamRoleName *string `pulumi:"domainIamRoleName"` 800 // The self managed Active Directory organizational unit for your DB instance to join. Conflicts with `domain` and `domainIamRoleName`. 801 DomainOu *string `pulumi:"domainOu"` 802 // Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). 803 EnabledCloudwatchLogsExports []string `pulumi:"enabledCloudwatchLogsExports"` 804 // The connection endpoint in `address:port` format. 805 Endpoint *string `pulumi:"endpoint"` 806 // The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the DB cluster's engine'. For information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide. 807 Engine *string `pulumi:"engine"` 808 // The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as `5.7` (for `5.7.10`). The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the DB cluster's engine version'. 809 EngineVersion *string `pulumi:"engineVersion"` 810 // The running version of the database. 811 EngineVersionActual *string `pulumi:"engineVersionActual"` 812 // The name of your final DB snapshot 813 // when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is 814 // set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. 815 FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` 816 // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. 817 HostedZoneId *string `pulumi:"hostedZoneId"` 818 // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database 819 // accounts is enabled. 820 IamDatabaseAuthenticationEnabled *bool `pulumi:"iamDatabaseAuthenticationEnabled"` 821 // The name of the RDS instance, if omitted, this provider will assign a random, unique identifier. Required if `restoreToPointInTime` is specified. 822 Identifier *string `pulumi:"identifier"` 823 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 824 IdentifierPrefix *string `pulumi:"identifierPrefix"` 825 // The instance type of the RDS instance. 826 InstanceClass *string `pulumi:"instanceClass"` 827 // The amount of provisioned IOPS. Setting this implies a 828 // storageType of "io1". Can only be set when `storageType` is `"io1"` or `"gp3"`. 829 // Cannot be specified for gp3 storage if the `allocatedStorage` value is below a per-`engine` threshold. 830 // See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 831 Iops *int `pulumi:"iops"` 832 // The ARN for the KMS encryption key. If creating an 833 // encrypted replica, set this to the destination KMS ARN. 834 KmsKeyId *string `pulumi:"kmsKeyId"` 835 // The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore. 836 LatestRestorableTime *string `pulumi:"latestRestorableTime"` 837 // License model information for this DB instance. Valid values for this field are as follows: 838 // * RDS for MariaDB: `general-public-license` 839 // * RDS for Microsoft SQL Server: `license-included` 840 // * RDS for MySQL: `general-public-license` 841 // * RDS for Oracle: `bring-your-own-license | license-included` 842 // * RDS for PostgreSQL: `postgresql-license` 843 LicenseModel *string `pulumi:"licenseModel"` 844 // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. 845 ListenerEndpoints []InstanceListenerEndpoint `pulumi:"listenerEndpoints"` 846 // The window to perform maintenance in. 847 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS 848 // Maintenance Window 849 // docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) 850 // for more information. 851 MaintenanceWindow *string `pulumi:"maintenanceWindow"` 852 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. 853 ManageMasterUserPassword *bool `pulumi:"manageMasterUserPassword"` 854 // 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. If not specified, the default KMS key for your Amazon Web Services account is used. 855 MasterUserSecretKmsKeyId *string `pulumi:"masterUserSecretKmsKeyId"` 856 // A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. 857 MasterUserSecrets []InstanceMasterUserSecret `pulumi:"masterUserSecrets"` 858 // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. 859 MaxAllocatedStorage *int `pulumi:"maxAllocatedStorage"` 860 // The interval, in seconds, between points 861 // when Enhanced Monitoring metrics are collected for the DB instance. To disable 862 // collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid 863 // Values: 0, 1, 5, 10, 15, 30, 60. 864 MonitoringInterval *int `pulumi:"monitoringInterval"` 865 // The ARN for the IAM role that permits RDS 866 // to send enhanced monitoring metrics to CloudWatch Logs. You can find more 867 // information on the [AWS 868 // Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) 869 // what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 870 MonitoringRoleArn *string `pulumi:"monitoringRoleArn"` 871 // Specifies if the RDS instance is multi-AZ 872 MultiAz *bool `pulumi:"multiAz"` 873 // Deprecated: This property has been deprecated. Please use 'dbName' instead. 874 Name *string `pulumi:"name"` 875 // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See [Oracle Character Sets 876 // Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html). 877 NcharCharacterSetName *string `pulumi:"ncharCharacterSetName"` 878 // The network type of the DB instance. Valid values: `IPV4`, `DUAL`. 879 NetworkType *string `pulumi:"networkType"` 880 // Name of the DB option group to associate. 881 OptionGroupName *string `pulumi:"optionGroupName"` 882 // Name of the DB parameter group to associate. 883 ParameterGroupName *string `pulumi:"parameterGroupName"` 884 // (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` 885 // is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in 886 // logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. 887 Password *string `pulumi:"password"` 888 // Specifies whether Performance Insights are enabled. Defaults to false. 889 PerformanceInsightsEnabled *bool `pulumi:"performanceInsightsEnabled"` 890 // The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. Once KMS key is set, it can never be changed. 891 PerformanceInsightsKmsKeyId *string `pulumi:"performanceInsightsKmsKeyId"` 892 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 893 PerformanceInsightsRetentionPeriod *int `pulumi:"performanceInsightsRetentionPeriod"` 894 // The port on which the DB accepts connections. 895 Port *int `pulumi:"port"` 896 // Bool to control if instance is publicly 897 // accessible. Default is `false`. 898 PubliclyAccessible *bool `pulumi:"publiclyAccessible"` 899 // Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute 900 // is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. 901 ReplicaMode *string `pulumi:"replicaMode"` 902 Replicas []string `pulumi:"replicas"` 903 // Specifies that this resource is a Replicate 904 // database, and to use this value as the source database. This correlates to the 905 // `identifier` of another Amazon RDS Database to replicate (if replicating within 906 // a single region) or ARN of the Amazon RDS Database to replicate (if replicating 907 // cross-region). Note that if you are 908 // creating a cross-region replica of an encrypted database you will also need to 909 // specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with 910 // PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) 911 // for more information on using Replication. 912 ReplicateSourceDb *string `pulumi:"replicateSourceDb"` 913 // The RDS Resource ID of this instance. 914 ResourceId *string `pulumi:"resourceId"` 915 // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. 916 RestoreToPointInTime *InstanceRestoreToPointInTime `pulumi:"restoreToPointInTime"` 917 // Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) 918 S3Import *InstanceS3Import `pulumi:"s3Import"` 919 // Determines whether a final DB snapshot is 920 // created before the DB instance is deleted. If true is specified, no DBSnapshot 921 // is created. If false is specified, a DB snapshot is created before the DB 922 // instance is deleted, using the value from `finalSnapshotIdentifier`. Default 923 // is `false`. 924 SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` 925 // Specifies whether or not to create this 926 // database from a snapshot. This correlates to the snapshot ID you'd find in the 927 // RDS console, e.g: rds:production-2015-06-26-06-05. 928 SnapshotIdentifier *string `pulumi:"snapshotIdentifier"` 929 // The RDS instance status. 930 Status *string `pulumi:"status"` 931 // Specifies whether the DB instance is 932 // encrypted. Note that if you are creating a cross-region read replica this field 933 // is ignored and you should instead declare `kmsKeyId` with a valid ARN. The 934 // default is `false` if not specified. 935 StorageEncrypted *bool `pulumi:"storageEncrypted"` 936 // The storage throughput value for the DB instance. Can only be set when `storageType` is `"gp3"`. Cannot be specified if the `allocatedStorage` value is below a per-`engine` threshold. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 937 StorageThroughput *int `pulumi:"storageThroughput"` 938 // One of "standard" (magnetic), "gp2" (general 939 // purpose SSD), "gp3" (general purpose SSD that needs `iops` independently) 940 // or "io1" (provisioned IOPS SSD). The default is "io1" if `iops` is specified, 941 // "gp2" if not. 942 StorageType *string `pulumi:"storageType"` 943 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 944 Tags map[string]string `pulumi:"tags"` 945 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 946 // 947 // Deprecated: Please use `tags` instead. 948 TagsAll map[string]string `pulumi:"tagsAll"` 949 // Time zone of the DB instance. `timezone` is currently 950 // only supported by Microsoft SQL Server. The `timezone` can only be set on 951 // creation. See [MSSQL User 952 // Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) 953 // for more information. 954 Timezone *string `pulumi:"timezone"` 955 // (Required unless a `snapshotIdentifier` or `replicateSourceDb` 956 // is provided) Username for the master DB user. Cannot be specified for a replica. 957 Username *string `pulumi:"username"` 958 // List of VPC security groups to 959 // associate. 960 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 961 } 962 963 type InstanceState struct { 964 // Specifies the DNS address of the DB instance. 965 Address pulumi.StringPtrInput 966 // The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If `replicateSourceDb` is set, the value is ignored during the creation of the instance. 967 AllocatedStorage pulumi.IntPtrInput 968 // Indicates that major version 969 // upgrades are allowed. Changing this parameter does not result in an outage and 970 // the change is asynchronously applied as soon as possible. 971 AllowMajorVersionUpgrade pulumi.BoolPtrInput 972 // Specifies whether any database modifications 973 // are applied immediately, or during the next maintenance window. Default is 974 // `false`. See [Amazon RDS Documentation for more 975 // information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 976 ApplyImmediately pulumi.BoolPtrInput 977 // The ARN of the RDS instance. 978 Arn pulumi.StringPtrInput 979 // Indicates that minor engine upgrades 980 // will be applied automatically to the DB instance during the maintenance window. 981 // Defaults to true. 982 AutoMinorVersionUpgrade pulumi.BoolPtrInput 983 // The AZ for the RDS instance. 984 AvailabilityZone pulumi.StringPtrInput 985 // The days to retain backups for. 986 // Must be between `0` and `35`. 987 // Default is `0`. 988 // Must be greater than `0` if the database is used as a source for a [Read Replica][instance-replication], 989 // uses low-downtime updates, 990 // or will use [RDS Blue/Green deployments][blue-green]. 991 BackupRetentionPeriod pulumi.IntPtrInput 992 // Specifies where automated backups and manual snapshots are stored. Possible values are `region` (default) and `outposts`. See [Working with Amazon RDS on AWS Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) for more information. 993 BackupTarget pulumi.StringPtrInput 994 // The daily time range (in UTC) during which automated backups are created if they are enabled. 995 // Example: "09:46-10:16". Must not overlap with `maintenanceWindow`. 996 BackupWindow pulumi.StringPtrInput 997 // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. 998 // See `blueGreenUpdate` below. 999 BlueGreenUpdate InstanceBlueGreenUpdatePtrInput 1000 // The identifier of the CA certificate for the DB instance. 1001 CaCertIdentifier pulumi.StringPtrInput 1002 // The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation). 1003 // This can't be changed. 1004 // See [Oracle Character Sets Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html) or 1005 // [Server-Level Collation for Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) for more information. 1006 // Cannot be set with `replicateSourceDb`, `restoreToPointInTime`, `s3Import`, or `snapshotIdentifier`. 1007 CharacterSetName pulumi.StringPtrInput 1008 // Copy all Instance `tags` to snapshots. Default is `false`. 1009 CopyTagsToSnapshot pulumi.BoolPtrInput 1010 // The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 1011 CustomIamInstanceProfile pulumi.StringPtrInput 1012 // Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See [CoIP for RDS on Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html#rds-on-outposts.coip) for more information. 1013 // 1014 // > **NOTE:** Removing the `replicateSourceDb` attribute from an existing RDS 1015 // Replicate database managed by the provider will promote the database to a fully 1016 // standalone database. 1017 CustomerOwnedIpEnabled pulumi.BoolPtrInput 1018 // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. 1019 DbName pulumi.StringPtrInput 1020 // Name of DB subnet group. DB instance will 1021 // be created in the VPC associated with the DB subnet group. If unspecified, will 1022 // be created in the `default` VPC, or in EC2 Classic, if available. When working 1023 // with read replicas, it should be specified only if the source database 1024 // specifies an instance in another AWS Region. See [DBSubnetGroupName in API 1025 // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) 1026 // for additional read replica constraints. 1027 DbSubnetGroupName pulumi.StringPtrInput 1028 // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. 1029 DeleteAutomatedBackups pulumi.BoolPtrInput 1030 // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. 1031 DeletionProtection pulumi.BoolPtrInput 1032 // The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 1033 Domain pulumi.StringPtrInput 1034 // The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with `domain` and `domainIamRoleName`. 1035 DomainAuthSecretArn pulumi.StringPtrInput 1036 // The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. 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. Conflicts with `domain` and `domainIamRoleName`. 1037 DomainDnsIps pulumi.StringArrayInput 1038 // The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with `domain` and `domainIamRoleName`. 1039 DomainFqdn pulumi.StringPtrInput 1040 // The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 1041 DomainIamRoleName pulumi.StringPtrInput 1042 // The self managed Active Directory organizational unit for your DB instance to join. Conflicts with `domain` and `domainIamRoleName`. 1043 DomainOu pulumi.StringPtrInput 1044 // Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). 1045 EnabledCloudwatchLogsExports pulumi.StringArrayInput 1046 // The connection endpoint in `address:port` format. 1047 Endpoint pulumi.StringPtrInput 1048 // The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the DB cluster's engine'. For information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide. 1049 Engine pulumi.StringPtrInput 1050 // The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as `5.7` (for `5.7.10`). The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the DB cluster's engine version'. 1051 EngineVersion pulumi.StringPtrInput 1052 // The running version of the database. 1053 EngineVersionActual pulumi.StringPtrInput 1054 // The name of your final DB snapshot 1055 // when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is 1056 // set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. 1057 FinalSnapshotIdentifier pulumi.StringPtrInput 1058 // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. 1059 HostedZoneId pulumi.StringPtrInput 1060 // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database 1061 // accounts is enabled. 1062 IamDatabaseAuthenticationEnabled pulumi.BoolPtrInput 1063 // The name of the RDS instance, if omitted, this provider will assign a random, unique identifier. Required if `restoreToPointInTime` is specified. 1064 Identifier pulumi.StringPtrInput 1065 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 1066 IdentifierPrefix pulumi.StringPtrInput 1067 // The instance type of the RDS instance. 1068 InstanceClass pulumi.StringPtrInput 1069 // The amount of provisioned IOPS. Setting this implies a 1070 // storageType of "io1". Can only be set when `storageType` is `"io1"` or `"gp3"`. 1071 // Cannot be specified for gp3 storage if the `allocatedStorage` value is below a per-`engine` threshold. 1072 // See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 1073 Iops pulumi.IntPtrInput 1074 // The ARN for the KMS encryption key. If creating an 1075 // encrypted replica, set this to the destination KMS ARN. 1076 KmsKeyId pulumi.StringPtrInput 1077 // The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore. 1078 LatestRestorableTime pulumi.StringPtrInput 1079 // License model information for this DB instance. Valid values for this field are as follows: 1080 // * RDS for MariaDB: `general-public-license` 1081 // * RDS for Microsoft SQL Server: `license-included` 1082 // * RDS for MySQL: `general-public-license` 1083 // * RDS for Oracle: `bring-your-own-license | license-included` 1084 // * RDS for PostgreSQL: `postgresql-license` 1085 LicenseModel pulumi.StringPtrInput 1086 // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. 1087 ListenerEndpoints InstanceListenerEndpointArrayInput 1088 // The window to perform maintenance in. 1089 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS 1090 // Maintenance Window 1091 // docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) 1092 // for more information. 1093 MaintenanceWindow pulumi.StringPtrInput 1094 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. 1095 ManageMasterUserPassword pulumi.BoolPtrInput 1096 // 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. If not specified, the default KMS key for your Amazon Web Services account is used. 1097 MasterUserSecretKmsKeyId pulumi.StringPtrInput 1098 // A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. 1099 MasterUserSecrets InstanceMasterUserSecretArrayInput 1100 // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. 1101 MaxAllocatedStorage pulumi.IntPtrInput 1102 // The interval, in seconds, between points 1103 // when Enhanced Monitoring metrics are collected for the DB instance. To disable 1104 // collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid 1105 // Values: 0, 1, 5, 10, 15, 30, 60. 1106 MonitoringInterval pulumi.IntPtrInput 1107 // The ARN for the IAM role that permits RDS 1108 // to send enhanced monitoring metrics to CloudWatch Logs. You can find more 1109 // information on the [AWS 1110 // Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) 1111 // what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 1112 MonitoringRoleArn pulumi.StringPtrInput 1113 // Specifies if the RDS instance is multi-AZ 1114 MultiAz pulumi.BoolPtrInput 1115 // Deprecated: This property has been deprecated. Please use 'dbName' instead. 1116 Name pulumi.StringPtrInput 1117 // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See [Oracle Character Sets 1118 // Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html). 1119 NcharCharacterSetName pulumi.StringPtrInput 1120 // The network type of the DB instance. Valid values: `IPV4`, `DUAL`. 1121 NetworkType pulumi.StringPtrInput 1122 // Name of the DB option group to associate. 1123 OptionGroupName pulumi.StringPtrInput 1124 // Name of the DB parameter group to associate. 1125 ParameterGroupName pulumi.StringPtrInput 1126 // (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` 1127 // is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in 1128 // logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. 1129 Password pulumi.StringPtrInput 1130 // Specifies whether Performance Insights are enabled. Defaults to false. 1131 PerformanceInsightsEnabled pulumi.BoolPtrInput 1132 // The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. Once KMS key is set, it can never be changed. 1133 PerformanceInsightsKmsKeyId pulumi.StringPtrInput 1134 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 1135 PerformanceInsightsRetentionPeriod pulumi.IntPtrInput 1136 // The port on which the DB accepts connections. 1137 Port pulumi.IntPtrInput 1138 // Bool to control if instance is publicly 1139 // accessible. Default is `false`. 1140 PubliclyAccessible pulumi.BoolPtrInput 1141 // Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute 1142 // is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. 1143 ReplicaMode pulumi.StringPtrInput 1144 Replicas pulumi.StringArrayInput 1145 // Specifies that this resource is a Replicate 1146 // database, and to use this value as the source database. This correlates to the 1147 // `identifier` of another Amazon RDS Database to replicate (if replicating within 1148 // a single region) or ARN of the Amazon RDS Database to replicate (if replicating 1149 // cross-region). Note that if you are 1150 // creating a cross-region replica of an encrypted database you will also need to 1151 // specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with 1152 // PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) 1153 // for more information on using Replication. 1154 ReplicateSourceDb pulumi.StringPtrInput 1155 // The RDS Resource ID of this instance. 1156 ResourceId pulumi.StringPtrInput 1157 // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. 1158 RestoreToPointInTime InstanceRestoreToPointInTimePtrInput 1159 // Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) 1160 S3Import InstanceS3ImportPtrInput 1161 // Determines whether a final DB snapshot is 1162 // created before the DB instance is deleted. If true is specified, no DBSnapshot 1163 // is created. If false is specified, a DB snapshot is created before the DB 1164 // instance is deleted, using the value from `finalSnapshotIdentifier`. Default 1165 // is `false`. 1166 SkipFinalSnapshot pulumi.BoolPtrInput 1167 // Specifies whether or not to create this 1168 // database from a snapshot. This correlates to the snapshot ID you'd find in the 1169 // RDS console, e.g: rds:production-2015-06-26-06-05. 1170 SnapshotIdentifier pulumi.StringPtrInput 1171 // The RDS instance status. 1172 Status pulumi.StringPtrInput 1173 // Specifies whether the DB instance is 1174 // encrypted. Note that if you are creating a cross-region read replica this field 1175 // is ignored and you should instead declare `kmsKeyId` with a valid ARN. The 1176 // default is `false` if not specified. 1177 StorageEncrypted pulumi.BoolPtrInput 1178 // The storage throughput value for the DB instance. Can only be set when `storageType` is `"gp3"`. Cannot be specified if the `allocatedStorage` value is below a per-`engine` threshold. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 1179 StorageThroughput pulumi.IntPtrInput 1180 // One of "standard" (magnetic), "gp2" (general 1181 // purpose SSD), "gp3" (general purpose SSD that needs `iops` independently) 1182 // or "io1" (provisioned IOPS SSD). The default is "io1" if `iops` is specified, 1183 // "gp2" if not. 1184 StorageType pulumi.StringPtrInput 1185 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 1186 Tags pulumi.StringMapInput 1187 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 1188 // 1189 // Deprecated: Please use `tags` instead. 1190 TagsAll pulumi.StringMapInput 1191 // Time zone of the DB instance. `timezone` is currently 1192 // only supported by Microsoft SQL Server. The `timezone` can only be set on 1193 // creation. See [MSSQL User 1194 // Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) 1195 // for more information. 1196 Timezone pulumi.StringPtrInput 1197 // (Required unless a `snapshotIdentifier` or `replicateSourceDb` 1198 // is provided) Username for the master DB user. Cannot be specified for a replica. 1199 Username pulumi.StringPtrInput 1200 // List of VPC security groups to 1201 // associate. 1202 VpcSecurityGroupIds pulumi.StringArrayInput 1203 } 1204 1205 func (InstanceState) ElementType() reflect.Type { 1206 return reflect.TypeOf((*instanceState)(nil)).Elem() 1207 } 1208 1209 type instanceArgs struct { 1210 // The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If `replicateSourceDb` is set, the value is ignored during the creation of the instance. 1211 AllocatedStorage *int `pulumi:"allocatedStorage"` 1212 // Indicates that major version 1213 // upgrades are allowed. Changing this parameter does not result in an outage and 1214 // the change is asynchronously applied as soon as possible. 1215 AllowMajorVersionUpgrade *bool `pulumi:"allowMajorVersionUpgrade"` 1216 // Specifies whether any database modifications 1217 // are applied immediately, or during the next maintenance window. Default is 1218 // `false`. See [Amazon RDS Documentation for more 1219 // information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 1220 ApplyImmediately *bool `pulumi:"applyImmediately"` 1221 // Indicates that minor engine upgrades 1222 // will be applied automatically to the DB instance during the maintenance window. 1223 // Defaults to true. 1224 AutoMinorVersionUpgrade *bool `pulumi:"autoMinorVersionUpgrade"` 1225 // The AZ for the RDS instance. 1226 AvailabilityZone *string `pulumi:"availabilityZone"` 1227 // The days to retain backups for. 1228 // Must be between `0` and `35`. 1229 // Default is `0`. 1230 // Must be greater than `0` if the database is used as a source for a [Read Replica][instance-replication], 1231 // uses low-downtime updates, 1232 // or will use [RDS Blue/Green deployments][blue-green]. 1233 BackupRetentionPeriod *int `pulumi:"backupRetentionPeriod"` 1234 // Specifies where automated backups and manual snapshots are stored. Possible values are `region` (default) and `outposts`. See [Working with Amazon RDS on AWS Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) for more information. 1235 BackupTarget *string `pulumi:"backupTarget"` 1236 // The daily time range (in UTC) during which automated backups are created if they are enabled. 1237 // Example: "09:46-10:16". Must not overlap with `maintenanceWindow`. 1238 BackupWindow *string `pulumi:"backupWindow"` 1239 // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. 1240 // See `blueGreenUpdate` below. 1241 BlueGreenUpdate *InstanceBlueGreenUpdate `pulumi:"blueGreenUpdate"` 1242 // The identifier of the CA certificate for the DB instance. 1243 CaCertIdentifier *string `pulumi:"caCertIdentifier"` 1244 // The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation). 1245 // This can't be changed. 1246 // See [Oracle Character Sets Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html) or 1247 // [Server-Level Collation for Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) for more information. 1248 // Cannot be set with `replicateSourceDb`, `restoreToPointInTime`, `s3Import`, or `snapshotIdentifier`. 1249 CharacterSetName *string `pulumi:"characterSetName"` 1250 // Copy all Instance `tags` to snapshots. Default is `false`. 1251 CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` 1252 // The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 1253 CustomIamInstanceProfile *string `pulumi:"customIamInstanceProfile"` 1254 // Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See [CoIP for RDS on Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html#rds-on-outposts.coip) for more information. 1255 // 1256 // > **NOTE:** Removing the `replicateSourceDb` attribute from an existing RDS 1257 // Replicate database managed by the provider will promote the database to a fully 1258 // standalone database. 1259 CustomerOwnedIpEnabled *bool `pulumi:"customerOwnedIpEnabled"` 1260 // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. 1261 DbName *string `pulumi:"dbName"` 1262 // Name of DB subnet group. DB instance will 1263 // be created in the VPC associated with the DB subnet group. If unspecified, will 1264 // be created in the `default` VPC, or in EC2 Classic, if available. When working 1265 // with read replicas, it should be specified only if the source database 1266 // specifies an instance in another AWS Region. See [DBSubnetGroupName in API 1267 // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) 1268 // for additional read replica constraints. 1269 DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` 1270 // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. 1271 DeleteAutomatedBackups *bool `pulumi:"deleteAutomatedBackups"` 1272 // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. 1273 DeletionProtection *bool `pulumi:"deletionProtection"` 1274 // The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 1275 Domain *string `pulumi:"domain"` 1276 // The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with `domain` and `domainIamRoleName`. 1277 DomainAuthSecretArn *string `pulumi:"domainAuthSecretArn"` 1278 // The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. 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. Conflicts with `domain` and `domainIamRoleName`. 1279 DomainDnsIps []string `pulumi:"domainDnsIps"` 1280 // The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with `domain` and `domainIamRoleName`. 1281 DomainFqdn *string `pulumi:"domainFqdn"` 1282 // The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 1283 DomainIamRoleName *string `pulumi:"domainIamRoleName"` 1284 // The self managed Active Directory organizational unit for your DB instance to join. Conflicts with `domain` and `domainIamRoleName`. 1285 DomainOu *string `pulumi:"domainOu"` 1286 // Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). 1287 EnabledCloudwatchLogsExports []string `pulumi:"enabledCloudwatchLogsExports"` 1288 // The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the DB cluster's engine'. For information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide. 1289 Engine *string `pulumi:"engine"` 1290 // The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as `5.7` (for `5.7.10`). The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the DB cluster's engine version'. 1291 EngineVersion *string `pulumi:"engineVersion"` 1292 // The name of your final DB snapshot 1293 // when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is 1294 // set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. 1295 FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` 1296 // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database 1297 // accounts is enabled. 1298 IamDatabaseAuthenticationEnabled *bool `pulumi:"iamDatabaseAuthenticationEnabled"` 1299 // The name of the RDS instance, if omitted, this provider will assign a random, unique identifier. Required if `restoreToPointInTime` is specified. 1300 Identifier *string `pulumi:"identifier"` 1301 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 1302 IdentifierPrefix *string `pulumi:"identifierPrefix"` 1303 // The instance type of the RDS instance. 1304 InstanceClass string `pulumi:"instanceClass"` 1305 // The amount of provisioned IOPS. Setting this implies a 1306 // storageType of "io1". Can only be set when `storageType` is `"io1"` or `"gp3"`. 1307 // Cannot be specified for gp3 storage if the `allocatedStorage` value is below a per-`engine` threshold. 1308 // See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 1309 Iops *int `pulumi:"iops"` 1310 // The ARN for the KMS encryption key. If creating an 1311 // encrypted replica, set this to the destination KMS ARN. 1312 KmsKeyId *string `pulumi:"kmsKeyId"` 1313 // License model information for this DB instance. Valid values for this field are as follows: 1314 // * RDS for MariaDB: `general-public-license` 1315 // * RDS for Microsoft SQL Server: `license-included` 1316 // * RDS for MySQL: `general-public-license` 1317 // * RDS for Oracle: `bring-your-own-license | license-included` 1318 // * RDS for PostgreSQL: `postgresql-license` 1319 LicenseModel *string `pulumi:"licenseModel"` 1320 // The window to perform maintenance in. 1321 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS 1322 // Maintenance Window 1323 // docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) 1324 // for more information. 1325 MaintenanceWindow *string `pulumi:"maintenanceWindow"` 1326 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. 1327 ManageMasterUserPassword *bool `pulumi:"manageMasterUserPassword"` 1328 // 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. If not specified, the default KMS key for your Amazon Web Services account is used. 1329 MasterUserSecretKmsKeyId *string `pulumi:"masterUserSecretKmsKeyId"` 1330 // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. 1331 MaxAllocatedStorage *int `pulumi:"maxAllocatedStorage"` 1332 // The interval, in seconds, between points 1333 // when Enhanced Monitoring metrics are collected for the DB instance. To disable 1334 // collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid 1335 // Values: 0, 1, 5, 10, 15, 30, 60. 1336 MonitoringInterval *int `pulumi:"monitoringInterval"` 1337 // The ARN for the IAM role that permits RDS 1338 // to send enhanced monitoring metrics to CloudWatch Logs. You can find more 1339 // information on the [AWS 1340 // Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) 1341 // what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 1342 MonitoringRoleArn *string `pulumi:"monitoringRoleArn"` 1343 // Specifies if the RDS instance is multi-AZ 1344 MultiAz *bool `pulumi:"multiAz"` 1345 // Deprecated: This property has been deprecated. Please use 'dbName' instead. 1346 Name *string `pulumi:"name"` 1347 // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See [Oracle Character Sets 1348 // Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html). 1349 NcharCharacterSetName *string `pulumi:"ncharCharacterSetName"` 1350 // The network type of the DB instance. Valid values: `IPV4`, `DUAL`. 1351 NetworkType *string `pulumi:"networkType"` 1352 // Name of the DB option group to associate. 1353 OptionGroupName *string `pulumi:"optionGroupName"` 1354 // Name of the DB parameter group to associate. 1355 ParameterGroupName *string `pulumi:"parameterGroupName"` 1356 // (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` 1357 // is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in 1358 // logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. 1359 Password *string `pulumi:"password"` 1360 // Specifies whether Performance Insights are enabled. Defaults to false. 1361 PerformanceInsightsEnabled *bool `pulumi:"performanceInsightsEnabled"` 1362 // The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. Once KMS key is set, it can never be changed. 1363 PerformanceInsightsKmsKeyId *string `pulumi:"performanceInsightsKmsKeyId"` 1364 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 1365 PerformanceInsightsRetentionPeriod *int `pulumi:"performanceInsightsRetentionPeriod"` 1366 // The port on which the DB accepts connections. 1367 Port *int `pulumi:"port"` 1368 // Bool to control if instance is publicly 1369 // accessible. Default is `false`. 1370 PubliclyAccessible *bool `pulumi:"publiclyAccessible"` 1371 // Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute 1372 // is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. 1373 ReplicaMode *string `pulumi:"replicaMode"` 1374 // Specifies that this resource is a Replicate 1375 // database, and to use this value as the source database. This correlates to the 1376 // `identifier` of another Amazon RDS Database to replicate (if replicating within 1377 // a single region) or ARN of the Amazon RDS Database to replicate (if replicating 1378 // cross-region). Note that if you are 1379 // creating a cross-region replica of an encrypted database you will also need to 1380 // specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with 1381 // PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) 1382 // for more information on using Replication. 1383 ReplicateSourceDb *string `pulumi:"replicateSourceDb"` 1384 // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. 1385 RestoreToPointInTime *InstanceRestoreToPointInTime `pulumi:"restoreToPointInTime"` 1386 // Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) 1387 S3Import *InstanceS3Import `pulumi:"s3Import"` 1388 // Determines whether a final DB snapshot is 1389 // created before the DB instance is deleted. If true is specified, no DBSnapshot 1390 // is created. If false is specified, a DB snapshot is created before the DB 1391 // instance is deleted, using the value from `finalSnapshotIdentifier`. Default 1392 // is `false`. 1393 SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` 1394 // Specifies whether or not to create this 1395 // database from a snapshot. This correlates to the snapshot ID you'd find in the 1396 // RDS console, e.g: rds:production-2015-06-26-06-05. 1397 SnapshotIdentifier *string `pulumi:"snapshotIdentifier"` 1398 // Specifies whether the DB instance is 1399 // encrypted. Note that if you are creating a cross-region read replica this field 1400 // is ignored and you should instead declare `kmsKeyId` with a valid ARN. The 1401 // default is `false` if not specified. 1402 StorageEncrypted *bool `pulumi:"storageEncrypted"` 1403 // The storage throughput value for the DB instance. Can only be set when `storageType` is `"gp3"`. Cannot be specified if the `allocatedStorage` value is below a per-`engine` threshold. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 1404 StorageThroughput *int `pulumi:"storageThroughput"` 1405 // One of "standard" (magnetic), "gp2" (general 1406 // purpose SSD), "gp3" (general purpose SSD that needs `iops` independently) 1407 // or "io1" (provisioned IOPS SSD). The default is "io1" if `iops` is specified, 1408 // "gp2" if not. 1409 StorageType *string `pulumi:"storageType"` 1410 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 1411 Tags map[string]string `pulumi:"tags"` 1412 // Time zone of the DB instance. `timezone` is currently 1413 // only supported by Microsoft SQL Server. The `timezone` can only be set on 1414 // creation. See [MSSQL User 1415 // Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) 1416 // for more information. 1417 Timezone *string `pulumi:"timezone"` 1418 // (Required unless a `snapshotIdentifier` or `replicateSourceDb` 1419 // is provided) Username for the master DB user. Cannot be specified for a replica. 1420 Username *string `pulumi:"username"` 1421 // List of VPC security groups to 1422 // associate. 1423 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 1424 } 1425 1426 // The set of arguments for constructing a Instance resource. 1427 type InstanceArgs struct { 1428 // The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If `replicateSourceDb` is set, the value is ignored during the creation of the instance. 1429 AllocatedStorage pulumi.IntPtrInput 1430 // Indicates that major version 1431 // upgrades are allowed. Changing this parameter does not result in an outage and 1432 // the change is asynchronously applied as soon as possible. 1433 AllowMajorVersionUpgrade pulumi.BoolPtrInput 1434 // Specifies whether any database modifications 1435 // are applied immediately, or during the next maintenance window. Default is 1436 // `false`. See [Amazon RDS Documentation for more 1437 // information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 1438 ApplyImmediately pulumi.BoolPtrInput 1439 // Indicates that minor engine upgrades 1440 // will be applied automatically to the DB instance during the maintenance window. 1441 // Defaults to true. 1442 AutoMinorVersionUpgrade pulumi.BoolPtrInput 1443 // The AZ for the RDS instance. 1444 AvailabilityZone pulumi.StringPtrInput 1445 // The days to retain backups for. 1446 // Must be between `0` and `35`. 1447 // Default is `0`. 1448 // Must be greater than `0` if the database is used as a source for a [Read Replica][instance-replication], 1449 // uses low-downtime updates, 1450 // or will use [RDS Blue/Green deployments][blue-green]. 1451 BackupRetentionPeriod pulumi.IntPtrInput 1452 // Specifies where automated backups and manual snapshots are stored. Possible values are `region` (default) and `outposts`. See [Working with Amazon RDS on AWS Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) for more information. 1453 BackupTarget pulumi.StringPtrInput 1454 // The daily time range (in UTC) during which automated backups are created if they are enabled. 1455 // Example: "09:46-10:16". Must not overlap with `maintenanceWindow`. 1456 BackupWindow pulumi.StringPtrInput 1457 // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. 1458 // See `blueGreenUpdate` below. 1459 BlueGreenUpdate InstanceBlueGreenUpdatePtrInput 1460 // The identifier of the CA certificate for the DB instance. 1461 CaCertIdentifier pulumi.StringPtrInput 1462 // The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation). 1463 // This can't be changed. 1464 // See [Oracle Character Sets Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html) or 1465 // [Server-Level Collation for Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) for more information. 1466 // Cannot be set with `replicateSourceDb`, `restoreToPointInTime`, `s3Import`, or `snapshotIdentifier`. 1467 CharacterSetName pulumi.StringPtrInput 1468 // Copy all Instance `tags` to snapshots. Default is `false`. 1469 CopyTagsToSnapshot pulumi.BoolPtrInput 1470 // The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 1471 CustomIamInstanceProfile pulumi.StringPtrInput 1472 // Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See [CoIP for RDS on Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html#rds-on-outposts.coip) for more information. 1473 // 1474 // > **NOTE:** Removing the `replicateSourceDb` attribute from an existing RDS 1475 // Replicate database managed by the provider will promote the database to a fully 1476 // standalone database. 1477 CustomerOwnedIpEnabled pulumi.BoolPtrInput 1478 // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. 1479 DbName pulumi.StringPtrInput 1480 // Name of DB subnet group. DB instance will 1481 // be created in the VPC associated with the DB subnet group. If unspecified, will 1482 // be created in the `default` VPC, or in EC2 Classic, if available. When working 1483 // with read replicas, it should be specified only if the source database 1484 // specifies an instance in another AWS Region. See [DBSubnetGroupName in API 1485 // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) 1486 // for additional read replica constraints. 1487 DbSubnetGroupName pulumi.StringPtrInput 1488 // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. 1489 DeleteAutomatedBackups pulumi.BoolPtrInput 1490 // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. 1491 DeletionProtection pulumi.BoolPtrInput 1492 // The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 1493 Domain pulumi.StringPtrInput 1494 // The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with `domain` and `domainIamRoleName`. 1495 DomainAuthSecretArn pulumi.StringPtrInput 1496 // The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. 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. Conflicts with `domain` and `domainIamRoleName`. 1497 DomainDnsIps pulumi.StringArrayInput 1498 // The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with `domain` and `domainIamRoleName`. 1499 DomainFqdn pulumi.StringPtrInput 1500 // The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 1501 DomainIamRoleName pulumi.StringPtrInput 1502 // The self managed Active Directory organizational unit for your DB instance to join. Conflicts with `domain` and `domainIamRoleName`. 1503 DomainOu pulumi.StringPtrInput 1504 // Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). 1505 EnabledCloudwatchLogsExports pulumi.StringArrayInput 1506 // The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the DB cluster's engine'. For information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide. 1507 Engine pulumi.StringPtrInput 1508 // The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as `5.7` (for `5.7.10`). The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the DB cluster's engine version'. 1509 EngineVersion pulumi.StringPtrInput 1510 // The name of your final DB snapshot 1511 // when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is 1512 // set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. 1513 FinalSnapshotIdentifier pulumi.StringPtrInput 1514 // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database 1515 // accounts is enabled. 1516 IamDatabaseAuthenticationEnabled pulumi.BoolPtrInput 1517 // The name of the RDS instance, if omitted, this provider will assign a random, unique identifier. Required if `restoreToPointInTime` is specified. 1518 Identifier pulumi.StringPtrInput 1519 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 1520 IdentifierPrefix pulumi.StringPtrInput 1521 // The instance type of the RDS instance. 1522 InstanceClass pulumi.StringInput 1523 // The amount of provisioned IOPS. Setting this implies a 1524 // storageType of "io1". Can only be set when `storageType` is `"io1"` or `"gp3"`. 1525 // Cannot be specified for gp3 storage if the `allocatedStorage` value is below a per-`engine` threshold. 1526 // See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 1527 Iops pulumi.IntPtrInput 1528 // The ARN for the KMS encryption key. If creating an 1529 // encrypted replica, set this to the destination KMS ARN. 1530 KmsKeyId pulumi.StringPtrInput 1531 // License model information for this DB instance. Valid values for this field are as follows: 1532 // * RDS for MariaDB: `general-public-license` 1533 // * RDS for Microsoft SQL Server: `license-included` 1534 // * RDS for MySQL: `general-public-license` 1535 // * RDS for Oracle: `bring-your-own-license | license-included` 1536 // * RDS for PostgreSQL: `postgresql-license` 1537 LicenseModel pulumi.StringPtrInput 1538 // The window to perform maintenance in. 1539 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS 1540 // Maintenance Window 1541 // docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) 1542 // for more information. 1543 MaintenanceWindow pulumi.StringPtrInput 1544 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. 1545 ManageMasterUserPassword pulumi.BoolPtrInput 1546 // 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. If not specified, the default KMS key for your Amazon Web Services account is used. 1547 MasterUserSecretKmsKeyId pulumi.StringPtrInput 1548 // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. 1549 MaxAllocatedStorage pulumi.IntPtrInput 1550 // The interval, in seconds, between points 1551 // when Enhanced Monitoring metrics are collected for the DB instance. To disable 1552 // collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid 1553 // Values: 0, 1, 5, 10, 15, 30, 60. 1554 MonitoringInterval pulumi.IntPtrInput 1555 // The ARN for the IAM role that permits RDS 1556 // to send enhanced monitoring metrics to CloudWatch Logs. You can find more 1557 // information on the [AWS 1558 // Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) 1559 // what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 1560 MonitoringRoleArn pulumi.StringPtrInput 1561 // Specifies if the RDS instance is multi-AZ 1562 MultiAz pulumi.BoolPtrInput 1563 // Deprecated: This property has been deprecated. Please use 'dbName' instead. 1564 Name pulumi.StringPtrInput 1565 // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See [Oracle Character Sets 1566 // Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html). 1567 NcharCharacterSetName pulumi.StringPtrInput 1568 // The network type of the DB instance. Valid values: `IPV4`, `DUAL`. 1569 NetworkType pulumi.StringPtrInput 1570 // Name of the DB option group to associate. 1571 OptionGroupName pulumi.StringPtrInput 1572 // Name of the DB parameter group to associate. 1573 ParameterGroupName pulumi.StringPtrInput 1574 // (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` 1575 // is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in 1576 // logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. 1577 Password pulumi.StringPtrInput 1578 // Specifies whether Performance Insights are enabled. Defaults to false. 1579 PerformanceInsightsEnabled pulumi.BoolPtrInput 1580 // The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. Once KMS key is set, it can never be changed. 1581 PerformanceInsightsKmsKeyId pulumi.StringPtrInput 1582 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 1583 PerformanceInsightsRetentionPeriod pulumi.IntPtrInput 1584 // The port on which the DB accepts connections. 1585 Port pulumi.IntPtrInput 1586 // Bool to control if instance is publicly 1587 // accessible. Default is `false`. 1588 PubliclyAccessible pulumi.BoolPtrInput 1589 // Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute 1590 // is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. 1591 ReplicaMode pulumi.StringPtrInput 1592 // Specifies that this resource is a Replicate 1593 // database, and to use this value as the source database. This correlates to the 1594 // `identifier` of another Amazon RDS Database to replicate (if replicating within 1595 // a single region) or ARN of the Amazon RDS Database to replicate (if replicating 1596 // cross-region). Note that if you are 1597 // creating a cross-region replica of an encrypted database you will also need to 1598 // specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with 1599 // PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) 1600 // for more information on using Replication. 1601 ReplicateSourceDb pulumi.StringPtrInput 1602 // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. 1603 RestoreToPointInTime InstanceRestoreToPointInTimePtrInput 1604 // Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) 1605 S3Import InstanceS3ImportPtrInput 1606 // Determines whether a final DB snapshot is 1607 // created before the DB instance is deleted. If true is specified, no DBSnapshot 1608 // is created. If false is specified, a DB snapshot is created before the DB 1609 // instance is deleted, using the value from `finalSnapshotIdentifier`. Default 1610 // is `false`. 1611 SkipFinalSnapshot pulumi.BoolPtrInput 1612 // Specifies whether or not to create this 1613 // database from a snapshot. This correlates to the snapshot ID you'd find in the 1614 // RDS console, e.g: rds:production-2015-06-26-06-05. 1615 SnapshotIdentifier pulumi.StringPtrInput 1616 // Specifies whether the DB instance is 1617 // encrypted. Note that if you are creating a cross-region read replica this field 1618 // is ignored and you should instead declare `kmsKeyId` with a valid ARN. The 1619 // default is `false` if not specified. 1620 StorageEncrypted pulumi.BoolPtrInput 1621 // The storage throughput value for the DB instance. Can only be set when `storageType` is `"gp3"`. Cannot be specified if the `allocatedStorage` value is below a per-`engine` threshold. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 1622 StorageThroughput pulumi.IntPtrInput 1623 // One of "standard" (magnetic), "gp2" (general 1624 // purpose SSD), "gp3" (general purpose SSD that needs `iops` independently) 1625 // or "io1" (provisioned IOPS SSD). The default is "io1" if `iops` is specified, 1626 // "gp2" if not. 1627 StorageType pulumi.StringPtrInput 1628 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 1629 Tags pulumi.StringMapInput 1630 // Time zone of the DB instance. `timezone` is currently 1631 // only supported by Microsoft SQL Server. The `timezone` can only be set on 1632 // creation. See [MSSQL User 1633 // Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) 1634 // for more information. 1635 Timezone pulumi.StringPtrInput 1636 // (Required unless a `snapshotIdentifier` or `replicateSourceDb` 1637 // is provided) Username for the master DB user. Cannot be specified for a replica. 1638 Username pulumi.StringPtrInput 1639 // List of VPC security groups to 1640 // associate. 1641 VpcSecurityGroupIds pulumi.StringArrayInput 1642 } 1643 1644 func (InstanceArgs) ElementType() reflect.Type { 1645 return reflect.TypeOf((*instanceArgs)(nil)).Elem() 1646 } 1647 1648 type InstanceInput interface { 1649 pulumi.Input 1650 1651 ToInstanceOutput() InstanceOutput 1652 ToInstanceOutputWithContext(ctx context.Context) InstanceOutput 1653 } 1654 1655 func (*Instance) ElementType() reflect.Type { 1656 return reflect.TypeOf((**Instance)(nil)).Elem() 1657 } 1658 1659 func (i *Instance) ToInstanceOutput() InstanceOutput { 1660 return i.ToInstanceOutputWithContext(context.Background()) 1661 } 1662 1663 func (i *Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput { 1664 return pulumi.ToOutputWithContext(ctx, i).(InstanceOutput) 1665 } 1666 1667 // InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. 1668 // You can construct a concrete instance of `InstanceArrayInput` via: 1669 // 1670 // InstanceArray{ InstanceArgs{...} } 1671 type InstanceArrayInput interface { 1672 pulumi.Input 1673 1674 ToInstanceArrayOutput() InstanceArrayOutput 1675 ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput 1676 } 1677 1678 type InstanceArray []InstanceInput 1679 1680 func (InstanceArray) ElementType() reflect.Type { 1681 return reflect.TypeOf((*[]*Instance)(nil)).Elem() 1682 } 1683 1684 func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput { 1685 return i.ToInstanceArrayOutputWithContext(context.Background()) 1686 } 1687 1688 func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput { 1689 return pulumi.ToOutputWithContext(ctx, i).(InstanceArrayOutput) 1690 } 1691 1692 // InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. 1693 // You can construct a concrete instance of `InstanceMapInput` via: 1694 // 1695 // InstanceMap{ "key": InstanceArgs{...} } 1696 type InstanceMapInput interface { 1697 pulumi.Input 1698 1699 ToInstanceMapOutput() InstanceMapOutput 1700 ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput 1701 } 1702 1703 type InstanceMap map[string]InstanceInput 1704 1705 func (InstanceMap) ElementType() reflect.Type { 1706 return reflect.TypeOf((*map[string]*Instance)(nil)).Elem() 1707 } 1708 1709 func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput { 1710 return i.ToInstanceMapOutputWithContext(context.Background()) 1711 } 1712 1713 func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput { 1714 return pulumi.ToOutputWithContext(ctx, i).(InstanceMapOutput) 1715 } 1716 1717 type InstanceOutput struct{ *pulumi.OutputState } 1718 1719 func (InstanceOutput) ElementType() reflect.Type { 1720 return reflect.TypeOf((**Instance)(nil)).Elem() 1721 } 1722 1723 func (o InstanceOutput) ToInstanceOutput() InstanceOutput { 1724 return o 1725 } 1726 1727 func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput { 1728 return o 1729 } 1730 1731 // Specifies the DNS address of the DB instance. 1732 func (o InstanceOutput) Address() pulumi.StringOutput { 1733 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) 1734 } 1735 1736 // The allocated storage in gibibytes. If `maxAllocatedStorage` is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If `replicateSourceDb` is set, the value is ignored during the creation of the instance. 1737 func (o InstanceOutput) AllocatedStorage() pulumi.IntOutput { 1738 return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.AllocatedStorage }).(pulumi.IntOutput) 1739 } 1740 1741 // Indicates that major version 1742 // upgrades are allowed. Changing this parameter does not result in an outage and 1743 // the change is asynchronously applied as soon as possible. 1744 func (o InstanceOutput) AllowMajorVersionUpgrade() pulumi.BoolPtrOutput { 1745 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.AllowMajorVersionUpgrade }).(pulumi.BoolPtrOutput) 1746 } 1747 1748 // Specifies whether any database modifications 1749 // are applied immediately, or during the next maintenance window. Default is 1750 // `false`. See [Amazon RDS Documentation for more 1751 // information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 1752 func (o InstanceOutput) ApplyImmediately() pulumi.BoolPtrOutput { 1753 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.ApplyImmediately }).(pulumi.BoolPtrOutput) 1754 } 1755 1756 // The ARN of the RDS instance. 1757 func (o InstanceOutput) Arn() pulumi.StringOutput { 1758 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 1759 } 1760 1761 // Indicates that minor engine upgrades 1762 // will be applied automatically to the DB instance during the maintenance window. 1763 // Defaults to true. 1764 func (o InstanceOutput) AutoMinorVersionUpgrade() pulumi.BoolPtrOutput { 1765 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.AutoMinorVersionUpgrade }).(pulumi.BoolPtrOutput) 1766 } 1767 1768 // The AZ for the RDS instance. 1769 func (o InstanceOutput) AvailabilityZone() pulumi.StringOutput { 1770 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) 1771 } 1772 1773 // The days to retain backups for. 1774 // Must be between `0` and `35`. 1775 // Default is `0`. 1776 // Must be greater than `0` if the database is used as a source for a [Read Replica][instance-replication], 1777 // uses low-downtime updates, 1778 // or will use [RDS Blue/Green deployments][blue-green]. 1779 func (o InstanceOutput) BackupRetentionPeriod() pulumi.IntOutput { 1780 return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.BackupRetentionPeriod }).(pulumi.IntOutput) 1781 } 1782 1783 // Specifies where automated backups and manual snapshots are stored. Possible values are `region` (default) and `outposts`. See [Working with Amazon RDS on AWS Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) for more information. 1784 func (o InstanceOutput) BackupTarget() pulumi.StringOutput { 1785 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.BackupTarget }).(pulumi.StringOutput) 1786 } 1787 1788 // The daily time range (in UTC) during which automated backups are created if they are enabled. 1789 // Example: "09:46-10:16". Must not overlap with `maintenanceWindow`. 1790 func (o InstanceOutput) BackupWindow() pulumi.StringOutput { 1791 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.BackupWindow }).(pulumi.StringOutput) 1792 } 1793 1794 // Enables low-downtime updates using [RDS Blue/Green deployments][blue-green]. 1795 // See `blueGreenUpdate` below. 1796 func (o InstanceOutput) BlueGreenUpdate() InstanceBlueGreenUpdatePtrOutput { 1797 return o.ApplyT(func(v *Instance) InstanceBlueGreenUpdatePtrOutput { return v.BlueGreenUpdate }).(InstanceBlueGreenUpdatePtrOutput) 1798 } 1799 1800 // The identifier of the CA certificate for the DB instance. 1801 func (o InstanceOutput) CaCertIdentifier() pulumi.StringOutput { 1802 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.CaCertIdentifier }).(pulumi.StringOutput) 1803 } 1804 1805 // The character set name to use for DB encoding in Oracle and Microsoft SQL instances (collation). 1806 // This can't be changed. 1807 // See [Oracle Character Sets Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html) or 1808 // [Server-Level Collation for Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) for more information. 1809 // Cannot be set with `replicateSourceDb`, `restoreToPointInTime`, `s3Import`, or `snapshotIdentifier`. 1810 func (o InstanceOutput) CharacterSetName() pulumi.StringOutput { 1811 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.CharacterSetName }).(pulumi.StringOutput) 1812 } 1813 1814 // Copy all Instance `tags` to snapshots. Default is `false`. 1815 func (o InstanceOutput) CopyTagsToSnapshot() pulumi.BoolPtrOutput { 1816 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.CopyTagsToSnapshot }).(pulumi.BoolPtrOutput) 1817 } 1818 1819 // The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. 1820 func (o InstanceOutput) CustomIamInstanceProfile() pulumi.StringPtrOutput { 1821 return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.CustomIamInstanceProfile }).(pulumi.StringPtrOutput) 1822 } 1823 1824 // Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See [CoIP for RDS on Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html#rds-on-outposts.coip) for more information. 1825 // 1826 // > **NOTE:** Removing the `replicateSourceDb` attribute from an existing RDS 1827 // Replicate database managed by the provider will promote the database to a fully 1828 // standalone database. 1829 func (o InstanceOutput) CustomerOwnedIpEnabled() pulumi.BoolPtrOutput { 1830 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.CustomerOwnedIpEnabled }).(pulumi.BoolPtrOutput) 1831 } 1832 1833 // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the [AWS documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/create-db-instance.html) for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. 1834 func (o InstanceOutput) DbName() pulumi.StringOutput { 1835 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DbName }).(pulumi.StringOutput) 1836 } 1837 1838 // Name of DB subnet group. DB instance will 1839 // be created in the VPC associated with the DB subnet group. If unspecified, will 1840 // be created in the `default` VPC, or in EC2 Classic, if available. When working 1841 // with read replicas, it should be specified only if the source database 1842 // specifies an instance in another AWS Region. See [DBSubnetGroupName in API 1843 // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) 1844 // for additional read replica constraints. 1845 func (o InstanceOutput) DbSubnetGroupName() pulumi.StringOutput { 1846 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DbSubnetGroupName }).(pulumi.StringOutput) 1847 } 1848 1849 // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. 1850 func (o InstanceOutput) DeleteAutomatedBackups() pulumi.BoolPtrOutput { 1851 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.DeleteAutomatedBackups }).(pulumi.BoolPtrOutput) 1852 } 1853 1854 // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. 1855 func (o InstanceOutput) DeletionProtection() pulumi.BoolPtrOutput { 1856 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.DeletionProtection }).(pulumi.BoolPtrOutput) 1857 } 1858 1859 // The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 1860 func (o InstanceOutput) Domain() pulumi.StringPtrOutput { 1861 return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.Domain }).(pulumi.StringPtrOutput) 1862 } 1863 1864 // The ARN for the Secrets Manager secret with the self managed Active Directory credentials for the user joining the domain. Conflicts with `domain` and `domainIamRoleName`. 1865 func (o InstanceOutput) DomainAuthSecretArn() pulumi.StringPtrOutput { 1866 return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.DomainAuthSecretArn }).(pulumi.StringPtrOutput) 1867 } 1868 1869 // The IPv4 DNS IP addresses of your primary and secondary self managed Active Directory domain controllers. 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. Conflicts with `domain` and `domainIamRoleName`. 1870 func (o InstanceOutput) DomainDnsIps() pulumi.StringArrayOutput { 1871 return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.DomainDnsIps }).(pulumi.StringArrayOutput) 1872 } 1873 1874 // The fully qualified domain name (FQDN) of the self managed Active Directory domain. Conflicts with `domain` and `domainIamRoleName`. 1875 func (o InstanceOutput) DomainFqdn() pulumi.StringOutput { 1876 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DomainFqdn }).(pulumi.StringOutput) 1877 } 1878 1879 // The name of the IAM role to be used when making API calls to the Directory Service. Conflicts with `domainFqdn`, `domainOu`, `domainAuthSecretArn` and a `domainDnsIps`. 1880 func (o InstanceOutput) DomainIamRoleName() pulumi.StringPtrOutput { 1881 return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.DomainIamRoleName }).(pulumi.StringPtrOutput) 1882 } 1883 1884 // The self managed Active Directory organizational unit for your DB instance to join. Conflicts with `domain` and `domainIamRoleName`. 1885 func (o InstanceOutput) DomainOu() pulumi.StringPtrOutput { 1886 return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.DomainOu }).(pulumi.StringPtrOutput) 1887 } 1888 1889 // Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. For supported values, see the EnableCloudwatchLogsExports.member.N parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). 1890 func (o InstanceOutput) EnabledCloudwatchLogsExports() pulumi.StringArrayOutput { 1891 return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.EnabledCloudwatchLogsExports }).(pulumi.StringArrayOutput) 1892 } 1893 1894 // The connection endpoint in `address:port` format. 1895 func (o InstanceOutput) Endpoint() pulumi.StringOutput { 1896 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) 1897 } 1898 1899 // The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the DB cluster's engine'. For information on the difference between the available Aurora MySQL engines see [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html) in the Amazon RDS User Guide. 1900 func (o InstanceOutput) Engine() pulumi.StringOutput { 1901 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Engine }).(pulumi.StringOutput) 1902 } 1903 1904 // The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as `5.7` (for `5.7.10`). The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the DB cluster's engine version'. 1905 func (o InstanceOutput) EngineVersion() pulumi.StringOutput { 1906 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput) 1907 } 1908 1909 // The running version of the database. 1910 func (o InstanceOutput) EngineVersionActual() pulumi.StringOutput { 1911 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.EngineVersionActual }).(pulumi.StringOutput) 1912 } 1913 1914 // The name of your final DB snapshot 1915 // when this DB instance is deleted. Must be provided if `skipFinalSnapshot` is 1916 // set to `false`. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. 1917 func (o InstanceOutput) FinalSnapshotIdentifier() pulumi.StringPtrOutput { 1918 return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.FinalSnapshotIdentifier }).(pulumi.StringPtrOutput) 1919 } 1920 1921 // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. 1922 func (o InstanceOutput) HostedZoneId() pulumi.StringOutput { 1923 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.HostedZoneId }).(pulumi.StringOutput) 1924 } 1925 1926 // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database 1927 // accounts is enabled. 1928 func (o InstanceOutput) IamDatabaseAuthenticationEnabled() pulumi.BoolPtrOutput { 1929 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.IamDatabaseAuthenticationEnabled }).(pulumi.BoolPtrOutput) 1930 } 1931 1932 // The name of the RDS instance, if omitted, this provider will assign a random, unique identifier. Required if `restoreToPointInTime` is specified. 1933 func (o InstanceOutput) Identifier() pulumi.StringOutput { 1934 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) 1935 } 1936 1937 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 1938 func (o InstanceOutput) IdentifierPrefix() pulumi.StringOutput { 1939 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.IdentifierPrefix }).(pulumi.StringOutput) 1940 } 1941 1942 // The instance type of the RDS instance. 1943 func (o InstanceOutput) InstanceClass() pulumi.StringOutput { 1944 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.InstanceClass }).(pulumi.StringOutput) 1945 } 1946 1947 // The amount of provisioned IOPS. Setting this implies a 1948 // storageType of "io1". Can only be set when `storageType` is `"io1"` or `"gp3"`. 1949 // Cannot be specified for gp3 storage if the `allocatedStorage` value is below a per-`engine` threshold. 1950 // See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 1951 func (o InstanceOutput) Iops() pulumi.IntOutput { 1952 return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.Iops }).(pulumi.IntOutput) 1953 } 1954 1955 // The ARN for the KMS encryption key. If creating an 1956 // encrypted replica, set this to the destination KMS ARN. 1957 func (o InstanceOutput) KmsKeyId() pulumi.StringOutput { 1958 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) 1959 } 1960 1961 // The latest time, in UTC [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), to which a database can be restored with point-in-time restore. 1962 func (o InstanceOutput) LatestRestorableTime() pulumi.StringOutput { 1963 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.LatestRestorableTime }).(pulumi.StringOutput) 1964 } 1965 1966 // License model information for this DB instance. Valid values for this field are as follows: 1967 // * RDS for MariaDB: `general-public-license` 1968 // * RDS for Microsoft SQL Server: `license-included` 1969 // * RDS for MySQL: `general-public-license` 1970 // * RDS for Oracle: `bring-your-own-license | license-included` 1971 // * RDS for PostgreSQL: `postgresql-license` 1972 func (o InstanceOutput) LicenseModel() pulumi.StringOutput { 1973 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.LicenseModel }).(pulumi.StringOutput) 1974 } 1975 1976 // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. 1977 func (o InstanceOutput) ListenerEndpoints() InstanceListenerEndpointArrayOutput { 1978 return o.ApplyT(func(v *Instance) InstanceListenerEndpointArrayOutput { return v.ListenerEndpoints }).(InstanceListenerEndpointArrayOutput) 1979 } 1980 1981 // The window to perform maintenance in. 1982 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See [RDS 1983 // Maintenance Window 1984 // docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) 1985 // for more information. 1986 func (o InstanceOutput) MaintenanceWindow() pulumi.StringOutput { 1987 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.MaintenanceWindow }).(pulumi.StringOutput) 1988 } 1989 1990 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. 1991 func (o InstanceOutput) ManageMasterUserPassword() pulumi.BoolPtrOutput { 1992 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.ManageMasterUserPassword }).(pulumi.BoolPtrOutput) 1993 } 1994 1995 // 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. If not specified, the default KMS key for your Amazon Web Services account is used. 1996 func (o InstanceOutput) MasterUserSecretKmsKeyId() pulumi.StringOutput { 1997 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.MasterUserSecretKmsKeyId }).(pulumi.StringOutput) 1998 } 1999 2000 // A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. 2001 func (o InstanceOutput) MasterUserSecrets() InstanceMasterUserSecretArrayOutput { 2002 return o.ApplyT(func(v *Instance) InstanceMasterUserSecretArrayOutput { return v.MasterUserSecrets }).(InstanceMasterUserSecretArrayOutput) 2003 } 2004 2005 // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. 2006 func (o InstanceOutput) MaxAllocatedStorage() pulumi.IntPtrOutput { 2007 return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.MaxAllocatedStorage }).(pulumi.IntPtrOutput) 2008 } 2009 2010 // The interval, in seconds, between points 2011 // when Enhanced Monitoring metrics are collected for the DB instance. To disable 2012 // collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid 2013 // Values: 0, 1, 5, 10, 15, 30, 60. 2014 func (o InstanceOutput) MonitoringInterval() pulumi.IntPtrOutput { 2015 return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.MonitoringInterval }).(pulumi.IntPtrOutput) 2016 } 2017 2018 // The ARN for the IAM role that permits RDS 2019 // to send enhanced monitoring metrics to CloudWatch Logs. You can find more 2020 // information on the [AWS 2021 // Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html) 2022 // what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. 2023 func (o InstanceOutput) MonitoringRoleArn() pulumi.StringOutput { 2024 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.MonitoringRoleArn }).(pulumi.StringOutput) 2025 } 2026 2027 // Specifies if the RDS instance is multi-AZ 2028 func (o InstanceOutput) MultiAz() pulumi.BoolOutput { 2029 return o.ApplyT(func(v *Instance) pulumi.BoolOutput { return v.MultiAz }).(pulumi.BoolOutput) 2030 } 2031 2032 // Deprecated: This property has been deprecated. Please use 'dbName' instead. 2033 func (o InstanceOutput) Name() pulumi.StringPtrOutput { 2034 return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) 2035 } 2036 2037 // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See [Oracle Character Sets 2038 // Supported in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html). 2039 func (o InstanceOutput) NcharCharacterSetName() pulumi.StringOutput { 2040 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.NcharCharacterSetName }).(pulumi.StringOutput) 2041 } 2042 2043 // The network type of the DB instance. Valid values: `IPV4`, `DUAL`. 2044 func (o InstanceOutput) NetworkType() pulumi.StringOutput { 2045 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.NetworkType }).(pulumi.StringOutput) 2046 } 2047 2048 // Name of the DB option group to associate. 2049 func (o InstanceOutput) OptionGroupName() pulumi.StringOutput { 2050 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.OptionGroupName }).(pulumi.StringOutput) 2051 } 2052 2053 // Name of the DB parameter group to associate. 2054 func (o InstanceOutput) ParameterGroupName() pulumi.StringOutput { 2055 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ParameterGroupName }).(pulumi.StringOutput) 2056 } 2057 2058 // (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` 2059 // is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in 2060 // logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. 2061 func (o InstanceOutput) Password() pulumi.StringPtrOutput { 2062 return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) 2063 } 2064 2065 // Specifies whether Performance Insights are enabled. Defaults to false. 2066 func (o InstanceOutput) PerformanceInsightsEnabled() pulumi.BoolPtrOutput { 2067 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.PerformanceInsightsEnabled }).(pulumi.BoolPtrOutput) 2068 } 2069 2070 // The ARN for the KMS key to encrypt Performance Insights data. When specifying `performanceInsightsKmsKeyId`, `performanceInsightsEnabled` needs to be set to true. Once KMS key is set, it can never be changed. 2071 func (o InstanceOutput) PerformanceInsightsKmsKeyId() pulumi.StringOutput { 2072 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.PerformanceInsightsKmsKeyId }).(pulumi.StringOutput) 2073 } 2074 2075 // Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performanceInsightsRetentionPeriod`, `performanceInsightsEnabled` needs to be set to true. Defaults to '7'. 2076 func (o InstanceOutput) PerformanceInsightsRetentionPeriod() pulumi.IntOutput { 2077 return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.PerformanceInsightsRetentionPeriod }).(pulumi.IntOutput) 2078 } 2079 2080 // The port on which the DB accepts connections. 2081 func (o InstanceOutput) Port() pulumi.IntOutput { 2082 return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) 2083 } 2084 2085 // Bool to control if instance is publicly 2086 // accessible. Default is `false`. 2087 func (o InstanceOutput) PubliclyAccessible() pulumi.BoolPtrOutput { 2088 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.PubliclyAccessible }).(pulumi.BoolPtrOutput) 2089 } 2090 2091 // Specifies whether the replica is in either `mounted` or `open-read-only` mode. This attribute 2092 // is only supported by Oracle instances. Oracle replicas operate in `open-read-only` mode unless otherwise specified. See [Working with Oracle Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) for more information. 2093 func (o InstanceOutput) ReplicaMode() pulumi.StringOutput { 2094 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ReplicaMode }).(pulumi.StringOutput) 2095 } 2096 2097 func (o InstanceOutput) Replicas() pulumi.StringArrayOutput { 2098 return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.Replicas }).(pulumi.StringArrayOutput) 2099 } 2100 2101 // Specifies that this resource is a Replicate 2102 // database, and to use this value as the source database. This correlates to the 2103 // `identifier` of another Amazon RDS Database to replicate (if replicating within 2104 // a single region) or ARN of the Amazon RDS Database to replicate (if replicating 2105 // cross-region). Note that if you are 2106 // creating a cross-region replica of an encrypted database you will also need to 2107 // specify a `kmsKeyId`. See [DB Instance Replication][instance-replication] and [Working with 2108 // PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) 2109 // for more information on using Replication. 2110 func (o InstanceOutput) ReplicateSourceDb() pulumi.StringPtrOutput { 2111 return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.ReplicateSourceDb }).(pulumi.StringPtrOutput) 2112 } 2113 2114 // The RDS Resource ID of this instance. 2115 func (o InstanceOutput) ResourceId() pulumi.StringOutput { 2116 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) 2117 } 2118 2119 // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. 2120 func (o InstanceOutput) RestoreToPointInTime() InstanceRestoreToPointInTimePtrOutput { 2121 return o.ApplyT(func(v *Instance) InstanceRestoreToPointInTimePtrOutput { return v.RestoreToPointInTime }).(InstanceRestoreToPointInTimePtrOutput) 2122 } 2123 2124 // Restore from a Percona Xtrabackup in S3. See [Importing Data into an Amazon RDS MySQL DB Instance](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html) 2125 func (o InstanceOutput) S3Import() InstanceS3ImportPtrOutput { 2126 return o.ApplyT(func(v *Instance) InstanceS3ImportPtrOutput { return v.S3Import }).(InstanceS3ImportPtrOutput) 2127 } 2128 2129 // Determines whether a final DB snapshot is 2130 // created before the DB instance is deleted. If true is specified, no DBSnapshot 2131 // is created. If false is specified, a DB snapshot is created before the DB 2132 // instance is deleted, using the value from `finalSnapshotIdentifier`. Default 2133 // is `false`. 2134 func (o InstanceOutput) SkipFinalSnapshot() pulumi.BoolPtrOutput { 2135 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.SkipFinalSnapshot }).(pulumi.BoolPtrOutput) 2136 } 2137 2138 // Specifies whether or not to create this 2139 // database from a snapshot. This correlates to the snapshot ID you'd find in the 2140 // RDS console, e.g: rds:production-2015-06-26-06-05. 2141 func (o InstanceOutput) SnapshotIdentifier() pulumi.StringOutput { 2142 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.SnapshotIdentifier }).(pulumi.StringOutput) 2143 } 2144 2145 // The RDS instance status. 2146 func (o InstanceOutput) Status() pulumi.StringOutput { 2147 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) 2148 } 2149 2150 // Specifies whether the DB instance is 2151 // encrypted. Note that if you are creating a cross-region read replica this field 2152 // is ignored and you should instead declare `kmsKeyId` with a valid ARN. The 2153 // default is `false` if not specified. 2154 func (o InstanceOutput) StorageEncrypted() pulumi.BoolPtrOutput { 2155 return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.StorageEncrypted }).(pulumi.BoolPtrOutput) 2156 } 2157 2158 // The storage throughput value for the DB instance. Can only be set when `storageType` is `"gp3"`. Cannot be specified if the `allocatedStorage` value is below a per-`engine` threshold. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage) for details. 2159 func (o InstanceOutput) StorageThroughput() pulumi.IntOutput { 2160 return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.StorageThroughput }).(pulumi.IntOutput) 2161 } 2162 2163 // One of "standard" (magnetic), "gp2" (general 2164 // purpose SSD), "gp3" (general purpose SSD that needs `iops` independently) 2165 // or "io1" (provisioned IOPS SSD). The default is "io1" if `iops` is specified, 2166 // "gp2" if not. 2167 func (o InstanceOutput) StorageType() pulumi.StringOutput { 2168 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.StorageType }).(pulumi.StringOutput) 2169 } 2170 2171 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 2172 func (o InstanceOutput) Tags() pulumi.StringMapOutput { 2173 return o.ApplyT(func(v *Instance) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 2174 } 2175 2176 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 2177 // 2178 // Deprecated: Please use `tags` instead. 2179 func (o InstanceOutput) TagsAll() pulumi.StringMapOutput { 2180 return o.ApplyT(func(v *Instance) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 2181 } 2182 2183 // Time zone of the DB instance. `timezone` is currently 2184 // only supported by Microsoft SQL Server. The `timezone` can only be set on 2185 // creation. See [MSSQL User 2186 // Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) 2187 // for more information. 2188 func (o InstanceOutput) Timezone() pulumi.StringOutput { 2189 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Timezone }).(pulumi.StringOutput) 2190 } 2191 2192 // (Required unless a `snapshotIdentifier` or `replicateSourceDb` 2193 // is provided) Username for the master DB user. Cannot be specified for a replica. 2194 func (o InstanceOutput) Username() pulumi.StringOutput { 2195 return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) 2196 } 2197 2198 // List of VPC security groups to 2199 // associate. 2200 func (o InstanceOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput { 2201 return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.VpcSecurityGroupIds }).(pulumi.StringArrayOutput) 2202 } 2203 2204 type InstanceArrayOutput struct{ *pulumi.OutputState } 2205 2206 func (InstanceArrayOutput) ElementType() reflect.Type { 2207 return reflect.TypeOf((*[]*Instance)(nil)).Elem() 2208 } 2209 2210 func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput { 2211 return o 2212 } 2213 2214 func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput { 2215 return o 2216 } 2217 2218 func (o InstanceArrayOutput) Index(i pulumi.IntInput) InstanceOutput { 2219 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Instance { 2220 return vs[0].([]*Instance)[vs[1].(int)] 2221 }).(InstanceOutput) 2222 } 2223 2224 type InstanceMapOutput struct{ *pulumi.OutputState } 2225 2226 func (InstanceMapOutput) ElementType() reflect.Type { 2227 return reflect.TypeOf((*map[string]*Instance)(nil)).Elem() 2228 } 2229 2230 func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput { 2231 return o 2232 } 2233 2234 func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput { 2235 return o 2236 } 2237 2238 func (o InstanceMapOutput) MapIndex(k pulumi.StringInput) InstanceOutput { 2239 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Instance { 2240 return vs[0].(map[string]*Instance)[vs[1].(string)] 2241 }).(InstanceOutput) 2242 } 2243 2244 func init() { 2245 pulumi.RegisterInputType(reflect.TypeOf((*InstanceInput)(nil)).Elem(), &Instance{}) 2246 pulumi.RegisterInputType(reflect.TypeOf((*InstanceArrayInput)(nil)).Elem(), InstanceArray{}) 2247 pulumi.RegisterInputType(reflect.TypeOf((*InstanceMapInput)(nil)).Elem(), InstanceMap{}) 2248 pulumi.RegisterOutputType(InstanceOutput{}) 2249 pulumi.RegisterOutputType(InstanceArrayOutput{}) 2250 pulumi.RegisterOutputType(InstanceMapOutput{}) 2251 }