spanner

package
v1.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

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
}

> 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

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) ID

func (r *Database) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Database) Instance

func (r *Database) Instance() pulumi.StringOutput

The instance to create the database on.

func (*Database) Name

func (r *Database) Name() pulumi.StringOutput

A unique identifier for the database, which cannot be changed after the instance is created. Values are of the form [a-z][-a-z0-9]*[a-z0-9].

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

An explanation of the status of the database.

func (*Database) URN

func (r *Database) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

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 instance to create the database on.
	Instance interface{}
	// A unique identifier for the database, which cannot be changed after the instance is created. Values are of the form
	// [a-z][-a-z0-9]*[a-z0-9].
	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:

* `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 `spanner.DatabaseIAMPolicy`. Any permissions granted by default will be removed unless you include them in your config.

* `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. * `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:** `spanner.DatabaseIAMPolicy` **cannot** be used in conjunction with `spanner.DatabaseIAMBinding` and `spanner.DatabaseIAMMember` or they will fight over what your policy should be.

> **Note:** `spanner.DatabaseIAMBinding` resources **can be** used in conjunction with `spanner.DatabaseIAMMember` 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) Condition added in v1.6.0

func (r *DatabaseIAMBinding) Condition() pulumi.Output

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

(Computed) The etag of the database's IAM policy.

func (*DatabaseIAMBinding) ID added in v0.15.0

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

The role that should be applied. Only one `spanner.DatabaseIAMBinding` 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

URN is this resource's unique name assigned by Pulumi.

type DatabaseIAMBindingArgs added in v0.15.0

type DatabaseIAMBindingArgs struct {
	Condition interface{}
	// 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
	// `spanner.DatabaseIAMBinding` 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 {
	Condition interface{}
	// 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
	// `spanner.DatabaseIAMBinding` 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:

* `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 `spanner.DatabaseIAMPolicy`. Any permissions granted by default will be removed unless you include them in your config.

* `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. * `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:** `spanner.DatabaseIAMPolicy` **cannot** be used in conjunction with `spanner.DatabaseIAMBinding` and `spanner.DatabaseIAMMember` or they will fight over what your policy should be.

> **Note:** `spanner.DatabaseIAMBinding` resources **can be** used in conjunction with `spanner.DatabaseIAMMember` 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) Condition added in v1.6.0

func (r *DatabaseIAMMember) Condition() pulumi.Output

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

(Computed) The etag of the database's IAM policy.

