Documentation
¶
Index ¶
- type Database
- func (r *Database) Ddls() *pulumi.ArrayOutput
- func (r *Database) ID() *pulumi.IDOutput
- func (r *Database) Instance() *pulumi.StringOutput
- func (r *Database) Name() *pulumi.StringOutput
- func (r *Database) Project() *pulumi.StringOutput
- func (r *Database) State() *pulumi.StringOutput
- func (r *Database) URN() *pulumi.URNOutput
- type DatabaseArgs
- type DatabaseIAMBinding
- func (r *DatabaseIAMBinding) Database() *pulumi.StringOutput
- func (r *DatabaseIAMBinding) Etag() *pulumi.StringOutput
- func (r *DatabaseIAMBinding) ID() *pulumi.IDOutput
- func (r *DatabaseIAMBinding) Instance() *pulumi.StringOutput
- func (r *DatabaseIAMBinding) Members() *pulumi.ArrayOutput
- func (r *DatabaseIAMBinding) Project() *pulumi.StringOutput
- func (r *DatabaseIAMBinding) Role() *pulumi.StringOutput
- func (r *DatabaseIAMBinding) URN() *pulumi.URNOutput
- type DatabaseIAMBindingArgs
- type DatabaseIAMBindingState
- type DatabaseIAMMember
- func (r *DatabaseIAMMember) Database() *pulumi.StringOutput
- func (r *DatabaseIAMMember) Etag() *pulumi.StringOutput
- func (r *DatabaseIAMMember) ID() *pulumi.IDOutput
- func (r *DatabaseIAMMember) Instance() *pulumi.StringOutput
- func (r *DatabaseIAMMember) Member() *pulumi.StringOutput
- func (r *DatabaseIAMMember) Project() *pulumi.StringOutput
- func (r *DatabaseIAMMember) Role() *pulumi.StringOutput
- func (r *DatabaseIAMMember) URN() *pulumi.URNOutput
- type DatabaseIAMMemberArgs
- type DatabaseIAMMemberState
- type DatabaseIAMPolicy
- func (r *DatabaseIAMPolicy) Database() *pulumi.StringOutput
- func (r *DatabaseIAMPolicy) Etag() *pulumi.StringOutput
- func (r *DatabaseIAMPolicy) ID() *pulumi.IDOutput
- func (r *DatabaseIAMPolicy) Instance() *pulumi.StringOutput
- func (r *DatabaseIAMPolicy) PolicyData() *pulumi.StringOutput
- func (r *DatabaseIAMPolicy) Project() *pulumi.StringOutput
- func (r *DatabaseIAMPolicy) URN() *pulumi.URNOutput
- type DatabaseIAMPolicyArgs
- type DatabaseIAMPolicyState
- type DatabaseState
- type Instance
- func (r *Instance) Config() *pulumi.StringOutput
- func (r *Instance) DisplayName() *pulumi.StringOutput
- func (r *Instance) ID() *pulumi.IDOutput
- func (r *Instance) Labels() *pulumi.MapOutput
- func (r *Instance) Name() *pulumi.StringOutput
- func (r *Instance) NumNodes() *pulumi.IntOutput
- func (r *Instance) Project() *pulumi.StringOutput
- func (r *Instance) State() *pulumi.StringOutput
- func (r *Instance) URN() *pulumi.URNOutput
- type InstanceArgs
- type InstanceIAMBinding
- func (r *InstanceIAMBinding) Etag() *pulumi.StringOutput
- func (r *InstanceIAMBinding) ID() *pulumi.IDOutput
- func (r *InstanceIAMBinding) Instance() *pulumi.StringOutput
- func (r *InstanceIAMBinding) Members() *pulumi.ArrayOutput
- func (r *InstanceIAMBinding) Project() *pulumi.StringOutput
- func (r *InstanceIAMBinding) Role() *pulumi.StringOutput
- func (r *InstanceIAMBinding) URN() *pulumi.URNOutput
- type InstanceIAMBindingArgs
- type InstanceIAMBindingState
- type InstanceIAMMember
- func (r *InstanceIAMMember) Etag() *pulumi.StringOutput
- func (r *InstanceIAMMember) ID() *pulumi.IDOutput
- func (r *InstanceIAMMember) Instance() *pulumi.StringOutput
- func (r *InstanceIAMMember) Member() *pulumi.StringOutput
- func (r *InstanceIAMMember) Project() *pulumi.StringOutput
- func (r *InstanceIAMMember) Role() *pulumi.StringOutput
- func (r *InstanceIAMMember) URN() *pulumi.URNOutput
- type InstanceIAMMemberArgs
- type InstanceIAMMemberState
- type InstanceIAMPolicy
- func (r *InstanceIAMPolicy) Etag() *pulumi.StringOutput
- func (r *InstanceIAMPolicy) ID() *pulumi.IDOutput
- func (r *InstanceIAMPolicy) Instance() *pulumi.StringOutput
- func (r *InstanceIAMPolicy) PolicyData() *pulumi.StringOutput
- func (r *InstanceIAMPolicy) Project() *pulumi.StringOutput
- func (r *InstanceIAMPolicy) URN() *pulumi.URNOutput
- type InstanceIAMPolicyArgs
- type InstanceIAMPolicyState
- type InstanceState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Database ¶
type Database struct {
// contains filtered or unexported fields
}
Creates a Google Spanner Database within a Spanner Instance. For more information, see the [official documentation](https://cloud.google.com/spanner/), or the [JSON API](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances.databases).
func GetDatabase ¶
func GetDatabase(ctx *pulumi.Context, name string, id pulumi.ID, state *DatabaseState, opts ...pulumi.ResourceOpt) (*Database, error)
GetDatabase gets an existing Database resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewDatabase ¶
func NewDatabase(ctx *pulumi.Context, name string, args *DatabaseArgs, opts ...pulumi.ResourceOpt) (*Database, error)
NewDatabase registers a new resource with the given unique name, arguments, and options.
func (*Database) Ddls ¶
func (r *Database) Ddls() *pulumi.ArrayOutput
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.
func (*Database) Instance ¶
func (r *Database) Instance() *pulumi.StringOutput
The name of the instance that will serve the new database.
func (*Database) Project ¶
func (r *Database) Project() *pulumi.StringOutput
The ID of the project in which to look for the `instance` specified. If it is not provided, the provider project is used.
func (*Database) State ¶
func (r *Database) State() *pulumi.StringOutput
The current state of the database.
type DatabaseArgs ¶
type DatabaseArgs struct { // 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. Ddls interface{} // The name of the instance that will serve the new database. Instance interface{} // The name of the database. Name interface{} // The ID of the project in which to look for the `instance` specified. If it // is not provided, the provider project is used. Project interface{} }
The set of arguments for constructing a Database resource.
type DatabaseIAMBinding ¶ added in v0.15.0
type DatabaseIAMBinding struct {
// contains filtered or unexported fields
}
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 with `google_spanner_database_iam_binding` and `google_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 with `google_spanner_database_iam_member` resources **only if** they do not grant privilege to the same role.
func GetDatabaseIAMBinding ¶ added in v0.15.0
func GetDatabaseIAMBinding(ctx *pulumi.Context, name string, id pulumi.ID, state *DatabaseIAMBindingState, opts ...pulumi.ResourceOpt) (*DatabaseIAMBinding, error)
GetDatabaseIAMBinding gets an existing DatabaseIAMBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewDatabaseIAMBinding ¶ added in v0.15.0
func NewDatabaseIAMBinding(ctx *pulumi.Context, name string, args *DatabaseIAMBindingArgs, opts ...pulumi.ResourceOpt) (*DatabaseIAMBinding, error)
NewDatabaseIAMBinding registers a new resource with the given unique name, arguments, and options.
func (*DatabaseIAMBinding) Database ¶ added in v0.15.0
func (r *DatabaseIAMBinding) Database() *pulumi.StringOutput
The name of the Spanner database.
func (*DatabaseIAMBinding) Etag ¶ added in v0.15.0
func (r *DatabaseIAMBinding) Etag() *pulumi.StringOutput
(Computed) The etag of the database's IAM policy.
func (*DatabaseIAMBinding) ID ¶ added in v0.15.0
func (r *DatabaseIAMBinding) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*DatabaseIAMBinding) Instance ¶ added in v0.15.0
func (r *DatabaseIAMBinding) Instance() *pulumi.StringOutput
The name of the Spanner instance the database belongs to.
func (*DatabaseIAMBinding) Members ¶ added in v0.15.0
func (r *DatabaseIAMBinding) Members() *pulumi.ArrayOutput
func (*DatabaseIAMBinding) Project ¶ added in v0.15.0
func (r *DatabaseIAMBinding) Project() *pulumi.StringOutput
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
func (*DatabaseIAMBinding) Role ¶ added in v0.15.0
func (r *DatabaseIAMBinding) Role() *pulumi.StringOutput
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}`.
func (*DatabaseIAMBinding) URN ¶ added in v0.15.0
func (r *DatabaseIAMBinding) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
type DatabaseIAMBindingArgs ¶ added in v0.15.0
type DatabaseIAMBindingArgs struct { // The name of the Spanner database. Database interface{} // The name of the Spanner instance the database belongs to. Instance interface{} Members interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} // 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}`. Role interface{} }
The set of arguments for constructing a DatabaseIAMBinding resource.
type DatabaseIAMBindingState ¶ added in v0.15.0
type DatabaseIAMBindingState struct { // The name of the Spanner database. Database interface{} // (Computed) The etag of the database's IAM policy. Etag interface{} // The name of the Spanner instance the database belongs to. Instance interface{} Members interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} // 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}`. Role interface{} }
Input properties used for looking up and filtering DatabaseIAMBinding resources.
type DatabaseIAMMember ¶ added in v0.15.0
type DatabaseIAMMember struct {
// contains filtered or unexported fields
}
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 with `google_spanner_database_iam_binding` and `google_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 with `google_spanner_database_iam_member` resources **only if** they do not grant privilege to the same role.
func GetDatabaseIAMMember ¶ added in v0.15.0
func GetDatabaseIAMMember(ctx *pulumi.Context, name string, id pulumi.ID, state *DatabaseIAMMemberState, opts ...pulumi.ResourceOpt) (*DatabaseIAMMember, error)
GetDatabaseIAMMember gets an existing DatabaseIAMMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewDatabaseIAMMember ¶ added in v0.15.0
func NewDatabaseIAMMember(ctx *pulumi.Context, name string, args *DatabaseIAMMemberArgs, opts ...pulumi.ResourceOpt) (*DatabaseIAMMember, error)
NewDatabaseIAMMember registers a new resource with the given unique name, arguments, and options.
func (*DatabaseIAMMember) Database ¶ added in v0.15.0
func (r *DatabaseIAMMember) Database() *pulumi.StringOutput
The name of the Spanner database.
func (*DatabaseIAMMember) Etag ¶ added in v0.15.0
func (r *DatabaseIAMMember) Etag() *pulumi.StringOutput
(Computed) The etag of the database's IAM policy.
func (*DatabaseIAMMember) ID ¶ added in v0.15.0
func (r *DatabaseIAMMember) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*DatabaseIAMMember) Instance ¶ added in v0.15.0
func (r *DatabaseIAMMember) Instance() *pulumi.StringOutput
The name of the Spanner instance the database belongs to.
func (*DatabaseIAMMember) Member ¶ added in v0.15.0
func (r *DatabaseIAMMember) Member() *pulumi.StringOutput
func (*DatabaseIAMMember) Project ¶ added in v0.15.0
func (r *DatabaseIAMMember) Project() *pulumi.StringOutput
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
func (*DatabaseIAMMember) Role ¶ added in v0.15.0
func (r *DatabaseIAMMember) Role() *pulumi.StringOutput
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}`.
func (*DatabaseIAMMember) URN ¶ added in v0.15.0
func (r *DatabaseIAMMember) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
type DatabaseIAMMemberArgs ¶ added in v0.15.0
type DatabaseIAMMemberArgs struct { // The name of the Spanner database. Database interface{} // The name of the Spanner instance the database belongs to. Instance interface{} Member interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} // 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}`. Role interface{} }
The set of arguments for constructing a DatabaseIAMMember resource.
type DatabaseIAMMemberState ¶ added in v0.15.0
type DatabaseIAMMemberState struct { // The name of the Spanner database. Database interface{} // (Computed) The etag of the database's IAM policy. Etag interface{} // The name of the Spanner instance the database belongs to. Instance interface{} Member interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} // 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}`. Role interface{} }
Input properties used for looking up and filtering DatabaseIAMMember resources.
type DatabaseIAMPolicy ¶ added in v0.15.0
type DatabaseIAMPolicy struct {
// contains filtered or unexported fields
}
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 with `google_spanner_database_iam_binding` and `google_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 with `google_spanner_database_iam_member` resources **only if** they do not grant privilege to the same role.
func GetDatabaseIAMPolicy ¶ added in v0.15.0
func GetDatabaseIAMPolicy(ctx *pulumi.Context, name string, id pulumi.ID, state *DatabaseIAMPolicyState, opts ...pulumi.ResourceOpt) (*DatabaseIAMPolicy, error)
GetDatabaseIAMPolicy gets an existing DatabaseIAMPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewDatabaseIAMPolicy ¶ added in v0.15.0
func NewDatabaseIAMPolicy(ctx *pulumi.Context, name string, args *DatabaseIAMPolicyArgs, opts ...pulumi.ResourceOpt) (*DatabaseIAMPolicy, error)
NewDatabaseIAMPolicy registers a new resource with the given unique name, arguments, and options.
func (*DatabaseIAMPolicy) Database ¶ added in v0.15.0
func (r *DatabaseIAMPolicy) Database() *pulumi.StringOutput
The name of the Spanner database.
func (*DatabaseIAMPolicy) Etag ¶ added in v0.15.0
func (r *DatabaseIAMPolicy) Etag() *pulumi.StringOutput
(Computed) The etag of the database's IAM policy.
func (*DatabaseIAMPolicy) ID ¶ added in v0.15.0
func (r *DatabaseIAMPolicy) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*DatabaseIAMPolicy) Instance ¶ added in v0.15.0
func (r *DatabaseIAMPolicy) Instance() *pulumi.StringOutput
The name of the Spanner instance the database belongs to.
func (*DatabaseIAMPolicy) PolicyData ¶ added in v0.15.0
func (r *DatabaseIAMPolicy) PolicyData() *pulumi.StringOutput
The policy data generated by a `google_iam_policy` data source.
func (*DatabaseIAMPolicy) Project ¶ added in v0.15.0
func (r *DatabaseIAMPolicy) Project() *pulumi.StringOutput
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
func (*DatabaseIAMPolicy) URN ¶ added in v0.15.0
func (r *DatabaseIAMPolicy) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
type DatabaseIAMPolicyArgs ¶ added in v0.15.0
type DatabaseIAMPolicyArgs struct { // The name of the Spanner database. Database interface{} // The name of the Spanner instance the database belongs to. Instance interface{} // The policy data generated by // a `google_iam_policy` data source. PolicyData interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} }
The set of arguments for constructing a DatabaseIAMPolicy resource.
type DatabaseIAMPolicyState ¶ added in v0.15.0
type DatabaseIAMPolicyState struct { // The name of the Spanner database. Database interface{} // (Computed) The etag of the database's IAM policy. Etag interface{} // The name of the Spanner instance the database belongs to. Instance interface{} // The policy data generated by // a `google_iam_policy` data source. PolicyData interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} }
Input properties used for looking up and filtering DatabaseIAMPolicy resources.
type DatabaseState ¶
type DatabaseState struct { // 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. Ddls interface{} // The name of the instance that will serve the new database. Instance interface{} // The name of the database. Name interface{} // The ID of the project in which to look for the `instance` specified. If it // is not provided, the provider project is used. Project interface{} // The current state of the database. State interface{} }
Input properties used for looking up and filtering Database resources.
type Instance ¶
type Instance struct {
// contains filtered or unexported fields
}
Creates and manages a Google Spanner Instance. For more information, see the [official documentation](https://cloud.google.com/spanner/), or the [JSON API](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances).
func GetInstance ¶
func GetInstance(ctx *pulumi.Context, name string, id pulumi.ID, state *InstanceState, opts ...pulumi.ResourceOpt) (*Instance, error)
GetInstance gets an existing Instance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewInstance ¶
func NewInstance(ctx *pulumi.Context, name string, args *InstanceArgs, opts ...pulumi.ResourceOpt) (*Instance, error)
NewInstance registers a new resource with the given unique name, arguments, and options.
func (*Instance) Config ¶
func (r *Instance) Config() *pulumi.StringOutput
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](https://cloud.google.com/spanner/docs/instances).
func (*Instance) DisplayName ¶
func (r *Instance) DisplayName() *pulumi.StringOutput
The descriptive name for this instance as it appears in UIs. Can be updated, however should be kept globally unique to avoid confusion.
func (*Instance) Name ¶
func (r *Instance) Name() *pulumi.StringOutput
The unique name (ID) of the instance. If the name is left blank, Terraform will randomly generate one when the instance is first created.
func (*Instance) NumNodes ¶
The number of nodes allocated to this instance. Defaults to `1`. This can be updated after creation.
func (*Instance) Project ¶
func (r *Instance) Project() *pulumi.StringOutput
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
func (*Instance) State ¶
func (r *Instance) State() *pulumi.StringOutput
The current state of the instance.
type InstanceArgs ¶
type InstanceArgs struct { // 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](https://cloud.google.com/spanner/docs/instances). Config interface{} // The descriptive name for this instance as it appears // in UIs. Can be updated, however should be kept globally unique to avoid confusion. DisplayName interface{} // A mapping (key/value pairs) of labels to assign to the instance. Labels interface{} // The unique name (ID) of the instance. If the name is left // blank, Terraform will randomly generate one when the instance is first // created. Name interface{} // The number of nodes allocated to this instance. // Defaults to `1`. This can be updated after creation. NumNodes interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} }
The set of arguments for constructing a Instance resource.
type InstanceIAMBinding ¶ added in v0.15.0
type InstanceIAMBinding struct {
// contains filtered or unexported fields
}
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 with `google_spanner_instance_iam_binding` and `google_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 with `google_spanner_instance_iam_member` resources **only if** they do not grant privilege to the same role.
func GetInstanceIAMBinding ¶ added in v0.15.0
func GetInstanceIAMBinding(ctx *pulumi.Context, name string, id pulumi.ID, state *InstanceIAMBindingState, opts ...pulumi.ResourceOpt) (*InstanceIAMBinding, error)
GetInstanceIAMBinding gets an existing InstanceIAMBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewInstanceIAMBinding ¶ added in v0.15.0
func NewInstanceIAMBinding(ctx *pulumi.Context, name string, args *InstanceIAMBindingArgs, opts ...pulumi.ResourceOpt) (*InstanceIAMBinding, error)
NewInstanceIAMBinding registers a new resource with the given unique name, arguments, and options.
func (*InstanceIAMBinding) Etag ¶ added in v0.15.0
func (r *InstanceIAMBinding) Etag() *pulumi.StringOutput
(Computed) The etag of the instance's IAM policy.
func (*InstanceIAMBinding) ID ¶ added in v0.15.0
func (r *InstanceIAMBinding) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*InstanceIAMBinding) Instance ¶ added in v0.15.0
func (r *InstanceIAMBinding) Instance() *pulumi.StringOutput
The name of the instance.
func (*InstanceIAMBinding) Members ¶ added in v0.15.0
func (r *InstanceIAMBinding) Members() *pulumi.ArrayOutput
func (*InstanceIAMBinding) Project ¶ added in v0.15.0
func (r *InstanceIAMBinding) Project() *pulumi.StringOutput
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
func (*InstanceIAMBinding) Role ¶ added in v0.15.0
func (r *InstanceIAMBinding) Role() *pulumi.StringOutput
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}`.
func (*InstanceIAMBinding) URN ¶ added in v0.15.0
func (r *InstanceIAMBinding) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
type InstanceIAMBindingArgs ¶ added in v0.15.0
type InstanceIAMBindingArgs struct { // The name of the instance. Instance interface{} Members interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} // 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}`. Role interface{} }
The set of arguments for constructing a InstanceIAMBinding resource.
type InstanceIAMBindingState ¶ added in v0.15.0
type InstanceIAMBindingState struct { // (Computed) The etag of the instance's IAM policy. Etag interface{} // The name of the instance. Instance interface{} Members interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} // 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}`. Role interface{} }
Input properties used for looking up and filtering InstanceIAMBinding resources.
type InstanceIAMMember ¶ added in v0.15.0
type InstanceIAMMember struct {
// contains filtered or unexported fields
}
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 with `google_spanner_instance_iam_binding` and `google_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 with `google_spanner_instance_iam_member` resources **only if** they do not grant privilege to the same role.
func GetInstanceIAMMember ¶ added in v0.15.0
func GetInstanceIAMMember(ctx *pulumi.Context, name string, id pulumi.ID, state *InstanceIAMMemberState, opts ...pulumi.ResourceOpt) (*InstanceIAMMember, error)
GetInstanceIAMMember gets an existing InstanceIAMMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewInstanceIAMMember ¶ added in v0.15.0
func NewInstanceIAMMember(ctx *pulumi.Context, name string, args *InstanceIAMMemberArgs, opts ...pulumi.ResourceOpt) (*InstanceIAMMember, error)
NewInstanceIAMMember registers a new resource with the given unique name, arguments, and options.
func (*InstanceIAMMember) Etag ¶ added in v0.15.0
func (r *InstanceIAMMember) Etag() *pulumi.StringOutput
(Computed) The etag of the instance's IAM policy.
func (*InstanceIAMMember) ID ¶ added in v0.15.0
func (r *InstanceIAMMember) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*InstanceIAMMember) Instance ¶ added in v0.15.0
func (r *InstanceIAMMember) Instance() *pulumi.StringOutput
The name of the instance.
func (*InstanceIAMMember) Member ¶ added in v0.15.0
func (r *InstanceIAMMember) Member() *pulumi.StringOutput
func (*InstanceIAMMember) Project ¶ added in v0.15.0
func (r *InstanceIAMMember) Project() *pulumi.StringOutput
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
func (*InstanceIAMMember) Role ¶ added in v0.15.0
func (r *InstanceIAMMember) Role() *pulumi.StringOutput
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}`.
func (*InstanceIAMMember) URN ¶ added in v0.15.0
func (r *InstanceIAMMember) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
type InstanceIAMMemberArgs ¶ added in v0.15.0
type InstanceIAMMemberArgs struct { // The name of the instance. Instance interface{} Member interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} // 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}`. Role interface{} }
The set of arguments for constructing a InstanceIAMMember resource.
type InstanceIAMMemberState ¶ added in v0.15.0
type InstanceIAMMemberState struct { // (Computed) The etag of the instance's IAM policy. Etag interface{} // The name of the instance. Instance interface{} Member interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} // 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}`. Role interface{} }
Input properties used for looking up and filtering InstanceIAMMember resources.
type InstanceIAMPolicy ¶ added in v0.15.0
type InstanceIAMPolicy struct {
// contains filtered or unexported fields
}
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 with `google_spanner_instance_iam_binding` and `google_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 with `google_spanner_instance_iam_member` resources **only if** they do not grant privilege to the same role.
func GetInstanceIAMPolicy ¶ added in v0.15.0
func GetInstanceIAMPolicy(ctx *pulumi.Context, name string, id pulumi.ID, state *InstanceIAMPolicyState, opts ...pulumi.ResourceOpt) (*InstanceIAMPolicy, error)
GetInstanceIAMPolicy gets an existing InstanceIAMPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewInstanceIAMPolicy ¶ added in v0.15.0
func NewInstanceIAMPolicy(ctx *pulumi.Context, name string, args *InstanceIAMPolicyArgs, opts ...pulumi.ResourceOpt) (*InstanceIAMPolicy, error)
NewInstanceIAMPolicy registers a new resource with the given unique name, arguments, and options.
func (*InstanceIAMPolicy) Etag ¶ added in v0.15.0
func (r *InstanceIAMPolicy) Etag() *pulumi.StringOutput
(Computed) The etag of the instance's IAM policy.
func (*InstanceIAMPolicy) ID ¶ added in v0.15.0
func (r *InstanceIAMPolicy) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*InstanceIAMPolicy) Instance ¶ added in v0.15.0
func (r *InstanceIAMPolicy) Instance() *pulumi.StringOutput
The name of the instance.
func (*InstanceIAMPolicy) PolicyData ¶ added in v0.15.0
func (r *InstanceIAMPolicy) PolicyData() *pulumi.StringOutput
The policy data generated by a `google_iam_policy` data source.
func (*InstanceIAMPolicy) Project ¶ added in v0.15.0
func (r *InstanceIAMPolicy) Project() *pulumi.StringOutput
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
func (*InstanceIAMPolicy) URN ¶ added in v0.15.0
func (r *InstanceIAMPolicy) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
type InstanceIAMPolicyArgs ¶ added in v0.15.0
type InstanceIAMPolicyArgs struct { // The name of the instance. Instance interface{} // The policy data generated by // a `google_iam_policy` data source. PolicyData interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} }
The set of arguments for constructing a InstanceIAMPolicy resource.
type InstanceIAMPolicyState ¶ added in v0.15.0
type InstanceIAMPolicyState struct { // (Computed) The etag of the instance's IAM policy. Etag interface{} // The name of the instance. Instance interface{} // The policy data generated by // a `google_iam_policy` data source. PolicyData interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} }
Input properties used for looking up and filtering InstanceIAMPolicy resources.
type InstanceState ¶
type InstanceState struct { // 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](https://cloud.google.com/spanner/docs/instances). Config interface{} // The descriptive name for this instance as it appears // in UIs. Can be updated, however should be kept globally unique to avoid confusion. DisplayName interface{} // A mapping (key/value pairs) of labels to assign to the instance. Labels interface{} // The unique name (ID) of the instance. If the name is left // blank, Terraform will randomly generate one when the instance is first // created. Name interface{} // The number of nodes allocated to this instance. // Defaults to `1`. This can be updated after creation. NumNodes interface{} // The ID of the project in which the resource belongs. If it // is not provided, the provider project is used. Project interface{} // The current state of the instance. State interface{} }
Input properties used for looking up and filtering Instance resources.