Table
Resource for managing an Amazon S3 Tables Table.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const exampleTableBucket = new aws.s3tables.TableBucket("example", {name: "example-bucket"});
const exampleNamespace = new aws.s3tables.Namespace("example", {
namespace: "example_namespace",
tableBucketArn: exampleTableBucket.arn,
});
const example = new aws.s3tables.Table("example", {
name: "example_table",
namespace: exampleNamespace.namespace,
tableBucketArn: exampleNamespace.tableBucketArn,
format: "ICEBERG",
});
import pulumi
import pulumi_aws as aws
example_table_bucket = aws.s3tables.TableBucket("example", name="example-bucket")
example_namespace = aws.s3tables.Namespace("example",
namespace="example_namespace",
table_bucket_arn=example_table_bucket.arn)
example = aws.s3tables.Table("example",
name="example_table",
namespace=example_namespace.namespace,
table_bucket_arn=example_namespace.table_bucket_arn,
format="ICEBERG")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var exampleTableBucket = new Aws.S3Tables.TableBucket("example", new()
{
Name = "example-bucket",
});
var exampleNamespace = new Aws.S3Tables.Namespace("example", new()
{
NameSpace = "example_namespace",
TableBucketArn = exampleTableBucket.Arn,
});
var example = new Aws.S3Tables.Table("example", new()
{
Name = "example_table",
Namespace = exampleNamespace.NameSpace,
TableBucketArn = exampleNamespace.TableBucketArn,
Format = "ICEBERG",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3tables"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleTableBucket, err := s3tables.NewTableBucket(ctx, "example", &s3tables.TableBucketArgs{
Name: pulumi.String("example-bucket"),
})
if err != nil {
return err
}
exampleNamespace, err := s3tables.NewNamespace(ctx, "example", &s3tables.NamespaceArgs{
Namespace: pulumi.String("example_namespace"),
TableBucketArn: exampleTableBucket.Arn,
})
if err != nil {
return err
}
_, err = s3tables.NewTable(ctx, "example", &s3tables.TableArgs{
Name: pulumi.String("example_table"),
Namespace: exampleNamespace.Namespace,
TableBucketArn: exampleNamespace.TableBucketArn,
Format: pulumi.String("ICEBERG"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.s3tables.TableBucket;
import com.pulumi.aws.s3tables.TableBucketArgs;
import com.pulumi.aws.s3tables.Namespace;
import com.pulumi.aws.s3tables.NamespaceArgs;
import com.pulumi.aws.s3tables.Table;
import com.pulumi.aws.s3tables.TableArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleTableBucket = new TableBucket("exampleTableBucket", TableBucketArgs.builder()
.name("example-bucket")
.build());
var exampleNamespace = new Namespace("exampleNamespace", NamespaceArgs.builder()
.namespace("example_namespace")
.tableBucketArn(exampleTableBucket.arn())
.build());
var example = new Table("example", TableArgs.builder()
.name("example_table")
.namespace(exampleNamespace.namespace())
.tableBucketArn(exampleNamespace.tableBucketArn())
.format("ICEBERG")
.build());
}
}
resources:
example:
type: aws:s3tables:Table
properties:
name: example_table
namespace: ${exampleNamespace.namespace}
tableBucketArn: ${exampleNamespace.tableBucketArn}
format: ICEBERG
exampleNamespace:
type: aws:s3tables:Namespace
name: example
properties:
namespace: example_namespace
tableBucketArn: ${exampleTableBucket.arn}
exampleTableBucket:
type: aws:s3tables:TableBucket
name: example
properties:
name: example-bucket
Import
Using pulumi import
, import S3 Tables Table using the table_bucket_arn
, the value of namespace
, and the value of name
, separated by a semicolon (;
). For example:
$ pulumi import aws:s3tables/table:Table example 'arn:aws:s3tables:us-west-2:123456789012:bucket/example-bucket;example-namespace;example-table'
Properties
A single table bucket encryption configuration object. See encryption_configuration
below.
A single table bucket maintenance configuration object. See maintenance_configuration
below.
Location of table metadata.
Date and time when the namespace was last modified.
Account ID of the account that last modified the namespace.
Name of the table. Must be between 1 and 255 characters in length. Can consist of lowercase letters, numbers, and underscores, and must begin and end with a lowercase letter or number. A full list of table naming rules can be found in the S3 Tables documentation.
Account ID of the account that owns the namespace.
ARN referencing the Table Bucket that contains this Namespace. The following arguments are optional:
Identifier for the current version of table data.
S3 URI pointing to the S3 Bucket that contains the table data.