func (*DatabaseIAMMember) ID added in v0.15.0

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 (*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

The role that should be applied. Only one `spanner.DatabaseIAMBinding` 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

URN is this resource's unique name assigned by Pulumi.

type DatabaseIAMMemberArgs added in v0.15.0

type DatabaseIAMMemberArgs struct {
	Condition interface{}
	// 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
	// `spanner.DatabaseIAMBinding` 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 {
	Condition interface{}
	// 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
	// `spanner.DatabaseIAMBinding` 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:

* `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 `spanner.DatabaseIAMPolicy`. Any permissions granted by default will be removed unless you include them in your config.

* `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. * `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:** `spanner.DatabaseIAMPolicy` **cannot** be used in conjunction with `spanner.DatabaseIAMBinding` and `spanner.DatabaseIAMMember` or they will fight over what your policy should be.

> **Note:** `spanner.DatabaseIAMBinding` resources **can be** used in conjunction with `spanner.DatabaseIAMMember` 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

(Computed) The etag of the database's IAM policy.

func (*DatabaseIAMPolicy) ID added in v0.15.0

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 `organizations.getIAMPolicy` 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

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 `organizations.getIAMPolicy` 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 `organizations.getIAMPolicy` 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 instance to create the database on.
	Instance interface{}
	// A unique identifier for the database, which cannot be changed after the instance is created. Values are of the form
	// [a-z][-a-z0-9]*[a-z0-9].
	Name interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// An explanation of the status 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
}

> 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

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. Must be unique per project and between 4 and 30 characters in length.

func (*Instance) ID

func (r *Instance) ID() pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Instance) Labels

func (r *Instance) Labels() pulumi.MapOutput

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

func (*Instance) Name

func (r *Instance) Name() pulumi.StringOutput

A unique identifier for the instance, which cannot be changed after the instance is created. The name must be between 6 and 30 characters in length. If not provided, a random string starting with 'tf-' will be selected.

func (*Instance) NumNodes

func (r *Instance) NumNodes() pulumi.IntOutput

The number of nodes allocated to this instance.

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

Instance status: 'CREATING' or 'READY'.

func (*Instance) URN

func (r *Instance) URN() pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

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. Must be unique per project and between 4 and 30 characters
	// in length.
	DisplayName interface{}
	// An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	Labels interface{}
	// A unique identifier for the instance, which cannot be changed after the instance is created. The name must be between 6
	// and 30 characters in length. If not provided, a random string starting with 'tf-' will be selected.
	Name interface{}
	// The number of nodes allocated to this instance.
	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:

* `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 `spanner.InstanceIAMPolicy`. Any permissions granted by default will be removed unless you include them in your config.

* `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. * `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:** `spanner.InstanceIAMPolicy` **cannot** be used in conjunction with `spanner.InstanceIAMBinding` and `spanner.InstanceIAMMember` or they will fight over what your policy should be.

> **Note:** `spanner.InstanceIAMBinding` resources **can be** used in conjunction with `spanner.InstanceIAMMember` 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) Condition added in v1.6.0

func (r *InstanceIAMBinding) Condition() pulumi.Output

func (*InstanceIAMBinding) Etag added in v0.15.0

(Computed) The etag of the instance's IAM policy.

func (*InstanceIAMBinding) ID added in v0.15.0

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

The role that should be applied. Only one `spanner.InstanceIAMBinding` 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

URN is this resource's unique name assigned by Pulumi.

type InstanceIAMBindingArgs added in v0.15.0

type InstanceIAMBindingArgs struct {
	Condition 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
	// `spanner.InstanceIAMBinding` 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 {
	Condition interface{}
	// (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
	// `spanner.InstanceIAMBinding` 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:

* `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 `spanner.InstanceIAMPolicy`. Any permissions granted by default will be removed unless you include them in your config.

* `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. * `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:** `spanner.InstanceIAMPolicy` **cannot** be used in conjunction with `spanner.InstanceIAMBinding` and `spanner.InstanceIAMMember` or they will fight over what your policy should be.

> **Note:** `spanner.InstanceIAMBinding` resources **can be** used in conjunction with `spanner.InstanceIAMMember` 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) Condition added in v1.6.0

func (r *InstanceIAMMember) Condition() pulumi.Output

func (*InstanceIAMMember) Etag added in v0.15.0

(Computed) The etag of the instance's IAM policy.

func (*InstanceIAMMember) ID added in v0.15.0

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 (*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

The role that should be applied. Only one `spanner.InstanceIAMBinding` 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

URN is this resource's unique name assigned by Pulumi.

type InstanceIAMMemberArgs added in v0.15.0

type InstanceIAMMemberArgs struct {
	Condition 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
	// `spanner.InstanceIAMBinding` 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 {
	Condition interface{}
	// (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
	// `spanner.InstanceIAMBinding` 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:

* `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 `spanner.InstanceIAMPolicy`. Any permissions granted by default will be removed unless you include them in your config.

* `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. * `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:** `spanner.InstanceIAMPolicy` **cannot** be used in conjunction with `spanner.InstanceIAMBinding` and `spanner.InstanceIAMMember` or they will fight over what your policy should be.

> **Note:** `spanner.InstanceIAMBinding` resources **can be** used in conjunction with `spanner.InstanceIAMMember` 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

(Computed) The etag of the instance's IAM policy.

func (*InstanceIAMPolicy) ID added in v0.15.0

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 `organizations.getIAMPolicy` 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

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 `organizations.getIAMPolicy` 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 `organizations.getIAMPolicy` 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. Must be unique per project and between 4 and 30 characters
	// in length.
	DisplayName interface{}
	// An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	Labels interface{}
	// A unique identifier for the instance, which cannot be changed after the instance is created. The name must be between 6
	// and 30 characters in length. If not provided, a random string starting with 'tf-' will be selected.
	Name interface{}
	// The number of nodes allocated to this instance.
	NumNodes interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
	// Instance status: 'CREATING' or 'READY'.
	State interface{}
}

Input properties used for looking up and filtering Instance resources.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL