spanner

package
v0.18.3 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 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
}

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

<div class = "oics-button" style="float: right; margin: 0 0 -15px">

<a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_working_dir=spanner_database_basic&cloudshell_image=gcr.io%2Fgraphite-cloud-shell-images%2Fterraform%3Alatest&open_in_editor=main.tf&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md" target="_blank">
  <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;">
</a>

</div>

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

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

func (*Database) URN

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

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

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.

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

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

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

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

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

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

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

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

<div class = "oics-button" style="float: right; margin: 0 0 -15px">

<a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_working_dir=spanner_instance_basic&cloudshell_image=gcr.io%2Fgraphite-cloud-shell-images%2Fterraform%3Alatest&open_in_editor=main.tf&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md" target="_blank">
  <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;">
</a>

</div>

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

func (*Instance) Name

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

func (*Instance) NumNodes

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

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

func (*Instance) URN

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

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

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.

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

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

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

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

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

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

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

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.

Jump to

Keyboard shortcuts

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