github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/docdb/clusterInstance.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 docdb 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides an DocumentDB Cluster Resource Instance. A Cluster Instance Resource defines 16 // attributes that are specific to a single instance in a [DocumentDB Cluster][1]. 17 // 18 // You do not designate a primary and subsequent replicas. Instead, you simply add DocumentDB 19 // Instances and DocumentDB manages the replication. You can use the [count][3] 20 // meta-parameter to make multiple instances and join them all to the same DocumentDB 21 // Cluster, or you may specify different Cluster Instance resources with various 22 // `instanceClass` sizes. 23 // 24 // ## Example Usage 25 // 26 // <!--Start PulumiCodeChooser --> 27 // ```go 28 // package main 29 // 30 // import ( 31 // 32 // "fmt" 33 // 34 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/docdb" 35 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 36 // 37 // ) 38 // 39 // func main() { 40 // pulumi.Run(func(ctx *pulumi.Context) error { 41 // _, err := docdb.NewCluster(ctx, "default", &docdb.ClusterArgs{ 42 // ClusterIdentifier: pulumi.String("docdb-cluster-demo"), 43 // AvailabilityZones: pulumi.StringArray{ 44 // pulumi.String("us-west-2a"), 45 // pulumi.String("us-west-2b"), 46 // pulumi.String("us-west-2c"), 47 // }, 48 // MasterUsername: pulumi.String("foo"), 49 // MasterPassword: pulumi.String("barbut8chars"), 50 // }) 51 // if err != nil { 52 // return err 53 // } 54 // var clusterInstances []*docdb.ClusterInstance 55 // for index := 0; index < 2; index++ { 56 // key0 := index 57 // val0 := index 58 // __res, err := docdb.NewClusterInstance(ctx, fmt.Sprintf("cluster_instances-%v", key0), &docdb.ClusterInstanceArgs{ 59 // Identifier: pulumi.String(fmt.Sprintf("docdb-cluster-demo-%v", val0)), 60 // ClusterIdentifier: _default.ID(), 61 // InstanceClass: pulumi.String("db.r5.large"), 62 // }) 63 // if err != nil { 64 // return err 65 // } 66 // clusterInstances = append(clusterInstances, __res) 67 // } 68 // return nil 69 // }) 70 // } 71 // 72 // ``` 73 // <!--End PulumiCodeChooser --> 74 // 75 // ## Import 76 // 77 // Using `pulumi import`, import DocumentDB Cluster Instances using the `identifier`. For example: 78 // 79 // ```sh 80 // $ pulumi import aws:docdb/clusterInstance:ClusterInstance prod_instance_1 aurora-cluster-instance-1 81 // ``` 82 type ClusterInstance struct { 83 pulumi.CustomResourceState 84 85 // Specifies whether any database modifications 86 // are applied immediately, or during the next maintenance window. Default is`false`. 87 ApplyImmediately pulumi.BoolPtrOutput `pulumi:"applyImmediately"` 88 // Amazon Resource Name (ARN) of cluster instance 89 Arn pulumi.StringOutput `pulumi:"arn"` 90 // This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set (see [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DBInstance.html)). Default `true`. 91 AutoMinorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"autoMinorVersionUpgrade"` 92 // The EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_CreateDBInstance.html) about the details. 93 AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` 94 // The identifier of the certificate authority (CA) certificate for the DB instance. 95 CaCertIdentifier pulumi.StringOutput `pulumi:"caCertIdentifier"` 96 // The identifier of the `docdb.Cluster` in which to launch this instance. 97 ClusterIdentifier pulumi.StringOutput `pulumi:"clusterIdentifier"` 98 // Copy all DB instance `tags` to snapshots. Default is `false`. 99 CopyTagsToSnapshot pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshot"` 100 // The DB subnet group to associate with this DB instance. 101 DbSubnetGroupName pulumi.StringOutput `pulumi:"dbSubnetGroupName"` 102 // The region-unique, immutable identifier for the DB instance. 103 DbiResourceId pulumi.StringOutput `pulumi:"dbiResourceId"` 104 // A value that indicates whether to enable Performance Insights for the DB Instance. Default `false`. See [docs] (https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) about the details. 105 EnablePerformanceInsights pulumi.BoolPtrOutput `pulumi:"enablePerformanceInsights"` 106 // The DNS address for this instance. May not be writable 107 Endpoint pulumi.StringOutput `pulumi:"endpoint"` 108 // The name of the database engine to be used for the DocumentDB instance. Defaults to `docdb`. Valid Values: `docdb`. 109 Engine pulumi.StringPtrOutput `pulumi:"engine"` 110 // The database engine version 111 EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` 112 // The identifier for the DocumentDB instance, if omitted, the provider will assign a random, unique identifier. 113 Identifier pulumi.StringOutput `pulumi:"identifier"` 114 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 115 IdentifierPrefix pulumi.StringOutput `pulumi:"identifierPrefix"` 116 // The instance class to use. For details on CPU and memory, see [Scaling for DocumentDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). 117 // DocumentDB currently supports the below instance classes. 118 // Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. 119 // - db.r6g.large 120 // - db.r6g.xlarge 121 // - db.r6g.2xlarge 122 // - db.r6g.4xlarge 123 // - db.r6g.8xlarge 124 // - db.r6g.12xlarge 125 // - db.r6g.16xlarge 126 // - db.r5.large 127 // - db.r5.xlarge 128 // - db.r5.2xlarge 129 // - db.r5.4xlarge 130 // - db.r5.12xlarge 131 // - db.r5.24xlarge 132 // - db.r4.large 133 // - db.r4.xlarge 134 // - db.r4.2xlarge 135 // - db.r4.4xlarge 136 // - db.r4.8xlarge 137 // - db.r4.16xlarge 138 // - db.t4g.medium 139 // - db.t3.medium 140 InstanceClass pulumi.StringOutput `pulumi:"instanceClass"` 141 // The ARN for the KMS encryption key if one is set to the cluster. 142 KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` 143 // The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. 144 PerformanceInsightsKmsKeyId pulumi.StringOutput `pulumi:"performanceInsightsKmsKeyId"` 145 // The database port 146 Port pulumi.IntOutput `pulumi:"port"` 147 // The daily time range during which automated backups are created if automated backups are enabled. 148 PreferredBackupWindow pulumi.StringOutput `pulumi:"preferredBackupWindow"` 149 // The window to perform maintenance in. 150 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 151 PreferredMaintenanceWindow pulumi.StringOutput `pulumi:"preferredMaintenanceWindow"` 152 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 153 PromotionTier pulumi.IntPtrOutput `pulumi:"promotionTier"` 154 PubliclyAccessible pulumi.BoolOutput `pulumi:"publiclyAccessible"` 155 // Specifies whether the DB cluster is encrypted. 156 StorageEncrypted pulumi.BoolOutput `pulumi:"storageEncrypted"` 157 // A map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 158 Tags pulumi.StringMapOutput `pulumi:"tags"` 159 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 160 // 161 // Deprecated: Please use `tags` instead. 162 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 163 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 164 Writer pulumi.BoolOutput `pulumi:"writer"` 165 } 166 167 // NewClusterInstance registers a new resource with the given unique name, arguments, and options. 168 func NewClusterInstance(ctx *pulumi.Context, 169 name string, args *ClusterInstanceArgs, opts ...pulumi.ResourceOption) (*ClusterInstance, error) { 170 if args == nil { 171 return nil, errors.New("missing one or more required arguments") 172 } 173 174 if args.ClusterIdentifier == nil { 175 return nil, errors.New("invalid value for required argument 'ClusterIdentifier'") 176 } 177 if args.InstanceClass == nil { 178 return nil, errors.New("invalid value for required argument 'InstanceClass'") 179 } 180 opts = internal.PkgResourceDefaultOpts(opts) 181 var resource ClusterInstance 182 err := ctx.RegisterResource("aws:docdb/clusterInstance:ClusterInstance", name, args, &resource, opts...) 183 if err != nil { 184 return nil, err 185 } 186 return &resource, nil 187 } 188 189 // GetClusterInstance gets an existing ClusterInstance resource's state with the given name, ID, and optional 190 // state properties that are used to uniquely qualify the lookup (nil if not required). 191 func GetClusterInstance(ctx *pulumi.Context, 192 name string, id pulumi.IDInput, state *ClusterInstanceState, opts ...pulumi.ResourceOption) (*ClusterInstance, error) { 193 var resource ClusterInstance 194 err := ctx.ReadResource("aws:docdb/clusterInstance:ClusterInstance", name, id, state, &resource, opts...) 195 if err != nil { 196 return nil, err 197 } 198 return &resource, nil 199 } 200 201 // Input properties used for looking up and filtering ClusterInstance resources. 202 type clusterInstanceState struct { 203 // Specifies whether any database modifications 204 // are applied immediately, or during the next maintenance window. Default is`false`. 205 ApplyImmediately *bool `pulumi:"applyImmediately"` 206 // Amazon Resource Name (ARN) of cluster instance 207 Arn *string `pulumi:"arn"` 208 // This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set (see [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DBInstance.html)). Default `true`. 209 AutoMinorVersionUpgrade *bool `pulumi:"autoMinorVersionUpgrade"` 210 // The EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_CreateDBInstance.html) about the details. 211 AvailabilityZone *string `pulumi:"availabilityZone"` 212 // The identifier of the certificate authority (CA) certificate for the DB instance. 213 CaCertIdentifier *string `pulumi:"caCertIdentifier"` 214 // The identifier of the `docdb.Cluster` in which to launch this instance. 215 ClusterIdentifier *string `pulumi:"clusterIdentifier"` 216 // Copy all DB instance `tags` to snapshots. Default is `false`. 217 CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` 218 // The DB subnet group to associate with this DB instance. 219 DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` 220 // The region-unique, immutable identifier for the DB instance. 221 DbiResourceId *string `pulumi:"dbiResourceId"` 222 // A value that indicates whether to enable Performance Insights for the DB Instance. Default `false`. See [docs] (https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) about the details. 223 EnablePerformanceInsights *bool `pulumi:"enablePerformanceInsights"` 224 // The DNS address for this instance. May not be writable 225 Endpoint *string `pulumi:"endpoint"` 226 // The name of the database engine to be used for the DocumentDB instance. Defaults to `docdb`. Valid Values: `docdb`. 227 Engine *string `pulumi:"engine"` 228 // The database engine version 229 EngineVersion *string `pulumi:"engineVersion"` 230 // The identifier for the DocumentDB instance, if omitted, the provider will assign a random, unique identifier. 231 Identifier *string `pulumi:"identifier"` 232 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 233 IdentifierPrefix *string `pulumi:"identifierPrefix"` 234 // The instance class to use. For details on CPU and memory, see [Scaling for DocumentDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). 235 // DocumentDB currently supports the below instance classes. 236 // Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. 237 // - db.r6g.large 238 // - db.r6g.xlarge 239 // - db.r6g.2xlarge 240 // - db.r6g.4xlarge 241 // - db.r6g.8xlarge 242 // - db.r6g.12xlarge 243 // - db.r6g.16xlarge 244 // - db.r5.large 245 // - db.r5.xlarge 246 // - db.r5.2xlarge 247 // - db.r5.4xlarge 248 // - db.r5.12xlarge 249 // - db.r5.24xlarge 250 // - db.r4.large 251 // - db.r4.xlarge 252 // - db.r4.2xlarge 253 // - db.r4.4xlarge 254 // - db.r4.8xlarge 255 // - db.r4.16xlarge 256 // - db.t4g.medium 257 // - db.t3.medium 258 InstanceClass *string `pulumi:"instanceClass"` 259 // The ARN for the KMS encryption key if one is set to the cluster. 260 KmsKeyId *string `pulumi:"kmsKeyId"` 261 // The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. 262 PerformanceInsightsKmsKeyId *string `pulumi:"performanceInsightsKmsKeyId"` 263 // The database port 264 Port *int `pulumi:"port"` 265 // The daily time range during which automated backups are created if automated backups are enabled. 266 PreferredBackupWindow *string `pulumi:"preferredBackupWindow"` 267 // The window to perform maintenance in. 268 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 269 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 270 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 271 PromotionTier *int `pulumi:"promotionTier"` 272 PubliclyAccessible *bool `pulumi:"publiclyAccessible"` 273 // Specifies whether the DB cluster is encrypted. 274 StorageEncrypted *bool `pulumi:"storageEncrypted"` 275 // A map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 276 Tags map[string]string `pulumi:"tags"` 277 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 278 // 279 // Deprecated: Please use `tags` instead. 280 TagsAll map[string]string `pulumi:"tagsAll"` 281 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 282 Writer *bool `pulumi:"writer"` 283 } 284 285 type ClusterInstanceState struct { 286 // Specifies whether any database modifications 287 // are applied immediately, or during the next maintenance window. Default is`false`. 288 ApplyImmediately pulumi.BoolPtrInput 289 // Amazon Resource Name (ARN) of cluster instance 290 Arn pulumi.StringPtrInput 291 // This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set (see [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DBInstance.html)). Default `true`. 292 AutoMinorVersionUpgrade pulumi.BoolPtrInput 293 // The EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_CreateDBInstance.html) about the details. 294 AvailabilityZone pulumi.StringPtrInput 295 // The identifier of the certificate authority (CA) certificate for the DB instance. 296 CaCertIdentifier pulumi.StringPtrInput 297 // The identifier of the `docdb.Cluster` in which to launch this instance. 298 ClusterIdentifier pulumi.StringPtrInput 299 // Copy all DB instance `tags` to snapshots. Default is `false`. 300 CopyTagsToSnapshot pulumi.BoolPtrInput 301 // The DB subnet group to associate with this DB instance. 302 DbSubnetGroupName pulumi.StringPtrInput 303 // The region-unique, immutable identifier for the DB instance. 304 DbiResourceId pulumi.StringPtrInput 305 // A value that indicates whether to enable Performance Insights for the DB Instance. Default `false`. See [docs] (https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) about the details. 306 EnablePerformanceInsights pulumi.BoolPtrInput 307 // The DNS address for this instance. May not be writable 308 Endpoint pulumi.StringPtrInput 309 // The name of the database engine to be used for the DocumentDB instance. Defaults to `docdb`. Valid Values: `docdb`. 310 Engine pulumi.StringPtrInput 311 // The database engine version 312 EngineVersion pulumi.StringPtrInput 313 // The identifier for the DocumentDB instance, if omitted, the provider will assign a random, unique identifier. 314 Identifier pulumi.StringPtrInput 315 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 316 IdentifierPrefix pulumi.StringPtrInput 317 // The instance class to use. For details on CPU and memory, see [Scaling for DocumentDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). 318 // DocumentDB currently supports the below instance classes. 319 // Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. 320 // - db.r6g.large 321 // - db.r6g.xlarge 322 // - db.r6g.2xlarge 323 // - db.r6g.4xlarge 324 // - db.r6g.8xlarge 325 // - db.r6g.12xlarge 326 // - db.r6g.16xlarge 327 // - db.r5.large 328 // - db.r5.xlarge 329 // - db.r5.2xlarge 330 // - db.r5.4xlarge 331 // - db.r5.12xlarge 332 // - db.r5.24xlarge 333 // - db.r4.large 334 // - db.r4.xlarge 335 // - db.r4.2xlarge 336 // - db.r4.4xlarge 337 // - db.r4.8xlarge 338 // - db.r4.16xlarge 339 // - db.t4g.medium 340 // - db.t3.medium 341 InstanceClass pulumi.StringPtrInput 342 // The ARN for the KMS encryption key if one is set to the cluster. 343 KmsKeyId pulumi.StringPtrInput 344 // The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. 345 PerformanceInsightsKmsKeyId pulumi.StringPtrInput 346 // The database port 347 Port pulumi.IntPtrInput 348 // The daily time range during which automated backups are created if automated backups are enabled. 349 PreferredBackupWindow pulumi.StringPtrInput 350 // The window to perform maintenance in. 351 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 352 PreferredMaintenanceWindow pulumi.StringPtrInput 353 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 354 PromotionTier pulumi.IntPtrInput 355 PubliclyAccessible pulumi.BoolPtrInput 356 // Specifies whether the DB cluster is encrypted. 357 StorageEncrypted pulumi.BoolPtrInput 358 // A map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 359 Tags pulumi.StringMapInput 360 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 361 // 362 // Deprecated: Please use `tags` instead. 363 TagsAll pulumi.StringMapInput 364 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 365 Writer pulumi.BoolPtrInput 366 } 367 368 func (ClusterInstanceState) ElementType() reflect.Type { 369 return reflect.TypeOf((*clusterInstanceState)(nil)).Elem() 370 } 371 372 type clusterInstanceArgs struct { 373 // Specifies whether any database modifications 374 // are applied immediately, or during the next maintenance window. Default is`false`. 375 ApplyImmediately *bool `pulumi:"applyImmediately"` 376 // This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set (see [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DBInstance.html)). Default `true`. 377 AutoMinorVersionUpgrade *bool `pulumi:"autoMinorVersionUpgrade"` 378 // The EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_CreateDBInstance.html) about the details. 379 AvailabilityZone *string `pulumi:"availabilityZone"` 380 // The identifier of the certificate authority (CA) certificate for the DB instance. 381 CaCertIdentifier *string `pulumi:"caCertIdentifier"` 382 // The identifier of the `docdb.Cluster` in which to launch this instance. 383 ClusterIdentifier string `pulumi:"clusterIdentifier"` 384 // Copy all DB instance `tags` to snapshots. Default is `false`. 385 CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` 386 // A value that indicates whether to enable Performance Insights for the DB Instance. Default `false`. See [docs] (https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) about the details. 387 EnablePerformanceInsights *bool `pulumi:"enablePerformanceInsights"` 388 // The name of the database engine to be used for the DocumentDB instance. Defaults to `docdb`. Valid Values: `docdb`. 389 Engine *string `pulumi:"engine"` 390 // The identifier for the DocumentDB instance, if omitted, the provider will assign a random, unique identifier. 391 Identifier *string `pulumi:"identifier"` 392 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 393 IdentifierPrefix *string `pulumi:"identifierPrefix"` 394 // The instance class to use. For details on CPU and memory, see [Scaling for DocumentDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). 395 // DocumentDB currently supports the below instance classes. 396 // Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. 397 // - db.r6g.large 398 // - db.r6g.xlarge 399 // - db.r6g.2xlarge 400 // - db.r6g.4xlarge 401 // - db.r6g.8xlarge 402 // - db.r6g.12xlarge 403 // - db.r6g.16xlarge 404 // - db.r5.large 405 // - db.r5.xlarge 406 // - db.r5.2xlarge 407 // - db.r5.4xlarge 408 // - db.r5.12xlarge 409 // - db.r5.24xlarge 410 // - db.r4.large 411 // - db.r4.xlarge 412 // - db.r4.2xlarge 413 // - db.r4.4xlarge 414 // - db.r4.8xlarge 415 // - db.r4.16xlarge 416 // - db.t4g.medium 417 // - db.t3.medium 418 InstanceClass string `pulumi:"instanceClass"` 419 // The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. 420 PerformanceInsightsKmsKeyId *string `pulumi:"performanceInsightsKmsKeyId"` 421 // The window to perform maintenance in. 422 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 423 PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"` 424 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 425 PromotionTier *int `pulumi:"promotionTier"` 426 // A map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 427 Tags map[string]string `pulumi:"tags"` 428 } 429 430 // The set of arguments for constructing a ClusterInstance resource. 431 type ClusterInstanceArgs struct { 432 // Specifies whether any database modifications 433 // are applied immediately, or during the next maintenance window. Default is`false`. 434 ApplyImmediately pulumi.BoolPtrInput 435 // This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set (see [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DBInstance.html)). Default `true`. 436 AutoMinorVersionUpgrade pulumi.BoolPtrInput 437 // The EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_CreateDBInstance.html) about the details. 438 AvailabilityZone pulumi.StringPtrInput 439 // The identifier of the certificate authority (CA) certificate for the DB instance. 440 CaCertIdentifier pulumi.StringPtrInput 441 // The identifier of the `docdb.Cluster` in which to launch this instance. 442 ClusterIdentifier pulumi.StringInput 443 // Copy all DB instance `tags` to snapshots. Default is `false`. 444 CopyTagsToSnapshot pulumi.BoolPtrInput 445 // A value that indicates whether to enable Performance Insights for the DB Instance. Default `false`. See [docs] (https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) about the details. 446 EnablePerformanceInsights pulumi.BoolPtrInput 447 // The name of the database engine to be used for the DocumentDB instance. Defaults to `docdb`. Valid Values: `docdb`. 448 Engine pulumi.StringPtrInput 449 // The identifier for the DocumentDB instance, if omitted, the provider will assign a random, unique identifier. 450 Identifier pulumi.StringPtrInput 451 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 452 IdentifierPrefix pulumi.StringPtrInput 453 // The instance class to use. For details on CPU and memory, see [Scaling for DocumentDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). 454 // DocumentDB currently supports the below instance classes. 455 // Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. 456 // - db.r6g.large 457 // - db.r6g.xlarge 458 // - db.r6g.2xlarge 459 // - db.r6g.4xlarge 460 // - db.r6g.8xlarge 461 // - db.r6g.12xlarge 462 // - db.r6g.16xlarge 463 // - db.r5.large 464 // - db.r5.xlarge 465 // - db.r5.2xlarge 466 // - db.r5.4xlarge 467 // - db.r5.12xlarge 468 // - db.r5.24xlarge 469 // - db.r4.large 470 // - db.r4.xlarge 471 // - db.r4.2xlarge 472 // - db.r4.4xlarge 473 // - db.r4.8xlarge 474 // - db.r4.16xlarge 475 // - db.t4g.medium 476 // - db.t3.medium 477 InstanceClass pulumi.StringInput 478 // The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. 479 PerformanceInsightsKmsKeyId pulumi.StringPtrInput 480 // The window to perform maintenance in. 481 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 482 PreferredMaintenanceWindow pulumi.StringPtrInput 483 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 484 PromotionTier pulumi.IntPtrInput 485 // A map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 486 Tags pulumi.StringMapInput 487 } 488 489 func (ClusterInstanceArgs) ElementType() reflect.Type { 490 return reflect.TypeOf((*clusterInstanceArgs)(nil)).Elem() 491 } 492 493 type ClusterInstanceInput interface { 494 pulumi.Input 495 496 ToClusterInstanceOutput() ClusterInstanceOutput 497 ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput 498 } 499 500 func (*ClusterInstance) ElementType() reflect.Type { 501 return reflect.TypeOf((**ClusterInstance)(nil)).Elem() 502 } 503 504 func (i *ClusterInstance) ToClusterInstanceOutput() ClusterInstanceOutput { 505 return i.ToClusterInstanceOutputWithContext(context.Background()) 506 } 507 508 func (i *ClusterInstance) ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput { 509 return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceOutput) 510 } 511 512 // ClusterInstanceArrayInput is an input type that accepts ClusterInstanceArray and ClusterInstanceArrayOutput values. 513 // You can construct a concrete instance of `ClusterInstanceArrayInput` via: 514 // 515 // ClusterInstanceArray{ ClusterInstanceArgs{...} } 516 type ClusterInstanceArrayInput interface { 517 pulumi.Input 518 519 ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput 520 ToClusterInstanceArrayOutputWithContext(context.Context) ClusterInstanceArrayOutput 521 } 522 523 type ClusterInstanceArray []ClusterInstanceInput 524 525 func (ClusterInstanceArray) ElementType() reflect.Type { 526 return reflect.TypeOf((*[]*ClusterInstance)(nil)).Elem() 527 } 528 529 func (i ClusterInstanceArray) ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput { 530 return i.ToClusterInstanceArrayOutputWithContext(context.Background()) 531 } 532 533 func (i ClusterInstanceArray) ToClusterInstanceArrayOutputWithContext(ctx context.Context) ClusterInstanceArrayOutput { 534 return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceArrayOutput) 535 } 536 537 // ClusterInstanceMapInput is an input type that accepts ClusterInstanceMap and ClusterInstanceMapOutput values. 538 // You can construct a concrete instance of `ClusterInstanceMapInput` via: 539 // 540 // ClusterInstanceMap{ "key": ClusterInstanceArgs{...} } 541 type ClusterInstanceMapInput interface { 542 pulumi.Input 543 544 ToClusterInstanceMapOutput() ClusterInstanceMapOutput 545 ToClusterInstanceMapOutputWithContext(context.Context) ClusterInstanceMapOutput 546 } 547 548 type ClusterInstanceMap map[string]ClusterInstanceInput 549 550 func (ClusterInstanceMap) ElementType() reflect.Type { 551 return reflect.TypeOf((*map[string]*ClusterInstance)(nil)).Elem() 552 } 553 554 func (i ClusterInstanceMap) ToClusterInstanceMapOutput() ClusterInstanceMapOutput { 555 return i.ToClusterInstanceMapOutputWithContext(context.Background()) 556 } 557 558 func (i ClusterInstanceMap) ToClusterInstanceMapOutputWithContext(ctx context.Context) ClusterInstanceMapOutput { 559 return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceMapOutput) 560 } 561 562 type ClusterInstanceOutput struct{ *pulumi.OutputState } 563 564 func (ClusterInstanceOutput) ElementType() reflect.Type { 565 return reflect.TypeOf((**ClusterInstance)(nil)).Elem() 566 } 567 568 func (o ClusterInstanceOutput) ToClusterInstanceOutput() ClusterInstanceOutput { 569 return o 570 } 571 572 func (o ClusterInstanceOutput) ToClusterInstanceOutputWithContext(ctx context.Context) ClusterInstanceOutput { 573 return o 574 } 575 576 // Specifies whether any database modifications 577 // are applied immediately, or during the next maintenance window. Default is`false`. 578 func (o ClusterInstanceOutput) ApplyImmediately() pulumi.BoolPtrOutput { 579 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolPtrOutput { return v.ApplyImmediately }).(pulumi.BoolPtrOutput) 580 } 581 582 // Amazon Resource Name (ARN) of cluster instance 583 func (o ClusterInstanceOutput) Arn() pulumi.StringOutput { 584 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 585 } 586 587 // This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set (see [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_DBInstance.html)). Default `true`. 588 func (o ClusterInstanceOutput) AutoMinorVersionUpgrade() pulumi.BoolPtrOutput { 589 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolPtrOutput { return v.AutoMinorVersionUpgrade }).(pulumi.BoolPtrOutput) 590 } 591 592 // The EC2 Availability Zone that the DB instance is created in. See [docs](https://docs.aws.amazon.com/documentdb/latest/developerguide/API_CreateDBInstance.html) about the details. 593 func (o ClusterInstanceOutput) AvailabilityZone() pulumi.StringOutput { 594 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) 595 } 596 597 // The identifier of the certificate authority (CA) certificate for the DB instance. 598 func (o ClusterInstanceOutput) CaCertIdentifier() pulumi.StringOutput { 599 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.CaCertIdentifier }).(pulumi.StringOutput) 600 } 601 602 // The identifier of the `docdb.Cluster` in which to launch this instance. 603 func (o ClusterInstanceOutput) ClusterIdentifier() pulumi.StringOutput { 604 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.ClusterIdentifier }).(pulumi.StringOutput) 605 } 606 607 // Copy all DB instance `tags` to snapshots. Default is `false`. 608 func (o ClusterInstanceOutput) CopyTagsToSnapshot() pulumi.BoolPtrOutput { 609 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolPtrOutput { return v.CopyTagsToSnapshot }).(pulumi.BoolPtrOutput) 610 } 611 612 // The DB subnet group to associate with this DB instance. 613 func (o ClusterInstanceOutput) DbSubnetGroupName() pulumi.StringOutput { 614 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.DbSubnetGroupName }).(pulumi.StringOutput) 615 } 616 617 // The region-unique, immutable identifier for the DB instance. 618 func (o ClusterInstanceOutput) DbiResourceId() pulumi.StringOutput { 619 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.DbiResourceId }).(pulumi.StringOutput) 620 } 621 622 // A value that indicates whether to enable Performance Insights for the DB Instance. Default `false`. See [docs] (https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights.html) about the details. 623 func (o ClusterInstanceOutput) EnablePerformanceInsights() pulumi.BoolPtrOutput { 624 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolPtrOutput { return v.EnablePerformanceInsights }).(pulumi.BoolPtrOutput) 625 } 626 627 // The DNS address for this instance. May not be writable 628 func (o ClusterInstanceOutput) Endpoint() pulumi.StringOutput { 629 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) 630 } 631 632 // The name of the database engine to be used for the DocumentDB instance. Defaults to `docdb`. Valid Values: `docdb`. 633 func (o ClusterInstanceOutput) Engine() pulumi.StringPtrOutput { 634 return o.ApplyT(func(v *ClusterInstance) pulumi.StringPtrOutput { return v.Engine }).(pulumi.StringPtrOutput) 635 } 636 637 // The database engine version 638 func (o ClusterInstanceOutput) EngineVersion() pulumi.StringOutput { 639 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput) 640 } 641 642 // The identifier for the DocumentDB instance, if omitted, the provider will assign a random, unique identifier. 643 func (o ClusterInstanceOutput) Identifier() pulumi.StringOutput { 644 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) 645 } 646 647 // Creates a unique identifier beginning with the specified prefix. Conflicts with `identifier`. 648 func (o ClusterInstanceOutput) IdentifierPrefix() pulumi.StringOutput { 649 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.IdentifierPrefix }).(pulumi.StringOutput) 650 } 651 652 // The instance class to use. For details on CPU and memory, see [Scaling for DocumentDB Instances](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-manage-performance.html#db-cluster-manage-scaling-instance). 653 // DocumentDB currently supports the below instance classes. 654 // Please see [AWS Documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-classes.html#db-instance-class-specs) for complete details. 655 // - db.r6g.large 656 // - db.r6g.xlarge 657 // - db.r6g.2xlarge 658 // - db.r6g.4xlarge 659 // - db.r6g.8xlarge 660 // - db.r6g.12xlarge 661 // - db.r6g.16xlarge 662 // - db.r5.large 663 // - db.r5.xlarge 664 // - db.r5.2xlarge 665 // - db.r5.4xlarge 666 // - db.r5.12xlarge 667 // - db.r5.24xlarge 668 // - db.r4.large 669 // - db.r4.xlarge 670 // - db.r4.2xlarge 671 // - db.r4.4xlarge 672 // - db.r4.8xlarge 673 // - db.r4.16xlarge 674 // - db.t4g.medium 675 // - db.t3.medium 676 func (o ClusterInstanceOutput) InstanceClass() pulumi.StringOutput { 677 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.InstanceClass }).(pulumi.StringOutput) 678 } 679 680 // The ARN for the KMS encryption key if one is set to the cluster. 681 func (o ClusterInstanceOutput) KmsKeyId() pulumi.StringOutput { 682 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) 683 } 684 685 // The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. 686 func (o ClusterInstanceOutput) PerformanceInsightsKmsKeyId() pulumi.StringOutput { 687 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.PerformanceInsightsKmsKeyId }).(pulumi.StringOutput) 688 } 689 690 // The database port 691 func (o ClusterInstanceOutput) Port() pulumi.IntOutput { 692 return o.ApplyT(func(v *ClusterInstance) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) 693 } 694 695 // The daily time range during which automated backups are created if automated backups are enabled. 696 func (o ClusterInstanceOutput) PreferredBackupWindow() pulumi.StringOutput { 697 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.PreferredBackupWindow }).(pulumi.StringOutput) 698 } 699 700 // The window to perform maintenance in. 701 // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". 702 func (o ClusterInstanceOutput) PreferredMaintenanceWindow() pulumi.StringOutput { 703 return o.ApplyT(func(v *ClusterInstance) pulumi.StringOutput { return v.PreferredMaintenanceWindow }).(pulumi.StringOutput) 704 } 705 706 // Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer. 707 func (o ClusterInstanceOutput) PromotionTier() pulumi.IntPtrOutput { 708 return o.ApplyT(func(v *ClusterInstance) pulumi.IntPtrOutput { return v.PromotionTier }).(pulumi.IntPtrOutput) 709 } 710 711 func (o ClusterInstanceOutput) PubliclyAccessible() pulumi.BoolOutput { 712 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolOutput { return v.PubliclyAccessible }).(pulumi.BoolOutput) 713 } 714 715 // Specifies whether the DB cluster is encrypted. 716 func (o ClusterInstanceOutput) StorageEncrypted() pulumi.BoolOutput { 717 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolOutput { return v.StorageEncrypted }).(pulumi.BoolOutput) 718 } 719 720 // A map of tags to assign to the instance. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 721 func (o ClusterInstanceOutput) Tags() pulumi.StringMapOutput { 722 return o.ApplyT(func(v *ClusterInstance) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 723 } 724 725 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 726 // 727 // Deprecated: Please use `tags` instead. 728 func (o ClusterInstanceOutput) TagsAll() pulumi.StringMapOutput { 729 return o.ApplyT(func(v *ClusterInstance) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 730 } 731 732 // Boolean indicating if this instance is writable. `False` indicates this instance is a read replica. 733 func (o ClusterInstanceOutput) Writer() pulumi.BoolOutput { 734 return o.ApplyT(func(v *ClusterInstance) pulumi.BoolOutput { return v.Writer }).(pulumi.BoolOutput) 735 } 736 737 type ClusterInstanceArrayOutput struct{ *pulumi.OutputState } 738 739 func (ClusterInstanceArrayOutput) ElementType() reflect.Type { 740 return reflect.TypeOf((*[]*ClusterInstance)(nil)).Elem() 741 } 742 743 func (o ClusterInstanceArrayOutput) ToClusterInstanceArrayOutput() ClusterInstanceArrayOutput { 744 return o 745 } 746 747 func (o ClusterInstanceArrayOutput) ToClusterInstanceArrayOutputWithContext(ctx context.Context) ClusterInstanceArrayOutput { 748 return o 749 } 750 751 func (o ClusterInstanceArrayOutput) Index(i pulumi.IntInput) ClusterInstanceOutput { 752 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ClusterInstance { 753 return vs[0].([]*ClusterInstance)[vs[1].(int)] 754 }).(ClusterInstanceOutput) 755 } 756 757 type ClusterInstanceMapOutput struct{ *pulumi.OutputState } 758 759 func (ClusterInstanceMapOutput) ElementType() reflect.Type { 760 return reflect.TypeOf((*map[string]*ClusterInstance)(nil)).Elem() 761 } 762 763 func (o ClusterInstanceMapOutput) ToClusterInstanceMapOutput() ClusterInstanceMapOutput { 764 return o 765 } 766 767 func (o ClusterInstanceMapOutput) ToClusterInstanceMapOutputWithContext(ctx context.Context) ClusterInstanceMapOutput { 768 return o 769 } 770 771 func (o ClusterInstanceMapOutput) MapIndex(k pulumi.StringInput) ClusterInstanceOutput { 772 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ClusterInstance { 773 return vs[0].(map[string]*ClusterInstance)[vs[1].(string)] 774 }).(ClusterInstanceOutput) 775 } 776 777 func init() { 778 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceInput)(nil)).Elem(), &ClusterInstance{}) 779 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceArrayInput)(nil)).Elem(), ClusterInstanceArray{}) 780 pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceMapInput)(nil)).Elem(), ClusterInstanceMap{}) 781 pulumi.RegisterOutputType(ClusterInstanceOutput{}) 782 pulumi.RegisterOutputType(ClusterInstanceArrayOutput{}) 783 pulumi.RegisterOutputType(ClusterInstanceMapOutput{}) 784 }