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  }