Namespace Pulumi.Gcp.Spanner
Classes
Database
A Cloud Spanner Database which is hosted on a Spanner instance.
To get more information about Database, see:
- API documentation
- How-to Guides
- Official Documentation
Example Usage - Spanner Database Basic
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var main = new Gcp.Spanner.Instance("main", new Gcp.Spanner.InstanceArgs
{
Config = "regional-europe-west1",
DisplayName = "main-instance",
});
var database = new Gcp.Spanner.Database("database", new Gcp.Spanner.DatabaseArgs
{
Instance = main.Name,
Ddls =
{
"CREATE TABLE t1 (t1 INT64 NOT NULL,) PRIMARY KEY(t1)",
"CREATE TABLE t2 (t2 INT64 NOT NULL,) PRIMARY KEY(t2)",
},
});
}
}
DatabaseArgs
DatabaseIAMBinding
Three different resources help you manage your IAM policy for a Spanner database. Each of these resources serves a different use case:
gcp.spanner.DatabaseIAMPolicy: 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
gcp.spanner.DatabaseIAMPolicy. Any permissions granted by default will be removed unless you include them in your config.
gcp.spanner.DatabaseIAMBinding: 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.gcp.spanner.DatabaseIAMMember: 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:
gcp.spanner.DatabaseIAMPolicycannot be used in conjunction withgcp.spanner.DatabaseIAMBindingandgcp.spanner.DatabaseIAMMemberor they will fight over what your policy should be.
Note:
gcp.spanner.DatabaseIAMBindingresources can be used in conjunction withgcp.spanner.DatabaseIAMMemberresources only if they do not grant privilege to the same role.
google_spanner_database_iam_policy
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
{
Binding =
{
{
{ "role", "roles/editor" },
{ "members",
{
"user:jane@example.com",
} },
},
},
}));
var database = new Gcp.Spanner.DatabaseIAMPolicy("database", new Gcp.Spanner.DatabaseIAMPolicyArgs
{
Instance = "your-instance-name",
Database = "your-database-name",
PolicyData = admin.Apply(admin => admin.PolicyData),
});
}
}
google_spanner_database_iam_binding
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var database = new Gcp.Spanner.DatabaseIAMBinding("database", new Gcp.Spanner.DatabaseIAMBindingArgs
{
Database = "your-database-name",
Instance = "your-instance-name",
Members =
{
"user:jane@example.com",
},
Role = "roles/compute.networkUser",
});
}
}
google_spanner_database_iam_member
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var database = new Gcp.Spanner.DatabaseIAMMember("database", new Gcp.Spanner.DatabaseIAMMemberArgs
{
Database = "your-database-name",
Instance = "your-instance-name",
Member = "user:jane@example.com",
Role = "roles/compute.networkUser",
});
}
}
DatabaseIAMBindingArgs
DatabaseIAMBindingState
DatabaseIAMMember
Three different resources help you manage your IAM policy for a Spanner database. Each of these resources serves a different use case:
gcp.spanner.DatabaseIAMPolicy: 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
gcp.spanner.DatabaseIAMPolicy. Any permissions granted by default will be removed unless you include them in your config.
gcp.spanner.DatabaseIAMBinding: 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.gcp.spanner.DatabaseIAMMember: 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:
gcp.spanner.DatabaseIAMPolicycannot be used in conjunction withgcp.spanner.DatabaseIAMBindingandgcp.spanner.DatabaseIAMMemberor they will fight over what your policy should be.
Note:
gcp.spanner.DatabaseIAMBindingresources can be used in conjunction withgcp.spanner.DatabaseIAMMemberresources only if they do not grant privilege to the same role.
google_spanner_database_iam_policy
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
{
Binding =
{
{
{ "role", "roles/editor" },
{ "members",
{
"user:jane@example.com",
} },
},
},
}));
var database = new Gcp.Spanner.DatabaseIAMPolicy("database", new Gcp.Spanner.DatabaseIAMPolicyArgs
{
Instance = "your-instance-name",
Database = "your-database-name",
PolicyData = admin.Apply(admin => admin.PolicyData),
});
}
}
google_spanner_database_iam_binding
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var database = new Gcp.Spanner.DatabaseIAMBinding("database", new Gcp.Spanner.DatabaseIAMBindingArgs
{
Database = "your-database-name",
Instance = "your-instance-name",
Members =
{
"user:jane@example.com",
},
Role = "roles/compute.networkUser",
});
}
}
google_spanner_database_iam_member
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var database = new Gcp.Spanner.DatabaseIAMMember("database", new Gcp.Spanner.DatabaseIAMMemberArgs
{
Database = "your-database-name",
Instance = "your-instance-name",
Member = "user:jane@example.com",
Role = "roles/compute.networkUser",
});
}
}
DatabaseIAMMemberArgs
DatabaseIAMMemberState
DatabaseIAMPolicy
Three different resources help you manage your IAM policy for a Spanner database. Each of these resources serves a different use case:
gcp.spanner.DatabaseIAMPolicy: 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
gcp.spanner.DatabaseIAMPolicy. Any permissions granted by default will be removed unless you include them in your config.
gcp.spanner.DatabaseIAMBinding: 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.gcp.spanner.DatabaseIAMMember: 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:
gcp.spanner.DatabaseIAMPolicycannot be used in conjunction withgcp.spanner.DatabaseIAMBindingandgcp.spanner.DatabaseIAMMemberor they will fight over what your policy should be.
Note:
gcp.spanner.DatabaseIAMBindingresources can be used in conjunction withgcp.spanner.DatabaseIAMMemberresources only if they do not grant privilege to the same role.
google_spanner_database_iam_policy
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
{
Binding =
{
{
{ "role", "roles/editor" },
{ "members",
{
"user:jane@example.com",
} },
},
},
}));
var database = new Gcp.Spanner.DatabaseIAMPolicy("database", new Gcp.Spanner.DatabaseIAMPolicyArgs
{
Instance = "your-instance-name",
Database = "your-database-name",
PolicyData = admin.Apply(admin => admin.PolicyData),
});
}
}
google_spanner_database_iam_binding
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var database = new Gcp.Spanner.DatabaseIAMBinding("database", new Gcp.Spanner.DatabaseIAMBindingArgs
{
Database = "your-database-name",
Instance = "your-instance-name",
Members =
{
"user:jane@example.com",
},
Role = "roles/compute.networkUser",
});
}
}
google_spanner_database_iam_member
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var database = new Gcp.Spanner.DatabaseIAMMember("database", new Gcp.Spanner.DatabaseIAMMemberArgs
{
Database = "your-database-name",
Instance = "your-instance-name",
Member = "user:jane@example.com",
Role = "roles/compute.networkUser",
});
}
}
DatabaseIAMPolicyArgs
DatabaseIAMPolicyState
DatabaseState
Instance
An isolated set of Cloud Spanner resources on which databases can be hosted.
To get more information about Instance, see:
- API documentation
- How-to Guides
- Official Documentation
Example Usage - Spanner Instance Basic
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var example = new Gcp.Spanner.Instance("example", new Gcp.Spanner.InstanceArgs
{
Config = "regional-us-central1",
DisplayName = "Test Spanner Instance",
Labels =
{
{ "foo", "bar" },
},
NumNodes = 2,
});
}
}
InstanceArgs
InstanceIAMBinding
Three different resources help you manage your IAM policy for a Spanner instance. Each of these resources serves a different use case:
gcp.spanner.InstanceIAMPolicy: 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
gcp.spanner.InstanceIAMPolicy. Any permissions granted by default will be removed unless you include them in your config.
gcp.spanner.InstanceIAMBinding: 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.gcp.spanner.InstanceIAMMember: 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:
gcp.spanner.InstanceIAMPolicycannot be used in conjunction withgcp.spanner.InstanceIAMBindingandgcp.spanner.InstanceIAMMemberor they will fight over what your policy should be.
Note:
gcp.spanner.InstanceIAMBindingresources can be used in conjunction withgcp.spanner.InstanceIAMMemberresources only if they do not grant privilege to the same role.
google_spanner_instance_iam_policy
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
{
Binding =
{
{
{ "role", "roles/editor" },
{ "members",
{
"user:jane@example.com",
} },
},
},
}));
var instance = new Gcp.Spanner.InstanceIAMPolicy("instance", new Gcp.Spanner.InstanceIAMPolicyArgs
{
Instance = "your-instance-name",
PolicyData = admin.Apply(admin => admin.PolicyData),
});
}
}
google_spanner_instance_iam_binding
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var instance = new Gcp.Spanner.InstanceIAMBinding("instance", new Gcp.Spanner.InstanceIAMBindingArgs
{
Instance = "your-instance-name",
Members =
{
"user:jane@example.com",
},
Role = "roles/compute.networkUser",
});
}
}
google_spanner_instance_iam_member
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var instance = new Gcp.Spanner.InstanceIAMMember("instance", new Gcp.Spanner.InstanceIAMMemberArgs
{
Instance = "your-instance-name",
Member = "user:jane@example.com",
Role = "roles/compute.networkUser",
});
}
}
InstanceIAMBindingArgs
InstanceIAMBindingState
InstanceIAMMember
Three different resources help you manage your IAM policy for a Spanner instance. Each of these resources serves a different use case:
gcp.spanner.InstanceIAMPolicy: 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
gcp.spanner.InstanceIAMPolicy. Any permissions granted by default will be removed unless you include them in your config.
gcp.spanner.InstanceIAMBinding: 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.gcp.spanner.InstanceIAMMember: 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:
gcp.spanner.InstanceIAMPolicycannot be used in conjunction withgcp.spanner.InstanceIAMBindingandgcp.spanner.InstanceIAMMemberor they will fight over what your policy should be.
Note:
gcp.spanner.InstanceIAMBindingresources can be used in conjunction withgcp.spanner.InstanceIAMMemberresources only if they do not grant privilege to the same role.
google_spanner_instance_iam_policy
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
{
Binding =
{
{
{ "role", "roles/editor" },
{ "members",
{
"user:jane@example.com",
} },
},
},
}));
var instance = new Gcp.Spanner.InstanceIAMPolicy("instance", new Gcp.Spanner.InstanceIAMPolicyArgs
{
Instance = "your-instance-name",
PolicyData = admin.Apply(admin => admin.PolicyData),
});
}
}
google_spanner_instance_iam_binding
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var instance = new Gcp.Spanner.InstanceIAMBinding("instance", new Gcp.Spanner.InstanceIAMBindingArgs
{
Instance = "your-instance-name",
Members =
{
"user:jane@example.com",
},
Role = "roles/compute.networkUser",
});
}
}
google_spanner_instance_iam_member
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var instance = new Gcp.Spanner.InstanceIAMMember("instance", new Gcp.Spanner.InstanceIAMMemberArgs
{
Instance = "your-instance-name",
Member = "user:jane@example.com",
Role = "roles/compute.networkUser",
});
}
}
InstanceIAMMemberArgs
InstanceIAMMemberState
InstanceIAMPolicy
Three different resources help you manage your IAM policy for a Spanner instance. Each of these resources serves a different use case:
gcp.spanner.InstanceIAMPolicy: 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
gcp.spanner.InstanceIAMPolicy. Any permissions granted by default will be removed unless you include them in your config.
gcp.spanner.InstanceIAMBinding: 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.gcp.spanner.InstanceIAMMember: 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:
gcp.spanner.InstanceIAMPolicycannot be used in conjunction withgcp.spanner.InstanceIAMBindingandgcp.spanner.InstanceIAMMemberor they will fight over what your policy should be.
Note:
gcp.spanner.InstanceIAMBindingresources can be used in conjunction withgcp.spanner.InstanceIAMMemberresources only if they do not grant privilege to the same role.
google_spanner_instance_iam_policy
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var admin = Output.Create(Gcp.Organizations.GetIAMPolicy.InvokeAsync(new Gcp.Organizations.GetIAMPolicyArgs
{
Binding =
{
{
{ "role", "roles/editor" },
{ "members",
{
"user:jane@example.com",
} },
},
},
}));
var instance = new Gcp.Spanner.InstanceIAMPolicy("instance", new Gcp.Spanner.InstanceIAMPolicyArgs
{
Instance = "your-instance-name",
PolicyData = admin.Apply(admin => admin.PolicyData),
});
}
}
google_spanner_instance_iam_binding
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var instance = new Gcp.Spanner.InstanceIAMBinding("instance", new Gcp.Spanner.InstanceIAMBindingArgs
{
Instance = "your-instance-name",
Members =
{
"user:jane@example.com",
},
Role = "roles/compute.networkUser",
});
}
}
google_spanner_instance_iam_member
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var instance = new Gcp.Spanner.InstanceIAMMember("instance", new Gcp.Spanner.InstanceIAMMemberArgs
{
Instance = "your-instance-name",
Member = "user:jane@example.com",
Role = "roles/compute.networkUser",
});
}
}