Module spanner
@pulumi/gcp > spanner
Index ▹
class Database
extends CustomResource
Creates a Google Spanner Database within a Spanner Instance. For more information, see the official documentation, or the JSON API.
Example Usage
Example creating a Spanner database.
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const main = new gcp.spanner.Instance("main", {
config: "regional-europe-west1",
displayName: "main-instance",
});
const db = new gcp.spanner.Database("db", {
ddls: [
"CREATE TABLE t1 (t1 INT64 NOT NULL,) PRIMARY KEY(t1)",
"CREATE TABLE t2 (t2 INT64 NOT NULL,) PRIMARY KEY(t2)",
],
instance: main.name,
});
constructor
new Database(name: string, args: DatabaseArgs, opts?: pulumi.CustomResourceOptions)
Create a Database resource with the given unique name, arguments, and options.
name
The unique name of the resource.args
The arguments to use to populate this resource's properties.opts
A bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseState, opts?: pulumi.CustomResourceOptions): Database
Get an existing Database resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
method isInstance
static isInstance(obj: any): boolean
Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property ddls
public ddls: pulumi.Output<string[] | undefined>;
An optional list of DDL statements to run inside the newly created database. Statements can create tables, indexes, etc. These statements execute atomically with the creation of the database: if there is an error in any statement, the database is not created.
property id
id: Output<ID>;
id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instance
public instance: pulumi.Output<string>;
The name of the instance that will serve the new database.
property name
public name: pulumi.Output<string>;
The name of the database.
property project
public project: pulumi.Output<string>;
The ID of the project in which to look for the instance
specified. If it
is not provided, the provider project is used.
property state
public state: pulumi.Output<string>;
The current state of the database.
property urn
class DatabaseIAMBinding
extends CustomResource
Three different resources help you manage your IAM policy for a Spanner database. Each of these resources serves a different use case:
google_spanner_database_iam_policy
: Authoritative. Sets the IAM policy for the database and replaces any existing policy already attached.
Warning: It’s entirely possibly to lock yourself out of your database using
google_spanner_database_iam_policy
. Any permissions granted by default will be removed unless you include them in your config.
google_spanner_database_iam_binding
: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the database are preserved.google_spanner_database_iam_member
: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the database are preserved.
Note:
google_spanner_database_iam_policy
cannot be used in conjunction withgoogle_spanner_database_iam_binding
andgoogle_spanner_database_iam_member
or they will fight over what your policy should be.
Note:
google_spanner_database_iam_binding
resources can be used in conjunction withgoogle_spanner_database_iam_member
resources only if they do not grant privilege to the same role.
google_spanner_database_iam_policy
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const admin = pulumi.output(gcp.organizations.getIAMPolicy({
bindings: [{
members: ["user:jane@example.com"],
role: "roles/editor",
}],
}));
const database = new gcp.spanner.DatabaseIAMPolicy("database", {
database: "your-database-name",
instance: "your-instance-name",
policyData: admin.apply(admin => admin.policyData),
});
google_spanner_database_iam_binding
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const database = new gcp.spanner.DatabaseIAMBinding("database", {
database: "your-database-name",
instance: "your-instance-name",
members: ["user:jane@example.com"],
role: "roles/compute.networkUser",
});
google_spanner_database_iam_member
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const database = new gcp.spanner.DatabaseIAMMember("database", {
database: "your-database-name",
instance: "your-instance-name",
member: "user:jane@example.com",
role: "roles/compute.networkUser",
});
constructor
new DatabaseIAMBinding(name: string, args: DatabaseIAMBindingArgs, opts?: pulumi.CustomResourceOptions)
Create a DatabaseIAMBinding resource with the given unique name, arguments, and options.
name
The unique name of the resource.args
The arguments to use to populate this resource's properties.opts
A bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseIAMBindingState, opts?: pulumi.CustomResourceOptions): DatabaseIAMBinding
Get an existing DatabaseIAMBinding resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
method isInstance
static isInstance(obj: any): boolean
Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property database
public database: pulumi.Output<string>;
The name of the Spanner database.
property etag
public etag: pulumi.Output<string>;
(Computed) The etag of the database’s IAM policy.
property id
id: Output<ID>;
id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instance
public instance: pulumi.Output<string>;
The name of the Spanner instance the database belongs to.
property members
public members: pulumi.Output<string[]>;
property project
public project: pulumi.Output<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
public role: pulumi.Output<string>;
The role that should be applied. Only one
google_spanner_database_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
property urn
class DatabaseIAMMember
extends CustomResource
Three different resources help you manage your IAM policy for a Spanner database. Each of these resources serves a different use case:
google_spanner_database_iam_policy
: Authoritative. Sets the IAM policy for the database and replaces any existing policy already attached.
Warning: It’s entirely possibly to lock yourself out of your database using
google_spanner_database_iam_policy
. Any permissions granted by default will be removed unless you include them in your config.
google_spanner_database_iam_binding
: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the database are preserved.google_spanner_database_iam_member
: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the database are preserved.
Note:
google_spanner_database_iam_policy
cannot be used in conjunction withgoogle_spanner_database_iam_binding
andgoogle_spanner_database_iam_member
or they will fight over what your policy should be.
Note:
google_spanner_database_iam_binding
resources can be used in conjunction withgoogle_spanner_database_iam_member
resources only if they do not grant privilege to the same role.
google_spanner_database_iam_policy
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const admin = pulumi.output(gcp.organizations.getIAMPolicy({
bindings: [{
members: ["user:jane@example.com"],
role: "roles/editor",
}],
}));
const database = new gcp.spanner.DatabaseIAMPolicy("database", {
database: "your-database-name",
instance: "your-instance-name",
policyData: admin.apply(admin => admin.policyData),
});
google_spanner_database_iam_binding
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const database = new gcp.spanner.DatabaseIAMBinding("database", {
database: "your-database-name",
instance: "your-instance-name",
members: ["user:jane@example.com"],
role: "roles/compute.networkUser",
});
google_spanner_database_iam_member
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const database = new gcp.spanner.DatabaseIAMMember("database", {
database: "your-database-name",
instance: "your-instance-name",
member: "user:jane@example.com",
role: "roles/compute.networkUser",
});
constructor
new DatabaseIAMMember(name: string, args: DatabaseIAMMemberArgs, opts?: pulumi.CustomResourceOptions)
Create a DatabaseIAMMember resource with the given unique name, arguments, and options.
name
The unique name of the resource.args
The arguments to use to populate this resource's properties.opts
A bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseIAMMemberState, opts?: pulumi.CustomResourceOptions): DatabaseIAMMember
Get an existing DatabaseIAMMember resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
method isInstance
static isInstance(obj: any): boolean
Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property database
public database: pulumi.Output<string>;
The name of the Spanner database.
property etag
public etag: pulumi.Output<string>;
(Computed) The etag of the database’s IAM policy.
property id
id: Output<ID>;
id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instance
public instance: pulumi.Output<string>;
The name of the Spanner instance the database belongs to.
property member
public member: pulumi.Output<string>;
property project
public project: pulumi.Output<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
public role: pulumi.Output<string>;
The role that should be applied. Only one
google_spanner_database_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
property urn
class DatabaseIAMPolicy
extends CustomResource
Three different resources help you manage your IAM policy for a Spanner database. Each of these resources serves a different use case:
google_spanner_database_iam_policy
: Authoritative. Sets the IAM policy for the database and replaces any existing policy already attached.
Warning: It’s entirely possibly to lock yourself out of your database using
google_spanner_database_iam_policy
. Any permissions granted by default will be removed unless you include them in your config.
google_spanner_database_iam_binding
: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the database are preserved.google_spanner_database_iam_member
: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the database are preserved.
Note:
google_spanner_database_iam_policy
cannot be used in conjunction withgoogle_spanner_database_iam_binding
andgoogle_spanner_database_iam_member
or they will fight over what your policy should be.
Note:
google_spanner_database_iam_binding
resources can be used in conjunction withgoogle_spanner_database_iam_member
resources only if they do not grant privilege to the same role.
google_spanner_database_iam_policy
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const admin = pulumi.output(gcp.organizations.getIAMPolicy({
bindings: [{
members: ["user:jane@example.com"],
role: "roles/editor",
}],
}));
const database = new gcp.spanner.DatabaseIAMPolicy("database", {
database: "your-database-name",
instance: "your-instance-name",
policyData: admin.apply(admin => admin.policyData),
});
google_spanner_database_iam_binding
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const database = new gcp.spanner.DatabaseIAMBinding("database", {
database: "your-database-name",
instance: "your-instance-name",
members: ["user:jane@example.com"],
role: "roles/compute.networkUser",
});
google_spanner_database_iam_member
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const database = new gcp.spanner.DatabaseIAMMember("database", {
database: "your-database-name",
instance: "your-instance-name",
member: "user:jane@example.com",
role: "roles/compute.networkUser",
});
constructor
new DatabaseIAMPolicy(name: string, args: DatabaseIAMPolicyArgs, opts?: pulumi.CustomResourceOptions)
Create a DatabaseIAMPolicy resource with the given unique name, arguments, and options.
name
The unique name of the resource.args
The arguments to use to populate this resource's properties.opts
A bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DatabaseIAMPolicyState, opts?: pulumi.CustomResourceOptions): DatabaseIAMPolicy
Get an existing DatabaseIAMPolicy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
method isInstance
static isInstance(obj: any): boolean
Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property database
public database: pulumi.Output<string>;
The name of the Spanner database.
property etag
public etag: pulumi.Output<string>;
(Computed) The etag of the database’s IAM policy.
property id
id: Output<ID>;
id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instance
public instance: pulumi.Output<string>;
The name of the Spanner instance the database belongs to.
property policyData
public policyData: pulumi.Output<string>;
The policy data generated by
a google_iam_policy
data source.
property project
public project: pulumi.Output<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property urn
class Instance
extends CustomResource
Creates and manages a Google Spanner Instance. For more information, see the official documentation, or the JSON API.
Example Usage
Example creating a Spanner instance.
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const main = new gcp.spanner.Instance("main", {
config: "regional-europe-west1",
displayName: "main-instance",
numNodes: 1,
});
constructor
new Instance(name: string, args: InstanceArgs, opts?: pulumi.CustomResourceOptions)
Create a Instance resource with the given unique name, arguments, and options.
name
The unique name of the resource.args
The arguments to use to populate this resource's properties.opts
A bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InstanceState, opts?: pulumi.CustomResourceOptions): Instance
Get an existing Instance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
method isInstance
static isInstance(obj: any): boolean
Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property config
public config: pulumi.Output<string>;
The name of the instance’s configuration (similar but not
quite the same as a region) which defines defines the geographic placement and
replication of your databases in this instance. It determines where your data
is stored. Values are typically of the form regional-europe-west1
, us-central
etc.
In order to obtain a valid list please consult the
Configuration section of the docs.
property displayName
public displayName: pulumi.Output<string>;
The descriptive name for this instance as it appears in UIs. Can be updated, however should be kept globally unique to avoid confusion.
property id
id: Output<ID>;
id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property labels
public labels: pulumi.Output<{[key: string]: string} | undefined>;
A mapping (key/value pairs) of labels to assign to the instance.
property name
public name: pulumi.Output<string>;
The unique name (ID) of the instance. If the name is left blank, Terraform will randomly generate one when the instance is first created.
property numNodes
public numNodes: pulumi.Output<number | undefined>;
The number of nodes allocated to this instance.
Defaults to 1
. This can be updated after creation.
property project
public project: pulumi.Output<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property state
public state: pulumi.Output<string>;
The current state of the instance.
property urn
class InstanceIAMBinding
extends CustomResource
Three different resources help you manage your IAM policy for a Spanner instance. Each of these resources serves a different use case:
google_spanner_instance_iam_policy
: Authoritative. Sets the IAM policy for the instance and replaces any existing policy already attached.
Warning: It’s entirely possibly to lock yourself out of your instance using
google_spanner_instance_iam_policy
. Any permissions granted by default will be removed unless you include them in your config.
google_spanner_instance_iam_binding
: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the instance are preserved.google_spanner_instance_iam_member
: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the instance are preserved.
Note:
google_spanner_instance_iam_policy
cannot be used in conjunction withgoogle_spanner_instance_iam_binding
andgoogle_spanner_instance_iam_member
or they will fight over what your policy should be.
Note:
google_spanner_instance_iam_binding
resources can be used in conjunction withgoogle_spanner_instance_iam_member
resources only if they do not grant privilege to the same role.
google_spanner_instance_iam_policy
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const admin = pulumi.output(gcp.organizations.getIAMPolicy({
bindings: [{
members: ["user:jane@example.com"],
role: "roles/editor",
}],
}));
const instance = new gcp.spanner.InstanceIAMPolicy("instance", {
instance: "your-instance-name",
policyData: admin.apply(admin => admin.policyData),
});
google_spanner_instance_iam_binding
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.spanner.InstanceIAMBinding("instance", {
instance: "your-instance-name",
members: ["user:jane@example.com"],
role: "roles/compute.networkUser",
});
google_spanner_instance_iam_member
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.spanner.InstanceIAMMember("instance", {
instance: "your-instance-name",
member: "user:jane@example.com",
role: "roles/compute.networkUser",
});
constructor
new InstanceIAMBinding(name: string, args: InstanceIAMBindingArgs, opts?: pulumi.CustomResourceOptions)
Create a InstanceIAMBinding resource with the given unique name, arguments, and options.
name
The unique name of the resource.args
The arguments to use to populate this resource's properties.opts
A bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InstanceIAMBindingState, opts?: pulumi.CustomResourceOptions): InstanceIAMBinding
Get an existing InstanceIAMBinding resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
method isInstance
static isInstance(obj: any): boolean
Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property etag
public etag: pulumi.Output<string>;
(Computed) The etag of the instance’s IAM policy.
property id
id: Output<ID>;
id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instance
public instance: pulumi.Output<string>;
The name of the instance.
property members
public members: pulumi.Output<string[]>;
property project
public project: pulumi.Output<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
public role: pulumi.Output<string>;
The role that should be applied. Only one
google_spanner_instance_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
property urn
class InstanceIAMMember
extends CustomResource
Three different resources help you manage your IAM policy for a Spanner instance. Each of these resources serves a different use case:
google_spanner_instance_iam_policy
: Authoritative. Sets the IAM policy for the instance and replaces any existing policy already attached.
Warning: It’s entirely possibly to lock yourself out of your instance using
google_spanner_instance_iam_policy
. Any permissions granted by default will be removed unless you include them in your config.
google_spanner_instance_iam_binding
: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the instance are preserved.google_spanner_instance_iam_member
: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the instance are preserved.
Note:
google_spanner_instance_iam_policy
cannot be used in conjunction withgoogle_spanner_instance_iam_binding
andgoogle_spanner_instance_iam_member
or they will fight over what your policy should be.
Note:
google_spanner_instance_iam_binding
resources can be used in conjunction withgoogle_spanner_instance_iam_member
resources only if they do not grant privilege to the same role.
google_spanner_instance_iam_policy
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const admin = pulumi.output(gcp.organizations.getIAMPolicy({
bindings: [{
members: ["user:jane@example.com"],
role: "roles/editor",
}],
}));
const instance = new gcp.spanner.InstanceIAMPolicy("instance", {
instance: "your-instance-name",
policyData: admin.apply(admin => admin.policyData),
});
google_spanner_instance_iam_binding
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.spanner.InstanceIAMBinding("instance", {
instance: "your-instance-name",
members: ["user:jane@example.com"],
role: "roles/compute.networkUser",
});
google_spanner_instance_iam_member
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.spanner.InstanceIAMMember("instance", {
instance: "your-instance-name",
member: "user:jane@example.com",
role: "roles/compute.networkUser",
});
constructor
new InstanceIAMMember(name: string, args: InstanceIAMMemberArgs, opts?: pulumi.CustomResourceOptions)
Create a InstanceIAMMember resource with the given unique name, arguments, and options.
name
The unique name of the resource.args
The arguments to use to populate this resource's properties.opts
A bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InstanceIAMMemberState, opts?: pulumi.CustomResourceOptions): InstanceIAMMember
Get an existing InstanceIAMMember resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
method isInstance
static isInstance(obj: any): boolean
Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property etag
public etag: pulumi.Output<string>;
(Computed) The etag of the instance’s IAM policy.
property id
id: Output<ID>;
id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instance
public instance: pulumi.Output<string>;
The name of the instance.
property member
public member: pulumi.Output<string>;
property project
public project: pulumi.Output<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
public role: pulumi.Output<string>;
The role that should be applied. Only one
google_spanner_instance_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
property urn
class InstanceIAMPolicy
extends CustomResource
Three different resources help you manage your IAM policy for a Spanner instance. Each of these resources serves a different use case:
google_spanner_instance_iam_policy
: Authoritative. Sets the IAM policy for the instance and replaces any existing policy already attached.
Warning: It’s entirely possibly to lock yourself out of your instance using
google_spanner_instance_iam_policy
. Any permissions granted by default will be removed unless you include them in your config.
google_spanner_instance_iam_binding
: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the instance are preserved.google_spanner_instance_iam_member
: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the instance are preserved.
Note:
google_spanner_instance_iam_policy
cannot be used in conjunction withgoogle_spanner_instance_iam_binding
andgoogle_spanner_instance_iam_member
or they will fight over what your policy should be.
Note:
google_spanner_instance_iam_binding
resources can be used in conjunction withgoogle_spanner_instance_iam_member
resources only if they do not grant privilege to the same role.
google_spanner_instance_iam_policy
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const admin = pulumi.output(gcp.organizations.getIAMPolicy({
bindings: [{
members: ["user:jane@example.com"],
role: "roles/editor",
}],
}));
const instance = new gcp.spanner.InstanceIAMPolicy("instance", {
instance: "your-instance-name",
policyData: admin.apply(admin => admin.policyData),
});
google_spanner_instance_iam_binding
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.spanner.InstanceIAMBinding("instance", {
instance: "your-instance-name",
members: ["user:jane@example.com"],
role: "roles/compute.networkUser",
});
google_spanner_instance_iam_member
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.spanner.InstanceIAMMember("instance", {
instance: "your-instance-name",
member: "user:jane@example.com",
role: "roles/compute.networkUser",
});
constructor
new InstanceIAMPolicy(name: string, args: InstanceIAMPolicyArgs, opts?: pulumi.CustomResourceOptions)
Create a InstanceIAMPolicy resource with the given unique name, arguments, and options.
name
The unique name of the resource.args
The arguments to use to populate this resource's properties.opts
A bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InstanceIAMPolicyState, opts?: pulumi.CustomResourceOptions): InstanceIAMPolicy
Get an existing InstanceIAMPolicy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
method isInstance
static isInstance(obj: any): boolean
Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property etag
public etag: pulumi.Output<string>;
(Computed) The etag of the instance’s IAM policy.
property id
id: Output<ID>;
id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instance
public instance: pulumi.Output<string>;
The name of the instance.
property policyData
public policyData: pulumi.Output<string>;
The policy data generated by
a google_iam_policy
data source.
property project
public project: pulumi.Output<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property urn
interface DatabaseArgs
The set of arguments for constructing a Database resource.
property ddls
ddls?: pulumi.Input<pulumi.Input<string>[]>;
An optional list of DDL statements to run inside the newly created database. Statements can create tables, indexes, etc. These statements execute atomically with the creation of the database: if there is an error in any statement, the database is not created.
property instance
instance: pulumi.Input<string>;
The name of the instance that will serve the new database.
property name
name?: pulumi.Input<string>;
The name of the database.
property project
project?: pulumi.Input<string>;
The ID of the project in which to look for the instance
specified. If it
is not provided, the provider project is used.
interface DatabaseIAMBindingArgs
The set of arguments for constructing a DatabaseIAMBinding resource.
property database
database: pulumi.Input<string>;
The name of the Spanner database.
property instance
instance: pulumi.Input<string>;
The name of the Spanner instance the database belongs to.
property members
members: pulumi.Input<pulumi.Input<string>[]>;
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
role: pulumi.Input<string>;
The role that should be applied. Only one
google_spanner_database_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
interface DatabaseIAMBindingState
Input properties used for looking up and filtering DatabaseIAMBinding resources.
property database
database?: pulumi.Input<string>;
The name of the Spanner database.
property etag
etag?: pulumi.Input<string>;
(Computed) The etag of the database’s IAM policy.
property instance
instance?: pulumi.Input<string>;
The name of the Spanner instance the database belongs to.
property members
members?: pulumi.Input<pulumi.Input<string>[]>;
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
role?: pulumi.Input<string>;
The role that should be applied. Only one
google_spanner_database_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
interface DatabaseIAMMemberArgs
The set of arguments for constructing a DatabaseIAMMember resource.
property database
database: pulumi.Input<string>;
The name of the Spanner database.
property instance
instance: pulumi.Input<string>;
The name of the Spanner instance the database belongs to.
property member
member: pulumi.Input<string>;
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
role: pulumi.Input<string>;
The role that should be applied. Only one
google_spanner_database_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
interface DatabaseIAMMemberState
Input properties used for looking up and filtering DatabaseIAMMember resources.
property database
database?: pulumi.Input<string>;
The name of the Spanner database.
property etag
etag?: pulumi.Input<string>;
(Computed) The etag of the database’s IAM policy.
property instance
instance?: pulumi.Input<string>;
The name of the Spanner instance the database belongs to.
property member
member?: pulumi.Input<string>;
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
role?: pulumi.Input<string>;
The role that should be applied. Only one
google_spanner_database_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
interface DatabaseIAMPolicyArgs
The set of arguments for constructing a DatabaseIAMPolicy resource.
property database
database: pulumi.Input<string>;
The name of the Spanner database.
property instance
instance: pulumi.Input<string>;
The name of the Spanner instance the database belongs to.
property policyData
policyData: pulumi.Input<string>;
The policy data generated by
a google_iam_policy
data source.
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
interface DatabaseIAMPolicyState
Input properties used for looking up and filtering DatabaseIAMPolicy resources.
property database
database?: pulumi.Input<string>;
The name of the Spanner database.
property etag
etag?: pulumi.Input<string>;
(Computed) The etag of the database’s IAM policy.
property instance
instance?: pulumi.Input<string>;
The name of the Spanner instance the database belongs to.
property policyData
policyData?: pulumi.Input<string>;
The policy data generated by
a google_iam_policy
data source.
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
interface DatabaseState
Input properties used for looking up and filtering Database resources.
property ddls
ddls?: pulumi.Input<pulumi.Input<string>[]>;
An optional list of DDL statements to run inside the newly created database. Statements can create tables, indexes, etc. These statements execute atomically with the creation of the database: if there is an error in any statement, the database is not created.
property instance
instance?: pulumi.Input<string>;
The name of the instance that will serve the new database.
property name
name?: pulumi.Input<string>;
The name of the database.
property project
project?: pulumi.Input<string>;
The ID of the project in which to look for the instance
specified. If it
is not provided, the provider project is used.
property state
state?: pulumi.Input<string>;
The current state of the database.
interface InstanceArgs
The set of arguments for constructing a Instance resource.
property config
config: pulumi.Input<string>;
The name of the instance’s configuration (similar but not
quite the same as a region) which defines defines the geographic placement and
replication of your databases in this instance. It determines where your data
is stored. Values are typically of the form regional-europe-west1
, us-central
etc.
In order to obtain a valid list please consult the
Configuration section of the docs.
property displayName
displayName: pulumi.Input<string>;
The descriptive name for this instance as it appears in UIs. Can be updated, however should be kept globally unique to avoid confusion.
property labels
labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
A mapping (key/value pairs) of labels to assign to the instance.
property name
name?: pulumi.Input<string>;
The unique name (ID) of the instance. If the name is left blank, Terraform will randomly generate one when the instance is first created.
property numNodes
numNodes?: pulumi.Input<number>;
The number of nodes allocated to this instance.
Defaults to 1
. This can be updated after creation.
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
interface InstanceIAMBindingArgs
The set of arguments for constructing a InstanceIAMBinding resource.
property instance
instance: pulumi.Input<string>;
The name of the instance.
property members
members: pulumi.Input<pulumi.Input<string>[]>;
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
role: pulumi.Input<string>;
The role that should be applied. Only one
google_spanner_instance_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
interface InstanceIAMBindingState
Input properties used for looking up and filtering InstanceIAMBinding resources.
property etag
etag?: pulumi.Input<string>;
(Computed) The etag of the instance’s IAM policy.
property instance
instance?: pulumi.Input<string>;
The name of the instance.
property members
members?: pulumi.Input<pulumi.Input<string>[]>;
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
role?: pulumi.Input<string>;
The role that should be applied. Only one
google_spanner_instance_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
interface InstanceIAMMemberArgs
The set of arguments for constructing a InstanceIAMMember resource.
property instance
instance: pulumi.Input<string>;
The name of the instance.
property member
member: pulumi.Input<string>;
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
role: pulumi.Input<string>;
The role that should be applied. Only one
google_spanner_instance_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
interface InstanceIAMMemberState
Input properties used for looking up and filtering InstanceIAMMember resources.
property etag
etag?: pulumi.Input<string>;
(Computed) The etag of the instance’s IAM policy.
property instance
instance?: pulumi.Input<string>;
The name of the instance.
property member
member?: pulumi.Input<string>;
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property role
role?: pulumi.Input<string>;
The role that should be applied. Only one
google_spanner_instance_iam_binding
can be used per role. Note that custom roles must be of the format
[projects|organizations]/{parent-name}/roles/{role-name}
.
interface InstanceIAMPolicyArgs
The set of arguments for constructing a InstanceIAMPolicy resource.
property instance
instance: pulumi.Input<string>;
The name of the instance.
property policyData
policyData: pulumi.Input<string>;
The policy data generated by
a google_iam_policy
data source.
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
interface InstanceIAMPolicyState
Input properties used for looking up and filtering InstanceIAMPolicy resources.
property etag
etag?: pulumi.Input<string>;
(Computed) The etag of the instance’s IAM policy.
property instance
instance?: pulumi.Input<string>;
The name of the instance.
property policyData
policyData?: pulumi.Input<string>;
The policy data generated by
a google_iam_policy
data source.
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
interface InstanceState
Input properties used for looking up and filtering Instance resources.
property config
config?: pulumi.Input<string>;
The name of the instance’s configuration (similar but not
quite the same as a region) which defines defines the geographic placement and
replication of your databases in this instance. It determines where your data
is stored. Values are typically of the form regional-europe-west1
, us-central
etc.
In order to obtain a valid list please consult the
Configuration section of the docs.
property displayName
displayName?: pulumi.Input<string>;
The descriptive name for this instance as it appears in UIs. Can be updated, however should be kept globally unique to avoid confusion.
property labels
labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
A mapping (key/value pairs) of labels to assign to the instance.
property name
name?: pulumi.Input<string>;
The unique name (ID) of the instance. If the name is left blank, Terraform will randomly generate one when the instance is first created.
property numNodes
numNodes?: pulumi.Input<number>;
The number of nodes allocated to this instance.
Defaults to 1
. This can be updated after creation.
property project
project?: pulumi.Input<string>;
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
property state
state?: pulumi.Input<string>;
The current state of the instance.