github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/keyspaces/table.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 keyspaces
     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 a Keyspaces Table.
    16  //
    17  // More information about Keyspaces tables can be found in the [Keyspaces Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/working-with-tables.html).
    18  //
    19  // ## Example Usage
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/keyspaces"
    28  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    29  //
    30  // )
    31  //
    32  //	func main() {
    33  //		pulumi.Run(func(ctx *pulumi.Context) error {
    34  //			_, err := keyspaces.NewTable(ctx, "example", &keyspaces.TableArgs{
    35  //				KeyspaceName: pulumi.Any(exampleAwsKeyspacesKeyspace.Name),
    36  //				TableName:    pulumi.String("my_table"),
    37  //				SchemaDefinition: &keyspaces.TableSchemaDefinitionArgs{
    38  //					Columns: keyspaces.TableSchemaDefinitionColumnArray{
    39  //						&keyspaces.TableSchemaDefinitionColumnArgs{
    40  //							Name: pulumi.String("Message"),
    41  //							Type: pulumi.String("ASCII"),
    42  //						},
    43  //					},
    44  //					PartitionKeys: keyspaces.TableSchemaDefinitionPartitionKeyArray{
    45  //						&keyspaces.TableSchemaDefinitionPartitionKeyArgs{
    46  //							Name: pulumi.String("Message"),
    47  //						},
    48  //					},
    49  //				},
    50  //			})
    51  //			if err != nil {
    52  //				return err
    53  //			}
    54  //			return nil
    55  //		})
    56  //	}
    57  //
    58  // ```
    59  // <!--End PulumiCodeChooser -->
    60  //
    61  // ## Import
    62  //
    63  // Using `pulumi import`, import a table using the `keyspace_name` and `table_name` separated by `/`. For example:
    64  //
    65  // ```sh
    66  // $ pulumi import aws:keyspaces/table:Table example my_keyspace/my_table
    67  // ```
    68  type Table struct {
    69  	pulumi.CustomResourceState
    70  
    71  	// The ARN of the table.
    72  	Arn pulumi.StringOutput `pulumi:"arn"`
    73  	// Specifies the read/write throughput capacity mode for the table.
    74  	CapacitySpecification TableCapacitySpecificationOutput `pulumi:"capacitySpecification"`
    75  	// Enables client-side timestamps for the table. By default, the setting is disabled.
    76  	ClientSideTimestamps TableClientSideTimestampsPtrOutput `pulumi:"clientSideTimestamps"`
    77  	// A description of the table.
    78  	Comment TableCommentOutput `pulumi:"comment"`
    79  	// The default Time to Live setting in seconds for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl).
    80  	DefaultTimeToLive pulumi.IntPtrOutput `pulumi:"defaultTimeToLive"`
    81  	// Specifies how the encryption key for encryption at rest is managed for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html).
    82  	EncryptionSpecification TableEncryptionSpecificationOutput `pulumi:"encryptionSpecification"`
    83  	// The name of the keyspace that the table is going to be created in.
    84  	KeyspaceName pulumi.StringOutput `pulumi:"keyspaceName"`
    85  	// Specifies if point-in-time recovery is enabled or disabled for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html).
    86  	PointInTimeRecovery TablePointInTimeRecoveryOutput `pulumi:"pointInTimeRecovery"`
    87  	// Describes the schema of the table.
    88  	SchemaDefinition TableSchemaDefinitionOutput `pulumi:"schemaDefinition"`
    89  	// The name of the table.
    90  	//
    91  	// The following arguments are optional:
    92  	TableName pulumi.StringOutput `pulumi:"tableName"`
    93  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    94  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    95  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    96  	//
    97  	// Deprecated: Please use `tags` instead.
    98  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    99  	// Enables Time to Live custom settings for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html).
   100  	Ttl TableTtlPtrOutput `pulumi:"ttl"`
   101  }
   102  
   103  // NewTable registers a new resource with the given unique name, arguments, and options.
   104  func NewTable(ctx *pulumi.Context,
   105  	name string, args *TableArgs, opts ...pulumi.ResourceOption) (*Table, error) {
   106  	if args == nil {
   107  		return nil, errors.New("missing one or more required arguments")
   108  	}
   109  
   110  	if args.KeyspaceName == nil {
   111  		return nil, errors.New("invalid value for required argument 'KeyspaceName'")
   112  	}
   113  	if args.SchemaDefinition == nil {
   114  		return nil, errors.New("invalid value for required argument 'SchemaDefinition'")
   115  	}
   116  	if args.TableName == nil {
   117  		return nil, errors.New("invalid value for required argument 'TableName'")
   118  	}
   119  	opts = internal.PkgResourceDefaultOpts(opts)
   120  	var resource Table
   121  	err := ctx.RegisterResource("aws:keyspaces/table:Table", name, args, &resource, opts...)
   122  	if err != nil {
   123  		return nil, err
   124  	}
   125  	return &resource, nil
   126  }
   127  
   128  // GetTable gets an existing Table resource's state with the given name, ID, and optional
   129  // state properties that are used to uniquely qualify the lookup (nil if not required).
   130  func GetTable(ctx *pulumi.Context,
   131  	name string, id pulumi.IDInput, state *TableState, opts ...pulumi.ResourceOption) (*Table, error) {
   132  	var resource Table
   133  	err := ctx.ReadResource("aws:keyspaces/table:Table", name, id, state, &resource, opts...)
   134  	if err != nil {
   135  		return nil, err
   136  	}
   137  	return &resource, nil
   138  }
   139  
   140  // Input properties used for looking up and filtering Table resources.
   141  type tableState struct {
   142  	// The ARN of the table.
   143  	Arn *string `pulumi:"arn"`
   144  	// Specifies the read/write throughput capacity mode for the table.
   145  	CapacitySpecification *TableCapacitySpecification `pulumi:"capacitySpecification"`
   146  	// Enables client-side timestamps for the table. By default, the setting is disabled.
   147  	ClientSideTimestamps *TableClientSideTimestamps `pulumi:"clientSideTimestamps"`
   148  	// A description of the table.
   149  	Comment *TableComment `pulumi:"comment"`
   150  	// The default Time to Live setting in seconds for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl).
   151  	DefaultTimeToLive *int `pulumi:"defaultTimeToLive"`
   152  	// Specifies how the encryption key for encryption at rest is managed for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html).
   153  	EncryptionSpecification *TableEncryptionSpecification `pulumi:"encryptionSpecification"`
   154  	// The name of the keyspace that the table is going to be created in.
   155  	KeyspaceName *string `pulumi:"keyspaceName"`
   156  	// Specifies if point-in-time recovery is enabled or disabled for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html).
   157  	PointInTimeRecovery *TablePointInTimeRecovery `pulumi:"pointInTimeRecovery"`
   158  	// Describes the schema of the table.
   159  	SchemaDefinition *TableSchemaDefinition `pulumi:"schemaDefinition"`
   160  	// The name of the table.
   161  	//
   162  	// The following arguments are optional:
   163  	TableName *string `pulumi:"tableName"`
   164  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   165  	Tags map[string]string `pulumi:"tags"`
   166  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   167  	//
   168  	// Deprecated: Please use `tags` instead.
   169  	TagsAll map[string]string `pulumi:"tagsAll"`
   170  	// Enables Time to Live custom settings for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html).
   171  	Ttl *TableTtl `pulumi:"ttl"`
   172  }
   173  
   174  type TableState struct {
   175  	// The ARN of the table.
   176  	Arn pulumi.StringPtrInput
   177  	// Specifies the read/write throughput capacity mode for the table.
   178  	CapacitySpecification TableCapacitySpecificationPtrInput
   179  	// Enables client-side timestamps for the table. By default, the setting is disabled.
   180  	ClientSideTimestamps TableClientSideTimestampsPtrInput
   181  	// A description of the table.
   182  	Comment TableCommentPtrInput
   183  	// The default Time to Live setting in seconds for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl).
   184  	DefaultTimeToLive pulumi.IntPtrInput
   185  	// Specifies how the encryption key for encryption at rest is managed for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html).
   186  	EncryptionSpecification TableEncryptionSpecificationPtrInput
   187  	// The name of the keyspace that the table is going to be created in.
   188  	KeyspaceName pulumi.StringPtrInput
   189  	// Specifies if point-in-time recovery is enabled or disabled for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html).
   190  	PointInTimeRecovery TablePointInTimeRecoveryPtrInput
   191  	// Describes the schema of the table.
   192  	SchemaDefinition TableSchemaDefinitionPtrInput
   193  	// The name of the table.
   194  	//
   195  	// The following arguments are optional:
   196  	TableName pulumi.StringPtrInput
   197  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   198  	Tags pulumi.StringMapInput
   199  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   200  	//
   201  	// Deprecated: Please use `tags` instead.
   202  	TagsAll pulumi.StringMapInput
   203  	// Enables Time to Live custom settings for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html).
   204  	Ttl TableTtlPtrInput
   205  }
   206  
   207  func (TableState) ElementType() reflect.Type {
   208  	return reflect.TypeOf((*tableState)(nil)).Elem()
   209  }
   210  
   211  type tableArgs struct {
   212  	// Specifies the read/write throughput capacity mode for the table.
   213  	CapacitySpecification *TableCapacitySpecification `pulumi:"capacitySpecification"`
   214  	// Enables client-side timestamps for the table. By default, the setting is disabled.
   215  	ClientSideTimestamps *TableClientSideTimestamps `pulumi:"clientSideTimestamps"`
   216  	// A description of the table.
   217  	Comment *TableComment `pulumi:"comment"`
   218  	// The default Time to Live setting in seconds for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl).
   219  	DefaultTimeToLive *int `pulumi:"defaultTimeToLive"`
   220  	// Specifies how the encryption key for encryption at rest is managed for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html).
   221  	EncryptionSpecification *TableEncryptionSpecification `pulumi:"encryptionSpecification"`
   222  	// The name of the keyspace that the table is going to be created in.
   223  	KeyspaceName string `pulumi:"keyspaceName"`
   224  	// Specifies if point-in-time recovery is enabled or disabled for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html).
   225  	PointInTimeRecovery *TablePointInTimeRecovery `pulumi:"pointInTimeRecovery"`
   226  	// Describes the schema of the table.
   227  	SchemaDefinition TableSchemaDefinition `pulumi:"schemaDefinition"`
   228  	// The name of the table.
   229  	//
   230  	// The following arguments are optional:
   231  	TableName string `pulumi:"tableName"`
   232  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   233  	Tags map[string]string `pulumi:"tags"`
   234  	// Enables Time to Live custom settings for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html).
   235  	Ttl *TableTtl `pulumi:"ttl"`
   236  }
   237  
   238  // The set of arguments for constructing a Table resource.
   239  type TableArgs struct {
   240  	// Specifies the read/write throughput capacity mode for the table.
   241  	CapacitySpecification TableCapacitySpecificationPtrInput
   242  	// Enables client-side timestamps for the table. By default, the setting is disabled.
   243  	ClientSideTimestamps TableClientSideTimestampsPtrInput
   244  	// A description of the table.
   245  	Comment TableCommentPtrInput
   246  	// The default Time to Live setting in seconds for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl).
   247  	DefaultTimeToLive pulumi.IntPtrInput
   248  	// Specifies how the encryption key for encryption at rest is managed for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html).
   249  	EncryptionSpecification TableEncryptionSpecificationPtrInput
   250  	// The name of the keyspace that the table is going to be created in.
   251  	KeyspaceName pulumi.StringInput
   252  	// Specifies if point-in-time recovery is enabled or disabled for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html).
   253  	PointInTimeRecovery TablePointInTimeRecoveryPtrInput
   254  	// Describes the schema of the table.
   255  	SchemaDefinition TableSchemaDefinitionInput
   256  	// The name of the table.
   257  	//
   258  	// The following arguments are optional:
   259  	TableName pulumi.StringInput
   260  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   261  	Tags pulumi.StringMapInput
   262  	// Enables Time to Live custom settings for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html).
   263  	Ttl TableTtlPtrInput
   264  }
   265  
   266  func (TableArgs) ElementType() reflect.Type {
   267  	return reflect.TypeOf((*tableArgs)(nil)).Elem()
   268  }
   269  
   270  type TableInput interface {
   271  	pulumi.Input
   272  
   273  	ToTableOutput() TableOutput
   274  	ToTableOutputWithContext(ctx context.Context) TableOutput
   275  }
   276  
   277  func (*Table) ElementType() reflect.Type {
   278  	return reflect.TypeOf((**Table)(nil)).Elem()
   279  }
   280  
   281  func (i *Table) ToTableOutput() TableOutput {
   282  	return i.ToTableOutputWithContext(context.Background())
   283  }
   284  
   285  func (i *Table) ToTableOutputWithContext(ctx context.Context) TableOutput {
   286  	return pulumi.ToOutputWithContext(ctx, i).(TableOutput)
   287  }
   288  
   289  // TableArrayInput is an input type that accepts TableArray and TableArrayOutput values.
   290  // You can construct a concrete instance of `TableArrayInput` via:
   291  //
   292  //	TableArray{ TableArgs{...} }
   293  type TableArrayInput interface {
   294  	pulumi.Input
   295  
   296  	ToTableArrayOutput() TableArrayOutput
   297  	ToTableArrayOutputWithContext(context.Context) TableArrayOutput
   298  }
   299  
   300  type TableArray []TableInput
   301  
   302  func (TableArray) ElementType() reflect.Type {
   303  	return reflect.TypeOf((*[]*Table)(nil)).Elem()
   304  }
   305  
   306  func (i TableArray) ToTableArrayOutput() TableArrayOutput {
   307  	return i.ToTableArrayOutputWithContext(context.Background())
   308  }
   309  
   310  func (i TableArray) ToTableArrayOutputWithContext(ctx context.Context) TableArrayOutput {
   311  	return pulumi.ToOutputWithContext(ctx, i).(TableArrayOutput)
   312  }
   313  
   314  // TableMapInput is an input type that accepts TableMap and TableMapOutput values.
   315  // You can construct a concrete instance of `TableMapInput` via:
   316  //
   317  //	TableMap{ "key": TableArgs{...} }
   318  type TableMapInput interface {
   319  	pulumi.Input
   320  
   321  	ToTableMapOutput() TableMapOutput
   322  	ToTableMapOutputWithContext(context.Context) TableMapOutput
   323  }
   324  
   325  type TableMap map[string]TableInput
   326  
   327  func (TableMap) ElementType() reflect.Type {
   328  	return reflect.TypeOf((*map[string]*Table)(nil)).Elem()
   329  }
   330  
   331  func (i TableMap) ToTableMapOutput() TableMapOutput {
   332  	return i.ToTableMapOutputWithContext(context.Background())
   333  }
   334  
   335  func (i TableMap) ToTableMapOutputWithContext(ctx context.Context) TableMapOutput {
   336  	return pulumi.ToOutputWithContext(ctx, i).(TableMapOutput)
   337  }
   338  
   339  type TableOutput struct{ *pulumi.OutputState }
   340  
   341  func (TableOutput) ElementType() reflect.Type {
   342  	return reflect.TypeOf((**Table)(nil)).Elem()
   343  }
   344  
   345  func (o TableOutput) ToTableOutput() TableOutput {
   346  	return o
   347  }
   348  
   349  func (o TableOutput) ToTableOutputWithContext(ctx context.Context) TableOutput {
   350  	return o
   351  }
   352  
   353  // The ARN of the table.
   354  func (o TableOutput) Arn() pulumi.StringOutput {
   355  	return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   356  }
   357  
   358  // Specifies the read/write throughput capacity mode for the table.
   359  func (o TableOutput) CapacitySpecification() TableCapacitySpecificationOutput {
   360  	return o.ApplyT(func(v *Table) TableCapacitySpecificationOutput { return v.CapacitySpecification }).(TableCapacitySpecificationOutput)
   361  }
   362  
   363  // Enables client-side timestamps for the table. By default, the setting is disabled.
   364  func (o TableOutput) ClientSideTimestamps() TableClientSideTimestampsPtrOutput {
   365  	return o.ApplyT(func(v *Table) TableClientSideTimestampsPtrOutput { return v.ClientSideTimestamps }).(TableClientSideTimestampsPtrOutput)
   366  }
   367  
   368  // A description of the table.
   369  func (o TableOutput) Comment() TableCommentOutput {
   370  	return o.ApplyT(func(v *Table) TableCommentOutput { return v.Comment }).(TableCommentOutput)
   371  }
   372  
   373  // The default Time to Live setting in seconds for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl).
   374  func (o TableOutput) DefaultTimeToLive() pulumi.IntPtrOutput {
   375  	return o.ApplyT(func(v *Table) pulumi.IntPtrOutput { return v.DefaultTimeToLive }).(pulumi.IntPtrOutput)
   376  }
   377  
   378  // Specifies how the encryption key for encryption at rest is managed for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html).
   379  func (o TableOutput) EncryptionSpecification() TableEncryptionSpecificationOutput {
   380  	return o.ApplyT(func(v *Table) TableEncryptionSpecificationOutput { return v.EncryptionSpecification }).(TableEncryptionSpecificationOutput)
   381  }
   382  
   383  // The name of the keyspace that the table is going to be created in.
   384  func (o TableOutput) KeyspaceName() pulumi.StringOutput {
   385  	return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.KeyspaceName }).(pulumi.StringOutput)
   386  }
   387  
   388  // Specifies if point-in-time recovery is enabled or disabled for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/PointInTimeRecovery.html).
   389  func (o TableOutput) PointInTimeRecovery() TablePointInTimeRecoveryOutput {
   390  	return o.ApplyT(func(v *Table) TablePointInTimeRecoveryOutput { return v.PointInTimeRecovery }).(TablePointInTimeRecoveryOutput)
   391  }
   392  
   393  // Describes the schema of the table.
   394  func (o TableOutput) SchemaDefinition() TableSchemaDefinitionOutput {
   395  	return o.ApplyT(func(v *Table) TableSchemaDefinitionOutput { return v.SchemaDefinition }).(TableSchemaDefinitionOutput)
   396  }
   397  
   398  // The name of the table.
   399  //
   400  // The following arguments are optional:
   401  func (o TableOutput) TableName() pulumi.StringOutput {
   402  	return o.ApplyT(func(v *Table) pulumi.StringOutput { return v.TableName }).(pulumi.StringOutput)
   403  }
   404  
   405  // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   406  func (o TableOutput) Tags() pulumi.StringMapOutput {
   407  	return o.ApplyT(func(v *Table) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   408  }
   409  
   410  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   411  //
   412  // Deprecated: Please use `tags` instead.
   413  func (o TableOutput) TagsAll() pulumi.StringMapOutput {
   414  	return o.ApplyT(func(v *Table) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   415  }
   416  
   417  // Enables Time to Live custom settings for the table. More information can be found in the [Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL.html).
   418  func (o TableOutput) Ttl() TableTtlPtrOutput {
   419  	return o.ApplyT(func(v *Table) TableTtlPtrOutput { return v.Ttl }).(TableTtlPtrOutput)
   420  }
   421  
   422  type TableArrayOutput struct{ *pulumi.OutputState }
   423  
   424  func (TableArrayOutput) ElementType() reflect.Type {
   425  	return reflect.TypeOf((*[]*Table)(nil)).Elem()
   426  }
   427  
   428  func (o TableArrayOutput) ToTableArrayOutput() TableArrayOutput {
   429  	return o
   430  }
   431  
   432  func (o TableArrayOutput) ToTableArrayOutputWithContext(ctx context.Context) TableArrayOutput {
   433  	return o
   434  }
   435  
   436  func (o TableArrayOutput) Index(i pulumi.IntInput) TableOutput {
   437  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Table {
   438  		return vs[0].([]*Table)[vs[1].(int)]
   439  	}).(TableOutput)
   440  }
   441  
   442  type TableMapOutput struct{ *pulumi.OutputState }
   443  
   444  func (TableMapOutput) ElementType() reflect.Type {
   445  	return reflect.TypeOf((*map[string]*Table)(nil)).Elem()
   446  }
   447  
   448  func (o TableMapOutput) ToTableMapOutput() TableMapOutput {
   449  	return o
   450  }
   451  
   452  func (o TableMapOutput) ToTableMapOutputWithContext(ctx context.Context) TableMapOutput {
   453  	return o
   454  }
   455  
   456  func (o TableMapOutput) MapIndex(k pulumi.StringInput) TableOutput {
   457  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Table {
   458  		return vs[0].(map[string]*Table)[vs[1].(string)]
   459  	}).(TableOutput)
   460  }
   461  
   462  func init() {
   463  	pulumi.RegisterInputType(reflect.TypeOf((*TableInput)(nil)).Elem(), &Table{})
   464  	pulumi.RegisterInputType(reflect.TypeOf((*TableArrayInput)(nil)).Elem(), TableArray{})
   465  	pulumi.RegisterInputType(reflect.TypeOf((*TableMapInput)(nil)).Elem(), TableMap{})
   466  	pulumi.RegisterOutputType(TableOutput{})
   467  	pulumi.RegisterOutputType(TableArrayOutput{})
   468  	pulumi.RegisterOutputType(TableMapOutput{})
   469  }