Instance Partition
A Cloud Spanner instance partition is a unit of Cloud Spanner database capacity that can be used to partition data and processing capacity within an instance. To get more information about InstancePartition, see:
How-to Guides
Example Usage
Spanner Instance Partition Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const main = new gcp.spanner.Instance("main", {
name: "test-instance",
config: "nam6",
displayName: "main-instance",
numNodes: 1,
edition: "ENTERPRISE_PLUS",
});
const partition = new gcp.spanner.InstancePartition("partition", {
name: "test-partition",
instance: main.name,
config: "nam8",
displayName: "test-spanner-partition",
nodeCount: 1,
});
import pulumi
import pulumi_gcp as gcp
main = gcp.spanner.Instance("main",
name="test-instance",
config="nam6",
display_name="main-instance",
num_nodes=1,
edition="ENTERPRISE_PLUS")
partition = gcp.spanner.InstancePartition("partition",
name="test-partition",
instance=main.name,
config="nam8",
display_name="test-spanner-partition",
node_count=1)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var main = new Gcp.Spanner.Instance("main", new()
{
Name = "test-instance",
Config = "nam6",
DisplayName = "main-instance",
NumNodes = 1,
Edition = "ENTERPRISE_PLUS",
});
var partition = new Gcp.Spanner.InstancePartition("partition", new()
{
Name = "test-partition",
Instance = main.Name,
Config = "nam8",
DisplayName = "test-spanner-partition",
NodeCount = 1,
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/spanner"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
main, err := spanner.NewInstance(ctx, "main", &spanner.InstanceArgs{
Name: pulumi.String("test-instance"),
Config: pulumi.String("nam6"),
DisplayName: pulumi.String("main-instance"),
NumNodes: pulumi.Int(1),
Edition: pulumi.String("ENTERPRISE_PLUS"),
})
if err != nil {
return err
}
_, err = spanner.NewInstancePartition(ctx, "partition", &spanner.InstancePartitionArgs{
Name: pulumi.String("test-partition"),
Instance: main.Name,
Config: pulumi.String("nam8"),
DisplayName: pulumi.String("test-spanner-partition"),
NodeCount: pulumi.Int(1),
})
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.gcp.spanner.Instance;
import com.pulumi.gcp.spanner.InstanceArgs;
import com.pulumi.gcp.spanner.InstancePartition;
import com.pulumi.gcp.spanner.InstancePartitionArgs;
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 main = new Instance("main", InstanceArgs.builder()
.name("test-instance")
.config("nam6")
.displayName("main-instance")
.numNodes(1)
.edition("ENTERPRISE_PLUS")
.build());
var partition = new InstancePartition("partition", InstancePartitionArgs.builder()
.name("test-partition")
.instance(main.name())
.config("nam8")
.displayName("test-spanner-partition")
.nodeCount(1)
.build());
}
}
resources:
main:
type: gcp:spanner:Instance
properties:
name: test-instance
config: nam6
displayName: main-instance
numNodes: 1
edition: ENTERPRISE_PLUS
partition:
type: gcp:spanner:InstancePartition
properties:
name: test-partition
instance: ${main.name}
config: nam8
displayName: test-spanner-partition
nodeCount: 1
Import
InstancePartition can be imported using any of these accepted formats:
projects/{{project}}/instances/{{instance}}/instancePartitions/{{name}}
{{project}}/{{instance}}/{{name}}
{{instance}}/{{name}}
When using thepulumi import
command, InstancePartition can be imported using one of the formats above. For example:
$ pulumi import gcp:spanner/instancePartition:InstancePartition default projects/{{project}}/instances/{{instance}}/instancePartitions/{{name}}
$ pulumi import gcp:spanner/instancePartition:InstancePartition default {{project}}/{{instance}}/{{name}}
$ pulumi import gcp:spanner/instancePartition:InstancePartition default {{instance}}/{{name}}
Properties
The descriptive name for this instance partition as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.
The number of processing units allocated to this instance partition. Exactly one of either node_count or processing_units must be present.