Documentation
¶
Overview ¶
nolint: lll Package spanner exports types, functions, subpackages for provisioning spanner resources.
> This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-google) > distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, > first check the [`pulumi/pulumi-gcp` repo](https://github.com/pulumi/pulumi-gcp/issues); however, if that doesn't turn up anything, > please consult the source [`terraform-providers/terraform-provider-google` repo](https://github.com/terraform-providers/terraform-provider-google/issues).
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
}
A Cloud Spanner Database which is hosted on a Spanner instance.
To get more information about Database, see:
* [API documentation](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances.databases) * How-to Guides
- [Official Documentation](https://cloud.google.com/spanner/)
> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/spanner_database.html.markdown.
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
func (*Database) Instance ¶
func (r *Database) Instance() *pulumi.StringOutput
func (*Database) Name ¶
func (r *Database) Name() *pulumi.StringOutput
func (*Database) Project ¶
func (r *Database) Project() *pulumi.StringOutput
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
func (*Database) State ¶
func (r *Database) State() *pulumi.StringOutput
type DatabaseArgs ¶
type DatabaseArgs struct { Ddls interface{} Instance interface{} Name 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 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.
> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/spanner_database_iam_binding.html.markdown.
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.
> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/spanner_database_iam_member.html.markdown.
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.
> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/spanner_database_iam_policy.html.markdown.
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 { Ddls interface{} Instance interface{} Name interface{} // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project interface{} State interface{} }
Input properties used for looking up and filtering Database resources.
type Instance ¶
type Instance struct {
// contains filtered or unexported fields
}
An isolated set of Cloud Spanner resources on which databases can be hosted.
To get more information about Instance, see:
* [API documentation](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances) * How-to Guides
- [Official Documentation](https://cloud.google.com/spanner/)
> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/spanner_instance.html.markdown.
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
func (*Instance) DisplayName ¶
func (r *Instance) DisplayName() *pulumi.StringOutput
func (*Instance) Name ¶
func (r *Instance) Name() *pulumi.StringOutput
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
type InstanceArgs ¶
type InstanceArgs struct { Config interface{} DisplayName interface{} Labels interface{} Name interface{} 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.
> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/spanner_instance_iam_binding.html.markdown.
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.
> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/spanner_instance_iam_member.html.markdown.
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.
> This content is derived from https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/spanner_instance_iam_policy.html.markdown.
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 { Config interface{} DisplayName interface{} Labels interface{} Name interface{} NumNodes interface{} // The ID of the project in which the resource belongs. // If it is not provided, the provider project is used. Project interface{} State interface{} }
Input properties used for looking up and filtering Instance resources.