github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/rds/cluster.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 // Manages a [RDS Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Aurora.html) or a [RDS Multi-AZ DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html). To manage cluster instances that inherit configuration from the cluster (when not running the cluster in `serverless` engine mode), see the `rds.ClusterInstance` resource. To manage non-Aurora DB instances (e.g., MySQL, PostgreSQL, SQL Server, etc.), see the `rds.Instance` resource. 16 // 17 // 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. 18 // 19 // Changes to an RDS Cluster can occur when you manually change a parameter, such as `port`, and are reflected in the next maintenance window. Because of this, this provider may report a difference in its planning phase because a modification has not yet taken place. You can use the `applyImmediately` flag to instruct the service to apply the change immediately (see documentation below). 20 // 21 // > **Note:** Multi-AZ DB clusters are supported only for the MySQL and PostgreSQL DB engines. 22 // 23 // > **Note:** using `applyImmediately` can result in a brief downtime as the server reboots. See the AWS Docs on [RDS Maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html) for more information. 24 // 25 // > **Note:** All arguments including the username and password will be stored in the raw state as plain-text. 26 // **NOTE on RDS Clusters and RDS Cluster Role Associations:** Pulumi provides both a standalone RDS Cluster Role Association - (an association between an RDS Cluster and a single IAM Role) and an RDS Cluster resource with `iamRoles` attributes. Use one resource or the other to associate IAM Roles and RDS Clusters. Not doing so will cause a conflict of associations and will result in the association being overwritten. 27 // 28 // ## Example Usage 29 // 30 // ### Aurora MySQL 2.x (MySQL 5.7) 31 // 32 // <!--Start PulumiCodeChooser --> 33 // ```go 34 // package main 35 // 36 // import ( 37 // 38 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 39 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 40 // 41 // ) 42 // 43 // func main() { 44 // pulumi.Run(func(ctx *pulumi.Context) error { 45 // _, err := rds.NewCluster(ctx, "default", &rds.ClusterArgs{ 46 // ClusterIdentifier: pulumi.String("aurora-cluster-demo"), 47 // Engine: pulumi.String(rds.EngineTypeAuroraMysql), 48 // EngineVersion: pulumi.String("5.7.mysql_aurora.2.03.2"), 49 // AvailabilityZones: pulumi.StringArray{ 50 // pulumi.String("us-west-2a"), 51 // pulumi.String("us-west-2b"), 52 // pulumi.String("us-west-2c"), 53 // }, 54 // DatabaseName: pulumi.String("mydb"), 55 // MasterUsername: pulumi.String("foo"), 56 // MasterPassword: pulumi.String("bar"), 57 // BackupRetentionPeriod: pulumi.Int(5), 58 // PreferredBackupWindow: pulumi.String("07:00-09:00"), 59 // }) 60 // if err != nil { 61 // return err 62 // } 63 // return nil 64 // }) 65 // } 66 // 67 // ``` 68 // <!--End PulumiCodeChooser --> 69 // 70 // ### Aurora MySQL 1.x (MySQL 5.6) 71 // 72 // <!--Start PulumiCodeChooser --> 73 // ```go 74 // package main 75 // 76 // import ( 77 // 78 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 79 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 80 // 81 // ) 82 // 83 // func main() { 84 // pulumi.Run(func(ctx *pulumi.Context) error { 85 // _, err := rds.NewCluster(ctx, "default", &rds.ClusterArgs{ 86 // ClusterIdentifier: pulumi.String("aurora-cluster-demo"), 87 // AvailabilityZones: pulumi.StringArray{ 88 // pulumi.String("us-west-2a"), 89 // pulumi.String("us-west-2b"), 90 // pulumi.String("us-west-2c"), 91 // }, 92 // DatabaseName: pulumi.String("mydb"), 93 // MasterUsername: pulumi.String("foo"), 94 // MasterPassword: pulumi.String("bar"), 95 // BackupRetentionPeriod: pulumi.Int(5), 96 // PreferredBackupWindow: pulumi.String("07:00-09:00"), 97 // }) 98 // if err != nil { 99 // return err 100 // } 101 // return nil 102 // }) 103 // } 104 // 105 // ``` 106 // <!--End PulumiCodeChooser --> 107 // 108 // ### Aurora with PostgreSQL engine 109 // 110 // <!--Start PulumiCodeChooser --> 111 // ```go 112 // package main 113 // 114 // import ( 115 // 116 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 117 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 118 // 119 // ) 120 // 121 // func main() { 122 // pulumi.Run(func(ctx *pulumi.Context) error { 123 // _, err := rds.NewCluster(ctx, "postgresql", &rds.ClusterArgs{ 124 // ClusterIdentifier: pulumi.String("aurora-cluster-demo"), 125 // Engine: pulumi.String(rds.EngineTypeAuroraPostgresql), 126 // AvailabilityZones: pulumi.StringArray{ 127 // pulumi.String("us-west-2a"), 128 // pulumi.String("us-west-2b"), 129 // pulumi.String("us-west-2c"), 130 // }, 131 // DatabaseName: pulumi.String("mydb"), 132 // MasterUsername: pulumi.String("foo"), 133 // MasterPassword: pulumi.String("bar"), 134 // BackupRetentionPeriod: pulumi.Int(5), 135 // PreferredBackupWindow: pulumi.String("07:00-09:00"), 136 // }) 137 // if err != nil { 138 // return err 139 // } 140 // return nil 141 // }) 142 // } 143 // 144 // ``` 145 // <!--End PulumiCodeChooser --> 146 // 147 // ### RDS Multi-AZ Cluster 148 // 149 // > More information about RDS Multi-AZ Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html). 150 // 151 // To create a Multi-AZ RDS cluster, you must additionally specify the `engine`, `storageType`, `allocatedStorage`, `iops` and `dbClusterInstanceClass` attributes. 152 // 153 // <!--Start PulumiCodeChooser --> 154 // ```go 155 // package main 156 // 157 // import ( 158 // 159 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 160 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 161 // 162 // ) 163 // 164 // func main() { 165 // pulumi.Run(func(ctx *pulumi.Context) error { 166 // _, err := rds.NewCluster(ctx, "example", &rds.ClusterArgs{ 167 // ClusterIdentifier: pulumi.String("example"), 168 // AvailabilityZones: pulumi.StringArray{ 169 // pulumi.String("us-west-2a"), 170 // pulumi.String("us-west-2b"), 171 // pulumi.String("us-west-2c"), 172 // }, 173 // Engine: pulumi.String("mysql"), 174 // DbClusterInstanceClass: pulumi.String("db.r6gd.xlarge"), 175 // StorageType: pulumi.String("io1"), 176 // AllocatedStorage: pulumi.Int(100), 177 // Iops: pulumi.Int(1000), 178 // MasterUsername: pulumi.String("test"), 179 // MasterPassword: pulumi.String("mustbeeightcharaters"), 180 // }) 181 // if err != nil { 182 // return err 183 // } 184 // return nil 185 // }) 186 // } 187 // 188 // ``` 189 // <!--End PulumiCodeChooser --> 190 // 191 // ### RDS Serverless v2 Cluster 192 // 193 // > More information about RDS Serverless v2 Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html). 194 // 195 // > **Note:** Unlike Serverless v1, in Serverless v2 the `storageEncrypted` value is set to `false` by default. 196 // This is because Serverless v1 uses the `serverless` `engineMode`, but Serverless v2 uses the `provisioned` `engineMode`. 197 // 198 // To create a Serverless v2 RDS cluster, you must additionally specify the `engineMode` and `serverlessv2ScalingConfiguration` attributes. An `rds.ClusterInstance` resource must also be added to the cluster with the `instanceClass` attribute specified. 199 // 200 // <!--Start PulumiCodeChooser --> 201 // ```go 202 // package main 203 // 204 // import ( 205 // 206 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 207 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 208 // 209 // ) 210 // 211 // func main() { 212 // pulumi.Run(func(ctx *pulumi.Context) error { 213 // example, err := rds.NewCluster(ctx, "example", &rds.ClusterArgs{ 214 // ClusterIdentifier: pulumi.String("example"), 215 // Engine: pulumi.String(rds.EngineTypeAuroraPostgresql), 216 // EngineMode: pulumi.String(rds.EngineModeProvisioned), 217 // EngineVersion: pulumi.String("13.6"), 218 // DatabaseName: pulumi.String("test"), 219 // MasterUsername: pulumi.String("test"), 220 // MasterPassword: pulumi.String("must_be_eight_characters"), 221 // StorageEncrypted: pulumi.Bool(true), 222 // Serverlessv2ScalingConfiguration: &rds.ClusterServerlessv2ScalingConfigurationArgs{ 223 // MaxCapacity: pulumi.Float64(1), 224 // MinCapacity: pulumi.Float64(0.5), 225 // }, 226 // }) 227 // if err != nil { 228 // return err 229 // } 230 // _, err = rds.NewClusterInstance(ctx, "example", &rds.ClusterInstanceArgs{ 231 // ClusterIdentifier: example.ID(), 232 // InstanceClass: pulumi.String("db.serverless"), 233 // Engine: example.Engine, 234 // EngineVersion: example.EngineVersion, 235 // }) 236 // if err != nil { 237 // return err 238 // } 239 // return nil 240 // }) 241 // } 242 // 243 // ``` 244 // <!--End PulumiCodeChooser --> 245 // 246 // ### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key 247 // 248 // > 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). 249 // 250 // 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 `masterPassword` attribute (removal is required). 251 // 252 // <!--Start PulumiCodeChooser --> 253 // ```go 254 // package main 255 // 256 // import ( 257 // 258 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 259 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 260 // 261 // ) 262 // 263 // func main() { 264 // pulumi.Run(func(ctx *pulumi.Context) error { 265 // _, err := rds.NewCluster(ctx, "test", &rds.ClusterArgs{ 266 // ClusterIdentifier: pulumi.String("example"), 267 // DatabaseName: pulumi.String("test"), 268 // ManageMasterUserPassword: pulumi.Bool(true), 269 // MasterUsername: pulumi.String("test"), 270 // }) 271 // if err != nil { 272 // return err 273 // } 274 // return nil 275 // }) 276 // } 277 // 278 // ``` 279 // <!--End PulumiCodeChooser --> 280 // 281 // ### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key 282 // 283 // > 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). 284 // 285 // You can specify the `masterUserSecretKmsKeyId` attribute to specify a specific KMS Key. 286 // 287 // <!--Start PulumiCodeChooser --> 288 // ```go 289 // package main 290 // 291 // import ( 292 // 293 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms" 294 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 295 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 296 // 297 // ) 298 // 299 // func main() { 300 // pulumi.Run(func(ctx *pulumi.Context) error { 301 // example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{ 302 // Description: pulumi.String("Example KMS Key"), 303 // }) 304 // if err != nil { 305 // return err 306 // } 307 // _, err = rds.NewCluster(ctx, "test", &rds.ClusterArgs{ 308 // ClusterIdentifier: pulumi.String("example"), 309 // DatabaseName: pulumi.String("test"), 310 // ManageMasterUserPassword: pulumi.Bool(true), 311 // MasterUsername: pulumi.String("test"), 312 // MasterUserSecretKmsKeyId: example.KeyId, 313 // }) 314 // if err != nil { 315 // return err 316 // } 317 // return nil 318 // }) 319 // } 320 // 321 // ``` 322 // <!--End PulumiCodeChooser --> 323 // 324 // ### Global Cluster Restored From Snapshot 325 // 326 // <!--Start PulumiCodeChooser --> 327 // ```go 328 // package main 329 // 330 // import ( 331 // 332 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds" 333 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 334 // 335 // ) 336 // 337 // func main() { 338 // pulumi.Run(func(ctx *pulumi.Context) error { 339 // example, err := rds.LookupClusterSnapshot(ctx, &rds.LookupClusterSnapshotArgs{ 340 // DbClusterIdentifier: pulumi.StringRef("example-original-cluster"), 341 // MostRecent: pulumi.BoolRef(true), 342 // }, nil) 343 // if err != nil { 344 // return err 345 // } 346 // exampleCluster, err := rds.NewCluster(ctx, "example", &rds.ClusterArgs{ 347 // Engine: pulumi.String(rds.EngineTypeAurora), 348 // EngineVersion: pulumi.String("5.6.mysql_aurora.1.22.4"), 349 // ClusterIdentifier: pulumi.String("example"), 350 // SnapshotIdentifier: pulumi.String(example.Id), 351 // }) 352 // if err != nil { 353 // return err 354 // } 355 // _, err = rds.NewGlobalCluster(ctx, "example", &rds.GlobalClusterArgs{ 356 // GlobalClusterIdentifier: pulumi.String("example"), 357 // SourceDbClusterIdentifier: exampleCluster.Arn, 358 // ForceDestroy: pulumi.Bool(true), 359 // }) 360 // if err != nil { 361 // return err 362 // } 363 // return nil 364 // }) 365 // } 366 // 367 // ``` 368 // <!--End PulumiCodeChooser --> 369 // 370 // ## Import 371 // 372 // Using `pulumi import`, import RDS Clusters using the `cluster_identifier`. For example: 373 // 374 // ```sh 375 // $ pulumi import aws:rds/cluster:Cluster aurora_cluster aurora-prod-cluster 376 // ``` 377 type Cluster struct { 378 pulumi.CustomResourceState 379 380 // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. 381 AllocatedStorage pulumi.IntOutput `pulumi:"allocatedStorage"` 382 // Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. 383 AllowMajorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"allowMajorVersionUpgrade"` 384 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 385 ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"` 386 // Amazon Resource Name (ARN) of cluster 387 Arn pulumi.StringOutput `pulumi:"arn"` 388 // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. 389 // RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. 390 // We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. 391 // A maximum of 3 AZs can be configured. 392 AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"` 393 // Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) 394 BacktrackWindow pulumi.IntPtrOutput `pulumi:"backtrackWindow"` 395 // Days to retain backups for. Default `1` 396 BackupRetentionPeriod pulumi.IntOutput `pulumi:"backupRetentionPeriod"` 397 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 398 ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"` 399 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 400 ClusterIdentifierPrefix pulumi.StringOutput `pulumi:"clusterIdentifierPrefix"` 401 // List of RDS Instances that are a part of this cluster 402 ClusterMembers pulumi.StringArrayOutput `pulumi:"clusterMembers"` 403 // RDS Cluster Resource ID 404 ClusterResourceId pulumi.StringOutput `pulumi:"clusterResourceId"` 405 // Copy all Cluster `tags` to snapshots. Default is `false`. 406 CopyTagsToSnapshot pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshot"` 407 // Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) 408 DatabaseName pulumi.StringOutput `pulumi:"databaseName"` 409 // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. 410 DbClusterInstanceClass pulumi.StringPtrOutput `pulumi:"dbClusterInstanceClass"` 411 // A cluster parameter group to associate with the cluster. 412 DbClusterParameterGroupName pulumi.StringOutput `pulumi:"dbClusterParameterGroupName"` 413 // Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter. 414 DbInstanceParameterGroupName pulumi.StringPtrOutput `pulumi:"dbInstanceParameterGroupName"` 415 // DB subnet group to associate with this DB cluster. 416 // **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. 417 DbSubnetGroupName pulumi.StringOutput `pulumi:"dbSubnetGroupName"` 418 // For use with RDS Custom. 419 DbSystemId pulumi.StringOutput `pulumi:"dbSystemId"` 420 // Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is `true`. 421 DeleteAutomatedBackups pulumi.BoolPtrOutput `pulumi:"deleteAutomatedBackups"` 422 // If the DB cluster should have deletion protection enabled. 423 // The database can't be deleted when this value is set to `true`. 424 // The default is `false`. 425 DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"` 426 // The ID of the Directory Service Active Directory domain to create the cluster in. 427 Domain pulumi.StringPtrOutput `pulumi:"domain"` 428 // The name of the IAM role to be used when making API calls to the Directory Service. 429 DomainIamRoleName pulumi.StringPtrOutput `pulumi:"domainIamRoleName"` 430 // Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. 431 EnableGlobalWriteForwarding pulumi.BoolPtrOutput `pulumi:"enableGlobalWriteForwarding"` 432 // Enable HTTP endpoint (data API). Only valid when `engineMode` is set to `serverless`. 433 EnableHttpEndpoint pulumi.BoolPtrOutput `pulumi:"enableHttpEndpoint"` 434 // Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html) for more information. **NOTE:** Local write forwarding requires Aurora MySQL version 3.04 or higher. 435 EnableLocalWriteForwarding pulumi.BoolPtrOutput `pulumi:"enableLocalWriteForwarding"` 436 // Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL). 437 EnabledCloudwatchLogsExports pulumi.StringArrayOutput `pulumi:"enabledCloudwatchLogsExports"` 438 // DNS address of the RDS instance 439 Endpoint pulumi.StringOutput `pulumi:"endpoint"` 440 // Name of the database engine to be used for this DB cluster. Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`. (Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 441 Engine pulumi.StringOutput `pulumi:"engine"` 442 // Database engine mode. Valid values: `global` (only valid for Aurora MySQL 1.21 and earlier), `parallelquery`, `provisioned`, `serverless`. Defaults to: `provisioned`. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) for limitations when using `serverless`. 443 EngineMode pulumi.StringPtrOutput `pulumi:"engineMode"` 444 // Database engine version. Updating this argument results in an outage. See the [Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) and [Aurora Postgres](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.html) documentation for your configured engine to determine this value, or by running `aws rds describe-db-engine-versions`. For example with Aurora MySQL 2, a potential value for this argument is `5.7.mysql_aurora.2.03.2`. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute `engineVersionActual`, , see Attribute Reference below. 445 EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` 446 // Running version of the database. 447 EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"` 448 // Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made. 449 FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"` 450 // Global cluster identifier specified on `rds.GlobalCluster`. 451 GlobalClusterIdentifier pulumi.StringPtrOutput `pulumi:"globalClusterIdentifier"` 452 // Route53 Hosted Zone ID of the endpoint 453 HostedZoneId pulumi.StringOutput `pulumi:"hostedZoneId"` 454 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) for availability and limitations. 455 IamDatabaseAuthenticationEnabled pulumi.BoolPtrOutput `pulumi:"iamDatabaseAuthenticationEnabled"` 456 // List of ARNs for the IAM roles to associate to the RDS Cluster. 457 IamRoles pulumi.StringArrayOutput `pulumi:"iamRoles"` 458 // Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see [Amazon RDS Provisioned IOPS storage to improve performance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster. 459 Iops pulumi.IntPtrOutput `pulumi:"iops"` 460 // ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. 461 KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` 462 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. 463 ManageMasterUserPassword pulumi.BoolPtrOutput `pulumi:"manageMasterUserPassword"` 464 // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. 465 MasterPassword pulumi.StringPtrOutput `pulumi:"masterPassword"` 466 // 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. 467 MasterUserSecretKmsKeyId pulumi.StringOutput `pulumi:"masterUserSecretKmsKeyId"` 468 // Block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. 469 MasterUserSecrets ClusterMasterUserSecretArrayOutput `pulumi:"masterUserSecrets"` 470 // Username for the master DB user. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. 471 MasterUsername pulumi.StringOutput `pulumi:"masterUsername"` 472 // Network type of the cluster. Valid values: `IPV4`, `DUAL`. 473 NetworkType pulumi.StringOutput `pulumi:"networkType"` 474 // Port on which the DB accepts connections 475 Port pulumi.IntOutput `pulumi:"port"` 476 // Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 477 PreferredBackupWindow pulumi.StringOutput `pulumi:"preferredBackupWindow"` 478 // Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 479 PreferredMaintenanceWindow pulumi.StringOutput `pulumi:"preferredMaintenanceWindow"` 480 // Read-only endpoint for the Aurora cluster, automatically 481 // load-balanced across replicas 482 ReaderEndpoint pulumi.StringOutput `pulumi:"readerEndpoint"` 483 // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. 484 ReplicationSourceIdentifier pulumi.StringPtrOutput `pulumi:"replicationSourceIdentifier"` 485 // Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. 486 RestoreToPointInTime ClusterRestoreToPointInTimePtrOutput `pulumi:"restoreToPointInTime"` 487 S3Import ClusterS3ImportPtrOutput `pulumi:"s3Import"` 488 // Nested attribute with scaling properties. Only valid when `engineMode` is set to `serverless`. More details below. 489 ScalingConfiguration ClusterScalingConfigurationPtrOutput `pulumi:"scalingConfiguration"` 490 // Nested attribute with scaling properties for ServerlessV2. Only valid when `engineMode` is set to `provisioned`. More details below. 491 Serverlessv2ScalingConfiguration ClusterServerlessv2ScalingConfigurationPtrOutput `pulumi:"serverlessv2ScalingConfiguration"` 492 // Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 493 SkipFinalSnapshot pulumi.BoolPtrOutput `pulumi:"skipFinalSnapshot"` 494 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with `globalClusterIdentifier`. Clusters cannot be restored from snapshot **and** joined to an existing global cluster in a single operation. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-getting-started.html#aurora-global-database.use-snapshot) or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot. 495 SnapshotIdentifier pulumi.StringPtrOutput `pulumi:"snapshotIdentifier"` 496 // The source region for an encrypted replica DB cluster. 497 SourceRegion pulumi.StringPtrOutput `pulumi:"sourceRegion"` 498 // Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. 499 StorageEncrypted pulumi.BoolOutput `pulumi:"storageEncrypted"` 500 // (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1`, `io2` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). 501 StorageType pulumi.StringOutput `pulumi:"storageType"` 502 // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 503 Tags pulumi.StringMapOutput `pulumi:"tags"` 504 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 505 // 506 // Deprecated: Please use `tags` instead. 507 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 508 // List of VPC security groups to associate with the Cluster 509 VpcSecurityGroupIds pulumi.StringArrayOutput `pulumi:"vpcSecurityGroupIds"` 510 } 511 512 // NewCluster registers a new resource with the given unique name, arguments, and options. 513 func NewCluster(ctx *pulumi.Context, 514 name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error) { 515 if args == nil { 516 return nil, errors.New("missing one or more required arguments") 517 } 518 519 if args.Engine == nil { 520 return nil, errors.New("invalid value for required argument 'Engine'") 521 } 522 if args.MasterPassword != nil { 523 args.MasterPassword = pulumi.ToSecret(args.MasterPassword).(pulumi.StringPtrInput) 524 } 525 secrets := pulumi.AdditionalSecretOutputs([]string{ 526 "masterPassword", 527 }) 528 opts = append(opts, secrets) 529 opts = internal.PkgResourceDefaultOpts(opts) 530 var resource Cluster 531 err := ctx.RegisterResource("aws:rds/cluster:Cluster", name, args, &resource, opts...) 532 if err != nil { 533 return nil, err 534 } 535 return &resource, nil 536 } 537 538 // GetCluster gets an existing Cluster resource's state with the given name, ID, and optional 539 // state properties that are used to uniquely qualify the lookup (nil if not required). 540 func GetCluster(ctx *pulumi.Context, 541 name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error) { 542 var resource Cluster 543 err := ctx.ReadResource("aws:rds/cluster:Cluster", name, id, state, &resource, opts...) 544 if err != nil { 545 return nil, err 546 } 547 return &resource, nil 548 } 549 550 // Input properties used for looking up and filtering Cluster resources. 551 type clusterState struct { 552 // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. 553 AllocatedStorage *int `pulumi:"allocatedStorage"` 554 // Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. 555 AllowMajorVersionUpgrade *bool `pulumi:"allowMajorVersionUpgrade"` 556 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 557 ApplyImmediately *bool `pulumi:"applyImmediately"` 558 // Amazon Resource Name (ARN) of cluster 559 Arn *string `pulumi:"arn"` 560 // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. 561 // RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. 562 // We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. 563 // A maximum of 3 AZs can be configured. 564 AvailabilityZones []string `pulumi:"availabilityZones"` 565 // Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) 566 BacktrackWindow *int `pulumi:"backtrackWindow"` 567 // Days to retain backups for. Default `1` 568 BackupRetentionPeriod *int `pulumi:"backupRetentionPeriod"` 569 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 570 ClusterIdentifier *string `pulumi:"clusterIdentifier"` 571 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 572 ClusterIdentifierPrefix *string `pulumi:"clusterIdentifierPrefix"` 573 // List of RDS Instances that are a part of this cluster 574 ClusterMembers []string `pulumi:"clusterMembers"` 575 // RDS Cluster Resource ID 576 ClusterResourceId *string `pulumi:"clusterResourceId"` 577 // Copy all Cluster `tags` to snapshots. Default is `false`. 578 CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` 579 // Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) 580 DatabaseName *string `pulumi:"databaseName"` 581 // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. 582 DbClusterInstanceClass *string `pulumi:"dbClusterInstanceClass"` 583 // A cluster parameter group to associate with the cluster. 584 DbClusterParameterGroupName *string `pulumi:"dbClusterParameterGroupName"` 585 // Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter. 586 DbInstanceParameterGroupName *string `pulumi:"dbInstanceParameterGroupName"` 587 // DB subnet group to associate with this DB cluster. 588 // **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. 589 DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` 590 // For use with RDS Custom. 591 DbSystemId *string `pulumi:"dbSystemId"` 592 // Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is `true`. 593 DeleteAutomatedBackups *bool `pulumi:"deleteAutomatedBackups"` 594 // If the DB cluster should have deletion protection enabled. 595 // The database can't be deleted when this value is set to `true`. 596 // The default is `false`. 597 DeletionProtection *bool `pulumi:"deletionProtection"` 598 // The ID of the Directory Service Active Directory domain to create the cluster in. 599 Domain *string `pulumi:"domain"` 600 // The name of the IAM role to be used when making API calls to the Directory Service. 601 DomainIamRoleName *string `pulumi:"domainIamRoleName"` 602 // Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. 603 EnableGlobalWriteForwarding *bool `pulumi:"enableGlobalWriteForwarding"` 604 // Enable HTTP endpoint (data API). Only valid when `engineMode` is set to `serverless`. 605 EnableHttpEndpoint *bool `pulumi:"enableHttpEndpoint"` 606 // Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html) for more information. **NOTE:** Local write forwarding requires Aurora MySQL version 3.04 or higher. 607 EnableLocalWriteForwarding *bool `pulumi:"enableLocalWriteForwarding"` 608 // Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL). 609 EnabledCloudwatchLogsExports []string `pulumi:"enabledCloudwatchLogsExports"` 610 // DNS address of the RDS instance 611 Endpoint *string `pulumi:"endpoint"` 612 // Name of the database engine to be used for this DB cluster. Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`. (Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 613 Engine *string `pulumi:"engine"` 614 // Database engine mode. Valid values: `global` (only valid for Aurora MySQL 1.21 and earlier), `parallelquery`, `provisioned`, `serverless`. Defaults to: `provisioned`. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) for limitations when using `serverless`. 615 EngineMode *string `pulumi:"engineMode"` 616 // Database engine version. Updating this argument results in an outage. See the [Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) and [Aurora Postgres](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.html) documentation for your configured engine to determine this value, or by running `aws rds describe-db-engine-versions`. For example with Aurora MySQL 2, a potential value for this argument is `5.7.mysql_aurora.2.03.2`. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute `engineVersionActual`, , see Attribute Reference below. 617 EngineVersion *string `pulumi:"engineVersion"` 618 // Running version of the database. 619 EngineVersionActual *string `pulumi:"engineVersionActual"` 620 // Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made. 621 FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` 622 // Global cluster identifier specified on `rds.GlobalCluster`. 623 GlobalClusterIdentifier *string `pulumi:"globalClusterIdentifier"` 624 // Route53 Hosted Zone ID of the endpoint 625 HostedZoneId *string `pulumi:"hostedZoneId"` 626 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) for availability and limitations. 627 IamDatabaseAuthenticationEnabled *bool `pulumi:"iamDatabaseAuthenticationEnabled"` 628 // List of ARNs for the IAM roles to associate to the RDS Cluster. 629 IamRoles []string `pulumi:"iamRoles"` 630 // Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see [Amazon RDS Provisioned IOPS storage to improve performance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster. 631 Iops *int `pulumi:"iops"` 632 // ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. 633 KmsKeyId *string `pulumi:"kmsKeyId"` 634 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. 635 ManageMasterUserPassword *bool `pulumi:"manageMasterUserPassword"` 636 // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. 637 MasterPassword *string `pulumi:"masterPassword"` 638 // 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. 639 MasterUserSecretKmsKeyId *string `pulumi:"masterUserSecretKmsKeyId"` 640 // Block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. 641 MasterUserSecrets []ClusterMasterUserSecret `pulumi:"masterUserSecrets"` 642 // Username for the master DB user. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. 643 MasterUsername *string `pulumi:"masterUsername"` 644 // Network type of the cluster. Valid values: `IPV4`, `DUAL`. 645 NetworkType *string `pulumi:"networkType"` 646 // Port on which the DB accepts connections 647 Port *int `pulumi:"port"` 648 // Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 649 PreferredBackupWindow *string `pulumi:"preferredBackupWindow"` 650 // Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 651 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 652 // Read-only endpoint for the Aurora cluster, automatically 653 // load-balanced across replicas 654 ReaderEndpoint *string `pulumi:"readerEndpoint"` 655 // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. 656 ReplicationSourceIdentifier *string `pulumi:"replicationSourceIdentifier"` 657 // Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. 658 RestoreToPointInTime *ClusterRestoreToPointInTime `pulumi:"restoreToPointInTime"` 659 S3Import *ClusterS3Import `pulumi:"s3Import"` 660 // Nested attribute with scaling properties. Only valid when `engineMode` is set to `serverless`. More details below. 661 ScalingConfiguration *ClusterScalingConfiguration `pulumi:"scalingConfiguration"` 662 // Nested attribute with scaling properties for ServerlessV2. Only valid when `engineMode` is set to `provisioned`. More details below. 663 Serverlessv2ScalingConfiguration *ClusterServerlessv2ScalingConfiguration `pulumi:"serverlessv2ScalingConfiguration"` 664 // Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 665 SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` 666 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with `globalClusterIdentifier`. Clusters cannot be restored from snapshot **and** joined to an existing global cluster in a single operation. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-getting-started.html#aurora-global-database.use-snapshot) or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot. 667 SnapshotIdentifier *string `pulumi:"snapshotIdentifier"` 668 // The source region for an encrypted replica DB cluster. 669 SourceRegion *string `pulumi:"sourceRegion"` 670 // Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. 671 StorageEncrypted *bool `pulumi:"storageEncrypted"` 672 // (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1`, `io2` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). 673 StorageType *string `pulumi:"storageType"` 674 // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 675 Tags map[string]string `pulumi:"tags"` 676 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 677 // 678 // Deprecated: Please use `tags` instead. 679 TagsAll map[string]string `pulumi:"tagsAll"` 680 // List of VPC security groups to associate with the Cluster 681 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 682 } 683 684 type ClusterState struct { 685 // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. 686 AllocatedStorage pulumi.IntPtrInput 687 // Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. 688 AllowMajorVersionUpgrade pulumi.BoolPtrInput 689 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 690 ApplyImmediately pulumi.BoolPtrInput 691 // Amazon Resource Name (ARN) of cluster 692 Arn pulumi.StringPtrInput 693 // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. 694 // RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. 695 // We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. 696 // A maximum of 3 AZs can be configured. 697 AvailabilityZones pulumi.StringArrayInput 698 // Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) 699 BacktrackWindow pulumi.IntPtrInput 700 // Days to retain backups for. Default `1` 701 BackupRetentionPeriod pulumi.IntPtrInput 702 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 703 ClusterIdentifier pulumi.StringPtrInput 704 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 705 ClusterIdentifierPrefix pulumi.StringPtrInput 706 // List of RDS Instances that are a part of this cluster 707 ClusterMembers pulumi.StringArrayInput 708 // RDS Cluster Resource ID 709 ClusterResourceId pulumi.StringPtrInput 710 // Copy all Cluster `tags` to snapshots. Default is `false`. 711 CopyTagsToSnapshot pulumi.BoolPtrInput 712 // Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) 713 DatabaseName pulumi.StringPtrInput 714 // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. 715 DbClusterInstanceClass pulumi.StringPtrInput 716 // A cluster parameter group to associate with the cluster. 717 DbClusterParameterGroupName pulumi.StringPtrInput 718 // Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter. 719 DbInstanceParameterGroupName pulumi.StringPtrInput 720 // DB subnet group to associate with this DB cluster. 721 // **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. 722 DbSubnetGroupName pulumi.StringPtrInput 723 // For use with RDS Custom. 724 DbSystemId pulumi.StringPtrInput 725 // Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is `true`. 726 DeleteAutomatedBackups pulumi.BoolPtrInput 727 // If the DB cluster should have deletion protection enabled. 728 // The database can't be deleted when this value is set to `true`. 729 // The default is `false`. 730 DeletionProtection pulumi.BoolPtrInput 731 // The ID of the Directory Service Active Directory domain to create the cluster in. 732 Domain pulumi.StringPtrInput 733 // The name of the IAM role to be used when making API calls to the Directory Service. 734 DomainIamRoleName pulumi.StringPtrInput 735 // Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. 736 EnableGlobalWriteForwarding pulumi.BoolPtrInput 737 // Enable HTTP endpoint (data API). Only valid when `engineMode` is set to `serverless`. 738 EnableHttpEndpoint pulumi.BoolPtrInput 739 // Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html) for more information. **NOTE:** Local write forwarding requires Aurora MySQL version 3.04 or higher. 740 EnableLocalWriteForwarding pulumi.BoolPtrInput 741 // Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL). 742 EnabledCloudwatchLogsExports pulumi.StringArrayInput 743 // DNS address of the RDS instance 744 Endpoint pulumi.StringPtrInput 745 // Name of the database engine to be used for this DB cluster. Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`. (Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 746 Engine pulumi.StringPtrInput 747 // Database engine mode. Valid values: `global` (only valid for Aurora MySQL 1.21 and earlier), `parallelquery`, `provisioned`, `serverless`. Defaults to: `provisioned`. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) for limitations when using `serverless`. 748 EngineMode pulumi.StringPtrInput 749 // Database engine version. Updating this argument results in an outage. See the [Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) and [Aurora Postgres](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.html) documentation for your configured engine to determine this value, or by running `aws rds describe-db-engine-versions`. For example with Aurora MySQL 2, a potential value for this argument is `5.7.mysql_aurora.2.03.2`. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute `engineVersionActual`, , see Attribute Reference below. 750 EngineVersion pulumi.StringPtrInput 751 // Running version of the database. 752 EngineVersionActual pulumi.StringPtrInput 753 // Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made. 754 FinalSnapshotIdentifier pulumi.StringPtrInput 755 // Global cluster identifier specified on `rds.GlobalCluster`. 756 GlobalClusterIdentifier pulumi.StringPtrInput 757 // Route53 Hosted Zone ID of the endpoint 758 HostedZoneId pulumi.StringPtrInput 759 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) for availability and limitations. 760 IamDatabaseAuthenticationEnabled pulumi.BoolPtrInput 761 // List of ARNs for the IAM roles to associate to the RDS Cluster. 762 IamRoles pulumi.StringArrayInput 763 // Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see [Amazon RDS Provisioned IOPS storage to improve performance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster. 764 Iops pulumi.IntPtrInput 765 // ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. 766 KmsKeyId pulumi.StringPtrInput 767 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. 768 ManageMasterUserPassword pulumi.BoolPtrInput 769 // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. 770 MasterPassword pulumi.StringPtrInput 771 // 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. 772 MasterUserSecretKmsKeyId pulumi.StringPtrInput 773 // Block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. 774 MasterUserSecrets ClusterMasterUserSecretArrayInput 775 // Username for the master DB user. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. 776 MasterUsername pulumi.StringPtrInput 777 // Network type of the cluster. Valid values: `IPV4`, `DUAL`. 778 NetworkType pulumi.StringPtrInput 779 // Port on which the DB accepts connections 780 Port pulumi.IntPtrInput 781 // Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 782 PreferredBackupWindow pulumi.StringPtrInput 783 // Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 784 PreferredMaintenanceWindow pulumi.StringPtrInput 785 // Read-only endpoint for the Aurora cluster, automatically 786 // load-balanced across replicas 787 ReaderEndpoint pulumi.StringPtrInput 788 // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. 789 ReplicationSourceIdentifier pulumi.StringPtrInput 790 // Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. 791 RestoreToPointInTime ClusterRestoreToPointInTimePtrInput 792 S3Import ClusterS3ImportPtrInput 793 // Nested attribute with scaling properties. Only valid when `engineMode` is set to `serverless`. More details below. 794 ScalingConfiguration ClusterScalingConfigurationPtrInput 795 // Nested attribute with scaling properties for ServerlessV2. Only valid when `engineMode` is set to `provisioned`. More details below. 796 Serverlessv2ScalingConfiguration ClusterServerlessv2ScalingConfigurationPtrInput 797 // Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 798 SkipFinalSnapshot pulumi.BoolPtrInput 799 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with `globalClusterIdentifier`. Clusters cannot be restored from snapshot **and** joined to an existing global cluster in a single operation. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-getting-started.html#aurora-global-database.use-snapshot) or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot. 800 SnapshotIdentifier pulumi.StringPtrInput 801 // The source region for an encrypted replica DB cluster. 802 SourceRegion pulumi.StringPtrInput 803 // Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. 804 StorageEncrypted pulumi.BoolPtrInput 805 // (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1`, `io2` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). 806 StorageType pulumi.StringPtrInput 807 // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 808 Tags pulumi.StringMapInput 809 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 810 // 811 // Deprecated: Please use `tags` instead. 812 TagsAll pulumi.StringMapInput 813 // List of VPC security groups to associate with the Cluster 814 VpcSecurityGroupIds pulumi.StringArrayInput 815 } 816 817 func (ClusterState) ElementType() reflect.Type { 818 return reflect.TypeOf((*clusterState)(nil)).Elem() 819 } 820 821 type clusterArgs struct { 822 // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. 823 AllocatedStorage *int `pulumi:"allocatedStorage"` 824 // Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. 825 AllowMajorVersionUpgrade *bool `pulumi:"allowMajorVersionUpgrade"` 826 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 827 ApplyImmediately *bool `pulumi:"applyImmediately"` 828 // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. 829 // RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. 830 // We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. 831 // A maximum of 3 AZs can be configured. 832 AvailabilityZones []string `pulumi:"availabilityZones"` 833 // Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) 834 BacktrackWindow *int `pulumi:"backtrackWindow"` 835 // Days to retain backups for. Default `1` 836 BackupRetentionPeriod *int `pulumi:"backupRetentionPeriod"` 837 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 838 ClusterIdentifier *string `pulumi:"clusterIdentifier"` 839 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 840 ClusterIdentifierPrefix *string `pulumi:"clusterIdentifierPrefix"` 841 // List of RDS Instances that are a part of this cluster 842 ClusterMembers []string `pulumi:"clusterMembers"` 843 // Copy all Cluster `tags` to snapshots. Default is `false`. 844 CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` 845 // Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) 846 DatabaseName *string `pulumi:"databaseName"` 847 // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. 848 DbClusterInstanceClass *string `pulumi:"dbClusterInstanceClass"` 849 // A cluster parameter group to associate with the cluster. 850 DbClusterParameterGroupName *string `pulumi:"dbClusterParameterGroupName"` 851 // Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter. 852 DbInstanceParameterGroupName *string `pulumi:"dbInstanceParameterGroupName"` 853 // DB subnet group to associate with this DB cluster. 854 // **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. 855 DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` 856 // For use with RDS Custom. 857 DbSystemId *string `pulumi:"dbSystemId"` 858 // Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is `true`. 859 DeleteAutomatedBackups *bool `pulumi:"deleteAutomatedBackups"` 860 // If the DB cluster should have deletion protection enabled. 861 // The database can't be deleted when this value is set to `true`. 862 // The default is `false`. 863 DeletionProtection *bool `pulumi:"deletionProtection"` 864 // The ID of the Directory Service Active Directory domain to create the cluster in. 865 Domain *string `pulumi:"domain"` 866 // The name of the IAM role to be used when making API calls to the Directory Service. 867 DomainIamRoleName *string `pulumi:"domainIamRoleName"` 868 // Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. 869 EnableGlobalWriteForwarding *bool `pulumi:"enableGlobalWriteForwarding"` 870 // Enable HTTP endpoint (data API). Only valid when `engineMode` is set to `serverless`. 871 EnableHttpEndpoint *bool `pulumi:"enableHttpEndpoint"` 872 // Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html) for more information. **NOTE:** Local write forwarding requires Aurora MySQL version 3.04 or higher. 873 EnableLocalWriteForwarding *bool `pulumi:"enableLocalWriteForwarding"` 874 // Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL). 875 EnabledCloudwatchLogsExports []string `pulumi:"enabledCloudwatchLogsExports"` 876 // Name of the database engine to be used for this DB cluster. Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`. (Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 877 Engine string `pulumi:"engine"` 878 // Database engine mode. Valid values: `global` (only valid for Aurora MySQL 1.21 and earlier), `parallelquery`, `provisioned`, `serverless`. Defaults to: `provisioned`. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) for limitations when using `serverless`. 879 EngineMode *string `pulumi:"engineMode"` 880 // Database engine version. Updating this argument results in an outage. See the [Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) and [Aurora Postgres](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.html) documentation for your configured engine to determine this value, or by running `aws rds describe-db-engine-versions`. For example with Aurora MySQL 2, a potential value for this argument is `5.7.mysql_aurora.2.03.2`. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute `engineVersionActual`, , see Attribute Reference below. 881 EngineVersion *string `pulumi:"engineVersion"` 882 // Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made. 883 FinalSnapshotIdentifier *string `pulumi:"finalSnapshotIdentifier"` 884 // Global cluster identifier specified on `rds.GlobalCluster`. 885 GlobalClusterIdentifier *string `pulumi:"globalClusterIdentifier"` 886 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) for availability and limitations. 887 IamDatabaseAuthenticationEnabled *bool `pulumi:"iamDatabaseAuthenticationEnabled"` 888 // List of ARNs for the IAM roles to associate to the RDS Cluster. 889 IamRoles []string `pulumi:"iamRoles"` 890 // Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see [Amazon RDS Provisioned IOPS storage to improve performance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster. 891 Iops *int `pulumi:"iops"` 892 // ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. 893 KmsKeyId *string `pulumi:"kmsKeyId"` 894 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. 895 ManageMasterUserPassword *bool `pulumi:"manageMasterUserPassword"` 896 // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. 897 MasterPassword *string `pulumi:"masterPassword"` 898 // 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. 899 MasterUserSecretKmsKeyId *string `pulumi:"masterUserSecretKmsKeyId"` 900 // Username for the master DB user. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. 901 MasterUsername *string `pulumi:"masterUsername"` 902 // Network type of the cluster. Valid values: `IPV4`, `DUAL`. 903 NetworkType *string `pulumi:"networkType"` 904 // Port on which the DB accepts connections 905 Port *int `pulumi:"port"` 906 // Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 907 PreferredBackupWindow *string `pulumi:"preferredBackupWindow"` 908 // Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 909 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 910 // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. 911 ReplicationSourceIdentifier *string `pulumi:"replicationSourceIdentifier"` 912 // Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. 913 RestoreToPointInTime *ClusterRestoreToPointInTime `pulumi:"restoreToPointInTime"` 914 S3Import *ClusterS3Import `pulumi:"s3Import"` 915 // Nested attribute with scaling properties. Only valid when `engineMode` is set to `serverless`. More details below. 916 ScalingConfiguration *ClusterScalingConfiguration `pulumi:"scalingConfiguration"` 917 // Nested attribute with scaling properties for ServerlessV2. Only valid when `engineMode` is set to `provisioned`. More details below. 918 Serverlessv2ScalingConfiguration *ClusterServerlessv2ScalingConfiguration `pulumi:"serverlessv2ScalingConfiguration"` 919 // Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 920 SkipFinalSnapshot *bool `pulumi:"skipFinalSnapshot"` 921 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with `globalClusterIdentifier`. Clusters cannot be restored from snapshot **and** joined to an existing global cluster in a single operation. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-getting-started.html#aurora-global-database.use-snapshot) or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot. 922 SnapshotIdentifier *string `pulumi:"snapshotIdentifier"` 923 // The source region for an encrypted replica DB cluster. 924 SourceRegion *string `pulumi:"sourceRegion"` 925 // Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. 926 StorageEncrypted *bool `pulumi:"storageEncrypted"` 927 // (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1`, `io2` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). 928 StorageType *string `pulumi:"storageType"` 929 // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 930 Tags map[string]string `pulumi:"tags"` 931 // List of VPC security groups to associate with the Cluster 932 VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` 933 } 934 935 // The set of arguments for constructing a Cluster resource. 936 type ClusterArgs struct { 937 // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. 938 AllocatedStorage pulumi.IntPtrInput 939 // Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. 940 AllowMajorVersionUpgrade pulumi.BoolPtrInput 941 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 942 ApplyImmediately pulumi.BoolPtrInput 943 // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. 944 // RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. 945 // We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. 946 // A maximum of 3 AZs can be configured. 947 AvailabilityZones pulumi.StringArrayInput 948 // Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) 949 BacktrackWindow pulumi.IntPtrInput 950 // Days to retain backups for. Default `1` 951 BackupRetentionPeriod pulumi.IntPtrInput 952 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 953 ClusterIdentifier pulumi.StringPtrInput 954 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 955 ClusterIdentifierPrefix pulumi.StringPtrInput 956 // List of RDS Instances that are a part of this cluster 957 ClusterMembers pulumi.StringArrayInput 958 // Copy all Cluster `tags` to snapshots. Default is `false`. 959 CopyTagsToSnapshot pulumi.BoolPtrInput 960 // Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) 961 DatabaseName pulumi.StringPtrInput 962 // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. 963 DbClusterInstanceClass pulumi.StringPtrInput 964 // A cluster parameter group to associate with the cluster. 965 DbClusterParameterGroupName pulumi.StringPtrInput 966 // Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter. 967 DbInstanceParameterGroupName pulumi.StringPtrInput 968 // DB subnet group to associate with this DB cluster. 969 // **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. 970 DbSubnetGroupName pulumi.StringPtrInput 971 // For use with RDS Custom. 972 DbSystemId pulumi.StringPtrInput 973 // Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is `true`. 974 DeleteAutomatedBackups pulumi.BoolPtrInput 975 // If the DB cluster should have deletion protection enabled. 976 // The database can't be deleted when this value is set to `true`. 977 // The default is `false`. 978 DeletionProtection pulumi.BoolPtrInput 979 // The ID of the Directory Service Active Directory domain to create the cluster in. 980 Domain pulumi.StringPtrInput 981 // The name of the IAM role to be used when making API calls to the Directory Service. 982 DomainIamRoleName pulumi.StringPtrInput 983 // Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. 984 EnableGlobalWriteForwarding pulumi.BoolPtrInput 985 // Enable HTTP endpoint (data API). Only valid when `engineMode` is set to `serverless`. 986 EnableHttpEndpoint pulumi.BoolPtrInput 987 // Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html) for more information. **NOTE:** Local write forwarding requires Aurora MySQL version 3.04 or higher. 988 EnableLocalWriteForwarding pulumi.BoolPtrInput 989 // Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL). 990 EnabledCloudwatchLogsExports pulumi.StringArrayInput 991 // Name of the database engine to be used for this DB cluster. Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`. (Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 992 Engine pulumi.StringInput 993 // Database engine mode. Valid values: `global` (only valid for Aurora MySQL 1.21 and earlier), `parallelquery`, `provisioned`, `serverless`. Defaults to: `provisioned`. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) for limitations when using `serverless`. 994 EngineMode pulumi.StringPtrInput 995 // Database engine version. Updating this argument results in an outage. See the [Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) and [Aurora Postgres](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.html) documentation for your configured engine to determine this value, or by running `aws rds describe-db-engine-versions`. For example with Aurora MySQL 2, a potential value for this argument is `5.7.mysql_aurora.2.03.2`. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute `engineVersionActual`, , see Attribute Reference below. 996 EngineVersion pulumi.StringPtrInput 997 // Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made. 998 FinalSnapshotIdentifier pulumi.StringPtrInput 999 // Global cluster identifier specified on `rds.GlobalCluster`. 1000 GlobalClusterIdentifier pulumi.StringPtrInput 1001 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) for availability and limitations. 1002 IamDatabaseAuthenticationEnabled pulumi.BoolPtrInput 1003 // List of ARNs for the IAM roles to associate to the RDS Cluster. 1004 IamRoles pulumi.StringArrayInput 1005 // Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see [Amazon RDS Provisioned IOPS storage to improve performance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster. 1006 Iops pulumi.IntPtrInput 1007 // ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. 1008 KmsKeyId pulumi.StringPtrInput 1009 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. 1010 ManageMasterUserPassword pulumi.BoolPtrInput 1011 // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. 1012 MasterPassword pulumi.StringPtrInput 1013 // 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. 1014 MasterUserSecretKmsKeyId pulumi.StringPtrInput 1015 // Username for the master DB user. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. 1016 MasterUsername pulumi.StringPtrInput 1017 // Network type of the cluster. Valid values: `IPV4`, `DUAL`. 1018 NetworkType pulumi.StringPtrInput 1019 // Port on which the DB accepts connections 1020 Port pulumi.IntPtrInput 1021 // Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 1022 PreferredBackupWindow pulumi.StringPtrInput 1023 // Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 1024 PreferredMaintenanceWindow pulumi.StringPtrInput 1025 // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. 1026 ReplicationSourceIdentifier pulumi.StringPtrInput 1027 // Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. 1028 RestoreToPointInTime ClusterRestoreToPointInTimePtrInput 1029 S3Import ClusterS3ImportPtrInput 1030 // Nested attribute with scaling properties. Only valid when `engineMode` is set to `serverless`. More details below. 1031 ScalingConfiguration ClusterScalingConfigurationPtrInput 1032 // Nested attribute with scaling properties for ServerlessV2. Only valid when `engineMode` is set to `provisioned`. More details below. 1033 Serverlessv2ScalingConfiguration ClusterServerlessv2ScalingConfigurationPtrInput 1034 // Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 1035 SkipFinalSnapshot pulumi.BoolPtrInput 1036 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with `globalClusterIdentifier`. Clusters cannot be restored from snapshot **and** joined to an existing global cluster in a single operation. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-getting-started.html#aurora-global-database.use-snapshot) or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot. 1037 SnapshotIdentifier pulumi.StringPtrInput 1038 // The source region for an encrypted replica DB cluster. 1039 SourceRegion pulumi.StringPtrInput 1040 // Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. 1041 StorageEncrypted pulumi.BoolPtrInput 1042 // (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1`, `io2` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). 1043 StorageType pulumi.StringPtrInput 1044 // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 1045 Tags pulumi.StringMapInput 1046 // List of VPC security groups to associate with the Cluster 1047 VpcSecurityGroupIds pulumi.StringArrayInput 1048 } 1049 1050 func (ClusterArgs) ElementType() reflect.Type { 1051 return reflect.TypeOf((*clusterArgs)(nil)).Elem() 1052 } 1053 1054 type ClusterInput interface { 1055 pulumi.Input 1056 1057 ToClusterOutput() ClusterOutput 1058 ToClusterOutputWithContext(ctx context.Context) ClusterOutput 1059 } 1060 1061 func (*Cluster) ElementType() reflect.Type { 1062 return reflect.TypeOf((**Cluster)(nil)).Elem() 1063 } 1064 1065 func (i *Cluster) ToClusterOutput() ClusterOutput { 1066 return i.ToClusterOutputWithContext(context.Background()) 1067 } 1068 1069 func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { 1070 return pulumi.ToOutputWithContext(ctx, i).(ClusterOutput) 1071 } 1072 1073 // ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. 1074 // You can construct a concrete instance of `ClusterArrayInput` via: 1075 // 1076 // ClusterArray{ ClusterArgs{...} } 1077 type ClusterArrayInput interface { 1078 pulumi.Input 1079 1080 ToClusterArrayOutput() ClusterArrayOutput 1081 ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput 1082 } 1083 1084 type ClusterArray []ClusterInput 1085 1086 func (ClusterArray) ElementType() reflect.Type { 1087 return reflect.TypeOf((*[]*Cluster)(nil)).Elem() 1088 } 1089 1090 func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput { 1091 return i.ToClusterArrayOutputWithContext(context.Background()) 1092 } 1093 1094 func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput { 1095 return pulumi.ToOutputWithContext(ctx, i).(ClusterArrayOutput) 1096 } 1097 1098 // ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. 1099 // You can construct a concrete instance of `ClusterMapInput` via: 1100 // 1101 // ClusterMap{ "key": ClusterArgs{...} } 1102 type ClusterMapInput interface { 1103 pulumi.Input 1104 1105 ToClusterMapOutput() ClusterMapOutput 1106 ToClusterMapOutputWithContext(context.Context) ClusterMapOutput 1107 } 1108 1109 type ClusterMap map[string]ClusterInput 1110 1111 func (ClusterMap) ElementType() reflect.Type { 1112 return reflect.TypeOf((*map[string]*Cluster)(nil)).Elem() 1113 } 1114 1115 func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput { 1116 return i.ToClusterMapOutputWithContext(context.Background()) 1117 } 1118 1119 func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput { 1120 return pulumi.ToOutputWithContext(ctx, i).(ClusterMapOutput) 1121 } 1122 1123 type ClusterOutput struct{ *pulumi.OutputState } 1124 1125 func (ClusterOutput) ElementType() reflect.Type { 1126 return reflect.TypeOf((**Cluster)(nil)).Elem() 1127 } 1128 1129 func (o ClusterOutput) ToClusterOutput() ClusterOutput { 1130 return o 1131 } 1132 1133 func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { 1134 return o 1135 } 1136 1137 // The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. 1138 func (o ClusterOutput) AllocatedStorage() pulumi.IntOutput { 1139 return o.ApplyT(func(v *Cluster) pulumi.IntOutput { return v.AllocatedStorage }).(pulumi.IntOutput) 1140 } 1141 1142 // Enable to allow major engine version upgrades when changing engine versions. Defaults to `false`. 1143 func (o ClusterOutput) AllowMajorVersionUpgrade() pulumi.BoolPtrOutput { 1144 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.AllowMajorVersionUpgrade }).(pulumi.BoolPtrOutput) 1145 } 1146 1147 // Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon RDS Documentation for more information.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) 1148 func (o ClusterOutput) ApplyImmediately() pulumi.BoolOutput { 1149 return o.ApplyT(func(v *Cluster) pulumi.BoolOutput { return v.ApplyImmediately }).(pulumi.BoolOutput) 1150 } 1151 1152 // Amazon Resource Name (ARN) of cluster 1153 func (o ClusterOutput) Arn() pulumi.StringOutput { 1154 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 1155 } 1156 1157 // List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. 1158 // RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next pulumi up. 1159 // We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignoreChanges` argument if necessary. 1160 // A maximum of 3 AZs can be configured. 1161 func (o ClusterOutput) AvailabilityZones() pulumi.StringArrayOutput { 1162 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.AvailabilityZones }).(pulumi.StringArrayOutput) 1163 } 1164 1165 // Target backtrack window, in seconds. Only available for `aurora` and `aurora-mysql` engines currently. To disable backtracking, set this value to `0`. Defaults to `0`. Must be between `0` and `259200` (72 hours) 1166 func (o ClusterOutput) BacktrackWindow() pulumi.IntPtrOutput { 1167 return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.BacktrackWindow }).(pulumi.IntPtrOutput) 1168 } 1169 1170 // Days to retain backups for. Default `1` 1171 func (o ClusterOutput) BackupRetentionPeriod() pulumi.IntOutput { 1172 return o.ApplyT(func(v *Cluster) pulumi.IntOutput { return v.BackupRetentionPeriod }).(pulumi.IntOutput) 1173 } 1174 1175 // The cluster identifier. If omitted, this provider will assign a random, unique identifier. 1176 func (o ClusterOutput) ClusterIdentifier() pulumi.StringOutput { 1177 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterIdentifier }).(pulumi.StringOutput) 1178 } 1179 1180 // Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`. 1181 func (o ClusterOutput) ClusterIdentifierPrefix() pulumi.StringOutput { 1182 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterIdentifierPrefix }).(pulumi.StringOutput) 1183 } 1184 1185 // List of RDS Instances that are a part of this cluster 1186 func (o ClusterOutput) ClusterMembers() pulumi.StringArrayOutput { 1187 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.ClusterMembers }).(pulumi.StringArrayOutput) 1188 } 1189 1190 // RDS Cluster Resource ID 1191 func (o ClusterOutput) ClusterResourceId() pulumi.StringOutput { 1192 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterResourceId }).(pulumi.StringOutput) 1193 } 1194 1195 // Copy all Cluster `tags` to snapshots. Default is `false`. 1196 func (o ClusterOutput) CopyTagsToSnapshot() pulumi.BoolPtrOutput { 1197 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.CopyTagsToSnapshot }).(pulumi.BoolPtrOutput) 1198 } 1199 1200 // Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) 1201 func (o ClusterOutput) DatabaseName() pulumi.StringOutput { 1202 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DatabaseName }).(pulumi.StringOutput) 1203 } 1204 1205 // The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6g.xlarge`. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the Amazon RDS User Guide. 1206 func (o ClusterOutput) DbClusterInstanceClass() pulumi.StringPtrOutput { 1207 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.DbClusterInstanceClass }).(pulumi.StringPtrOutput) 1208 } 1209 1210 // A cluster parameter group to associate with the cluster. 1211 func (o ClusterOutput) DbClusterParameterGroupName() pulumi.StringOutput { 1212 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DbClusterParameterGroupName }).(pulumi.StringOutput) 1213 } 1214 1215 // Instance parameter group to associate with all instances of the DB cluster. The `dbInstanceParameterGroupName` parameter is only valid in combination with the `allowMajorVersionUpgrade` parameter. 1216 func (o ClusterOutput) DbInstanceParameterGroupName() pulumi.StringPtrOutput { 1217 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.DbInstanceParameterGroupName }).(pulumi.StringPtrOutput) 1218 } 1219 1220 // DB subnet group to associate with this DB cluster. 1221 // **NOTE:** This must match the `dbSubnetGroupName` specified on every `rds.ClusterInstance` in the cluster. 1222 func (o ClusterOutput) DbSubnetGroupName() pulumi.StringOutput { 1223 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DbSubnetGroupName }).(pulumi.StringOutput) 1224 } 1225 1226 // For use with RDS Custom. 1227 func (o ClusterOutput) DbSystemId() pulumi.StringOutput { 1228 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.DbSystemId }).(pulumi.StringOutput) 1229 } 1230 1231 // Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is `true`. 1232 func (o ClusterOutput) DeleteAutomatedBackups() pulumi.BoolPtrOutput { 1233 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.DeleteAutomatedBackups }).(pulumi.BoolPtrOutput) 1234 } 1235 1236 // If the DB cluster should have deletion protection enabled. 1237 // The database can't be deleted when this value is set to `true`. 1238 // The default is `false`. 1239 func (o ClusterOutput) DeletionProtection() pulumi.BoolPtrOutput { 1240 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.DeletionProtection }).(pulumi.BoolPtrOutput) 1241 } 1242 1243 // The ID of the Directory Service Active Directory domain to create the cluster in. 1244 func (o ClusterOutput) Domain() pulumi.StringPtrOutput { 1245 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.Domain }).(pulumi.StringPtrOutput) 1246 } 1247 1248 // The name of the IAM role to be used when making API calls to the Directory Service. 1249 func (o ClusterOutput) DomainIamRoleName() pulumi.StringPtrOutput { 1250 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.DomainIamRoleName }).(pulumi.StringPtrOutput) 1251 } 1252 1253 // Whether cluster should forward writes to an associated global cluster. Applied to secondary clusters to enable them to forward writes to an `rds.GlobalCluster`'s primary cluster. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html) for more information. 1254 func (o ClusterOutput) EnableGlobalWriteForwarding() pulumi.BoolPtrOutput { 1255 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.EnableGlobalWriteForwarding }).(pulumi.BoolPtrOutput) 1256 } 1257 1258 // Enable HTTP endpoint (data API). Only valid when `engineMode` is set to `serverless`. 1259 func (o ClusterOutput) EnableHttpEndpoint() pulumi.BoolPtrOutput { 1260 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.EnableHttpEndpoint }).(pulumi.BoolPtrOutput) 1261 } 1262 1263 // Whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.. See the [User Guide for Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-write-forwarding.html) for more information. **NOTE:** Local write forwarding requires Aurora MySQL version 3.04 or higher. 1264 func (o ClusterOutput) EnableLocalWriteForwarding() pulumi.BoolPtrOutput { 1265 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.EnableLocalWriteForwarding }).(pulumi.BoolPtrOutput) 1266 } 1267 1268 // Set of log types to export to cloudwatch. If omitted, no logs will be exported. The following log types are supported: `audit`, `error`, `general`, `slowquery`, `postgresql` (PostgreSQL). 1269 func (o ClusterOutput) EnabledCloudwatchLogsExports() pulumi.StringArrayOutput { 1270 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.EnabledCloudwatchLogsExports }).(pulumi.StringArrayOutput) 1271 } 1272 1273 // DNS address of the RDS instance 1274 func (o ClusterOutput) Endpoint() pulumi.StringOutput { 1275 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) 1276 } 1277 1278 // Name of the database engine to be used for this DB cluster. Valid Values: `aurora-mysql`, `aurora-postgresql`, `mysql`, `postgres`. (Note that `mysql` and `postgres` are Multi-AZ RDS clusters). 1279 func (o ClusterOutput) Engine() pulumi.StringOutput { 1280 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Engine }).(pulumi.StringOutput) 1281 } 1282 1283 // Database engine mode. Valid values: `global` (only valid for Aurora MySQL 1.21 and earlier), `parallelquery`, `provisioned`, `serverless`. Defaults to: `provisioned`. See the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html) for limitations when using `serverless`. 1284 func (o ClusterOutput) EngineMode() pulumi.StringPtrOutput { 1285 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.EngineMode }).(pulumi.StringPtrOutput) 1286 } 1287 1288 // Database engine version. Updating this argument results in an outage. See the [Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) and [Aurora Postgres](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.html) documentation for your configured engine to determine this value, or by running `aws rds describe-db-engine-versions`. For example with Aurora MySQL 2, a potential value for this argument is `5.7.mysql_aurora.2.03.2`. The value can contain a partial version where supported by the API. The actual engine version used is returned in the attribute `engineVersionActual`, , see Attribute Reference below. 1289 func (o ClusterOutput) EngineVersion() pulumi.StringOutput { 1290 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput) 1291 } 1292 1293 // Running version of the database. 1294 func (o ClusterOutput) EngineVersionActual() pulumi.StringOutput { 1295 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.EngineVersionActual }).(pulumi.StringOutput) 1296 } 1297 1298 // Name of your final DB snapshot when this DB cluster is deleted. If omitted, no final snapshot will be made. 1299 func (o ClusterOutput) FinalSnapshotIdentifier() pulumi.StringPtrOutput { 1300 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.FinalSnapshotIdentifier }).(pulumi.StringPtrOutput) 1301 } 1302 1303 // Global cluster identifier specified on `rds.GlobalCluster`. 1304 func (o ClusterOutput) GlobalClusterIdentifier() pulumi.StringPtrOutput { 1305 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.GlobalClusterIdentifier }).(pulumi.StringPtrOutput) 1306 } 1307 1308 // Route53 Hosted Zone ID of the endpoint 1309 func (o ClusterOutput) HostedZoneId() pulumi.StringOutput { 1310 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.HostedZoneId }).(pulumi.StringOutput) 1311 } 1312 1313 // Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see [AWS Documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) for availability and limitations. 1314 func (o ClusterOutput) IamDatabaseAuthenticationEnabled() pulumi.BoolPtrOutput { 1315 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.IamDatabaseAuthenticationEnabled }).(pulumi.BoolPtrOutput) 1316 } 1317 1318 // List of ARNs for the IAM roles to associate to the RDS Cluster. 1319 func (o ClusterOutput) IamRoles() pulumi.StringArrayOutput { 1320 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.IamRoles }).(pulumi.StringArrayOutput) 1321 } 1322 1323 // Amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see [Amazon RDS Provisioned IOPS storage to improve performance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster. 1324 func (o ClusterOutput) Iops() pulumi.IntPtrOutput { 1325 return o.ApplyT(func(v *Cluster) pulumi.IntPtrOutput { return v.Iops }).(pulumi.IntPtrOutput) 1326 } 1327 1328 // ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. 1329 func (o ClusterOutput) KmsKeyId() pulumi.StringOutput { 1330 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) 1331 } 1332 1333 // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. 1334 func (o ClusterOutput) ManageMasterUserPassword() pulumi.BoolPtrOutput { 1335 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.ManageMasterUserPassword }).(pulumi.BoolPtrOutput) 1336 } 1337 1338 // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. 1339 func (o ClusterOutput) MasterPassword() pulumi.StringPtrOutput { 1340 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.MasterPassword }).(pulumi.StringPtrOutput) 1341 } 1342 1343 // 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. 1344 func (o ClusterOutput) MasterUserSecretKmsKeyId() pulumi.StringOutput { 1345 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.MasterUserSecretKmsKeyId }).(pulumi.StringOutput) 1346 } 1347 1348 // Block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. 1349 func (o ClusterOutput) MasterUserSecrets() ClusterMasterUserSecretArrayOutput { 1350 return o.ApplyT(func(v *Cluster) ClusterMasterUserSecretArrayOutput { return v.MasterUserSecrets }).(ClusterMasterUserSecretArrayOutput) 1351 } 1352 1353 // Username for the master DB user. Please refer to the [RDS Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. 1354 func (o ClusterOutput) MasterUsername() pulumi.StringOutput { 1355 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.MasterUsername }).(pulumi.StringOutput) 1356 } 1357 1358 // Network type of the cluster. Valid values: `IPV4`, `DUAL`. 1359 func (o ClusterOutput) NetworkType() pulumi.StringOutput { 1360 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.NetworkType }).(pulumi.StringOutput) 1361 } 1362 1363 // Port on which the DB accepts connections 1364 func (o ClusterOutput) Port() pulumi.IntOutput { 1365 return o.ApplyT(func(v *Cluster) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) 1366 } 1367 1368 // Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 1369 func (o ClusterOutput) PreferredBackupWindow() pulumi.StringOutput { 1370 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.PreferredBackupWindow }).(pulumi.StringOutput) 1371 } 1372 1373 // Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 1374 func (o ClusterOutput) PreferredMaintenanceWindow() pulumi.StringOutput { 1375 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.PreferredMaintenanceWindow }).(pulumi.StringOutput) 1376 } 1377 1378 // Read-only endpoint for the Aurora cluster, automatically 1379 // load-balanced across replicas 1380 func (o ClusterOutput) ReaderEndpoint() pulumi.StringOutput { 1381 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ReaderEndpoint }).(pulumi.StringOutput) 1382 } 1383 1384 // ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica. If DB Cluster is part of a Global Cluster, use the `lifecycle` configuration block `ignoreChanges` argument to prevent this provider from showing differences for this argument instead of configuring this value. 1385 func (o ClusterOutput) ReplicationSourceIdentifier() pulumi.StringPtrOutput { 1386 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.ReplicationSourceIdentifier }).(pulumi.StringPtrOutput) 1387 } 1388 1389 // Nested attribute for [point in time restore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-pitr.html). More details below. 1390 func (o ClusterOutput) RestoreToPointInTime() ClusterRestoreToPointInTimePtrOutput { 1391 return o.ApplyT(func(v *Cluster) ClusterRestoreToPointInTimePtrOutput { return v.RestoreToPointInTime }).(ClusterRestoreToPointInTimePtrOutput) 1392 } 1393 1394 func (o ClusterOutput) S3Import() ClusterS3ImportPtrOutput { 1395 return o.ApplyT(func(v *Cluster) ClusterS3ImportPtrOutput { return v.S3Import }).(ClusterS3ImportPtrOutput) 1396 } 1397 1398 // Nested attribute with scaling properties. Only valid when `engineMode` is set to `serverless`. More details below. 1399 func (o ClusterOutput) ScalingConfiguration() ClusterScalingConfigurationPtrOutput { 1400 return o.ApplyT(func(v *Cluster) ClusterScalingConfigurationPtrOutput { return v.ScalingConfiguration }).(ClusterScalingConfigurationPtrOutput) 1401 } 1402 1403 // Nested attribute with scaling properties for ServerlessV2. Only valid when `engineMode` is set to `provisioned`. More details below. 1404 func (o ClusterOutput) Serverlessv2ScalingConfiguration() ClusterServerlessv2ScalingConfigurationPtrOutput { 1405 return o.ApplyT(func(v *Cluster) ClusterServerlessv2ScalingConfigurationPtrOutput { 1406 return v.Serverlessv2ScalingConfiguration 1407 }).(ClusterServerlessv2ScalingConfigurationPtrOutput) 1408 } 1409 1410 // Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. 1411 func (o ClusterOutput) SkipFinalSnapshot() pulumi.BoolPtrOutput { 1412 return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.SkipFinalSnapshot }).(pulumi.BoolPtrOutput) 1413 } 1414 1415 // Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Conflicts with `globalClusterIdentifier`. Clusters cannot be restored from snapshot **and** joined to an existing global cluster in a single operation. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-getting-started.html#aurora-global-database.use-snapshot) or the Global Cluster Restored From Snapshot example for instructions on building a global cluster starting with a snapshot. 1416 func (o ClusterOutput) SnapshotIdentifier() pulumi.StringPtrOutput { 1417 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.SnapshotIdentifier }).(pulumi.StringPtrOutput) 1418 } 1419 1420 // The source region for an encrypted replica DB cluster. 1421 func (o ClusterOutput) SourceRegion() pulumi.StringPtrOutput { 1422 return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.SourceRegion }).(pulumi.StringPtrOutput) 1423 } 1424 1425 // Specifies whether the DB cluster is encrypted. The default is `false` for `provisioned` `engineMode` and `true` for `serverless` `engineMode`. When restoring an unencrypted `snapshotIdentifier`, the `kmsKeyId` argument must be provided to encrypt the restored cluster. The provider will only perform drift detection if a configuration value is provided. 1426 func (o ClusterOutput) StorageEncrypted() pulumi.BoolOutput { 1427 return o.ApplyT(func(v *Cluster) pulumi.BoolOutput { return v.StorageEncrypted }).(pulumi.BoolOutput) 1428 } 1429 1430 // (Forces new for Multi-AZ DB clusters) Specifies the storage type to be associated with the DB cluster. For Aurora DB clusters, `storageType` modifications can be done in-place. For Multi-AZ DB Clusters, the `iops` argument must also be set. Valid values are: `""`, `aurora-iopt1` (Aurora DB Clusters); `io1`, `io2` (Multi-AZ DB Clusters). Default: `""` (Aurora DB Clusters); `io1` (Multi-AZ DB Clusters). 1431 func (o ClusterOutput) StorageType() pulumi.StringOutput { 1432 return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.StorageType }).(pulumi.StringOutput) 1433 } 1434 1435 // A map of tags to assign to the DB cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 1436 func (o ClusterOutput) Tags() pulumi.StringMapOutput { 1437 return o.ApplyT(func(v *Cluster) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 1438 } 1439 1440 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 1441 // 1442 // Deprecated: Please use `tags` instead. 1443 func (o ClusterOutput) TagsAll() pulumi.StringMapOutput { 1444 return o.ApplyT(func(v *Cluster) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 1445 } 1446 1447 // List of VPC security groups to associate with the Cluster 1448 func (o ClusterOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput { 1449 return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.VpcSecurityGroupIds }).(pulumi.StringArrayOutput) 1450 } 1451 1452 type ClusterArrayOutput struct{ *pulumi.OutputState } 1453 1454 func (ClusterArrayOutput) ElementType() reflect.Type { 1455 return reflect.TypeOf((*[]*Cluster)(nil)).Elem() 1456 } 1457 1458 func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput { 1459 return o 1460 } 1461 1462 func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput { 1463 return o 1464 } 1465 1466 func (o ClusterArrayOutput) Index(i pulumi.IntInput) ClusterOutput { 1467 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Cluster { 1468 return vs[0].([]*Cluster)[vs[1].(int)] 1469 }).(ClusterOutput) 1470 } 1471 1472 type ClusterMapOutput struct{ *pulumi.OutputState } 1473 1474 func (ClusterMapOutput) ElementType() reflect.Type { 1475 return reflect.TypeOf((*map[string]*Cluster)(nil)).Elem() 1476 } 1477 1478 func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput { 1479 return o 1480 } 1481 1482 func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput { 1483 return o 1484 } 1485 1486 func (o ClusterMapOutput) MapIndex(k pulumi.StringInput) ClusterOutput { 1487 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Cluster { 1488 return vs[0].(map[string]*Cluster)[vs[1].(string)] 1489 }).(ClusterOutput) 1490 } 1491 1492 func init() { 1493 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInput)(nil)).Elem(), &Cluster{}) 1494 pulumi.RegisterInputType(reflect.TypeOf((*ClusterArrayInput)(nil)).Elem(), ClusterArray{}) 1495 pulumi.RegisterInputType(reflect.TypeOf((*ClusterMapInput)(nil)).Elem(), ClusterMap{}) 1496 pulumi.RegisterOutputType(ClusterOutput{}) 1497 pulumi.RegisterOutputType(ClusterArrayOutput{}) 1498 pulumi.RegisterOutputType(ClusterMapOutput{}) 1499 }