GlobalTable

class GlobalTable : KotlinCustomResource

Manages DynamoDB Global Tables V1 (version 2017.11.29). These are layered on top of existing DynamoDB Tables.

NOTE: To instead manage DynamoDB Global Tables V2 (version 2019.11.21), use the aws.dynamodb.Table resource replica configuration block. Note: There are many restrictions before you can properly create DynamoDB Global Tables in multiple regions. See the AWS DynamoDB Global Table Requirements for more information.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.Provider;
import com.pulumi.aws.ProviderArgs;
import com.pulumi.aws.dynamodb.Table;
import com.pulumi.aws.dynamodb.TableArgs;
import com.pulumi.aws.dynamodb.inputs.TableAttributeArgs;
import com.pulumi.aws.dynamodb.GlobalTable;
import com.pulumi.aws.dynamodb.GlobalTableArgs;
import com.pulumi.aws.dynamodb.inputs.GlobalTableReplicaArgs;
import com.pulumi.resources.CustomResourceOptions;
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 us_east_1 = new Provider("us-east-1", ProviderArgs.builder()
.region("us-east-1")
.build());
var us_west_2 = new Provider("us-west-2", ProviderArgs.builder()
.region("us-west-2")
.build());
var us_east_1Table = new Table("us-east-1Table", TableArgs.builder()
.hashKey("myAttribute")
.streamEnabled(true)
.streamViewType("NEW_AND_OLD_IMAGES")
.readCapacity(1)
.writeCapacity(1)
.attributes(TableAttributeArgs.builder()
.name("myAttribute")
.type("S")
.build())
.build(), CustomResourceOptions.builder()
.provider(aws.us-east-1())
.build());
var us_west_2Table = new Table("us-west-2Table", TableArgs.builder()
.hashKey("myAttribute")
.streamEnabled(true)
.streamViewType("NEW_AND_OLD_IMAGES")
.readCapacity(1)
.writeCapacity(1)
.attributes(TableAttributeArgs.builder()
.name("myAttribute")
.type("S")
.build())
.build(), CustomResourceOptions.builder()
.provider(aws.us-west-2())
.build());
var myTable = new GlobalTable("myTable", GlobalTableArgs.builder()
.replicas(
GlobalTableReplicaArgs.builder()
.regionName("us-east-1")
.build(),
GlobalTableReplicaArgs.builder()
.regionName("us-west-2")
.build())
.build(), CustomResourceOptions.builder()
.provider(aws.us-east-1())
.dependsOn(
us_east_1Table,
us_west_2Table)
.build());
}
}

Import

DynamoDB Global Tables can be imported using the global table name, e.g.,

$ pulumi import aws:dynamodb/globalTable:GlobalTable MyTable MyTable

Properties

Link copied to clipboard
val arn: Output<String>

The ARN of the DynamoDB Global Table

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

The name of the global table. Must match underlying DynamoDB Table names in all regions.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Underlying DynamoDB Table. At least 1 replica must be defined. See below.

Link copied to clipboard
val urn: Output<String>